董春冻,王 聪,刘 军,周 星,张玉静
(1.中国人民解放军理工大学 通信工程学院,江苏 南京210007;2.中国人民解放军理工大学 指挥信息系统学院,江苏 南京210007)
随着网络技术的高速发展和广泛应用,异构网络[1]逐渐受到越来越多的关注。3G网络与WLAN之间的融合互联是异构网络中比较典型的场景[2]。3G网络覆盖范围广,但传输速率较低[3];而WLAN接入速率较高,但覆盖范围有限[4]。将3G网络与WLAN进行融合互联,充分发挥两种技术的优势,使其得到更加广泛的应用。EAP-AKA协议[5]是3G网络与WLAN之间的认证和密钥分配协议,是保证其安全连接与通信的基础。该协议实现了WLAN用户和3G网络之间的相互认证,共享了WLAN用户和WLAN接入网之间的会话密钥;但是,协议缺乏对WLAN接入网的认证,用户的身份标识信息、WLAN用户和WLAN接入网之间的会话密钥使用明文传输,对WLAN用户与3G网络之间的共享密钥K也没有相应的更新机制。目前提出的一些改进方案也存在或多或少的不足,为了实现3G网络和WLAN之间更加安全可靠的连接,针对上述背景和目的,本文提出了一种基于公钥的改进方案,通过在WLAN接入网和3G网络服务器之间增设公钥来实现两者的相互认证以及对用户身份等信息的加密传输,并建立共享密钥K的更新机制,最后运用串空间模型和认证测试方法进行了形式化的证明。分析结果表明,该方案能够实现3G网络和WLAN接入网之间的相互认证,保证两者之间的安全连接与通信。
EAP-AKA协议是基于 WLAN用户终端和3G网络之间共享密钥K的认证与密钥分配协议[6],协议由 WLAN UE(WLAN用户终端)、WLAN AN (WLAN接入网)和3GPP-AAA (3G网络认证、授权、计费服务器)和 HSS/HLR(归属用户服务器/归属位置寄存器)来共同完成的,协议流程如图1所示,WLAN用户和WLAN接入网之间会话密钥MK的产生过程如图2所示。
图1 EAP-AKA协议流程
通过EAP-AKA协议,WLAN用户和3G网络之间实现了相互认证,WLAN用户和WLAN接入网也共享了密钥MK[7],但协议仍存在一些安全性上的问题。首先,协议缺乏对 WLAN 接入网的认证[8]。其次,3G网 络将WLAN接入网与WLAN用户间的会话密钥MK以明文方式传送给WLAN接入网,如果攻击者攻陷了WLAN接入网,就可以获得MK,从而使通信失去了安全性。当WLAN用户进行首次认证或3G网络不识别其临时标志时,WLAN用户也是以明文方式传送IMSI,这会引起用户身份信息的泄漏。最后,协议缺乏对WLAN用户与3G网络之间的共享密钥的更新[9]。一旦攻击者在某一次的攻击中获取了共享密钥K,就可以通过假冒攻击完成与另外一方的相互认证,给WLAN用户和通信网络造成巨大安全隐患。
文献[10]提出的改进方案是在 WLAN用户与WLAN接入网之间增设一个共享密钥来实现对WLAN接入网的认证,并且对3G网络传送的会话密钥进行了加密处理传输,但这种方案要求每个WLAN用户在与WLAN接入网连接时都需要预设共享密钥,而WLAN用户数量大、移动性强,这无疑增加了共享密钥的更新和管理工作。文献[11]则立足于WLAN接入网与3G网络之间相对稳定的网络结构,在WLAN接入网和3G网络间增设共享密钥来实现两者的相互认证和会话密钥的协商分配以及对会话密钥的保密传输。这种方案下,密钥数量虽然有所减少,但共享密钥的更新和管理仍较为复杂。
图3 EAP-AKA协议改进方案流程
随着移动终端和接入网设备运算及处理能力的增加,基于公钥[12]的认证方法在异构网络中也具有了非常高的可行性。因此。本文提出了一种新型的基于公钥的EAPAKA改进协议,要求WLAN接入网与3G网络各自拥有自己的公私钥对,从而实现两者间的相互认证和对会话密钥MK的加密传输,进而防止WLAN接入网的假冒攻击。
为避免明文传送IMSI,WLAN用户在发送NAI前,首先提取3G网络服务器的地址 (该地址用于将加密后的数据传送给正确的3G网络服务器),再用共享密钥K对NAI进行加密处理,然后通过WLAN接入网发给3G网络服务器,如果NAI中含有IMSI,这样就实现了对IMSI的加密保护,避免了用户身份信息的泄漏。
借鉴MK的产生方法实现WLAN用户和3G网络之间的共享密钥K的更新[11]。首先由WLAN用户产生随机数RANDUE,加密后传送给3G网络,随后WLAN用户和3G网络进行各自的密钥更新计算:CK′=f3(K)(RANDUE)和IK′=f4(K)(RANDUE),然后产生新共享密钥K′。
改进方案的实现流程如图3所示,其中AD3G表示3GPP AAA服务器的地址,EK(X)表示使用密钥K加密X得到的密文,H(K)表示对K进行散列运算,SKA表示A的私钥,PKA表示A的公钥。
(1)建立WLAN-UE和 WLAN-AN之间的连接。
(2)WLAN-AN 首先向 WLAN-UE发送请求,认证开始。
(3)WLAN-UE收到消息后从NAI中取出3G服务器地址AD3G,产生随机数RANDUE,将计算出的EK(NAI‖ANDUE)和地址一同发给 WLAN-AN。
(4)WLAN-AN收到消息后产生随机数RANDAN,然将 密 文EK(NAI‖RANDUE) 和 计 算 出 的{{RANDAN}SKAN}PK3G发给3G服务器。
(5)3G服务器收到消息后,解密获取NAI、RANDUE和RANDAN,询问HSS,查看用户的权限。获取认证向量AV和用户新的临时标志,计算CK′=f3(K)(RANDUE)和IK′=f4(K)(RANDUE),从CK′和IK′中 产 生 共 享 密 钥K′,生成密文EK′(RANDUE),计算H(RANDAN)。
(6)3G服务器构造EAP请求/AKA挑战消息,消息包含AUTH、WLAN-UE的临时标志、消息认证码MAC、EK′(RANDUE)、H(RANDAN)。 最 后 将 消 息 发 送 给WLAN-AN。
(7)WLAN-AN收到消息后首先验证RANDAN,然后将其它消息发送给WLAN-UE。
(8)WLAN-UE收到消息后,用自身生成的密钥K′解密密文,如能得到正确的RANDUE,则说明3G服务器端密钥更新正确。然后验证AUTH,并确认接收的序列号SQN是否在有效范围内,如果正确,则实现了对3G网络的认证。计算IK、CK、RES,从IK和CK中生成共享密钥MK,然后验证MAC是否正确,并保存收到的临时标志。
(9)构造EAP回应/AKA挑战消息发送给 WLANAN,消息包含RES,并XMAC、H(K′)。
(10)WLAN-AN将收到的EAP回应/AKA挑战消息发送给3G服务器。
(11)收到消息后,3G服务器首先验证消息认证码XMAC、H(K′),然后计算XRES,并与RES进行比较,如果正确则认证了WLAN-UE的身份。
(12)3GAAA服务器构造EAP成功的消息、K更新成功的消息并发送给WLAN-AN,同时发送的还有WLAN通信中的共享密钥EPKAN(MK)。
(13)收到消息后,WLAN-AN解密并保存共享密钥MK。
(14)WLAN-AN将EAP成功的消息、K更新成功的消息发送给 WLAN-UE。
与EAP-AKA协议、文献[10,11]的改进方案相比,本文提出的方案在不改变消息传递的次数,保持原有安全性和效率的基础上,仅以产生随机数、加解密和散列运算的较小代价,便实现了WLAN接入网的认证、对IMSI和会话密钥MK的加密保护以及对WLAN用户和3G网络之间共享密钥的更新,并且能更好的适应终端和WLAN接入网的移动性,降低了3G网络服务器和WLAN接入网的存储负担。表1列出了几种方案的性能对比。
表1 已有协议和改进方案的性能对比
改进方案实现了WLAN接入网与3G网络的相互认证,可以运用串空间模型和认证测试方法来进行相应证明。串空间模型是一种基于代数方法的安全协议分析工具,具有坚实的理论基础,可以证明协议的安全性、分析协议存在的缺陷;认证测试方法是以串空间模型为基础的认证协议分析方法,通过构造测试组元,建立安全协议的认证目标,应用测试规则分析协议是否满足身份认证和信息保密[13]。首先,将WLAN接入网和3G网络之间的认证抽离出来,如图4所示。
图4 WLAN接入网和与3G网络之间的相互认证
用AN代表WLAN接入网,用3G代表3G网络,图4中的相互认证过程可形式化为两类串,如图5所示。
图5 WLAN与3G网络相互认证的串空间表示
令C为串空间的bundle,SKAN,SK3GKp,Kp为攻击者密钥集。
AN的串和迹:Init[RANDAN]={+{{RANDAN}SKAN}PK3G,-H(RANDAN}。
3G的串和迹:Resp[RANDAN]={-{{RANDAN}SKAN}PK3G,+H(RANDAN}。
AN 对 3G 的 认 证: 由 于RANDAN{{RANDAN}SKAN}PK3G,{{RANDAN}SKAN}PK3G是节点 AN的一个组元,且{{RANDAN}SKAN}PK3G不是任何合法节点的组元的真子项,所以{{RANDAN}SKAN}PK3G是RANDAN的测试组元。因为RANDAN不出现在节点AN中除{{RANDAN}SKAN}PK3G以外的其它组元中,且SK3GKp,所以<AN,1>+<AN,2>是RANDAN的出测试。应用出测试定理,存在正常节点m,m′∈C,使得{{RANDAN}SKAN}PK3G是m的 组 元, 且m+m′是RANDAN的转换边。因为m是负节点,所以m为某个3G串3G′=Resp[RAND′AN]中的节点,且m=<3G′,1> ,则term(< 3G′,1 > )={{RANDAN}SKAN}PK3G, 可 知RANDAN=RAND′AN,从而证明了AN对3G的认证。
3G对AN的认证:首先确定3G上的节点对于RANDAN构成一未经请求测试。由于RANDAN{{RANDAN}SKAN}PK3G,{{RANDAN}SKAN}PK3G是 节 点 <AN,1>的一个组元,且{{RANDAN}SKAN}PK3G不是任意正常节点的组元的真子项,故{{RANDAN}SKAN}PK3G为节点<AN,1>处消息RANDAN的测试组元。同时,由于SKANKp,故3G上的负节点<3G,1>对于{{RANDAN}SKAN}PK3G中的RANDAN构成一未经请求测试。应用未经请求测试定理可知,一定存在一个正常的正节点n∈C,使得{{RANDAN}SKAN}PK3G为节点n的一个组元。因为n为 一 正 常 的 正 节 点 且{{RANDAN}SKAN}PK3G∈term(n),因此节点n为某些正常发起者AN的串AN′=Init[RAND′AN]中的节点,且n=< AN′,1> ,term(<AN′,1 > )={{RANDAN}SKAN}PK3G, 可 得RANDAN=RAND′AN,从而实现了3G对AN的认证。
WLAN-UE发送的EK(NAI‖RANDUE),只有合法的3G网络服务器才能正确解密,如果NAI中包含IMSI,这样就对IMSI起到了加密保护作用,防止了WLAN用户的身份信息的泄漏。
借鉴会话密钥MK的产生方法建立了共享密钥K的更新机制,WLAN用户端产生一个随机数RANDUE,WLAN用户和3G网络服务器各自用该随机数计算出CK′和IK′,然后根据CK′和IK′产生新的共享密钥K′,这样不仅避免了密钥在信道中传输,而且还对密钥进行了安全更新。此外,WLAN用户和3G网络服务器分别通过收到EK′(RANDUE)和H(K′)来验证对方所生成的K′的有效性。这样既实现了共享密钥的安全更新,还验证了更新后密钥的有效性,通过这种密钥更新机制,使实体之间的通信更加安全。
实现3G网络和WLAN之间的相互认证是保证其安全连接与通信的基础,针对当前认证协议存在的安全缺陷和不足,提出了一种基于公钥的改进方案,并建立了WLAN用户和3G网络间的共享密钥更新机制,最后运用串空间模型和认证测试方法证明了改进方案可以实现3G网络和WLAN之间的相互认证以及WLAN用户和3G网络间共享密钥的安全更新,为用户提供更加安全可靠的网络服务。
[1]Jos Akhtman,Lajos Hanzo.Heterogeneous networking:An enabling paradigm for ubiquitous wireless communications[J].IEEE Proceedings,2010,98 (2):135-138.
[2]Aleksandar Damnjanovic,Juan Montojo,Yonbgin Wei,et al.A survey on 3GPP heterogeneous networks[J].IEEE Wireless Communications,2011,18 (3):10-21.
[3]Wee Lum Tan,Fung Lam,Wing Cheong Lau.An empirical study on the capacity and performance of 3Gnetworks[J].IEEE Transactions on Mobile Computing,2008,7 (6):737-750.
[4]Hyeyeon Kwon,Yang Mi Jeong,Park Ae-Soon.Handover prediction strategy for 3G-WLAN overlay networks[C]//IEEE Network Operations and Management Symposium,2008:819-822.
[5]Kambourakis Georgois,Rouskas Angelos.Advanced SSL/TLS-based authentication for secure WLAN-3Ginterworking[J].IEEE Proceedings-Communications,2008,151 (5):737-750.
[6]Liu Peng,Zhou Peng.Formal analysis of improved EAP-AKA based on protocol composition logic[C]//2nd International Conference on Future Computer and Communication,20103:86-90.
[7]WANG Peng,LI Xiehua,LU Songnian.Formal analysis of EAP-AKA protocol based on authentication tests[J].Computer Engineering and Applications,2007,43 (15):157-160(in Chinese).[王鹏,李谢华,陆松年.基于认证测试方法的EAP-AKA协议分析[J].计算机工程与应用,2007,45(15):157-160.]
[8]Liu Wenju,Shang Yuzhen,Zhang Yan.An analysis of the improved EAP-AKA protocol[C]//2nd International Conference on Computer Engineering and Technology,2012:10-13.
[9]Mun Hyeran.3G-WLAN interworking:Security analysis and new authentication and key agreement based on EAP-AKA[C]//Wireless Telecommunications Symposium,2009:1-8.
[10]ZHANG Sheng,XU Guoai,HU Zhengming,et al.Analysis and amendment of EAP-AKA protocol[J].Application Research on Computer,2005,22 (7):234-236 (in Chinese).[张胜,徐国爱,胡正名,等.EAP-AKA协议的分析和改进[J].计算机应用研究,2005,22 (7):233-238.]
[11]ZHANG Yan,WANG Ze.Improved method of enhancing EAP-AKA protocol security[J].Computer Engineering and Applications,2009,45 (28):96-98 (in Chinese).[张艳,王赜.增强EAP-AKA协议安全性的改进方案[J].计算机工程与应用,2009,45 (28):96-99.]
[12]Aaron E Cohen,Keshab K Parhi.Architecture optimizations for the RSA public key cryptosystem:A tutorial[J].IEEE Circuits and System Magazine,2011,11 (4):24-34.
[13]Chuhong Fei,Raymond H Kwong,Deepa Kundur.A hypothesis testing approach to semifragile watermark-based authentication[J].IEEE Transactions on Information Forensics and Security,2009,4 (2):179-192.