程文婷,呂欣美
(1.四川電力試驗研究院,四川成都610072;2.中州大學就業(yè)指導中心,河南鄭州450044)
基于共享密鑰的EAP認證和密鑰建立協(xié)議
程文婷1,呂欣美2
(1.四川電力試驗研究院,四川成都610072;2.中州大學就業(yè)指導中心,河南鄭州450044)
分析了一種基于共享密鑰的EAP認證和密鑰建立協(xié)議——EAP-SAKE。首先,介紹了該協(xié)議的報文交換流程,并詳細分析了其中每一種報文的結構。接下來分析了該協(xié)議中的不同密鑰之間的關系以及整體的密鑰體系結構。最后指出該協(xié)議具有在通信節(jié)點和服務器之間不需要進行同步、通信量小、能提供雙向認證和密鑰協(xié)商功能等優(yōu)點。
EAP;共享密鑰;認證;密鑰建立
EAP[1]是一個用于PPP[2]認證的通用協(xié)議,它不在鏈路建立階段指定認證方法,而是把這個過程推遲到認證階段,這樣認證者就可以在得到更多的信息以后再決定使用什么認證方法。EAP支持多種認證機制,并允許使用一個后端(backend)服務器(如RAD IUS等)來實現各種認證機制,認證者只需要傳送認證信息即可。
EAP可以支持多種認證機制,包括EAPPOTP[3]、EAP-MD5和EAP-TLS[4]等。2007年1月,IETF公布了一種新的EAP認證機制:EAPSAKE[5]。該機制具有在通信節(jié)點和服務器之間不需要進行同步、通信量小、能提供雙向認證和密鑰協(xié)商功能等優(yōu)點。
在進行報文交換前,通信節(jié)點和服務器首先要共享一個Root-Secret,并將其分成兩個密鑰,分別是16字節(jié)的Root-Secret-A和16字節(jié)的Root-Secret-B。Root-Secret-A主要用于進行認證和生成TEK(Transient EAP Keys),Root-Secret-B主要用來計算MSK(Master Session Key)和EMSK(Extended Master Session Key)。Root-Secret-A和Root-Secret-B必須是相互獨立的。報文交換過程如圖1所示。
圖1 EAP-SAKE的報文交換機制
首先,服務器發(fā)送EAP.Request_Challenge報文,該報文結構如圖2所示。
圖2 EAP.Request_Challenge報文結構
其中,identifier為一表示身份的隨機數;length為整個EAP分組的以字節(jié)為單位的長度值;session-ID為由服務器生成的隨機數,用于標識此次會話; RAND_S的值是服務器生成的現時值;SERVER ID是服務器的身份標識符。AT_XX表示接下來的是屬性名為XX的屬性值。
通信節(jié)點收到服務器發(fā)送的EAP.Request_ Challenge報文后發(fā)送EAP.Response_Challenge報文,該報文結構如圖3所示。其中包括RAND_P、PeerNA I、SPIP和M IC_P。其中,RAND_P的值是通信節(jié)點生成的現時值,Peer NA I是通信節(jié)點的網絡訪問標識符,SPIP是通信節(jié)點所支持的密文族中的安全參數索引值,M IC_P是完整性校驗碼。然后通信節(jié)點使用RAND_S、RAND_P和Root-Secret-A計算出S MS(SAKEMaster Secret)和TEK(Temporary EAP Keys),并利用RAND_S、RAND_P和整個EAP報文計算完整性校驗碼M I C_P。
圖3 EAP.Request_Challenge報文結構
服務器收到通信節(jié)點發(fā)送來的EAP.Response_ Challenge報文后,用同樣的辦法計算出S MS和TEK,以及完整性校驗碼,并將計算結果與收到的M I C_P進行比較,如果相同,就認為通信節(jié)點通過了認證。服務器從通信節(jié)點發(fā)送的SPI_P中選擇適當的加密算法和參數,對通信數據進行加密。服務器發(fā)送的EAP.Request_Confirm報文包括SPI_S、Initialization Vector、Encrypted Data、MSK Lifet ime和M I C_S,該報文結構如圖4所示。其中,SPI_S包含服務器選擇的密文族參數,Initialization Vector為服務器選擇的初始向量,Encrypted Data包含的是加密后的信息,MSKLifetime為以秒為單位的MSK的生存時間,M IC_S是服務器計算的完整性校驗碼。
圖4 EAP.Request_Confir m報文結構
通信節(jié)點收到服務器發(fā)送的EAP.Request_Confir m報文后認為服務器已經通過了對它的認證。通信節(jié)點采用同樣的方法計算完整性校驗碼,將計算結果與EAP.Request_Confir m報文中的M I C_S進行比較,如果相同,就認為服務器通過了認證。然后發(fā)送EAP. Response_Confir m報文,該報文結構如圖5所示。
圖5 EAP.Response_Confirm報文結構
服務器收到EAP.Request_Confirm報文后,發(fā)送EAP.Success報文給通信節(jié)點,結束EAP會話。
在報文交互過程中,M I C_S和M IC_P的計算需要用到預先生成的服務器標識符和現時值、通信節(jié)點標識符和現時值,這樣可以防止重放攻擊和中間人攻擊;還需要用到TEK-Auth和整個EAP分組,具體生成過程為:
其中KDF是一個帶有密鑰的Hash函數,KDF -16表示使用KDF函數的輸出是16字節(jié)。
EAP-S AKE中的密鑰共分為3個等級,第一等級是Root Secret,包括Root-Secret-A和Root-Secret-B part;第二等級是包含從Root Secret中生成的密鑰S AKEMaster Secret(S MS),其中,S MS-A和S MS-B均使用EAP-S AKE密鑰生成函數生成。第三等級是會話密鑰,包括TEK、MSK(Master Session Key)和E MSK(ExtendedMSK)。TEK又分為用于計算MI C值的16字節(jié)的TEK-Auth和用于進行加密的16字節(jié)的TEK-Cipher。S MS-B使用EAP-S AKE密鑰生成函數生成64字節(jié)的MSK和E MSK。其中MSK將轉發(fā)給其他參與通信的實體,以便進行保密通信;E MSK為特定應用而生成的密鑰,不與其他通信實體共享。EAPS AKE中的密鑰體系如圖6所示。
圖6 EAP-SAKE中的密鑰體系
每個密鑰的生成過程為:
該協(xié)議的優(yōu)點包括:
只需要2輪的請求/響應消息交換即可實現雙向認證和密鑰協(xié)商等功能。
用于認證的密鑰和用于加密的密鑰在密碼學上是相互獨立的。
在通信節(jié)點和服務器之間不需要進行同步。
采用IEEE 802.11i的通信節(jié)點不需要添加新的密碼學代碼就可以使用EAP-SAKE。
EAP是一個用于PPP認證的通用協(xié)議,可以支持多種認證機制,包括EAP-TLS等。2007年1月,IETF公布了一種新的EAP認證機制:EAPSAKE。該機制具有通信量小、能提供雙向認證和密鑰協(xié)商功能等優(yōu)點。如何對該協(xié)議進行進一步的優(yōu)化,是我們下一步要研究的內容。
REFERENCES
[1] B.Aboba,L.Blunk,J.Vollbrecht,J.Carlson,H.Levkowetz, Ed.Extensible Authentication Protocol(EAP).RFC3748,2004, 6.
[2] W.Simpson.The Point-to-Point Protocol(PPP),RFC1661, 1994,7.
[3] M.Nystroem.The EAP Protected One-Time Password Protocol (EAP-POTP).RFC4793,2007,2.
[4] D.Simon,B.Aboba,R.Hurst.The EAP-TLS Authentication Protocol,RFC 5216.2008,3.
[5] M.Vanderveen,H.Soliman.Extensible Authentication Protocol Method for Shared-secret Authentication and Key Establishment (EAP-SAKE).RFC4763,2006.11.
[6]B.Aboba.D.Simon.P.Eronen.Extensible Authentication Protocol(EAP)KeyManagement Framework.RFC5247,2008,8.
EAP Authentication Based on Sharing Secret Key and Secret Key Negotian Protocol
CHENGWen-ting1,LV Xin-mei2
(1.Sichuan Electric Power Test&Research Institute,Chengdu 610072,Sichuan,China; 2.Occupation-directing Center,Zhongzhou University,Zhengzhou 450044,He’nan,China)
In this paperwe introduce an authentication and key negotiation protocol based on shared key,EAP-SAKE.Firstly, the article introduces the message exchange procedure and analyzes the message strcuture in details.Afterwards,it analyzes the relationship among different keys and overall key architecture.Finally,it points out that this protocol hasmany advantages,for example, it does not need to synchronize between the node and server.Moreover,it has low communication load and provides two-way authentication and key negotiation.
EAP;shared key;authentication;key negotiation
TP31
:A
:1009-3842(2010)01-0093-03
2009-12-15
程文婷(1977-),女,漢族,四川成都人,翻譯,研究方向為情報知識服務。