0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在數(shù)據(jù)完整性方面,我們可以只加密數(shù)據(jù)嗎

星星科技指導(dǎo)員 ? 作者:jwallrabenstein ? 2023-02-07 11:13 ? 次閱讀

為了防止有目的地嘗試修改數(shù)據(jù)的對手,我們需要比錯誤檢測/糾正CRC等代碼更強大的解決方案。 理想情況下,任何(計算限制的)對手都不應(yīng)該能夠說服我們非法數(shù)據(jù)來自我們的設(shè)備或在我們沒有注意到的情況下修改我們的數(shù)據(jù)。在介紹兩種可能的解決方案之前,我們將回顧一些所需的構(gòu)建塊。首先,我們需要了解對稱和非對稱密碼學(xué)之間的高級差異。

可以根據(jù)私鑰的使用方式將不同的加密解決方案分組到類中。當所有用戶共享單個私鑰時,他們對密鑰材料都有相同的知識。由于每個用戶在密鑰材料上的信息是對稱的,因此此類稱為對稱加密。在另一個類中,每個用戶都有一組兩個數(shù)學(xué)上相關(guān)的密鑰:一個只有他們知道的私鑰,以及一個他們與所有人共享的公鑰。由于私鑰只有用戶知道,因此用戶之間的信息現(xiàn)在是不對稱的。

需要注意的重要區(qū)別是,在對稱加密中,每個用戶都有同一私鑰的副本,并且相同的密鑰用于兩種類型的操作:加密和解密,以及生成和驗證簽名。在非對稱加密中,只有用戶知道其私鑰,并且只有該私鑰可用于解密或簽名數(shù)據(jù)。

需要的另一個工具是一種創(chuàng)建任意大量數(shù)據(jù)的簡短摘要或“指紋”的方法。由于加密操作的計算成本很高,因此在表示(可能更大)數(shù)據(jù)量的簡短摘要上運行它們會更方便。

加密哈希函數(shù)采用任意長度的輸入并生成固定長度的摘要或“哈?!?,該摘要將用作數(shù)據(jù)的摘要。由于該函數(shù)將任意大的輸入映射到固定的輸出范圍,因此肯定會發(fā)生沖突。但是,通過使哈希輸出的大小足夠大,沖突概率可以忽略不計。

哈希函數(shù)的另一個重要屬性是,即使輸入數(shù)據(jù)中非常小的變化,例如一位翻轉(zhuǎn),也會導(dǎo)致輸出哈希的實質(zhì)性變化。平均而言,輸入數(shù)據(jù)中的單個位翻轉(zhuǎn)(即使數(shù)TB)將導(dǎo)致大約50%的哈希輸出位發(fā)生變化。這意味著對原始數(shù)據(jù)的微小更改將導(dǎo)致生成截然不同的摘要或摘要作為哈希函數(shù)的輸出。再加上碰撞的可能性可以忽略不計,這將作為我們要保護的數(shù)據(jù)的指紋。

我們可以只加密數(shù)據(jù)嗎?

在嘗試保護數(shù)據(jù)時,我們通常會想到加密。使用密鑰加密數(shù)據(jù)可以使沒有密鑰的任何人都無法讀取加密的密文。那么,我們?yōu)槭裁床粚?shù)據(jù)進行加密以保護它呢?

加密本身僅提供機密性,不提供真實性或完整性。讓我們研究一種常用的加密方法:計數(shù)器模式下的 AES。AES 是一種對稱分組密碼,它使用共享密鑰一次加密 16 字節(jié)的數(shù)據(jù)塊。分組密碼可以在幾種不同的模式下運行(組合每個數(shù)據(jù)塊的方法),一種常用的模式是計數(shù)器模式。在這種模式下,有一個單調(diào)遞增的計數(shù)器,該計數(shù)器被加密以產(chǎn)生偽隨機密鑰流。為了加密數(shù)據(jù),此密鑰流與明文輸入進行異或運算以生成密文。

密文可以與使用的初始計數(shù)器值(初始化向量)一起存儲或發(fā)送,以便以后使用相同的密鑰解密。解密時,將加載初始計數(shù)器值,并使用相同的密鑰再次加密以生成相同的密鑰流。此密鑰流與密文進行 XOR 運算,以取消加密操作并恢復(fù)明文。

pYYBAGPhwc2AZULRAAEutl-WBUU068.png

