《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設計應用 > 下一代密鑰交換協(xié)議分析
下一代密鑰交換協(xié)議分析
張 江,,張海燕,,李大雙
(中國電子科技集團第30研究所,, 四川 成都610041)
摘要: 介紹了第一代密鑰交換協(xié)議,并分析了它的缺點,。同時介紹了第二代交換協(xié)議IKEv2和JFK,并做了對比,。
Abstract:
Key words :

摘  要: 介紹了第一代密鑰交換協(xié)議,,并分析了它的缺點,。同時介紹了第二代交換協(xié)議IKEv2和JFK,并做了對比,。
關鍵詞: IPSec  密鑰交換協(xié)議  JFK  安全關聯(lián)  拒絕服務

  TCP/IP互聯(lián)網(wǎng)的先天缺陷主要源自IP協(xié)議的無連接,、完全開放、無任何安全措施等特性上,,所以必須對IP協(xié)議進行安全處理,。在此背景下,1992年年底,,IETF針對Internet的安全問題,,成立了IP安全小組,著手對IP安全協(xié)議(IPSec)和Internet密鑰管理協(xié)議(IKMP)進行標準化,。1998年IETF對IPSec進行了復審,,并將其納入下一代IP即IPv6中。從此IPSec協(xié)議作為IP安全標準規(guī)范被確定下來,。IPSec作為一種協(xié)議套件可以“無縫”地為IP引入安全特性,,并提供數(shù)據(jù)源/目的身份鑒別、數(shù)據(jù)完整性檢查以及機密性保護機制,,保證協(xié)議和數(shù)據(jù)的安全,。
  由于IPSec提供的安全服務如源認證和完整性等都需要用到共享密鑰,所以協(xié)議還強制了一種機制,,即能夠為這些服務手工地添加密鑰,。同時,還定義了一種添加密鑰的標準方式,,用來動態(tài)地鑒別IPSec通信參與方的身份和協(xié)商所需的安全服務以及生成共享密鑰,。這種密鑰管理協(xié)議稱為IKE(Internet密鑰交換協(xié)議)。
1  第一代密鑰交換協(xié)議
  現(xiàn)有的IPsec中采用的第一代密鑰交換協(xié)議IKE,,即RFC2409-IKEv1,。ESP、AH協(xié)議根據(jù)SA規(guī)定的參數(shù)為IP數(shù)據(jù)報提供安全服務,。IKE就是IPsec規(guī)定的用來自動管理SA的協(xié)議,,包括建立、協(xié)商,、修改和刪除SA等,。
1.1 IKE的交換模式
  IKE使用了兩個階段的ISAKMP。第一階段建立IKE安全關聯(lián),,第二階段利用這個安全關聯(lián),,為IPSec協(xié)商具體的安全關聯(lián)。有兩種階段1交換、一種階段2交換以及一個新組交換(用于對安全關聯(lián)的正確維護),。對階段1交換來說,,IKE采用的是身份保護交換,以及根據(jù)基本ISAKMP文檔制定的野蠻交換,。對此,,分別叫做“主模式”和“野蠻模式”。對階段2來說,,IKE則定義了一種快速交換模式,,其作用是為除IKE之外的其他協(xié)議協(xié)商安全服務(特別是IPSec)。
  為了最終建立IKE SA,,主模式有三個往返(共使用六條消息),,分別是模式協(xié)商、一次Diffie-Hellman交換和nonce交換以及對對方身份的鑒別,。主模式的特點包括身份保護和對ISAKMP協(xié)商能力的完全利用,。由于在Diffie-Hellman交換之后,雙方建立了一個共享的密鑰,,只是沒有通過驗證,,因此必須對共享的密鑰進行認證。IKE規(guī)定了四種認證方式:基于數(shù)字簽名的認證,、基于公開密鑰的認證,、基于修正過的公開密鑰的認證以及預共享認證。所以就有四種類型的主模式交換,。
  野蠻模式只需用到主模式一半的步驟,。由于對消息的數(shù)量進行了限制,野蠻模式同時也限制了它的協(xié)商能力,,而且不提供身份保護功能。
  當通過階段1建立好IKE SA之后,,可以用快速模式為其他安全協(xié)議(如IPSec)生成相應的SA,,并將其填入SADB。對一次快速模式交換來說,,它是在以前建立好的IKE SA的保護下完成的,,這些保護包括對快速模式交換的加密和對交換的鑒別。
