一种高效安全的EPS AKA协议
白媛1,2,3, 王倩1,2,3, 贾其兰1,2,3, 张会兵2    
1. 天津理工大学 计算机与通信工程学院, 天津 300384;
2. 桂林电子科技大学 广西可信软件重点实验室, 广西 桂林 541004;
3. 天津理工大学 通信器件与技术教育部工程研究中心, 天津 300384
摘要

针对4G认证与密钥协商协议(EPS AKA)中存在的安全问题, 提出了一种高效安全的改进协议(ES-AKA).该协议不仅能够抵抗重定向攻击和重放攻击, 同时消除了密钥K泄露的安全隐患.安全性和协议性能分析表明:在更高的安全性能下, 该协议降低了服务网络的存储空间和归属网络的计算量, 有效减少了认证过程的比特通信量.

关键词: 认证     密钥协商     4G     网络安全     演进分组系统EPS    
中图分类号:TN915.04 文献标志码:A 文章编号:1007-5321(2015)增-0010-05 DOI:10.13190/j.jbupt.2015.增.003
An Efficient and Secured AKA for EPS Networks
BAI Yuan1,2,3, WANG Qian1,2,3, JIA Qi-lan1,2,3, ZHANG Hui-bing2    
1. School of Computer and Communication Engineering, Tianjin University of Technology, Tianjin 300384, China;
2. Guangxi Key Laboratory of Trusted Software, Guilin University of Electronic Technology, Guangxi Guilin 541004, China;
3. Engineering Research Center of Communication Devices and Technology(TJUT), Ministry of Education, Tianjin 300384, China
Abstract

For security flaws in 4G authentication and key agreement protocol, an efficient and secured authentication and key agreement (ES-AKA) protocol was proposed. This protocol resists redirection attack and replay attack, solves security risks that key K is possible leaked. Analyzing of the security and efficiency of ES-AKA shows that ES-AKA could reduce not only the storage of service network but also the computation of home network, and has less bit exchange traffic in higher security environment.

Key words: authentication     key agreement     the fourth-generation     network security     evolved packet system    

3/4G均采用认证与密钥协商(AKA,authentication and key agreement)协议来保证用户安全地接入网络[1-2].目前,许多改进的AKA协议被提出.其中,X-AKA[3]和S-AKA[4]减少了认证向量(AV,authentication vector)的传输,前者抵抗攻击性能差,后者无独立认证更新机制;AP-AKA[5]抵抗重定向攻击却易受中间人攻击;Cocktail-AKA[6]由服务网络和归属网络共同生成有效AV,降低了传输消耗,但易受DoS攻击;文献[7]提出的密钥KASME由密钥K和RK共同生成,以避免K泄露导致的隐患,存在中间人攻击的问题.鉴于此,将增添参量来完善判定机制,提出了ES-AKA协议.

1 EPS AKA协议

EPS AKA涉及用户设备(UE,user equipment)、服务网络/移动管理实体(SN/MME,service network/mobility management entity)、归属网络/本地位置寄存器(HN/HLR,home environment/home location register)3个实体. 表 1为协议中所涉及的实体及其长度.

表 1 所涉实体长度表

EPS AKA的具体执行流程[1-2, 7]图 1所示.

图 1 EPS认证与密钥协商流程

步骤1  UE向SN发送包含国际移动用户识别码(IMSI,international mobile subscriber identity)的消息M1.

步骤2  SN/MME收到M1后,向HN/HLR发送认证向量请求消息M2:IMSI、SNid和网络类型.

步骤3  HN/HLR接收M2后进行验证,若SNid不合法,则终止认证;否则,HN/HLR根据IMSI获取与UE共享的密钥K,产生m组有序认证向量AV[1, …, m],通过认证向量响应消息M3发送给SN.

一个认证向量的生成如下:

步骤4  SN/MME将收到的AV组存放数据库,需要认证时选取序号最小的AV,将RAND、AUTN及由KASME分配的3位密钥标识KSIASME作为M4发给UE.