如果對密文的修改也以可預(yù)測的方式修改基礎(chǔ)明文,則密文稱為可延展性。計數(shù)器模式下的分組密碼(以及其他流密碼)具有微不足道的延展性。翻轉(zhuǎn)密文中的單個位將在解密時翻轉(zhuǎn)明文中的相同位,而不會更改任何其他位。這意味著攻擊者可以輕松修改加密數(shù)據(jù)并預(yù)測此更改對解密數(shù)據(jù)的影響,即使他們不知道密鑰或基礎(chǔ)明文消息也是如此。

考慮有兩個系統(tǒng)通過無線發(fā)送和接收在計數(shù)器模式下使用 AES 加密的消息進行通信的情況。攻擊者可能能夠攔截通信,即使他們可能無法解密消息,他們也知道他們可以翻轉(zhuǎn)密文中的位以翻轉(zhuǎn)明文中的相同位。在某些情況下,可能很容易猜到明文可能是什么。這些類型的機器對機器通信通常具有結(jié)構(gòu)化和可預(yù)測的格式。攻擊者可能已經(jīng)獲得了與之相關(guān)的文檔,或者可能只是能夠猜測它或?qū)ζ溥M行逆向工程。

在我們的示例中,攻擊者想要中斷運營中心的訂單。攻擊者知道交換消息的格式(通過閱讀用戶手冊),處理訂單的命令是“fill”,刪除訂單的命令是“kill”。在上圖中,我們可以看到執(zhí)行訂單的命令已正確加密和解密。讓我們看看攻擊者如何在不被發(fā)現(xiàn)的情況下更改此命令,即使消息將被加密!

攻擊者知道明文消息中“fill”命令的位置,并希望惡意將命令更改為“kill”,以導(dǎo)致訂單被取消,而不是履行。

首先,攻擊者計算消息 M = “填充” 和 M' = “kill” 之間的差?。通過?包含明文消息“fill”的密文塊進行異或運算,解密消息中的字符“f”將更改為“k”!

由于僅加密并不能阻止這些數(shù)據(jù)被修改,我們可以通過加密消息及其CRC來保護其完整性嗎?攻擊者不會知道CRC的值,如果他們修改密文,CRC應(yīng)該檢測到修改,對吧?正如我們在上一節(jié)中看到的,加密可以是可延展的,不幸的是,加密的CRC也可以。

poYBAGPhwc6AaSvQAAEwDXT9Exk854.png

假設(shè)我們有一個加密的消息M,它也包含該消息上的加密CRC,并且我們知道密文中與加密CRC相對應(yīng)的位置。如果我們想將消息 M 修改為新消息 M',我們還需要修改 CRC。

設(shè) ? = M ? M' 是原始消息 M 和新消息 M' 之間的差值。這是兩個異或一起,或者已經(jīng)改變的位(如果?的每個位是我們翻轉(zhuǎn)的消息中的位,則為 1)。原始 CRC 與新計算的 M' 上的 CRC 不匹配。我們需要修改 CRC,使其在新消息 M' 上有效。

