吴忠躺衫网络科技有限公司

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

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

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

使用關(guān)聯(lián)數(shù)據(jù)探索經(jīng)過(guò)身份驗(yàn)證的加密

星星科技指導(dǎo)員 ? 來(lái)源:ADI ? 作者:emac ? 2023-02-07 11:05 ? 次閱讀

在以前的安全解決方案博客中,我們討論了數(shù)據(jù)完整性的重要性,以及為什么加密本身不能提供語(yǔ)義安全性。我們引入了消息身份驗(yàn)證代碼 (MAC) 和數(shù)字簽名作為對(duì)數(shù)據(jù)進(jìn)行身份驗(yàn)證和保護(hù)數(shù)據(jù)不被修改的方法。

在另一篇博客中,jwallrabenstein啟發(fā)了我們關(guān)于資源受限環(huán)境(如物聯(lián)網(wǎng)嵌入式系統(tǒng))的輕量級(jí)加密技術(shù)。這些新的輕量級(jí)算法中的大多數(shù)都是使用附加數(shù)據(jù)(AEAD)密碼進(jìn)行身份驗(yàn)證的加密,這些密碼既可以通過(guò)加密提供機(jī)密性,也可以提供數(shù)據(jù)的完整性(保證數(shù)據(jù)未被修改)和真實(shí)性(保證數(shù)據(jù)來(lái)自特定實(shí)體),從而保護(hù)其免受修改。在本博客中,我們將更深入地討論AEAD加密。

什么是AEAD?

加密僅提供機(jī)密性,但不提供完整性或真實(shí)性。如果可以對(duì)密文進(jìn)行修改,從而導(dǎo)致對(duì)生成的明文進(jìn)行可預(yù)測(cè)的修改,則密文具有延展性。可以對(duì)郵件進(jìn)行更改,這些更改可能無(wú)法檢測(cè)到。單獨(dú)加密郵件并不能防止這種情況。

例如,假設(shè)愛(ài)麗絲想向鮑勃發(fā)送 100 美元。金融服務(wù)使用流密碼加密交易,流密碼的工作原理是將明文交易與密鑰流進(jìn)行異或運(yùn)算。每筆交易都有一個(gè)固定的格式,它指定誰(shuí)是收款人以及要轉(zhuǎn)移的金額。Alice 對(duì) 100 美元的交易進(jìn)行加密,并將密文發(fā)送給 Bob。

攻擊者攔截加密交易,并希望修改數(shù)據(jù)而不被檢測(cè)到。攻擊者將數(shù)字 9 的密文與事務(wù)格式中的千個(gè)占位符的位置進(jìn)行 XOR 運(yùn)算。盡管攻擊者無(wú)法解密消息,但了解事務(wù)格式會(huì)告訴他們?cè)谀睦镞M(jìn)行修改。

Bob 接收修改后的密文并使用他的密鑰流解密。由于對(duì)手的修改,Bob 收到一筆金額交易。由于只使用了加密,因此 Bob 無(wú)法檢測(cè)到此修改!

為了保護(hù)消息不被修改,我們必須傳輸其他數(shù)據(jù)以及可用于驗(yàn)證消息的消息。對(duì)于AEAD,這通常采用消息身份驗(yàn)證代碼(MAC)的形式。MAC 必須具有在不知道身份驗(yàn)證密鑰的情況下難以為任何消息找到有效 MAC 的屬性。對(duì)于給定的消息和 MAC 標(biāo)記,還必須很難找到具有相同 MAC 的第二條消息(第二原像電阻)。還必須很難找到導(dǎo)致相同MAC標(biāo)記(抗碰撞性)的一對(duì)消息。

