第6講-認證協議-課件_第1頁
第6講-認證協議-課件_第2頁
第6講-認證協議-課件_第3頁
第6講-認證協議-課件_第4頁
第6講-認證協議-課件_第5頁
已閱讀5頁,還剩85頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第6講認證協議/s/1hqGj6QS1PPT課件第6講認證協議6.1認證方式分類6.2經典認證協議6.3密鑰交換協議6.4認證密鑰交換協議6.5可否認認證協議6.6對認證協議的典型攻擊6.7認證協議的設計原則2PPT課件認證和協議的概念認證:是一個過程,通過這個過程,一個實體可以向另一個實體證明某種聲稱的屬性。協議:在兩方或相互協作的多方之間進行通信的過程。因此,一個認證過程也是一個認證協議。認證協議是安全協議的一種。什么是認證?什么是協議?3PPT課件消息認證(也稱數據源認證)身份認證(或稱實體認證)帶認證的密鑰建立實體聲稱的屬性有哪些呢??4PPT課件消息認證目的:確認消息發送者的身份確認數據完整性消息認證與數據完整性區別:消息認證必然涉及通信,而數據完整性不一定包含通信,該安全服務可用于存儲的數據。消息認證必然涉及確認消息的新鮮性,而數據完整性無此必要,這是因為老數據、重放的舊消息也可能有完善的數據完整性。新鮮的消息指接收者認定的新近發送的消息(收發之間的時間間隔足夠小)。5PPT課件身份認證1、主機—主機類型通信的參與者是在分布式系統中被稱為“節點”的計算機或平臺。實例:客戶端—服務器設置,其中一臺主機(客戶端)向另一臺主機(服務器)請求某些服務。6PPT課件身份認證2、用戶—主機類型用戶通過登錄系統中某臺主機來獲得訪問該計算機系統。舉例:通過Telnet登錄到某臺計算機通過FTP(filetransferprotocol)執行文件傳送7PPT課件身份認證3、進程—主機類型主要用于分布式計算系統遠程進程的識別與認證。一個主機可能會給外部的進程授予不同的接入權限。例如某段“移動代碼”或可執行的Java程序都能夠到達遠程主機并作為遠程進程在該主機上運行。在敏感的應用中,設計認證機制是必需的,也是可能的,這樣才能使主機識別外部進程是否友好,從而能夠對外部進程賦予合適的接入權限。8PPT課件身份認證4、成員—俱樂部類型可以把成員擁有俱樂部證書的證明看做是一般化的“用戶—主機類型”。俱樂部可以只需要考慮成員證件的有效性,而沒有必要知道該成員的進一步信息,如該成員的真實身份。9PPT課件6.1認證方式分類(1)

單方認證(2)

雙方認證(3)

包含可信第三方的認證認證可以分為那些類別?10PPT課件6.1.1單方認證協議的兩個參與主體A和B中只對其中的一個主體進行認證。(服務器對客戶端的認證或…)認證機制包括基于交互模式的挑戰—應答機制(CR)基于對稱密碼技術的挑戰—應答機制的單方認證基于非對稱密碼技術的挑戰—應答機制的單方認證基于非交互模式的時間戳機制(TS)基于對稱加密技術的時間戳機制的單方認證基于非對稱加密技術的時間戳機制的單方認證11PPT課件挑戰—應答機制“挑戰-應答”機制(Challenge-Response)B期望從A獲得一個新消息,首先發給A一個臨時值(challenge),并要求后續從A收到的消息(response)包含正確的這個臨時值。12PPT課件基于對稱密碼技術的挑戰—應答機制”的單方認證協議1:Bob→Alice:NB;(挑戰)Alice→Bob:EKAB(M,NB);(應答)Bob解密接收到密文分組并接受(若Bob看到NB)或拒絕(其它情況)。協議2:Bob→Alice:NB;(挑戰)Alice→Bob:M,MDC(KAB,M,NB);(應答)Bob重構MDC(KAB,M,NB)并接受(若兩個MDC相同)或拒絕(其它情況)。13PPT課件基于非對稱密碼技術的挑戰—應答機制的單方認證協議3:Bob→Alice:NB;(挑戰)Alice→Bob:M,SigA(M,NB);(應答)Bob使用他的一次性隨機數NB驗證簽名并接受(若簽名通過驗證)或拒絕(其它情況)。14PPT課件數字時間戳機制數字時間戳(DTS,DigitalTime-stamp):是由DTS服務機構提供的安全服務項目,專門用于證明信息的發送時間。B接受一個新消息僅當該消息包含一個時間戳,該時間戳在B看來,是足夠接近B所知道的當前時間;這種方法要求不同參與者之間的時鐘需要同步。由于變化的和不可預見的網絡延遲的本性,不能期望分布式時鐘保持精確的同步。因此,任何基于時間戳的過程必須采用時間窗的方式來處理:一方面時間窗應足夠大以包容網絡延遲,另一方面時間窗應足夠小以最大限度地減小遭受攻擊的機會。15PPT課件數字時間戳機制數字時間戳的生成及使用過程16PPT課件基于對稱加密技術的時戳機制的單方認證協議4:Alice→Bob:EKAB

