




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、n單純的加解密算法無法保證抵抗下述攻擊q偽裝q內(nèi)容修改q順序修改q計時修改q發(fā)送方否認q接收方否認消息認證碼數(shù)字簽名不屬于機密性范疇,屬于數(shù)據(jù)完整性范疇Chapter 12 消息認證碼消息認證碼n消息認證需求n消息認證函數(shù)n消息認證碼n基于Hash函數(shù)的MACn基于分組密碼的MAC:DAA和CMAC2021-12-14西安電子科技大學計算機學院32021-12-14西安電子科技大學計算機學院4n可能的攻擊:可能的攻擊:q1. 泄密:將消息透漏給未授權方泄密:將消息透漏給未授權方q2. 傳輸分析:分析通信雙方的通信模式傳輸分析:分析通信雙方的通信模式q3. 偽裝:欺詐源向網(wǎng)絡中插入一條消息偽裝:
2、欺詐源向網(wǎng)絡中插入一條消息q4. 內(nèi)容修改:對消息內(nèi)容的修改內(nèi)容修改:對消息內(nèi)容的修改q5. 順序修改:對通信雙方消息順序的修順序修改:對通信雙方消息順序的修改改q6. 計時修改:對消息的延時和重播計時修改:對消息的延時和重播q7. 發(fā)送方否認:對消息否認發(fā)送方否認:對消息否認q8. 接收方否認:對消息否認接收方否認:對消息否認2021-12-14西安電子科技大學計算機學院5n消息認證:驗證所收到的消息消息認證:驗證所收到的消息確實確實是來自真是來自真實的發(fā)送方且未被修改的消息,它也可驗證實的發(fā)送方且未被修改的消息,它也可驗證消息的順序和及時性。消息的順序和及時性。n數(shù)字簽名:是一種數(shù)字簽名:
3、是一種認證技術認證技術,其中的一些方,其中的一些方法可用來抗發(fā)送方否認攻擊。(接收者可驗法可用來抗發(fā)送方否認攻擊。(接收者可驗證但不能偽造)證但不能偽造)消息認證 數(shù)字簽名n消息認證函數(shù)是實現(xiàn)消息認證的基礎消息認證函數(shù)是實現(xiàn)消息認證的基礎n其工作原理和通信領域常見的差錯控制編碼函數(shù)類似,其工作原理和通信領域常見的差錯控制編碼函數(shù)類似,都是通過對原始報文進行某種運算,產(chǎn)生一個定長的輸都是通過對原始報文進行某種運算,產(chǎn)生一個定長的輸出,這個輸出是原始報文的出,這個輸出是原始報文的“冗余信息冗余信息”,即消息認證,即消息認證碼,有時也被稱為密碼校驗和。碼,有時也被稱為密碼校驗和。2021-12-14
4、西安電子科技大學計算機學院6常用的消息認證函數(shù)包括如下兩類:常用的消息認證函數(shù)包括如下兩類: 利用加密函數(shù)作為消息認證函數(shù):這種方法把原利用加密函數(shù)作為消息認證函數(shù):這種方法把原始報文加密后產(chǎn)生的密文作為它的消息認證碼;始報文加密后產(chǎn)生的密文作為它的消息認證碼; 專用的消息認證函數(shù):以原始報文和密鑰作為輸專用的消息認證函數(shù):以原始報文和密鑰作為輸入,產(chǎn)生定長的輸出,這個輸出就是原始報文的消入,產(chǎn)生定長的輸出,這個輸出就是原始報文的消息認證碼??梢岳眠\行于息認證碼??梢岳眠\行于CBC模式下的常規(guī)加密模式下的常規(guī)加密算法或帶密鑰的算法或帶密鑰的Hash函數(shù)(函數(shù)(HMAC)來構造消息)來構造消
5、息認證函數(shù)。認證函數(shù)。2021-12-14西安電子科技大學計算機學院72021-12-14西安電子科技大學計算機學院812.2 認證函數(shù)認證函數(shù)n兩層:產(chǎn)生認證符兩層:產(chǎn)生認證符 驗證驗證n產(chǎn)生認證符的函數(shù)類型:產(chǎn)生認證符的函數(shù)類型:q消息加密:消息的密文作為認證符。消息加密:消息的密文作為認證符。q消息認證碼:消息和密鑰的公開函數(shù),產(chǎn)生定長消息認證碼:消息和密鑰的公開函數(shù),產(chǎn)生定長的值作為認證符。的值作為認證符。 MAC: message authentication code qHash函數(shù):將任意長消息映射為定長的函數(shù):將任意長消息映射為定長的hash值值作為認證符。作為認證符。2021
6、-12-14西安電子科技大學計算機學院912.2.1 消息加密消息加密n消息加密也能提供一種認證的方法消息加密也能提供一種認證的方法n對稱密碼,既可以提供認證又可以提供保對稱密碼,既可以提供認證又可以提供保密性,但不是絕對的。密性,但不是絕對的。q只有消息具有適當?shù)慕Y構、冗余或含有校驗和,只有消息具有適當?shù)慕Y構、冗余或含有校驗和,接收方才可能對消息的任何變化進行檢測。接收方才可能對消息的任何變化進行檢測。q否則,認證難以完成。否則,認證難以完成。嚴格意義上說,單獨使用加密技術無法實現(xiàn)消息嚴格意義上說,單獨使用加密技術無法實現(xiàn)消息認證。(不推薦)認證。(不推薦)2021-12-14西安電子科技大
7、學計算機學院102021-12-14西安電子科技大學計算機學院112021-12-14西安電子科技大學計算機學院12消息加密消息加密n公鑰體制中公鑰體制中:q加密不能提供對發(fā)送方的認證(公鑰是公開的)加密不能提供對發(fā)送方的認證(公鑰是公開的)q發(fā)送方可用自己的私鑰進行簽名發(fā)送方可用自己的私鑰進行簽名q接收方可用發(fā)送方的公鑰進行驗證接收方可用發(fā)送方的公鑰進行驗證q保密性和可認證性保密性和可認證性 2021-12-14西安電子科技大學計算機學院132021-12-14西安電子科技大學計算機學院142021-12-14西安電子科技大學計算機學院152021-12-14西安電子科技大學計算機學院161
8、2.2.2 消息認證碼消息認證碼 (MAC)n一種認證技術一種認證技術n利用密鑰來生成一個固定長度的短數(shù)據(jù)塊(利用密鑰來生成一個固定長度的短數(shù)據(jù)塊(MAC),),并將該數(shù)據(jù)塊附加在消息之后。并將該數(shù)據(jù)塊附加在消息之后。nMAC的值依賴于消息和密鑰的值依賴于消息和密鑰 MAC = Ck(M)=C(M,K)qMAC函數(shù)于加密類似,但函數(shù)于加密類似,但MAC算法算法不要求不要求可逆可逆性,而加密算法必須是可逆的。性,而加密算法必須是可逆的。n接收方進行同樣的接收方進行同樣的MAC碼計算并驗證是否與發(fā)送過碼計算并驗證是否與發(fā)送過來的來的MAC碼相同碼相同2021-12-14西安電子科技大學計算機學院1
9、7MAC 特性特性nMAC碼是一個密碼校驗和碼是一個密碼校驗和MAC = CK(M)=C(K, M)q消息消息M的長度是可變的的長度是可變的q密鑰密鑰K是要保密的,且收發(fā)雙方共享。是要保密的,且收發(fā)雙方共享。q產(chǎn)生固定長度的認證碼產(chǎn)生固定長度的認證碼nMAC算法是一個多對一的函數(shù)算法是一個多對一的函數(shù)q多個消息對應同一多個消息對應同一MAC值值q但是找到同一但是找到同一MAC值所對應的多個消息應該是值所對應的多個消息應該是困難困難的。的。2021-12-14西安電子科技大學計算機學院18Message Authentication Code2021-12-14西安電子科技大學計算機學院19n若
10、相同,則有:若相同,則有:q接收方可以相信消息未被修改。接收方可以相信消息未被修改。q接收方可以相信消息來自真正的發(fā)送方。接收方可以相信消息來自真正的發(fā)送方。q接收方可以確信消息中含有的序列號是正確接收方可以確信消息中含有的序列號是正確的。的。n為什么需要使用為什么需要使用MAC?q有些情況只需要認證(如廣播)有些情況只需要認證(如廣播)q文檔的持續(xù)保護(例如解密后的保護)文檔的持續(xù)保護(例如解密后的保護)qn由于收發(fā)雙方共享密鑰,所以由于收發(fā)雙方共享密鑰,所以MAC不能不能提供數(shù)字簽名提供數(shù)字簽名2021-12-14西安電子科技大學計算機學院20n對對MACs的要求:的要求:q抗多種攻擊(例
11、如窮舉密鑰攻擊)抗多種攻擊(例如窮舉密鑰攻擊)q且滿足且滿足:n已知一條消息和已知一條消息和MAC, 構造出另一條具有同樣構造出另一條具有同樣MAC的消息是不可行的的消息是不可行的nMACs應該是均勻分布的應該是均勻分布的1.MAC應該依賴于消息的所有比特位應該依賴于消息的所有比特位2021-12-14西安電子科技大學計算機學院212021-12-14西安電子科技大學計算機學院222021-12-14西安電子科技大學計算機學院2312.3 HMACn密碼密碼hash函數(shù)作為函數(shù)作為MAC:q不用分組密碼,而用不用分組密碼,而用hash函數(shù)來產(chǎn)生函數(shù)來產(chǎn)生MACn因為因為hash函數(shù)一般都較快函
12、數(shù)一般都較快n沒有出口限制,(分組密碼有出口限制)沒有出口限制,(分組密碼有出口限制)qhash函數(shù)不依賴于密鑰,所以不能直接用于函數(shù)不依賴于密鑰,所以不能直接用于MACq建議建議:KeyedHash = Hash( Key | Message ) 2021-12-14西安電子科技大學計算機學院24利用帶密鑰的利用帶密鑰的HashHash函數(shù)實現(xiàn)消息認證函數(shù)實現(xiàn)消息認證2021-12-14西安電子科技大學計算機學院25當前獲得廣泛應用的構造帶密鑰的當前獲得廣泛應用的構造帶密鑰的Hash函數(shù)的方案是函數(shù)的方案是HMAC(keyed-hashing for message authenticati
13、on code),它是),它是Bellare等人于等人于1996年提出,并于年提出,并于1997年作年作為為RFC2104標準發(fā)表,標準發(fā)表, 并被很多因特網(wǎng)協(xié)議(如并被很多因特網(wǎng)協(xié)議(如IPSEC、SSL)所使用。)所使用。HMAC算法利用已有的算法利用已有的Hash函數(shù),使用函數(shù),使用不同的不同的Hash函數(shù),就可以得到不同的函數(shù),就可以得到不同的HMAC,例如選用,例如選用MD5時的時的HMAC記為記為HMAC-MD5,選用,選用SHA-1時的時的HMAC記為記為HMAC-SHA1。HMAC的設計目標是:的設計目標是:2021-12-14西安電子科技大學計算機學院26 可不經(jīng)修改而使用現(xiàn)
14、有的可不經(jīng)修改而使用現(xiàn)有的Hash函數(shù),特別是那些易函數(shù),特別是那些易于軟件實現(xiàn)的、源代碼可方便獲取且免費使用的于軟件實現(xiàn)的、源代碼可方便獲取且免費使用的Hash函數(shù);函數(shù); 其中嵌入的其中嵌入的Hash函數(shù)可易于替換為更快或更安全的函數(shù)可易于替換為更快或更安全的Hash函數(shù);函數(shù); 保持嵌入的保持嵌入的Hash函數(shù)的最初性能,不因用于函數(shù)的最初性能,不因用于HMAC而使其性能降低;而使其性能降低; 以簡單方式使用和處理密鑰;以簡單方式使用和處理密鑰; 在對嵌入的在對嵌入的Hash函數(shù)合理假設的基礎上,易于分析函數(shù)合理假設的基礎上,易于分析HMAC用于鑒別時的密碼強度。用于鑒別時的密碼強度。2
15、021-12-14西安電子科技大學計算機學院27HMAC 概覽概覽 2021-12-14西安電子科技大學計算機學院28 2021-12-14西安電子科技大學計算機學院29HMACn作為作為RFC2104 nHMACK = Hash(K+ XOR opad)| Hash(K+ XOR ipad)|M)n其中其中 K+ 為在為在K左邊填充左邊填充0后所得的后所得的b位長的結果(位長的結果(b為每為每一消息分組的位數(shù))一消息分組的位數(shù))nopad, ipad 都是指定的填充常量都是指定的填充常量n多執(zhí)行了多執(zhí)行了3次次hash壓縮函數(shù)壓縮函數(shù)n算法可用于算法可用于MD5, SHA-1, RIPEMD
16、-160中的任何一個中的任何一個2021-12-14西安電子科技大學計算機學院30HMAC算法的具體執(zhí)行步驟如下:算法的具體執(zhí)行步驟如下: 在密鑰在密鑰K的右邊填充一些的右邊填充一些0,使其成為長度為,使其成為長度為b比特的比特串,記為比特的比特串,記為K+; 計算計算Si=K+ ipad,其中,其中ipad(inner pad)是)是HMAC算法中規(guī)定的一算法中規(guī)定的一個長度為個長度為b比特的比特模式串,它等于將比特的比特模式串,它等于將00110110(16進制的進制的36)重復)重復b/8次后得到的比特串;次后得到的比特串; 把把HMAC的輸入報文的輸入報文x=x1 x2xL附加在附加在
17、Si的右端,得到的右端,得到Si|x =Si|x1 x2xL,將該比特串作為,將該比特串作為Hash函數(shù)函數(shù)h的輸入,得到的輸入,得到l比特的輸出比特的輸出h (Si|x); 計算計算So=K+ opad,其中,其中opad(outter pad)是)是HMAC算法中規(guī)定的算法中規(guī)定的另一個長度為另一個長度為b比特的比特模式串,它等于將比特的比特模式串,它等于將01011100(16進制的進制的5C)重復重復b/8次后得到的比特串;次后得到的比特串; 將第將第3步得到的步得到的h(Si|x)填充到填充到b比特后附加在比特后附加在So的右端,并以該比特串的右端,并以該比特串作為作為Hash函數(shù)函
18、數(shù)h的輸入,得到的輸入,得到l比特的輸出;比特的輸出; 將第將第5步的輸出作為步的輸出作為HMAC算法的最終輸出結果,即為消息算法的最終輸出結果,即為消息x的消息的消息認證碼認證碼HMACk(x)。 2021-12-14西安電子科技大學計算機學院31 建立在嵌入建立在嵌入Hash函數(shù)基礎上的所有函數(shù)基礎上的所有MAC,其安全性在某種程,其安全性在某種程度上都依賴于該度上都依賴于該Hash函數(shù)的強度。對于函數(shù)的強度。對于HMAC,可以給出,可以給出HMAC的強度與所嵌入的強度與所嵌入Hash函數(shù)強度之間的關系。函數(shù)強度之間的關系。Bellare等人等人(1996年)已經(jīng)證明,如果攻擊者已知若干(
19、時間、消息年)已經(jīng)證明,如果攻擊者已知若干(時間、消息-MAC)對,則成功攻擊對,則成功攻擊HMAC的概率等價于對所嵌入的概率等價于對所嵌入Hash函數(shù)的下列函數(shù)的下列攻擊之一:攻擊之一: 即使對于攻擊者而言,即使對于攻擊者而言,IV是隨機的、秘密的和未知的,攻擊是隨機的、秘密的和未知的,攻擊者也能計算者也能計算Hash函數(shù)的壓縮函數(shù)的輸出。函數(shù)的壓縮函數(shù)的輸出。 即使即使IV是隨機的和秘密的,攻擊者也能找到是隨機的和秘密的,攻擊者也能找到Hash函數(shù)的碰函數(shù)的碰撞。撞。2021-12-14西安電子科技大學計算機學院32HMAC 的安全性的安全性nHMAC的安全性依賴于的安全性依賴于hash算
20、法的安全性算法的安全性 n攻擊攻擊HMAC需要下列之一需要下列之一:q對密鑰進行窮舉攻擊對密鑰進行窮舉攻擊q生日攻擊生日攻擊n從速度與安全制約,選擇恰當?shù)膹乃俣扰c安全制約,選擇恰當?shù)膆ash函數(shù)函數(shù)2021-12-14西安電子科技大學計算機學院3312.6 基于分組密碼的基于分組密碼的MACp DAA:數(shù)據(jù)認證算法:數(shù)據(jù)認證算法p CMAC:基于密碼的消息認證碼:基于密碼的消息認證碼2021-12-14西安電子科技大學計算機學院34用對稱密碼產(chǎn)生用對稱密碼產(chǎn)生MACsn采用分組密碼的鏈接工作模式,并把最后分組采用分組密碼的鏈接工作模式,并把最后分組作為作為MACnData Authentica
21、tion Algorithm (DAA) 是一個廣是一個廣泛使用的數(shù)據(jù)認證算法,基于泛使用的數(shù)據(jù)認證算法,基于DES-CBC(FIPS PUB113,ANSI X9.17)qIV=0且最后一個分組用且最后一個分組用0填充其后以補足填充其后以補足64位分組位分組q用用DES的密文分組鏈接模式的密文分組鏈接模式CBC解密消息解密消息q把最后一個分組作為把最后一個分組作為MAC發(fā)送發(fā)送n或者取最后分組的左邊或者取最后分組的左邊M bits (16M64) n但是對于安全性來說,最終的但是對于安全性來說,最終的MAC還是太小了還是太小了2021-12-14西安電子科技大學計算機學院35Data Authentication Algorithm基于基于DES實現(xiàn)的數(shù)據(jù)認證算法實現(xiàn)的數(shù)據(jù)認證算法 2021-12-14西安電子科技大學計算機學院36 置置IV = 0,并把報文的最后一個分組用,并把報文的最后一個分組用0填充成填充成64比特;比特; 采用采用DES的的CBC模式加密報文;模式加密報文; 拋棄加密的中間結果,只將最后一組密文(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 創(chuàng)新團隊課題申報書
- 高質(zhì)量發(fā)展課題申報書
- 民間音樂課題申報書
- 調(diào)研課題申報立項書格式
- 鹵菜技術傳授合同范本
- 課題申報書保障條件
- 員工繳納公積金合同范本
- 個人承包私活合同范本
- 包銷合同范本版
- 售房補充合同范本
- 抵押個人汽車借款合同范本
- 2025年中考第一次模擬考試地理(青海卷)(全解全析)
- 2025年內(nèi)蒙古電子信息職業(yè)技術學院單招職業(yè)技能測試題庫及參考答案
- 統(tǒng)編版(2024)七年級下冊語文期末復習:第一單元素養(yǎng)提升測試卷(含答案)
- 2025年上海青浦新城發(fā)展集團有限公司招聘筆試參考題庫含答案解析
- 中小學領導班子包級包組包班制度
- Deepseek 學習手冊分享
- 汽車掛靠經(jīng)營合同協(xié)議書模板
- 基坑土方開挖專項施工方案(完整版)
- 2025年江蘇農(nóng)牧科技職業(yè)學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 數(shù)據(jù)中心運維服務投標方案(技術標)
評論
0/150
提交評論