密鑰(加密)哈希函數(shù)通常用于生成消息身份驗(yàn)證代碼。當(dāng)與加密算法配對(duì)時(shí),它們可用于創(chuàng)建AEAD密碼系統(tǒng),該系統(tǒng)可以加密和驗(yàn)證數(shù)據(jù)。示例包括AES CCM,它將AES CTR模式與AES CBCMAC相結(jié)合進(jìn)行身份驗(yàn)證。另一個(gè)例子是AES GCM,它將AES CTR模式與MAC的GHASH算法相結(jié)合。在每一個(gè)中,一個(gè)稱為標(biāo)簽的MAC通過(guò)傳輸?shù)南⒂?jì)算,并與消息一起發(fā)送。對(duì)于每條消息,標(biāo)簽通常為 16 個(gè)字節(jié)長(zhǎng),并將此額外開銷添加到消息中。消息的接收方可以與消息一起驗(yàn)證標(biāo)記。如果消息或標(biāo)簽以任何方式被修改,則接收方將拒絕該消息無(wú)效。這將防止篡改消息。

poYBAGPhv_eAHhzOAACJ_cwUS4I868.png

2 TinyJAMBU (NIST 輕量級(jí)加密決賽入圍者) [TinyJAMBU: A Family of Lightwieght Certified Encryption Algorithms, Wu et al]

其他數(shù)據(jù)

AEAD提供數(shù)據(jù)的真實(shí)性,機(jī)密性是可選的。它允許使用其他數(shù)據(jù)與加密數(shù)據(jù)一起發(fā)送,而無(wú)需對(duì)其進(jìn)行加密。額外的明文數(shù)據(jù)和加密數(shù)據(jù)都一起進(jìn)行身份驗(yàn)證:如果其中任何一個(gè)部分發(fā)生更改,則將導(dǎo)致無(wú)效標(biāo)記。這在許多上下文中都很有用,例如在數(shù)據(jù)包標(biāo)頭中。如果數(shù)據(jù)被打包并通過(guò)網(wǎng)絡(luò)發(fā)送,則數(shù)據(jù)包通常包含一個(gè)標(biāo)頭,其中包含發(fā)送方和接收方地址等元數(shù)據(jù)。此數(shù)據(jù)在發(fā)送時(shí)無(wú)法加密,因?yàn)槁酚缮系钠渌?jié)點(diǎn)需要能夠讀取此信息,以便可以將數(shù)據(jù)包發(fā)送到正確的目的地。我們?nèi)匀幌MWo(hù)此信息不被修改。AEAD 允許此明文數(shù)據(jù)與消息的其余部分一起進(jìn)行身份驗(yàn)證,即使消息的某些部分已加密。AEAD 甚至可以用于在不加密任何數(shù)據(jù)的情況下發(fā)送消息,同時(shí)仍提供消息的真實(shí)性。

易于使用

AEAD 的一個(gè)主要好處是身份驗(yàn)證內(nèi)置于算法中。這使得實(shí)施者更難犯錯(cuò)誤。

HMAC 是一種鍵控哈希函數(shù),可以與加密一起使用,以實(shí)現(xiàn)經(jīng)過(guò)身份驗(yàn)證的加密。數(shù)據(jù)可以通過(guò)HMAC運(yùn)行以生成MAC,該MAC可以與數(shù)據(jù)一起發(fā)送以對(duì)其進(jìn)行身份驗(yàn)證。這可以通過(guò)任何算法完成,但在組合加密原語(yǔ)時(shí)必須小心。一個(gè)潛在的錯(cuò)誤是沒(méi)有驗(yàn)證所有必要的數(shù)據(jù)。例如,加密算法中通常使用初始化向量。這需要包含在經(jīng)過(guò)身份驗(yàn)證的數(shù)據(jù)中。

需要包括全部數(shù)據(jù)。如果數(shù)據(jù)長(zhǎng)度可變,這也可能會(huì)出現(xiàn)問(wèn)題。發(fā)射器可能會(huì)向接收器發(fā)送一個(gè)字段,其中包含消息的長(zhǎng)度。此長(zhǎng)度也需要包含在經(jīng)過(guò)身份驗(yàn)證的數(shù)據(jù)中,以便不會(huì)省略消息的某些部分或添加部分。