(M,TA);Bob解密接收到的密文分組并接受(若認為TA是有效的)或拒絕(其它情況)。協議5:Alice→Bob:M,TA,MDC(KAB,M,TA);Bob重構MDC(KAB,M,TA)并接受(若兩個MDC相等且TA是有效的)或拒絕(其它情況)。17PPT課件基于非對稱加密技術的時戳機制的單方認證協議6:Alice→Bob:SigA(M,TA);Bob驗證簽名并接受(若簽名通過驗證且TA是有效的)或拒絕(其它情況)。18PPT課件6.1.2雙方(向)認證雙方認證是指協議的兩個通信實體要互相認證。協議7:前提:A擁有公鑰證書CertA,B擁有公鑰證書CertB;目標:A和B完成雙方認證(對身份的確認)。協議步驟:B→A:RB;(表示認證請求的功能碼)A→B:CertA,RA||RB||B||SigA(RA||RB||B);B→A:CertB,RB||RA||A||SigB(RB||RA||A).--19PPT課件6.1.2雙方認證對協議7的攻擊協議8:Wiener攻擊(加拿大人攻擊):前提:除了原協議的前提外,Malice也擁有證書CertM。Malice(“B”)→A:RB;(冒充B)A→Malice(“B”):CertA,RA||RB||B||SigA(RA||RB||B);1)Malice(“A”)→B:RA;(冒充A)2)B→Malice(“A”):CertB,R′B||RA||A||SigB(R′B||RA||A);Malice(“B”)→A:CertB,R′B||RA||A||SigB(R′B||RA||A).結果是得到了A和B的信任協議7:前提:A擁有公鑰證書CertA,B擁有公鑰證書CertB;目標:A和B完成雙方認證(對身份的確認)。協議步驟:B→A:RB;(表示認證請求的功能碼)A→B:CertA,RA||RB||B||SigA(RA||RB||B);B→A:CertB,RB||RA||A||SigB(RB||RA||A).--20PPT課件6.1.3包含可信第三方的認證Woo-Lam協議:前提:Trent作為可信第三方(TTP),Alice和Trent共享對稱密鑰KAT,Bob和Trent共享對稱密鑰KBT;目標:即使Alice和Bob開始互不相識,Alice仍然能夠向Bob證明自己。Alice→Bob:Alice; 【我是Alice】Bob→Alice:NB;【你證明一下吧】Alice→Bob:{NB}KAT;【你可以去驗證,Trent可以證明】Bob→Trent:{Alice,{NB}KAT}KBT;【問Trent,X說她是Alice】Trent→Bob:{NB}KBT;【你如果看到NB,那就是了】Bob使用密鑰KBT解密密文分組,如果解密后正確地返回Bob的一次性隨機數,Bob就接受此次運行,否則拒絕。協議依賴TTP的可信性。21PPT課件6.1.3包含可信第三方的認證Abadi和Needham對上述Woo-Lam協議的攻擊(并行攻擊!)Malice(“Alice”)→Bob:Alice;【冒充Alice對Bob,我是Alice】

1′.Malice→Bob:Malice;【同時執行Malice本身的認證協議——我是Malice】Bob→Malice(“Alice”):NB;【Bob執行Woo-Lam認證過程,證明給我】2′.Bob→Malice:N′B;【Bob執行Woo-lam認證過程,證明給我】Malice(“Alice”)→Bob:{NB}KMT;【執行Woo-lam,注意NB,你問TTP?】

3′.Malice→Bob:{NB}KMT;【并行執行Woo-lam,注意NB不是N’B】Bob→Trent:{Alice,{NB}KMT}KBT;【Bob問Trent關于Alice的身份】4′.Bob→Trent:{Malice,{NB}KMT}KBT;【Bob問Trent關于Malice的身份】Trent→Bob:{“垃圾”}KBT;【按照協議執行,Nb被破壞了】(產生“垃圾”是因為Trent使用KAT對密文組{NB}KMT進行了解密)5′.Trent→Bob:{NB}KBT;【按照協議,Nb返回了,Alice的身份被確認】Bob拒絕和Malice的運行;(因為解密后返回的是“垃圾”而不是一次性隨機數N′B)