由于CRC是一個線性函數(shù),CRC(M') = CRC(M) ? CRC(?)。換句話說,為了獲得一個新的有效CRC,我們計算?上的CRC函數(shù)(我們已經(jīng)更改的位的CRC),并使用CRC對這個值進行XOR。正如我們之前看到的,我們甚至可以在密文上完成所有這些操作,甚至不知道消息的真實值或 CRC 的值,我們可以使用有效的 CRC 將消息更改為我們想要的任何內(nèi)容!

poYBAGPhwc6AGV-EAAGjRVMHQiA522.png

這種弱點不僅僅是理論上的。它存在于有線等效保密 (WEP) 算法中,該算法允許以類似的方式修改 WEP 流量。

因此,僅僅加密數(shù)據(jù)本身并不能保護它不被修改,加密的CRC也不能。如果明文CRC,加密數(shù)據(jù)或加密數(shù)據(jù)及其CRC不能保護我們的數(shù)據(jù)免受故意修改,那又有什么作用呢?

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • crc
    crc
    +關(guān)注

    關(guān)注

    0

    文章

    199

    瀏覽量

    29401
  • 計數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2248

    瀏覽量

    94187
  • AES
    AES
    +關(guān)注

    關(guān)注

    0

    文章

    99

    瀏覽量

    33170
收藏 人收藏

    評論

    相關(guān)推薦

    信號完整性和信號一致你還不知道嗎?#示波器 #信號完整性

    信號完整性
    安泰儀器維修
    發(fā)布于 :2024年09月25日 17:59:54

    高速電路中的信號完整性和電源完整性研究

    高速電路中的信號完整性和電源完整性研究
    發(fā)表于 09-25 14:44 ?0次下載

    高速高密度PCB信號完整性與電源完整性研究

    高速高密度PCB信號完整性與電源完整性研究
    發(fā)表于 09-25 14:43 ?3次下載

    超高速數(shù)據(jù)采集系統(tǒng)的時序設(shè)計與信號完整性分析

    電子發(fā)燒友網(wǎng)站提供《超高速數(shù)據(jù)采集系統(tǒng)的時序設(shè)計與信號完整性分析.pdf》資料免費下載
    發(fā)表于 09-20 11:34 ?0次下載

    高速PCB的信號完整性、電源完整性和電磁兼容研究

    電子發(fā)燒友網(wǎng)站提供《高速PCB的信號完整性、電源完整性和電磁兼容研究.pdf》資料免費下載
    發(fā)表于 09-19 17:37 ?0次下載

    信號完整性與電源完整性-電源完整性分析

    電子發(fā)燒友網(wǎng)站提供《信號完整性與電源完整性-電源完整性分析.pdf》資料免費下載
    發(fā)表于 08-12 14:31 ?24次下載

    信號完整性與電源完整性-差分對的特性

    電子發(fā)燒友網(wǎng)站提供《信號完整性與電源完整性-差分對的特性.pdf》資料免費下載
    發(fā)表于 08-12 14:28 ?1次下載

    信號完整性與電源完整性-信號的串擾

    電子發(fā)燒友網(wǎng)站提供《信號完整性與電源完整性-信號的串擾.pdf》資料免費下載
    發(fā)表于 08-12 14:27 ?0次下載

    信號完整性與電源完整性 第一章 概論

    電子發(fā)燒友網(wǎng)站提供《信號完整性與電源完整性 第一章 概論.pdf》資料免費下載
    發(fā)表于 08-09 14:49 ?1次下載

    為什么信號完整性很重要?

    信號完整性決定了儀表必須具有非常高的測試準確和可靠。隨著我們面臨需要越來越快地數(shù)據(jù)傳輸?shù)男录夹g(shù)浪潮,信號
    的頭像 發(fā)表于 07-03 11:24 ?346次閱讀
    為什么信號<b class='flag-5'>完整性</b>很重要?

    請問ESP-NOW對數(shù)據(jù)完整性和一致有校驗嗎?

    當使用ESP-NOW時,傳遞的數(shù)據(jù)在傳輸層有對數(shù)據(jù)包的完整性(比如對面?zhèn)鹘o我的字節(jié)數(shù)和我收到的字節(jié)數(shù)是否相同)有底層校驗嗎? 還有這個數(shù)據(jù)包是否經(jīng)過了CRC等差錯檢測的校驗?zāi)?就是一致
    發(fā)表于 06-17 06:55

    什么是信號完整性

    在現(xiàn)代電子通信和數(shù)據(jù)處理系統(tǒng)中,信號完整性(Signal Integrity, SI)是一個至關(guān)重要的概念。它涉及信號在傳輸過程中的質(zhì)量保持,對于確保系統(tǒng)性能和穩(wěn)定性具有決定性的影響。本文將從信號完整性的定義、影響因素、測試方法
    的頭像 發(fā)表于 05-28 14:30 ?919次閱讀

    態(tài)勢數(shù)據(jù)如何存儲在數(shù)據(jù)庫里面呢

    智慧華盛恒輝態(tài)勢數(shù)據(jù)存儲在數(shù)據(jù)庫中需要遵循一系列原則和步驟,以確保數(shù)據(jù)完整性、一致、安全
    的頭像 發(fā)表于 04-22 16:46 ?311次閱讀

    保障數(shù)據(jù)完整性:分布式無紙化交互系統(tǒng)的關(guān)鍵特性

    來百度APP暢享高清圖片 保障數(shù)據(jù)完整性是分布式無紙化交互系統(tǒng)的關(guān)鍵特性之一。在分布式無紙化交互系統(tǒng)中,數(shù)據(jù)的傳輸、存儲和處理都需要得到保障,以確保數(shù)據(jù)
    的頭像 發(fā)表于 01-15 14:28 ?301次閱讀
    保障<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>完整性</b>:分布式無紙化交互系統(tǒng)的關(guān)鍵特性

    T10 PI技術(shù)確保數(shù)據(jù)完整性

    電子發(fā)燒友網(wǎng)站提供《T10 PI技術(shù)確保數(shù)據(jù)完整性.pdf》資料免費下載
    發(fā)表于 11-10 10:39 ?0次下載
    T10 PI技術(shù)確保<b class='flag-5'>數(shù)據(jù)</b>的<b class='flag-5'>完整性</b>