另一個(gè)風(fēng)險(xiǎn)是將接收到的標(biāo)簽與計(jì)算的標(biāo)簽進(jìn)行比較時(shí)側(cè)信道泄漏。如果標(biāo)記是按每個(gè)字節(jié)計(jì)算的字節(jié)數(shù),并在達(dá)到不匹配時(shí)立即退出,則此比較所需的時(shí)間取決于匹配或不匹配的字節(jié)數(shù)。如果使用函數(shù) memcmp() 天真地比較標(biāo)簽,則可能會(huì)發(fā)生這種情況。這會(huì)泄露信息,這些信息可能有助于攻擊者測(cè)量執(zhí)行時(shí)間并確定匹配或不匹配的字節(jié)數(shù)。在大多數(shù) AEAD 模式下,這仍然是一個(gè)風(fēng)險(xiǎn),但比較可能會(huì)以安全的方式在加密庫(kù)中實(shí)現(xiàn)。

在標(biāo)準(zhǔn)協(xié)議中使用現(xiàn)有的 AEAD 模式可降低引入此類漏洞的風(fēng)險(xiǎn),這些漏洞可能難以預(yù)料。

加密協(xié)議

AEAD本身也無(wú)法抵御整類攻擊。這可能包括重播攻擊、反射攻擊和其他攻擊。在重放攻擊中,攻擊者可以監(jiān)控受 AEAD 保護(hù)的流量并記錄它。攻擊者稍后可以嘗試重新發(fā)送它觀察到的先前傳輸?shù)南ⅲ鵁o(wú)需對(duì)其進(jìn)行修改。消息尚未修改,因此將具有有效的 MAC 標(biāo)記,并且 AEAD 算法不會(huì)檢測(cè)到它是由對(duì)手發(fā)送的。這些類型的攻擊無(wú)法在算法級(jí)別解決,但可以通過(guò)加密協(xié)議解決。該協(xié)議可能包括類似單調(diào)遞增的數(shù)據(jù)包編號(hào)之類的內(nèi)容,接收方在對(duì)消息進(jìn)行身份驗(yàn)證之前會(huì)檢查該數(shù)據(jù)包編號(hào)。如果接收方已經(jīng)收到相同的數(shù)據(jù)包編號(hào)(或者可能已經(jīng)收到更高的編號(hào)),它將拒絕該數(shù)據(jù)包以防止重放。此數(shù)據(jù)包編號(hào)或其他信息也可以包含在其他經(jīng)過(guò)身份驗(yàn)證的數(shù)據(jù)中。AES CCM 也是 IEEE 802.15.4 下的加密協(xié)議,在某些配置中,它還可以防止重放攻擊和其他協(xié)議級(jí)攻擊。

總之,加密只能保證機(jī)密性,但我們數(shù)據(jù)的完整性和真實(shí)性也很重要。AEAD模式提供了這種保證,并且比單獨(dú)的結(jié)構(gòu)更容易正確使用。密碼學(xué)是一個(gè)雷區(qū),即使對(duì)專家來(lái)說(shuō)也是危險(xiǎn)的。采用AEAD加密并僅使用標(biāo)準(zhǔn)加密協(xié)議是保護(hù)我們數(shù)據(jù)的最佳實(shí)踐。