6′.Bob接受“和Alice的運行”,但實際上是和Malice的運行。(因為解密返回的NB是正確的)22PPT課件6.2經典認證協議6.2.1Needham-Schroeder對稱密鑰認證協議6.2.2Needham-Schroeder公鑰認證協議6.2.3Otway-Rees認證協議6.2.4Yahalom協議6.2.5AndrewRPC(RemoteProcedureCall)認證協議6.2.6Wide-MouthFrog協議23PPT課件6.2.1Needham-Schroeder對稱密鑰認證協議基于“挑戰-應答”機制目的:在通信雙方之間分配會話密鑰,使協議發起者能夠檢查會話密鑰的新鮮性是認證和密鑰建立協議中最著名的協議24PPT課件6.2.1Needham-Schroeder對稱密鑰認證協議25PPT課件Needham-Schroeder對稱密鑰認證協議前提:Alice和Trent共享密鑰KAT;Bob和Trent共享密鑰KBT;目標:Alice和Bob希望建立一個新的共享密鑰K。Alice隨機生成一次性隨機數NA,向Trent發送:Alice,Bob,NA;【我要和Bob通信】Trent隨機生成K,向Alice發送:{Bob,K,NA,{Alice,K}KBT}KAT;【給你們分配好了密鑰】Alice解密NA,驗證她的nonce(表示僅使用一次的數字),驗證Bob的身份并發給Bob:Trent,{Alice,K}KBT;Bob解密并驗證Alice的身份,生成隨機數NB,向Alice發送:{我是Bob!NB}K;Alice向Bob發送:{我是Alice!NB-1}K.26PPT課件Denning和Sacco對Needham-Schroeder對稱密鑰認證協議的攻擊協議漏洞的原因是什么?27PPT課件Denning和Sacco對Needham-Schroeder

對稱密鑰認證協議的改進利用時間戳代替挑戰號,可以解決消息新鮮性的漏洞。28PPT課件6.2.2Needham-Schroeder公鑰認證協議目的:使通信雙方安全地交換兩方彼此獨立的秘密。這與其它大多數公鑰認證協議不同,它們的目的是通信雙方安全地交換共享密鑰。29PPT課件6.2.2Needham-Schroeder公鑰認證協議Trent,我要和Bob通信,ps:Alice給你Bob的公鑰你好,我是AliceTrent,我要和Bob通信,ps:Alice給你Alice的公鑰Alice,你好,我是Bob,這是你給我發的挑戰Na你好,我是alice,這是你給我發的挑戰Nb30PPT課件6.2.2Needham-Schroeder公鑰認證協議前提:假定AliceBob

Trent的密鑰對分別為(KA,KA-1),(KB,KB-1),(KT,KT-1)目標:Alice和Bob建立一個新的共享密鑰。Alice向Trent發送:Alice,Bob;Trent向Alice發送:{Bob,KB}KT-1;Alice驗證Trent對{Bob,KB}的簽字,隨機生成她的nonceNA,并向Bob發送:{Alice,NA}KB;Bob解密并驗證Alice的身份,向Trent發送:Bob,Alice;Trent向Bob發送:{Alice,KA}KT-1;Bob驗證Trent對{Alice,KA}的簽字,隨機生成他的nonceNB,并向Alice發送:{NA,NB}KA;Alice解密并向Bob發送:{NB}KB.31PPT課件Lowe對Needham-Schroeder公鑰認證協議的攻擊32PPT課件Lowe對Needham-Schroeder

公鑰認證協議的攻擊假設在這個系統中Malice是一個合法的主體,因此其他主體可能要和Malice建立標準會話。這個攻擊過程中包括兩次同時運行該協議。第一次是Alice和Malice之間的運行(①-③、①-⑥、①-⑦步),結果是Alice和Malice建立了一個合法的會話。第二次是Malice假冒Alice和Bob之間的運行(②-③、②-⑥、②-⑦步),結果是Malice假冒Alice和Bob建立了一個假的會話。我們分析以上攻擊,Malice成功攻擊的關鍵步驟是Alice無意地為他解密了Bob的nonceNB。當一個主體無意地為攻擊者執行了一個密碼運算時,該主體就被用作預言機(oracle)或提供了預言機服務(Oracleservice)。因此密碼算法和協議應該設計成即使用戶為攻擊者提供了預言服務也是安全的。33PPT課件修補Needham-Schroeder公鑰認證協議34PPT課件6.2.3Otway-Rees認證協議目的:用于在通信雙方之間分配會話密鑰。特點:簡單實用,不需要應用復雜的同步時鐘機制。35PPT課件6.2.3Otway-Rees認證協議前提:Trent作為可信第三方(TTP),Alice和Trent共享對稱密鑰KAT,Bob和Trent共享對稱密鑰KBT;目標:Alice和Bob協商密鑰KAB進行下一次會話。Alice向Bob發送:M,Alice,Bob,{NA,M,Alice,Bob}KAT;【發起通信,請驗證】Bob向Trent發送:M,Alice,Bob,{NA,M,Alice,Bob}KAT,{NB,M,Alice,Bob}KBT;【驗證一下Alice是不是Alice,我是Bob】Trent解密并向Bob發送:M,{NA,KAB}KAT,{NB,KAB}KBT;【驗證了你是bob,她是Alice,并且給你們分配了密鑰】Bob向Alice發送:M,{NA,KAB}KAT.【我們通過了驗證,把密鑰給你】36PPT課件針對Otway-Rees協議的“類型缺陷”型攻擊“類型缺陷”型攻擊的特點是利用認證協議實現時的固定格式對協議進行攻擊。只是檢測長度的合法性。假定在Otway-Rees認證協議中,M的長度是64比特,Alice和Bob的長度各為32比特,KAB的長度為128比特。攻擊過程如下(冒充Bob):