步骤5  UE收到M4后,验证AMF最低位及MAC,计算AK=fK5(RAND),SQN=(SQN⊕AK)⊕AK和XMAC=fK1(SQN‖RAND‖AMF).若XMAC≠MAC或AMF最低位≠1,则认证结束;否则,UE验证SQN是否在正常范围.若在,用户对网络认证通过,计算并发送消息M5至SN:RES=fK2(RAND),推算KASME.

SN收到M5后,判断XRES=RES是否成立.若成立,网络对用户认证成功,从AV读取KASME.多次认证时,若SN是有效AV,重复步骤4~5;若不是,重复步骤1~5.

2 EPS AKA协议安全性

EPS AKA相比UMTS AKA,还存在以下缺陷.

1) 重定向攻击:攻击者伪装SN捕获UE的接入请求,然后伪装UE将请求转发给外网的SN,SN误认为是合法UE发起的请求,向UE的HN发送认证数据请求,导致用户支付被操控至外网的漫游费.

2) 根密钥K泄露问题:EPS AKA采用共享密钥K完成UE和网络间的相互认证,共享密钥K的安全性依赖网络.一旦K泄露,整个协议再无安全性.

3) SN存储空间、HN计算量:EPS AKA中,1个AV需计算RAND、MAC、XRES、CK、IK、AK、KASME和SQN⊕AK.当传输m组AV,SN存储空间为608m bit,HN需计算7m次哈希运算和m次异或运算.

4) 比特通信量:AKA中,HN发送m组AV到SN.当AV耗尽,SN需发起获取请求. m过大,传输AV将增大比特通信量,且易造成AV浪费;m过小,虽减少了HN计算量和传送代价,却增大消息通信量.

3 ES-AKA协议

ES-AKA有ES-AKA-Ⅰ和ES-AKA-Ⅱ 2个阶段.

3.1 ES-AKA-Ⅰ

当用户进入某一SN后,SN将其SNid及一个随机数N1发送至UE.需要服务时,启动如图 2所示协议.

图 2 ES-AKA-Ⅰ

M1 UE→SN/MME:{IMSI,VAC,DK,服务请求}.在发送M1前,UE推算密钥DK=fK6(N1)和认证码VAC=fK1(N1‖SNid).

M2 SN/MME→HN/HLR:{{M1},SNidN1,type}. SN将SNidN1连同M1发至HN.

M3 HN/HLR→SN/MME:AVh.收到M2后,HN/HLR通过IMSI获取与UE共享的密钥K,计算并判断XVAC=VAC是否成立.若成立,则HN认证SN、UE成功,计算DK=fK6(N1)和AVh. AVh产生如下:

1) 推算RESh=fK2(N1)、IKh=fK3(N1)、CKh=fK4(N1),得到KASMEh=KDF (SNid, CKh, IKh);

2) 推算MACh=fK1(N1⊕DK‖AMF),得到AUTNh=MACh‖AMF;

3) 得到AVh={AUTNh, RESh, KASMEh}.

M4 SN/MME→UE:RAND‖AUTN‖KSIASME. SN/MME接收M3,每次选取产生的m个有序随机数中的最小号RAND,计算参量RESm=fDK2(RAND),MAC=fDK1(MACh, RAND)、AUTN=MAC‖AMF.

M5 UE→SN/MME:{XRES}. UE接收M4,查看RADN列表有无该RAND.无,则计算并判断XMAC=MAC是否成立.若成立,UE认证网络成功.计算

RESm和RESu=fK2(N1),得XRES=RESm⊕RESu发送至SN.这里,XMACh=fK1(N1⊕DK‖AMF),XMAC=fDK1(XMACh, RAND).

SN接收M5,计算XRES=RESm⊕RESh,并判断XRES=RES是否成立.若成立,SN认证UE成功,UE和SN/MME分别进行以下操作:

