基于共享密钥的EAP认证和密钥建立协议
2010-09-14程文婷吕欣美
程文婷,吕欣美
(1.四川电力试验研究院,四川成都610072;2.中州大学就业指导中心,河南郑州450044)
基于共享密钥的EAP认证和密钥建立协议
程文婷1,吕欣美2
(1.四川电力试验研究院,四川成都610072;2.中州大学就业指导中心,河南郑州450044)
分析了一种基于共享密钥的EAP认证和密钥建立协议——EAP-SAKE。首先,介绍了该协议的报文交换流程,并详细分析了其中每一种报文的结构。接下来分析了该协议中的不同密钥之间的关系以及整体的密钥体系结构。最后指出该协议具有在通信节点和服务器之间不需要进行同步、通信量小、能提供双向认证和密钥协商功能等优点。
EAP;共享密钥;认证;密钥建立
1 引言
EAP[1]是一个用于PPP[2]认证的通用协议,它不在链路建立阶段指定认证方法,而是把这个过程推迟到认证阶段,这样认证者就可以在得到更多的信息以后再决定使用什么认证方法。EAP支持多种认证机制,并允许使用一个后端(backend)服务器(如RAD IUS等)来实现各种认证机制,认证者只需要传送认证信息即可。
EAP可以支持多种认证机制,包括EAPPOTP[3]、EAP-MD5和EAP-TLS[4]等。2007年1月,IETF公布了一种新的EAP认证机制:EAPSAKE[5]。该机制具有在通信节点和服务器之间不需要进行同步、通信量小、能提供双向认证和密钥协商功能等优点。
2 EAP-SAKE协议
在进行报文交换前,通信节点和服务器首先要共享一个Root-Secret,并将其分成两个密钥,分别是16字节的Root-Secret-A和16字节的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的报文交换机制
首先,服务器发送EAP.Request_Challenge报文,该报文结构如图2所示。
图2 EAP.Request_Challenge报文结构
其中,identifier为一表示身份的随机数;length为整个EAP分组的以字节为单位的长度值;session-ID为由服务器生成的随机数,用于标识此次会话; RAND_S的值是服务器生成的现时值;SERVER ID是服务器的身份标识符。AT_XX表示接下来的是属性名为XX的属性值。
通信节点收到服务器发送的EAP.Request_ Challenge报文后发送EAP.Response_Challenge报文,该报文结构如图3所示。其中包括RAND_P、PeerNA I、SPIP和M IC_P。其中,RAND_P的值是通信节点生成的现时值,Peer NA I是通信节点的网络访问标识符,SPIP是通信节点所支持的密文族中的安全参数索引值,M IC_P是完整性校验码。然后通信节点使用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报文结构
服务器收到通信节点发送来的EAP.Response_ Challenge报文后,用同样的办法计算出S MS和TEK,以及完整性校验码,并将计算结果与收到的M I C_P进行比较,如果相同,就认为通信节点通过了认证。服务器从通信节点发送的SPI_P中选择适当的加密算法和参数,对通信数据进行加密。服务器发送的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报文结构
通信节点收到服务器发送的EAP.Request_Confir m报文后认为服务器已经通过了对它的认证。通信节点采用同样的方法计算完整性校验码,将计算结果与EAP.Request_Confir m报文中的M I C_S进行比较,如果相同,就认为服务器通过了认证。然后发送EAP. Response_Confir m报文,该报文结构如图5所示。
图5 EAP.Response_Confirm报文结构
服务器收到EAP.Request_Confirm报文后,发送EAP.Success报文给通信节点,结束EAP会话。
在报文交互过程中,M I C_S和M IC_P的计算需要用到预先生成的服务器标识符和现时值、通信节点标识符和现时值,这样可以防止重放攻击和中间人攻击;还需要用到TEK-Auth和整个EAP分组,具体生成过程为:
其中KDF是一个带有密钥的Hash函数,KDF -16表示使用KDF函数的输出是16字节。
3 EAP-SAKE中的密钥管理
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字节的TEK-Auth和用于进行加密的16字节的TEK-Cipher。S MS-B使用EAP-S AKE密钥生成函数生成64字节的MSK和E MSK。其中MSK将转发给其他参与通信的实体,以便进行保密通信;E MSK为特定应用而生成的密钥,不与其他通信实体共享。EAPS AKE中的密钥体系如图6所示。
图6 EAP-SAKE中的密钥体系
每个密钥的生成过程为:
4 协议分析
该协议的优点包括:
只需要2轮的请求/响应消息交换即可实现双向认证和密钥协商等功能。
用于认证的密钥和用于加密的密钥在密码学上是相互独立的。
在通信节点和服务器之间不需要进行同步。
采用IEEE 802.11i的通信节点不需要添加新的密码学代码就可以使用EAP-SAKE。
5 总结
EAP是一个用于PPP认证的通用协议,可以支持多种认证机制,包括EAP-TLS等。2007年1月,IETF公布了一种新的EAP认证机制:EAPSAKE。该机制具有通信量小、能提供双向认证和密钥协商功能等优点。如何对该协议进行进一步的优化,是我们下一步要研究的内容。
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-),女,汉族,四川成都人,翻译,研究方向为情报知识服务。