1′.Alice向Malice(“Bob”)發送:M,Alice,Bob,{NA,M,Alice,Bob}KAT;【發給Bob的消息被Malice劫持】2.Malic向Trent發送:M,Alice,Malic,{NA,M,Alice,Bob}KAT,{NB,M,Alice,Malic}KMT;【紅色的信息是否能驗證通過是攻擊成功的前提】

3.Trent解密并向Malic發送:M,{NA,KAB}KAT,{NB,KAB}KMT;【你們驗證通過給你們密鑰】4′.Malice(“Bob”)向Alice發送:M,{NA,KAB}KAT.【你驗證通過了,給你密鑰】37PPT課件針對Otway-Rees協議的“類型缺陷”型攻擊攻擊者還可以冒充可信第三方Trent攻擊Otway-Rees協議。攻擊過程如下:2′.Bob向Malice(“Trent”)發送:M,Alice,Bob,{NA,M,Alice,Bob}KAT,{NB,M,Alice,Bob}KBT;【發給Trent的信息被劫持】3′.Malice(“Trent”)向Bob發送:M,{NA,M,Alice,Bob}KAT,{NB,M,Alice,Bob}KBT;【利用手頭上的密文進行攻擊】4′.Bob向Alice發送:M,{NA,M,Alice,Bob}KAT.【現在的密鑰是什么?】Alice向Bob發送:M,Alice,Bob,{NA,M,Alice,Bob}KAT;Bob向Trent發送:M,Alice,Bob,{NA,M,Alice,Bob}KAT,{NB,M,Alice,Bob}KBT;Trent解密并向Bob發送:M,{NA,KAB}KAT,{NB,KAB}KBT;Bob向Alice發送:M,{NA,KAB}KAT.38PPT課件6.2.4Yahalom協議前提:Trent作為可信第三方(TTP),Alice和Trent共享對稱密鑰KAT,Bob和Trent共享對稱密鑰KBT;目標:Alice和Bob之間建立會話密鑰KAB。Alice向Bob發送:Alice,NA;【我是Alice】Bob向Trent發送:Bob,{Alice,NA,NB}KBT;【Alice要和我通信,我是Bob】Trent解密并向Alice發送:{Bob,KAB,NA,NB}KAT,{Alice,KAB}KBT;【Alice,給你們的密鑰】Alice向Bob發送:{Alice,KAB}KBT,{NB}KAB.【Bob,密鑰給你,還有我是Bob】39PPT課件Alice向Bob發送:M,Alice,Bob,{NA,M,Alice,Bob}KAT;Bob向Trent發送:M,Alice,Bob,{NA,M,Alice,Bob}KAT,{NB,M,Alice,Bob}KBT;Trent解密并向Bob發送:M,{NA,KAB}KAT,{NB,KAB}KBT;Bob向Alice發送:M,{NA,KAB}KAT.Alice向Bob發送:Alice,NA;Bob向Trent發送:Bob,{Alice,NA,NB}KBT;Trent解密并向Alice發送:{Bob,KAB,NA,NB}KAT,{Alice,KAB}KBT;Alice向Bob發送:{Alice,KAB}KBT,{NB}KAB.Otway-ReesAlice向Bob發送:Alice,NA;Bob向Trent發送:Bob,NB,{Alice,NA}KBT;Trent解密并向Alice發送:NB,{Bob,KAB,NA}KAT,{Alice,KAB,NB}KBT;Alice向Bob發送:{Alice,KAB,NB}KBT,{NB}KAB.BAN-YahalomYahalom40PPT課件6.2.4BAN-Yahalom協議Alice向Bob發送:Alice,NA;【我是Alice】Bob向Trent發送:Bob,NB,{Alice,NA}KBT;【我是Bob,Alice要通信,給個密鑰吧】Trent解密并向Alice發送:NB,{Bob,KAB,NA}KAT,{Alice,KAB,NB}KBT;【Bob,驗證通過,Alice,給你們的密鑰】Alice向Bob發送:{Alice,KAB,NB}KBT,{NB}KAB.【Bob,密鑰給你】Alice向Bob發送:Alice,NA;Bob向Trent發送:Bob,{Alice,NA,NB}KBT;Trent解密并向Alice發送:{Bob,KAB,NA,NB}KAT,{Alice,KAB}KBT;Alice向Bob發送:{Alice,KAB}KBT,{NB}KAB.41PPT課件針對BAN-Yahalom協議的攻擊①Alice→Malice(“Bob”):Alice,NA;【Alice的消息被Bob劫持】1′.Malice(“Bob”)→Alice:Bob,NA;【我是Bob】2′.Alice→Malice(“Trent”):Alice,N′A,{Bob,NA}KAT;【冒充Trent】2′′.Malice(“Alice”)→Trent:Alice,NA,{Bob,NA}KAT;【冒充Alice】3′′.Trent→Malice(“Bob”):NA,{Alice,KAB,NA}KBT,{Bob,KAB,NA}KAT;【冒充Bob】③Malice(“Trent”)→Alice:NM,{Alice,KAB,NA}KBT,{Bob,KAB,NA}KAT;【冒充Trent】④Alice→Malice(“Bob”):{Alice,KAB,NA}KBT,{NM}KAB.Alice向Bob發送:Alice,NA;Bob向Trent發送:Bob,NB,{Alice,NA}KBT;Trent解密并向Alice發送:NB,{Bob,KAB,NA}KAT,{Alice,KAB,NB}KBT;Alice向Bob發送:{Alice,KAB,NB}KBT,{NB}KAB.42PPT課件針對BAN-Yahalom協議的攻擊上述攻擊中共運行了3次協議:第1次是Alice發起的希望與Bob會話的運行,見第①,③,④步,而協議的第②步應該由Bob向Trent發送的消息在第2′步中被Malice所截獲。第2次是Malice冒充響應者Alice的運行,見第2′′,3′′步,而在這次運行中,Trent以為發起者是Bob,響應者是Alice,并且這次運行沒有完全完成,邏輯上運行了協議的第③個步驟后被掛起,并且缺少邏輯上的第①個步驟。第3次是由Malice冒充發起者Bob的運行,見第1′,2′步,這次運行也沒有完全完成,邏輯上運行了協議的第②個步驟后被掛起。43PPT課件6.2.5AndrewRPC(RemoteProcedureCall)認證協議AndrewRPC認證協議也是一種早期的雙方認證協議。該協議只包含兩個主體Alice和Bob,其中Alice為客戶,Bob為服務器。AndrewRPC認證協議提供了互不信任的客戶端和服務器之間的認證握手。當一個客戶機與一個新的服務器連接時,利用握手協議,客戶Alice能夠從服務器Bob獲得一個新的會話密鑰。44PPT課件45PPT課件6.2.5AndrewRPC(RemoteProcedureCall)認證協議46PPT課件前提:假設Alice與Bob之間原先共享會話密鑰KAB;NA和NB分別是Alice和Bob生成的一次性隨機數,N′B是在隨后的通信中使用的初始序列號;目標:Alice向Bob申請一個新的會話密鑰K′AB。Alice向Bob發送:Alice,{NA}KAB;【我是Alice】Bob向Alice發送:{NA+1,NB}KAB;【你好Alice,我是Bob】Alice向Bob發送:{NB+1}KAB;【我真的是Alice】Bob向Alice發送:{K′AB,N′B}KAB.【看出來了,給你新的密鑰】6.2.5AndrewRPC(RemoteProcedureCall)認證協議47PPT課件針對AndrewRPC認證協議的“類型缺陷”型攻擊3′.Alice→Malice(“Bob”):{NB+1}KAB;【我真的是Alice】4′.Malice(“Bob”)→Alice:{NA+1,NB}KAB.【曉得了,新密鑰NA+1】Alice向Bob發送:Alice,{NA}KAB;Bob向Alice發送:{NA+1,NB}KAB;Alice向Bob發送:{NB+1}KAB;Bob向Alice發送:{K′AB,N′B}KAB.48PPT課件6.2.6Wide-MouthFrog協議Wide-MouthFrog協議又稱作大嘴青蛙協議,大嘴青蛙協議是一種最簡單的、應用對稱密碼體制的三方認證協議。在該協議中,Alice通過可信第三方Trent向Bob傳送會話密鑰。該協議特點是會話密鑰只通過兩個步驟就從Alice傳給了Bob,同時應用了同步時鐘機制。49PPT課件6.2.6Wide-MouthFrog協議前提:Alice和Bob分別與可信第三方Trent共享秘密密鑰KAT和KBT;目標:Alice將產生的會話密鑰傳給Bob。Alice向Trent發送:Alice,{TA,Bob,KAB}KAT;【Alice要和Bob通信,我自己準備好了密鑰】Trent向Bob發送:{TT,Alice,KAB}KBT.【Alice要和你通信,這是密鑰】50PPT課件針對Wide-MouthFrog協議的攻擊第1種方法是在有效的時間范圍內重放步驟①的消息。其后果是將進行重新認證。因為根據協議,Trent將生成一個新的消息2′,并生成一個新的時間戳。這樣通信的時間戳被修改可能影響后續的使用。(破壞可用性的方法)51PPT課件針對Wide-MouthFrog協議的攻擊第2種攻擊方法攻擊過程如下:(實施破壞性的攻擊)Alice→Trent:Alice,{TA,Bob,KAB}KAT;Trent→Bob:{TT,Alice,KAB}KBT;1′.Malice(“Bob”)→Trent:Bob,{TT,Alice,KAB}KBT;【假冒Bob】2′.Trent→Malice(“Alice”):{T′T,Bob,KAB}KAT;【假冒Alice】1′′.Malice(“Alice”)→Trent:Alice,{T′T,Bob,KAB}KAT;

