數(shù)據(jù)完整性是指系統(tǒng)中信息的準確性、合法性和一致性。在發(fā)送信息時,尤其是使用不可靠媒介時,數(shù)據(jù)完整性可以確保該信息未被篡改。
非法數(shù)據(jù)的潛在成因是什么?
數(shù)據(jù)完整性能防止出現(xiàn)數(shù)據(jù)違背系統(tǒng)的指令被篡改等系列問題。其中一些潛在的問題包括:
物理故障:用不好的媒介傳輸大量數(shù)據(jù)可能會毀壞數(shù)據(jù)。例如,無線信號可能會暫時丟失,或者線路可能遭到噪聲電信號的干擾。
數(shù)據(jù)問題:負責傳達信息的軟件可能有一些漏洞,無意間使信息的子集發(fā)生變異。
惡意篡改:可能有中間人正在更改信息,以迷惑通訊員或者學習有價值的信息。
解決辦法-校驗和
校驗和可以解決以上三個潛在的數(shù)據(jù)完整性問題。校驗和是從信息數(shù)據(jù)中衍生出的一個確定值,可以單獨傳輸,這意味著給定信息的校驗和總是相同的。
信息接受者可以從該信息中生成校驗和,如果生成的校驗和與發(fā)送信息的校驗和匹配,那么發(fā)送的信息就不會被篡改。
需要注意的是,如果獲取校驗和的媒介不可靠,那么信息和校驗和都可能被中間人篡改。通常較好的做法是在校驗和上簽署數(shù)字簽名,數(shù)字簽名就能證明校驗和的發(fā)送者的身份。
什么是好的校驗和?
校驗和的類型很多,但是最好的校驗和通常是加密哈希函數(shù)。哈希函數(shù)能生成很好地校驗和驗證數(shù)據(jù)的完整性,以下是它的性質:
確定性:同一信息的哈希值始終相同,不存在隨機性。
速度快:無需使用不必要的資源計算校驗和(KDF是一種低效的校驗和)。
幾乎不重合:兩條不同的信息生成相同的校驗和的可能性幾乎為零。
精簡:哈希的結果(又稱“摘要”)應該很簡短,無需浪費大量數(shù)據(jù)。
SHA-256哈希函數(shù)通常用于創(chuàng)建校驗和摘要。
示例 –驗證實際的校驗和
校驗和的常見用例是對下載的驗證。在本例中,我們將下載比特幣核心節(jié)點軟件并驗證其完整性。假設你使用的是Mac OS,對于其他OS(操作系統(tǒng)),請按照下載頁面的說明進行操作。
下載程序:https://bitcoincore.org/bin/bitcoin-core-0.19.1/bitcoin-0.19.1-osx.dmg?ref=hackernoon.com
下載校驗和:https://bitcoin.org/bin/bitcoin-core-0.19.1/SHA256SUMS.asc?ref=hackernoon.com
打開終端并下載文件夾:
cd ~/Downloads
計算并打印下載的dmg文件的校驗和:
shasum -a 256 bitcoin-0.19.1-osx.dmg
應該打印:
206d8d92189d22e735393abebeb7a2e7237a119dd448b4a40df8c357da1287b2 bitcoin-0.19.1-osx.dmg
然后打印下載的(預期的)校驗和:
catSHA256SUMS.asc | grep bitcoin-0.19.1-osx.dmg
應該匹配:
206d8d92189d22e735393abebeb7a2e7237a119dd448b4a40df8c357da1287b2 bitcoin-0.19.1-osx.dmg
如果能夠匹配,那么恭喜你!你的下載已經通過驗證。你下載的程序沒有經過惡意篡改。
此外,請記住,要驗證提供給你的校驗和未被篡改,你還需要驗證GPG簽名。
責編AJX
-
數(shù)據(jù)
+關注
關注
8文章
7167瀏覽量
89692 -
校驗和
+關注
關注
0文章
3瀏覽量
6565 -
數(shù)據(jù)完整性
+關注
關注
0文章
14瀏覽量
5118
發(fā)布評論請先 登錄
相關推薦
常見的信號完整性問題及解決方案
電源完整性問題是指什么?電源完整性分析
![電源<b class='flag-5'>完整性問題</b>是指什么?電源<b class='flag-5'>完整性</b>分析](https://file1.elecfans.com/web2/M00/C0/8A/wKgZomXWrRWAMsEgAAEdnzF9nGI987.jpg)
如何解決信號完整性問題
![如何解決信號<b class='flag-5'>完整性問題</b>](https://file1.elecfans.com/web3/M00/03/BD/wKgZPGdryFqAf948AADP6ht3st8105.jpg)
3G網絡與PCB信號完整性問題
高速DSP 數(shù)據(jù)采集的信號完整性問題
高速DSP 數(shù)據(jù)采集的信號完整性問題
在高速設計中,如何解決信號的完整性問題?
![在高速設計中,如何解決信號的<b class='flag-5'>完整性問題</b>?](https://file1.elecfans.com//web2/M00/A5/6D/wKgZomUMOGGABClsAAAKeb9zjCA669.jpg)
數(shù)字電路設計的信號完整性問題探討
![數(shù)字電路設計的信號<b class='flag-5'>完整性問題</b>探討](https://file.elecfans.com/web2/M00/49/1C/pYYBAGKhtDmAWFvYAAANDlkBOZ4974.jpg)
識別和修復pcb信號完整性問題
什么因素導致信號完整性問題?
PCB設計中的信號完整性問題
![PCB設計中的信號<b class='flag-5'>完整性問題</b>](https://file1.elecfans.com/web2/M00/AE/E0/wKgZomVLU6mARs0nAAA1RsXUCqc446.png)
評論