校驗(yàn)和:探究密碼學(xué)中的數(shù)據(jù)完整性問題

百家號(hào)
讀芯術(shù)
數(shù)據(jù)完整性是指系統(tǒng)中信息的準(zhǔn)確性、合法性和一致性。在發(fā)送信息時(shí),尤其是使用不可靠媒介時(shí),數(shù)據(jù)完整性可以確保該信息未被篡改。

2345截圖20200908083720.png

數(shù)據(jù)完整性是指系統(tǒng)中信息的準(zhǔn)確性、合法性和一致性。在發(fā)送信息時(shí),尤其是使用不可靠媒介時(shí),數(shù)據(jù)完整性可以確保該信息未被篡改。

非法數(shù)據(jù)的潛在成因是什么?

數(shù)據(jù)完整性能防止出現(xiàn)數(shù)據(jù)違背系統(tǒng)的指令被篡改等系列問題。其中一些潛在的問題包括:

·物理故障:用不好的媒介傳輸大量數(shù)據(jù)可能會(huì)毀壞數(shù)據(jù)。例如,無線信號(hào)可能會(huì)暫時(shí)丟失,或者線路可能遭到噪聲電信號(hào)的干擾。

·數(shù)據(jù)問題:負(fù)責(zé)傳達(dá)信息的軟件可能有一些漏洞,無意間使信息的子集發(fā)生變異。

·惡意篡改:可能有中間人正在更改信息,以迷惑通訊員或者學(xué)習(xí)有價(jià)值的信息。

解決辦法-校驗(yàn)和

校驗(yàn)和可以解決以上三個(gè)潛在的數(shù)據(jù)完整性問題。校驗(yàn)和是從信息數(shù)據(jù)中衍生出的一個(gè)確定值,可以單獨(dú)傳輸,這意味著給定信息的校驗(yàn)和總是相同的。

信息接受者可以從該信息中生成校驗(yàn)和,如果生成的校驗(yàn)和與發(fā)送信息的校驗(yàn)和匹配,那么發(fā)送的信息就不會(huì)被篡改。

需要注意的是,如果獲取校驗(yàn)和的媒介不可靠,那么信息和校驗(yàn)和都可能被中間人篡改。通常較好的做法是在校驗(yàn)和上簽署數(shù)字簽名,數(shù)字簽名就能證明校驗(yàn)和的發(fā)送者的身份。

什么是好的校驗(yàn)和?

校驗(yàn)和的類型很多,但是最好的校驗(yàn)和通常是加密哈希函數(shù)。哈希函數(shù)能生成很好地校驗(yàn)和驗(yàn)證數(shù)據(jù)的完整性,以下是它的性質(zhì):

·確定性:同一信息的哈希值始終相同,不存在隨機(jī)性。

·速度快:無需使用不必要的資源計(jì)算校驗(yàn)和(KDF是一種低效的校驗(yàn)和)。

·幾乎不重合:兩條不同的信息生成相同的校驗(yàn)和的可能性幾乎為零。

·精簡:哈希的結(jié)果(又稱“摘要”)應(yīng)該很簡短,無需浪費(fèi)大量數(shù)據(jù)。

SHA-256哈希函數(shù)通常用于創(chuàng)建校驗(yàn)和摘要。

2345截圖20200908083720.png

示例–驗(yàn)證實(shí)際的校驗(yàn)和

校驗(yàn)和的常見用例是對(duì)下載的驗(yàn)證。在本例中,我們將下載比特幣核心節(jié)點(diǎn)軟件并驗(yàn)證其完整性。假設(shè)你使用的是Mac OS,對(duì)于其他OS(操作系統(tǒng)),請(qǐng)按照下載頁面的說明進(jìn)行操作。

·下載程序:https://bitcoincore.org/bin/bitcoin-core-0.19.1/bitcoin-0.19.1-osx.dmg?ref=hackernoon.com

·下載校驗(yàn)和:https://bitcoin.org/bin/bitcoin-core-0.19.1/SHA256SUMS.asc?ref=hackernoon.com

·打開終端并下載文件夾:

cd~/Downloads

計(jì)算并打印下載的dmg文件的校驗(yàn)和:

shasum-a 256 bitcoin-0.19.1-osx.dmg

應(yīng)該打印:

206d8d92189d22e735393abebeb7a2e7237a119dd448b4a40df8c357da1287b2 bitcoin-0.19.1-osx.dmg

然后打印下載的(預(yù)期的)校驗(yàn)和:

catSHA256SUMS.asc|grep bitcoin-0.19.1-osx.dmg

應(yīng)該匹配:

206d8d92189d22e735393abebeb7a2e7237a119dd448b4a40df8c357da1287b2 bitcoin-0.19.1-osx.dmg

如果能夠匹配,那么恭喜你!你的下載已經(jīng)通過驗(yàn)證。你下載的程序沒有經(jīng)過惡意篡改。

此外,請(qǐng)記住,要驗(yàn)證提供給你的校驗(yàn)和未被篡改,你還需要驗(yàn)證GPG簽名。

THEEND

最新評(píng)論(評(píng)論僅代表用戶觀點(diǎn))

更多
暫無評(píng)論