【假冒Alice】2′′.Trent→Malice(“Bob”):{T′′T,Alice,KAB}KBT.【假冒Bob】在第1次運行中,攻擊者Malice監聽Alice與Bob之間的一次會話。然后,在第2次運行中,攻擊者Malice假冒Bob,從Trent處獲得對它有用的消息2′。在第3次運行中,Malice假冒Alice,從Trent處獲得對它有用的消息2′′,這時,攻擊者Malice可假冒Trent向Alice與Bob重放上述消息,引起Alice與Bob之間的重新認證。52PPT課件6.3密鑰交換協議密鑰交換協議用于完成會話密鑰的建立。一般情況下是在參與協議的兩個或多個實體之間建立共享的秘密。著名的Diffie-Hellman密鑰交換協議。由于該算法本身限于密鑰交換的用途,被許多商用產品用作密鑰交換技術,因此該算法通常稱之為Diffie-Hellman密鑰交換。這種密鑰交換技術的目的在于使兩個用戶安全地交換一個秘密密鑰,以便用于以后的報文加密。53PPT課件Diffie-Hellman密鑰交換協議設p是一個素數,α是Z*p的本原元,p和α是公開的。在此條件下,通信雙方(設為A和B)可以執行如下協議形成共享的秘密密鑰K:A隨機選擇XA,0≤XA≤p-2;A計算YA=αXAmodp,并把YA發送給B;B隨機選擇XB,0≤XB≤p-2;B計算YB=αXB