審核編輯:郭婷

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

    關(guān)注

    5092

    文章

    19177

    瀏覽量

    307672
  • 發(fā)射器
    +關(guān)注

    關(guān)注

    6

    文章

    856

    瀏覽量

    53647
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2913

    文章

    44923

    瀏覽量

    377017
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    無(wú)線身份驗(yàn)證的門禁控制系統(tǒng)設(shè)計(jì)方案

    的網(wǎng)絡(luò),可提供身份驗(yàn)證傳輸框架,實(shí)現(xiàn)安全產(chǎn)品和服務(wù)的交付。它是一種用于創(chuàng)建、交付和管理安全身份驗(yàn)證的綜合性框架。簡(jiǎn)單來(lái)說(shuō),該基礎(chǔ)架構(gòu)是一個(gè)中央安全庫(kù),通過(guò)安全的網(wǎng)絡(luò)連接,并以公開的加密密鑰管理安全政策為
    發(fā)表于 11-05 11:11

    Vivado和SDK身份驗(yàn)證錯(cuò)誤

    嘗試運(yùn)行SDK或Vivado的安裝程序時(shí),出現(xiàn)“身份驗(yàn)證錯(cuò)誤:發(fā)生了未知異常。請(qǐng)驗(yàn)證您的用戶ID和密碼,然后重試”我可以登錄該站點(diǎn),另一位同事可以登錄該站點(diǎn)。我們可以下載安裝程序,但是當(dāng)我們嘗試安裝
    發(fā)表于 01-02 14:55

    是否有支持WSS + websockets身份驗(yàn)證的庫(kù)?

    加密驗(yàn)證。我沒(méi)有找到太多關(guān)于那個(gè)。是否有支持 WSS + websockets 身份驗(yàn)證的庫(kù)?還是我遺漏了 LINKs 庫(kù)中的某些內(nèi)容?
    發(fā)表于 02-23 07:26

    PN5180無(wú)法使用mifare classic進(jìn)行身份驗(yàn)證怎么解決?

    ....ok 2. Anticollision CL1.....ok 3. 選擇......ok 4. 驗(yàn)證....錯(cuò)誤當(dāng)我發(fā)送身份驗(yàn)證命令時(shí),我得到 0x02(等待卡響應(yīng)超時(shí)(卡不存在)。)但是卡存在,我
    發(fā)表于 03-23 08:46

    如何使用TapLinx針對(duì)Ultralight C進(jìn)行身份驗(yàn)證

    使用 TapLinx 針對(duì) Ultralight C 進(jìn)行身份驗(yàn)證
    發(fā)表于 04-21 06:08

    如何創(chuàng)建一個(gè)經(jīng)過(guò)身份驗(yàn)證的會(huì)話以使用DeleteAll函數(shù)?

    我想使用 AES 密鑰與 se050 創(chuàng)建經(jīng)過(guò)身份驗(yàn)證的會(huì)話。nano 包似乎不支持這一點(diǎn)。我的理解正確嗎? 這很重要 b/c 我想為特定密鑰的安全密鑰和數(shù)據(jù)設(shè)置策略。我知道您可以在設(shè)置策略時(shí)將
    發(fā)表于 06-08 08:36

    什么是身份驗(yàn)證和授權(quán)

    什么是身份驗(yàn)證和授權(quán) 根據(jù)RFC2828(Internet Security Glossary,May2000),驗(yàn)證是“校驗(yàn)被或向某系統(tǒng)實(shí)體聲明的身份的過(guò)程”。此處的關(guān)鍵字
    發(fā)表于 04-03 16:03 ?5758次閱讀

    什么是詢問(wèn)握手身份驗(yàn)證協(xié)議

    什么是詢問(wèn)握手身份驗(yàn)證協(xié)議 CHAP(詢問(wèn)握手身份驗(yàn)證協(xié)議)是用于遠(yuǎn)程登錄的身份驗(yàn)證協(xié)議,通過(guò)三次握手周期性的校驗(yàn)對(duì)端的身份,在初始鏈
    發(fā)表于 04-03 16:06 ?2702次閱讀

    什么是密碼身份驗(yàn)證協(xié)議

    什么是密碼身份驗(yàn)證協(xié)議 PAP是一種身份驗(yàn)證協(xié)議,是一種最不安全的身份證協(xié)議,是一種當(dāng)客戶端不支持其它身份認(rèn)證協(xié)議時(shí)才被用來(lái)
    發(fā)表于 04-03 16:07 ?1614次閱讀

    ATECC508A加密引擎身份驗(yàn)證器件的詳細(xì)中文數(shù)據(jù)手冊(cè)

    ATECC508A器牛屬于Microchip CryptoAuthentication“ 系列加密引擎身份驗(yàn)證器件,具有基于硬件的高度安全密鑰存儲(chǔ)功能。
    發(fā)表于 07-02 08:25 ?101次下載
    ATECC508A<b class='flag-5'>加密</b>引擎<b class='flag-5'>身份驗(yàn)證</b>器件的詳細(xì)中文<b class='flag-5'>數(shù)據(jù)</b>手冊(cè)

    身份驗(yàn)證和生物識(shí)別身份系統(tǒng)應(yīng)用越加廣泛

    身份驗(yàn)證和生物識(shí)別身份系統(tǒng)應(yīng)用越加廣泛
    發(fā)表于 02-27 14:37 ?1592次閱讀

    PCB身份驗(yàn)證

    電子發(fā)燒友網(wǎng)站提供《PCB身份驗(yàn)證器.zip》資料免費(fèi)下載
    發(fā)表于 07-22 10:09 ?2次下載
    PCB<b class='flag-5'>身份驗(yàn)證</b>器

    基于DS28S60的雙向身份驗(yàn)證示例

    本應(yīng)用筆記詳細(xì)介紹了DS28S60與Jupyter筆記本配合使用進(jìn)行雙向認(rèn)證的基本應(yīng)用。它使用分步方法來(lái)演練設(shè)置設(shè)備和所有相關(guān)軟件,創(chuàng)建用于通過(guò) ECDHE 密鑰交換加密數(shù)據(jù)的共享密鑰,使用 AES-GCM 加密和解密
    的頭像 發(fā)表于 02-17 11:32 ?676次閱讀

    HDCP 2.2:使用中繼器進(jìn)行局部性檢查、SKE和身份驗(yàn)證

    使用的基礎(chǔ)加密標(biāo)準(zhǔn)。AKE 是身份驗(yàn)證協(xié)議的第一步。在這里,我們將繼續(xù)探索協(xié)議的后續(xù) 3 個(gè)步驟:位置檢查、會(huì)話密鑰交換 (SKE) 和中繼器身份驗(yàn)證
    的頭像 發(fā)表于 05-29 09:24 ?2222次閱讀
    HDCP 2.2:使用中繼器進(jìn)行局部性檢查、SKE和<b class='flag-5'>身份驗(yàn)證</b>

    使用加密身份驗(yàn)證來(lái)保護(hù)UltraScale/UltraScale+ FPGA比特流

    電子發(fā)燒友網(wǎng)站提供《使用加密身份驗(yàn)證來(lái)保護(hù)UltraScale/UltraScale+ FPGA比特流.pdf》資料免費(fèi)下載
    發(fā)表于 09-13 17:14 ?1次下載
    使用<b class='flag-5'>加密</b>和<b class='flag-5'>身份驗(yàn)證</b>來(lái)保護(hù)UltraScale/UltraScale+ FPGA比特流
    大发888博彩网站xa11| 百家乐注册送10彩金| 蜀都棋牌游戏| 博九网百家乐游戏| 优博百家乐官网yobo88| 大发888斗地主| 百家乐是如何骗人的| 百家乐官网体育博彩| 百家乐破战| 万人迷百家乐官网的玩法技巧和规则 | 百家乐赌博破解方法| 百家乐官网好的平台| 晓游棋牌游戏大厅下载| 24山风水发几房| 青川县| 百家乐平玩法几副牌| 亚洲百家乐官网博彩的玩法技巧和规则| 德州扑克比大小| 优博百家乐的玩法技巧和规则| 圣淘沙百家乐娱乐城| 八卦24山叫什么意思是什么| 百家乐官网破解的办法| 新全讯网网址112| 百家乐真人斗地主| 网上百家乐的赌博网站| 百家乐官网小型抽水泵| 百家乐官网娱乐人物| 佛学| 百家乐官网赌博机吧| 锦州市| 荣昌县| 天长市| 百家乐官网de概率| 灵武市| 现金棋牌游戏| 足球博彩论坛| 香港六合彩资料| 威尼斯人娱乐老| 百家乐投注平台信誉排名| 澳门百家乐大家乐眼| 重庆百家乐官网的玩法技巧和规则 |