1.2 IKEv1的缺點
  IKEv1的主要缺點是:
  (1)算法復雜,。(2)往返消息數(shù)目太多(多達9條消息),,不安全。(3)易受DoS攻擊,。這是因為響應者具有有限的內(nèi)存和計算能力,。攻擊者可以通過隨機IP地址發(fā)送虛假連接請求,用盡響應者進程中用于連接的內(nèi)存,,以及用于加密的計算能力,。這樣響應者就無法為合法的用戶提供服務,。
2  下一代IKE協(xié)議
  IKE協(xié)議用于交換和管理密鑰,但是IETF安全專家擔心IKEv1過于復雜,,以至于難以證明它是安全的,。因此推薦新的協(xié)議來代替IKEv1,并將其稱為下一代IKE(Son of IKE)?,F(xiàn)在專家正在研究的有IKEv2和JFK(Just Fast Keying),。
2.1 IKEv2
  IKEv2是在IKEv1的基礎之上進行改進的結果。它保留了版本1中的大部分特性,,如身份隱藏,、PFS、兩個階段協(xié)商,,同時重新設計了強壯性,、高效性、安全性,。
2.1.1 IKEv2的特點
  IKEv2的特點包括:(1)簡單性,。基于IKEv1的協(xié)議復雜度及安全性而提出,。取消了階段1中的野蠻模式,。(2)減少了潛伏期。階段1交換只需要2個往返的消息對,,如圖1所示,。建立IPsec SA不是通過階段2來協(xié)商,而是搭載階段1的消息而建立,。(3)允許無狀態(tài)cookie,。這樣可以預防DoS的攻擊,響應者在沒有接收到合法的cookie之前,,將不保留cookie的任何狀態(tài),,也不做任何耗時的計算。(4)增強了靈活性,。增加了選擇符TS和“緊要”比特的概念,。

2.1.2 IKEv2協(xié)議
  階段1交換是4條消息的交換(兩個請求/響應對)。第一對消息,,交換協(xié)商加密算法,、(可選的)指示信任的CA名字、交換的nonce和Diffie-Hellman交換,。如果響應者指示沒有一個機密建議是可以接受的,,或者發(fā)起者選擇的Diffie-Hellman 組不是響應者選擇的組,或者當響應者正在遭受攻擊并且將用只包含一個合法的cookie值來響應IKE-SA請求時,這對消息可以重發(fā),。
  第二對消息,,認證先前的消息,交換鑒定符和證書并且建立第一個IPsec SA,。這對消息是通過第一對交換的密鑰來加密,,因此可隱藏身份以防止偷聽。
  階段2是一個請求/響應對,,如圖2,,它可以用來創(chuàng)建或刪除一個IPsec SA,刪除或重新分配IKE-SA,,檢查IKE-SA的存活性,,或者傳遞諸如錯誤條件的信息等。在創(chuàng)建IKE-SA過程中,,使用協(xié)商的密鑰來加密并對完整性加以保護,。任何一方都可以發(fā)起階段2交換,在階段2中添加了提供ID的能力,,這樣可以建立進程到進程的IPsec SA,。允許端口號不為500,因此協(xié)議可以通過NAT工作,。

2.2 JFK
  盡管可以通過對原來的協(xié)議打補丁的方式修正存在的問題,,但是一些人仍傾向于用其他的協(xié)議來替代IKE,以避免IKE中的棘手問題,。由于這樣的想法,,從而起草了新的密鑰管理協(xié)議,稱為JFK(Just Fast Keying),。
2.2.1 JFK的特點
  JFK的特點包括:(1)簡單性,。取消了兩個階段分發(fā)密鑰的概念,整個過程只有2個往返,,4條消息交換,。這樣可能同時提高了效率。另外還取消了協(xié)商,,因為一個局部的安全關聯(lián)協(xié)商是在消耗資源,容易遭受DoS攻擊,。(2)響應者的身份在消息2中是顯露的,。這樣同時避免了發(fā)起者受到主動的身份揭露攻擊。(3)會話密鑰(KE)和應用密鑰從g^xy,、Ni,、Nr派生得出。(4)增強了安全性。提出了兩種協(xié)議:JFKi和JFKr,。二者在許多方面很相似,,但有兩個主要的區(qū)別。JFKi為發(fā)起者提供主動的身份保護,,而不對響應者提供任何身份保護,。同時JFKi還包含了一個分期簽名。而JFKr為響應者提供主動的身份保護并為發(fā)起者提供被動的身份保護,。