modp,并把YB發送給A;A計算:B計算:顯然K=K′,因此A和B之間就形成了一個共享的秘密密鑰。54PPT課件Diffie-Hellman協議進行密鑰交換舉例例:假設用戶A、B想交換會話密鑰進行保密通信,選擇素數p=353,本原元α

=3,并且A,B分別隨機選擇私鑰XA=97和XB=233。A、B分別計算其公鑰:YA=397(mod353)=40YB=3233(mod353)=248在他們相互獲取了公鑰之后,A、B各自通過計算得到雙方共享的秘密密鑰如下:A計算:KAB=(YB)XAmod353=24897mod353=160B計算:KAB=(YA)XB

mod353=40233mod353=16055PPT課件Diffie-Hellman密鑰交換協議Diffie-Hellman密鑰交換算法的安全性依賴于這樣一個事實:雖然計算以一個素數為模的指數相對容易,但計算離散對數X=logαYmodp卻很困難。對于大的素數,計算出離散對數幾乎是不可能的。該協議安全的一個必要條件是Z*p上的離散對數問題是難處理的,這要求p至少有300位的十進制數,且p-1應該至少具有一個較大的素數因子。56PPT課件Diffie-Hellman密鑰交換協議優點:僅當需要時才生成密鑰,減小了將密鑰存儲很長一段時間而致使遭受攻擊的機會;除對全局參數的約定外,密鑰交換不需要事先存在基礎結構。57PPT課件Diffie-Hellman密鑰交換協議缺點:沒有提供雙方身份的任何信息,因此標準的Diffie-Hellman密鑰交換協議無法防止被稱為“中間人攻擊”的主動攻擊。即第三方C在和A通信時扮演B;和B通信時扮演A。A和B都與C協商了一個密鑰,然后C就可以監聽和傳遞通信量;它是計算密集性的,因此容易遭受阻塞性攻擊,即攻擊者請求大量的密鑰,被攻擊者花費了相對多的計算資源來求解無用的冪系數而不是在做真正的工作;沒辦法防止重放攻擊。58PPT課件對Diffie-Hellman密鑰交換協議的中間人攻擊59PPT課件6.4認證密鑰交換協議(DH存在缺陷)認證協議和密鑰交換協議相結合先對通信實體的身份進行認證在認證成功的基礎上,為下一步安全通信分配密鑰例:站-站協議(STS協議)因特網密鑰交換協議(IKE協議)分布式認證安全服務協議(DASS協議)Kerberos認證協議X.509協議60PPT課件站-站協議(STS協議)站-站協議實際上是Diffie-Hellman密鑰交換協議的一種變形。前提:Alice和Bob各自擁有公鑰證書:CertA=SigCA(Alice,PA,desc<α>)CertB=SigCA