UE:① 计算CKu=fK3(N1)、IKu=fK4(N1),存储KASMEu=KDF(SNid, CKu, IKu);

② 计算CKm=fDK3(RAND)、IKm=fDK4(RAND),得到KASMEm=KDF(SNid, CKm, IKm);

③ 推算KASME=KASMEm⊕KASMEu.

SN/MME:① 提取AVh中的KASMEh

② 计算CKm=fDK3(RAND)、IKm=fDK4(RAND),得到KASMEm=KDF(SNid, CKm, IKm);

③ 推算KASME=KASMEm⊕KASMEh.

至此,UE和网络间共享KASME.

3.2 ES-AKA-Ⅱ

该阶段HN/HLR不参与,UE和SN/MME已共享DK. 图 3描述了AKA-Ⅱ阶段的认证流程.

图 3 ES-AKA-Ⅱ

M1 UE→SN/MME:{IMSI,VAC,服务请求}. UE每发起一次认证请求,N1增加1,即:N1=N1+1;同时计算VAC=fDK1(N1‖SNid).

M2 SN/MME→UE:{RADN‖MAC‖KSIASME}. SN/MME根据IMSI找到与UE端共享的DK;计算并判断XVAC=VAC是否成立.若成立,网络认证UE成功,然后选取序号最小随机数RAND,计算MAC=fDK1(MACh, RAND),AUTN=MAC‖AMF,推算RESm=fDK2(RAND).

M3 UE→SN/MME:{XRES}.执行与ES-AKA-Ⅰ阶段中“M5”同样的操作.当UE认证网络成功,计算并发送XRES至SN.

SN/MME接收M3,执行与ES-AKA-Ⅰ阶段中“SN/MME接收M5”后的操作. SN认证UE成功后,UE和SN/MME分别提取I段的KASMEu和KASMEh后,保持与ES-AKA-Ⅰ阶段中操作. UE和网络间共享KASME.

m个随机数耗尽,需获取新的AVh进行后续认证.是否需要重新获取新的AVh由AMF域决定.

4 ES-AKA安全性4.1 安全分析

1) 实现UE、SN和HN间的双向认证

HN验证SN、UE:若由SNid判断SN不合法,则认证中断;否则推导并判断XVAC=VAC是否成立.若成立,则HN对SN、UE的认证通过.

UE验证SN、HN:UE计算并判断XMAC=MAC是否成立.若成立,则UE对网络认证成功.

SN、HN验证UE:UE推算RESm、RESu后,计算并发送XRES至SN. SN判断XRES=RES是否成立.若成立,网络对UE的认证通过.

2) 抵抗重定向攻击

图 4所示,攻击者发起重定向攻击. ES-AKA中,由于N1N2不同,HN计算并判断XVAC=fK1(N2‖SNid)不等于VAC,终止认证,从而抵抗重定向攻击.

图 4 ES-AKA抵抗重定向攻击模型

3) 抵抗重放攻击

ES-AKA中,UE建立以SNid为标签的RAND列表. UE收到M4和M2后,查看列表中有无该RAND.若有,则认为是重放消息,终止认证.当SN再次产生RAND时列表清除重建,该操作由AMF域决定.

4) 克服密钥K泄露的安全隐患

ES-AKA协商的KASME由K和DK共同决定.当K一旦泄露,攻击者也无法获取KASME,安全性得到提高.

4.2 SN存储需求、HN的计算量

当传输m组AV时,EPS AKA的SN占用608m bit,HN需7m次哈希运算和m次异或运算. ES-AKA只需存储m个RAND,传输AVh.因此SN仅占用128m bit. HN只需计算RESh、CKh、IKh、DK、KASMEh、MAChN1⊕DK,共6次哈希运算和1次异或运算.

4.3 比特通信量

1) EPS AKA比特通信量

|M1|为第一条消息长度,|M1|=|IMSI|=128 bit.