2.2.2 JFK協(xié)議
  為了節(jié)約篇幅,,這里僅介紹JFKr協(xié)議,如圖3所示,。

  消息1很簡單,,假定發(fā)起者知道響應者可以接受的一個組。它包含了一個組信息(Diffie-Hellman值)和一個nonce,。這里,,nonce有兩個作用。一方面允許在不同會話間使用同一個值,,從而確保會話密鑰是不同的,,另一方面可以區(qū)分不同的并行會話。
  消息2對響應者的工作量要求很小,。惟一的花費是單一的認證,,同時響應者不需要產(chǎn)生任何狀態(tài),因為此時不知道發(fā)起者是否為一個合法的通信者,。這樣可以抵抗DoS攻擊,。 消息3包含了發(fā)起者的身份、服務請求以及在nonce和響應者身份上的簽名,。JFK中參與者使用共享密鑰加密身份,,這樣保證雙方身份不被竊聽。首先顯示身份的是發(fā)起者,,響應者在查證了發(fā)起者的身份之后才顯示身份,,這樣保護了響應者的身份不受主動的攻擊。
  消息4包含應用設置的信息(例如響應者的SPI),、雙方nonce和冪上的簽名,。與消息3一樣,消息4也使用消息認證代碼保護,。
2.3 三種密鑰交換協(xié)議的對比
   三種密鑰交換協(xié)議的對比如表1~表3所示,。


  IKEv2是在IKEv1的基礎上發(fā)展而來,因此不可避免地具有了IKEv1的一些固有的特征,,如兩個階段交換等,。同時上邊列出的數(shù)據(jù)還顯示IKEv1和IKEv2在身份隱藏和參數(shù)協(xié)商上具有相似性,。惟一的區(qū)別在于對消息的控制,IKEv2減少了消息的往返次數(shù),。

  IKEv2的階段2交換,,頻繁地重新交換密鑰將消耗掉Diffie-Hellman密鑰的熵,因此應該限制階段2的次數(shù),。另一個問題是它的安全性極大依賴于Diffie-Hellman冪的隨機性,。所以要保證它的安全性必須有一個很大的隨機發(fā)生器或者合適的偽隨機源。
  而JFK是一個新的協(xié)議,,JFK消除了協(xié)商機制,。響應者提供了一種服務,有權利設置自己的服務需求,,任何由響應者提到的原始的機密是可以接受的,。同樣消除了響應者要保持的狀態(tài),發(fā)起者可以接受響應者的請求或者重新啟動協(xié)議,。
  JFK拋棄了兩個不同階段的概念,。由于快速模式的作用是十分有限的,而且頻繁的重新交換密鑰是沒有必要的,,所以正確的方法應該是重新替換密鑰,。
  JFK以上兩點的特性,使其效率有很大程度的提高,。另外,,通過分析協(xié)議安全性的方法分析,證明了JFKi和JFKr的安全性,。
3  結束語
  IKEv2具有IKE中的特征,,因此提供商開發(fā)時可以先使用IKE過渡到IKEV2的實現(xiàn)。同時JFK核心小,,并且改進了正式的安全分析,。JFK是如此簡單以至于提供商能夠相當快速地開發(fā)出來。JFK具有更強的抵制DoS攻擊的能力,。為了保護交換的消息,,JFK取消了PFS,一種方法確保一個密碼破解的時候不會危及到其他數(shù)據(jù),。所以,,JFK要優(yōu)于IKEv2。
  在我們的實驗中,,采用JFK來替代IKE,。JFK在安全路由器中已經(jīng)實現(xiàn),其功能能夠和IPsec無縫地協(xié)作,,實現(xiàn)了數(shù)據(jù)包的安全傳輸,,并且運行穩(wěn)定可靠。
參考文獻
1   Aiello W,,Steven M,,Matt B et al.http://www.ietf.org/internet-drafts/draft-ietf-ipsec-jfk-04.txt,2002
2   Harkins D.http://www.ietf.org/internet-drafts/draft-ietfipsec-ikev2-rationale-00.txt,,2002
3   Dan Harkins Charlie Kaufman.http://www.ietf.org/internet-drafts/draft-ietf-ipsec-ikev2-02.txt,,2002
4   Harkins D,Carrel D.The Internet Key Exchange (IKE,,RFC2409).http://www.ietf.org,,1998
5   Perlman R.Analysis of the IPsec Key Exchange Standard.  In:Proceedings of the 10th IEEE International Workshops  on Enabling Technologies:Infrastructure for Collaborative   Enterprises,2001

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權禁止轉載,。