(Bob,PB,desc<α>)其中CA是證書機構。PA和PB分別表示Alice和Bob的公鑰。desc<α>表示α生成的共享群。此外,同一系統中的用戶共享一個高階有限阿貝爾群(交換群),而且同一系統中的用戶共同確認了一個對稱密碼算法E;目標:Alice和Bob實現雙方認證和雙方認證的密鑰交換。Alice隨機選擇某個大整數x,并發送給Bob:αx;Bob隨機選擇某個大整數y,并發送給Alice:αy,CertB,EK(SigB(αy,αx));Alice向Bob發送:CertA,EK(SigA(αx,

αy)),其中K=αxy=αyx.61PPT課件站-站協議(STS協議)是用于因特網安全的因特網密鑰交換(IKE)協議的基礎之一密鑰協商:以Diffie-Hellman密鑰交換協議為基礎密鑰的新鮮性:由雙方各自隨機選取指數保證雙方獨享確認密鑰:由數字簽名保證62PPT課件Lowe對STS協議的攻擊該攻擊中,Malice也是系統的一個合法用戶,因此他可以與系統的其他用戶Alice和Bob同時進行會話,但他在面對Bob時使用他的真實身份,而在面對Alice時假冒Bob。63PPT課件6.5可否認認證協議可否認的認證協議:接收者能夠辨別出某個消息的發送者的身份第三者不會知道消息發送者的身份典型應用:電子投票系統網絡商談64PPT課件6.5可否認認證協議基于離散對數問題的可否認認證協議基于因子分解問題的可否認認證協議65PPT課件6.5.1基于離散對數問題的可否認認證協議前提:每個發送方都有來自可信任認證機構CA的證書,證書上包含發送者的公鑰KP和CA的簽名發送者S和接收者R協商兩個公開的素數g和n設定一個Hash函數H(·)66PPT課件S選擇一個隨機大整數x,并計算:X=gxmodn;X’=EKS(X)然后,S將X′發送給R;R選擇一個隨機大整數y,并向S發送:Y=gymodnR解密X′,并獲得:X=DKP(X’)然后,R計算:k=XymodnS計算:k′=Yxmodn實際上,k=gxy=k′,于是S和R共享會話密鑰k;S將消息M及H(k,M)一同發送給R;R收到M后計算H(k,M),驗證計算的Hash值是否與收到的H(k,M)一致。若一致,R確信消息M的確來自發送者S,并接受該消息,否則,拒絕。6.5.1基于離散對數問題的可否認認證協議67PPT課件協議性能分析(1)該協議是可否認的因為經過Diffie-Hellman算法的運算,S和R已經擁有了相等的密鑰k=k′,并且Hash函數也可以公開得到,因此R完全可以模仿偽造某個消息M′=M,從而S可以否認M來自于S,于是R不能向第三方證明消息M來自于S,即使R和第三方是完全合作的關系。【投票中有用哦!】68PPT課件協議性能分析(2)消息來源性認證從協議可以看出,即使攻擊者得到協議前兩步的所有信息,他也不能得到密鑰k,因為其難度等于計算離散對數。對于大的素數,計算離散對數被認為是不可行的。因此只有S和R可以確定這個密鑰,其他用戶不可能得到這個密鑰,接收者R知道只有用戶S才能用這個密鑰生成密文,從而可以確定某個消息M來自于S。【身份賴不了,但是投票內容可以賴】69PPT課件協議性能分析(3)抵抗PIM攻擊分析假定INQ是一個在S和R之間的不安全信道上的敵對方,即中間人。在第①步,消息用KS加密,這個密鑰不被任何其他人所知。假設INQ從S那里截獲了消息并冒充R與S協商會話密鑰,如果他想進行中間人攻擊,則INQ必須要冒充S來欺騙R,他選擇一個整數并得到X,但他因為沒有KS而不能得到X′。如果他偽造一個X′,R便不能正確解密得到X,因此,R和INQ將不能獲得共享密鑰k,從而攻擊失敗。70PPT課件6.5.2基于因子分解問題的可否認認證協議S隨機選擇a∈ZN*,計算A=a2modN,并將A發送給R;R發送i∈{1,2,…,m}給S;S計算ui=agimodN,vi=H(ui)Int(Zi),其中Int(zi)是hash函數執行的次數。然后發送(EPKR(ui),vi)給R。R解密EPKR(ui)得到消息,驗證是否滿足等式ui2=AGimodN和vi=H(ui)Int(Zi)。如果滿足,則接受;否則,拒絕。71PPT課件協議性能分析(1)該協議是可否認的(2)消息來源性認證(3)可抵抗PIM攻擊72PPT課件6.6對認證協議的典型攻擊在認證協議的實際應用中,各種認證協議的設計背景差別很大,設計目的各異,即使在同一背景下具有相同目的的各種協議,其報文也不盡相同。因此,認證協議的設計是一項非常復雜的工作,要設計出簡潔、高效而又能抵抗各種攻擊的協議是很困難的。Dolev和Yao的工作具有深遠的影響。迄今大部分有關認證協議的研究工作,都是遵循Dolev和Yao的基本思想。73PPT課件6.6對認證協議的典型攻擊Dolev和Yao認為攻擊者具有如下能力:可以竊聽所有經過網絡的消息;可以阻止和截獲所有經過網絡的消息;可以存儲所獲得或自身創造的消息;可以根據存儲的消息偽造消息,并發送該消息;可以作為合法的主體參與協議的運行。熟悉加密、解密、散列等密碼運算,擁有自己的加密密鑰和解密密鑰;熟悉參與協議的主體標識符及其公鑰;具有密碼分析的知識和能力;具有進行各種攻擊,例如,重放攻擊的知識和能力。