|M2|=|IMSI|+|SNid|+|网络类型|=384 bit.

M3中,|AV|=|RAND|+|XRES|+|KASME|+|AUTN|=608 bit,则传输m组AV时,有|M3|= 608m bit.

|M4|=|RAND|+|AUTN|+|KSIAMSE|=291 bit.

M5包含1个RES,故长度为64 bit.

① SN/MME无可用AV:比特通信量是5条消息长度总和,即

② SN/MME有可用AV:只涉及消息M1M4M5,于是bw2=|M1|+|M4|+|M5|=491 (bit).

于是,EPS AKA网络中,M次认证的比特通信量

2) ES-AKA比特通信量

|M1|=|IMSI|+|VAC|+|DK|+|服务请求|=328 bit;

|M2|=|M1|+|SNid|+|N1|+|type|=712 bit;

|M3|=|AVh|=|AUTNh|+|RESh|+|KASMEh|=432 bit;

|M4|=|RAND|+|AUTN|+|KSIASME|=243 bit;

|M5|=|XRES|=64 bit;

|M1|=|IMSI|+|VAC|+|服务请求|=200 bit;

|M2|=|RAND|+|AUTN|+|KSIASME|=243 bit;

|M3|=|XRES|=64 bit.

首次认证(ES-AKA-Ⅰ)

后续认证(ES-AKA-Ⅱ)

因此ES-AKA中,M次认证的比特通信量为

这里,m代表批量产生随机数的数量.

3) 比特通信量比较

图 5为EPS AKA、文献[7]和ES-AKA在不同m值下比特通信量的对比图:ES-AKA拥有最小的比特通信量.

图 5 3种方案的比特通信量对比

定义不同协议的比特通信量与EPS AKA的比特通信量的比值为归一化比特通信量BR. 图 6中为M=1 000、m取10~300时,文献[7]和ES-AKA的BR.仿真结果显示,与EPS AKA相比,文献[7]和ES-AKA均改善了比特通信量.将不同m值下的BR取均值,可知文献[7]和ES-AKA的平均BR分别为0.671 0、0.455 6,即2者分别减少了约32.9%、54.44%的比特通信量.可见,ES-AKA拥有更小的比特通信量.

图 6 各协议不同m值下的归一化比特通信量
5 结束语

针对EPS AKA可能存在的安全问题,提出了高效安全的ES-AKA协议. ES-AKA不仅能够抵抗重定向攻击和重放攻击,同时解决了密钥K泄露的安全隐患.仿真分析表明,在更高的安全性能下,该协议同时降低了SN的存储需求和HN的计算量,且减少了约54.44%的比特通信量.

参考文献
[1] 3GPP TS 33. 102, Security architecture (release 12) [S]. 2014: 19-29.
[2] 3GPP TS 33. 401, Security architecture (release 12) [S]. 2014: 19-23.
[3] Huang Chungming, Li Jianwei. Authentication and key agreement protocol for UMTS with low bandwidth consumption[J].Advanced Information Networking and Applications, 2005, 1: 392–397.
[4] Huang Y L, Shen C Y, Shiuhpyng W S. S-AKA: a provable and secure authentication key agreement protocol for UMTS networks[J].IEEE Trans Vehicular Technology, 2011, 60(9): 4509–4519. doi: 10.1109/TVT.2011.2168247
[5] Zhang Muxiang, Fang Yuguang. Security analysis and enhancements of 3GPP authentication and key agreement protocol[J].IEEE Trans on Wireless Communications, 2005: 734–742.
[6] Ou H H, Hwang M S, Jan J K. A cocktail protocol with the authentication and key agreement on the UMTS[J].Journal of Systems and Software, 2010, 83: 316–325. doi: 10.1016/j.jss.2009.08.019
[7] Purkhiabani M, Salahi A. Enhanced authentication and key agreement procedure of next generation evolved mobile networks[C]//ICCSN 2011. Xi'an: [s.n.], 2011: 557-563.