Dolev-Yao模型提供了一個重要的原則:永遠不要低估攻擊者的知識和能力。應當根據具體的協議與應用環境,建立正確的攻擊者模型。74PPT課件6.6.1消息重放攻擊(1)偏轉重放攻擊:重放消息重新定向,發送給不同于原接收者的第三方。這種情形可進一步分為如下子類:①重放消息重定向,發送給原發送者,稱為反射重放攻擊;②重放消息重定向,發送給第三方,即不同于原發送者和原接收方的第三方。(2)攻擊者通過延時的方法(可能涉及不同的協議回合),將消息傳送至目的地,稱為直接重放攻擊。75PPT課件例:針對BAN-Yahalom協議的攻擊①Alice→Malice(“Bob”):Alice,NA;1′.Malice(“Bob”)→Alice:Bob,NA;【重放】2′.Alice→Malice(“Trent”):Alice,N′A,{Bob,NA}KAT;2′′.Malice(“Alice”)→Trent:Alice,NA,{Bob,NA}KAT;【重放】3′′.Trent→Malice(“Bob”):NA,{Alice,KAB,NA}KBT,{Bob,KAB,NA}KAT;③Malice(“Trent”)→Alice:NM,{Alice,KAB,NA}KBT,{Bob,KAB,NA}KAT;【重放】④Alice→Malice(“Bob”):{Alice,KAB,NA}KBT,{NM,}KAB.Alice向Bob發送:Alice,NA;Bob向Trent發送:Bob,NB,{Alice,NA}KBT;Trent解密并向Alice發送:NB,{Bob,KAB,NA}KAT,{Alice,KAB,NB}KBT;Alice向Bob發送:{Alice,KAB,NB}KBT,{NB}KAB.76PPT課件例:針對BAN-Yahalom協議的攻擊為了成功地實施這次攻擊,攻擊者利用以下3種重放技術:由第①行到第1′行,攻擊者首先將一次性隨機數NA反射給Alice;由第2′行到第2′′行,攻擊者將消息組件Alice和{Bob,NA}KAT直接重放,跨越協議兩個不同的步驟;由第3′′行到第③行,攻擊者將由Trent到Bob的加密組件{Alice,KAB,NA}KBT和{Bob,KAB,NA}KAT反射給Alice。77PPT課件6.6.2中間人攻擊適應于缺少雙方認證的通信協議。攻擊者Malice能夠把協議的某參與者所提出的困難問題提交給另外的參與者來回答,然后把答案(可能經過簡單處理)交給提問的主體,反之亦然。78PPT課件例:Lowe對Needham-Schroeder公鑰認證協議的攻擊79PPT課件6.6.3平行會話攻擊在攻擊者的特意安排下,一個協議的兩個或更多的運行并發執行并發的多個運行使得攻擊者能夠從一個運行中得到另外某個運行中困難問題的答案。在平行會話攻擊中,兩個平行的會話順序并不重要。80PPT課件例:Abadi和Needham對Woo-Lam協議的攻擊Malice(“Alice”)→Bob:Alice;

1′.Malice→Bob:Malice;Bob→Malice(“Alice”):NB;2′.Bob→Malice:N′B;Malice(“Alice”)→Bob:{NB}KMT;

3′.Malice→Bob:{NB}KMT;Bob→Trent:{Alice,{NB}KMT}KBT;

4′.Bob→Trent:{Malice,{NB}KMT}KBT;Trent→Bob:{“垃圾”}KBT;(產生“垃圾”是因為Trent使用KAT對密文組{NB}KMT進行了解密)5′.Trent→Bob:{NB}KBT;Bob拒絕和Malice的運行;(因為解密后返回的是“垃圾”而不是一次性隨機數N′B)

6′.Bob接受“和Alice的運行”,但實際上是和Malice的運行。(因為解密返回的NB是正確的)81PPT課件6.6.4反射攻擊在反射攻擊中,當一個誠實的主體給某個意定的通信方發送消息用來讓他完成密碼操作時,攻擊者截獲該消息,并把該消息發送給消息的產生者。注意:這里把消息返回,并不是把消息原封不動地返回,攻擊者將會修改底層通信協議處理的地址和身份信息,以便消息產生者也不會意識到反射回來的消息是由他“自己產生”的。在此類攻擊中,攻擊者的目的是使消息的產生者相信反射過來的消息來自于消息產生者所意定的通信方。該消息可以是對消息產生者的應答或者詢問。如果攻擊者成功了,那么要么消息產生者接受對問題的“回答”,實質上是自問自答;要么給攻擊者提供了預言機服務,完成了攻擊者所完不成的功能,并把結果提交給Malice。82PPT課件例:Abadi和Needham對Woo-Lam協議的攻擊Malice(“Alice”)→Bob:Alice;

1′.Malice→Bob:Malice;Bob→Malice(“Alice”):NB;2′.Bob→Malice:N′B;Malice(“Alice”)→Bob:{NB

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論