基于PKI的5G-DHAKA协议安全性分析
2019-03-17李晓红刘福文齐旻鹏粟栗杨星星
李晓红,刘福文,齐旻鹏,粟栗,杨星星
(1.天津大学智能与计算学部,天津 300072;2.中国移动通信有限公司研究院,北京 100053)
1 引言
移动智能通信设备的激增以及多媒体通信的不断增长导致移动流量的数量大幅增长,并且可能很快超过第四代(4G)移动通信系统的容量,为了解决该挑战,第五代移动通信技术(5G)[1]应运而生,并成为了当下的研究热点。5G技术通过高度集成的设计手段,将任何新的5G空中接口和频谱与长期演进技术LTE(Long Term Evolution,LTE)和WiFi连接在了一起,并设计核心网络达到了更加智能与灵活的水平[2],这些高质量服务为用户带来方便快捷体验的同时,保证了用户的入网安全,同时确保网络连接合法用户,构建安全合法的移动通信网络环境,也成为了现代通信技术中不可或缺的要求与挑战。
5G-AKA协议是基于4G/LTE使用的认证[3]与密钥协商E P S-A K A[4]协议的基础上提出的,该协议作为5G用户认证与密钥协商过程以保证用户的附着安全性。 然而,5G系统[5~7]囊括了核心网以及管理系统等网络演变的所有内容,其不足之处主要来自三个方面:(1)长期密钥泄露导致通信内容被窃听;(2)攻击者可以利用LTE中的EPS-AKA协议假定安全条件,窃听、盗用和篡改用户信息;(3)由于开放式网络环境,导致攻击者可以利用入网请求协议流程,对移动通信网络实体实施拒绝服务攻击。
本文在EPS-AKA协议中,考虑使用PKI对附着流程安全性协议进行增强,提出了基于PKI的5G-DHAKA协议,并对协议进行了详细地设计及安全性分析。首先,分析了EPS-AKA协议,为基于PKI的5G-DHAKA协议的提出奠定了理论与实践基础;其次,利用哈希挑战响应机制缓解DoS[8]攻击,应用PKI机制保护用户附着流程中的身份管理流程,通过扩展EPS-AKA协议实现相应的安全服务,包括认证、可用性、数据机密性、密钥管理和隐私;接着,使用形式化验证工具Scyther对所提出的基于PKI的5G-DHAKA协议进行形式化验证,验证所提协议的认证性、机密性等安全特性以满足防止分布式拒绝服务攻击。
2 基于PKI的5G-DHAKA协议设计
2.1 EPS-AKA协议安全性分析
如表1所示为本文在描述协议时所使用的缩写与专有名词解释。
3GPP组把EPS-AKA协议定义为LTE网络中的认证协议,主要用于用户进行网络附着过程中的认证流程,以到达促进UE和EPC之间的安全分组交换,防御LTE网络免受各种攻击的目的。通过对3G网络中使用的UMTS-AKA协议进行改进,EPS-AKA协议具有了强认证性。LTE协议主要包括三个实体:用户设备UE、移动管理实体MME以及归属用户服务器HSS,其具体认证过程如图1所示。
本节详细描述了E P S-A K A协议的交互流程,具体描述如下。
(1)UE→MME:用户设备UE通过发起附着请求启动认证流程,并将其永久身份IMSI加入附着请求信息中,将该附着请求信息发送给移动管理实体MME;
(2)MME→HSS:MME向归属用户服务器HSS发送认证信息请求,该认证信息请求包括MME接收到的IMSI以及其网络标识SNID。
(3)H S S→M M E:H S S检查I M S I和SNID,根据用户长期密钥值Ki计算n个认证向量AV(Authentication Vector,AV)。AV计算定义如公式1至公式8所示。
其中,RAND(Random Challenge,RAND)表示随机数;XRES(Expected Response,XRES)表示预期响应;KASME表示根密钥;AUTN(Authentication Token,AUTN) 表示认证令牌。CK和IK[18]用于数据加密和完整性检验,以增强LTE传输的机密性和完整性。f1~f5为哈希函数,分别用于生成消息认证码MAC、RES和XRES、加密密钥CK、完整性密钥IK、匿名密钥AK,KDF为密钥生成函数(Key Derivation Functions,KDF),用于生成根密钥KASME。 如果用户的长期密钥K泄露,攻击者通过在空口获取的RAND,使用上述公式进行推导能够得到根密钥KASME,从而能够窃听用户的通信。
表1 协议所涉及的实体及其长度一览表
图1 EPS-AKA协议交互过程
HSS向MME发送认证信息响应,包含认证向量AV。
(4)MME→UE:MME接收到认证信息响应后,将其中的认证向量存储到数据库中,并选择一个之前未使用过的认证向量来应答UE的附着请求。MME向UE发送一个认证请求信息,包括RAND和AUTN。
(5)UE→MME:UE接收到认证请求信息后,首先进行归属HSS的验证:计算UE的AUTN`,并与接收到的AUTN进行比较,若相等,则UE对HSS认证成功。UE继续计算RES的值,然后将其作为认证请求信息发送给服务MME。
(6)MME:MME接收到UE的认证请求信息后,通过比较RES和XRES的值是否相等来验证UE。
在该协议中,攻击者可以窃取大量合法用户的真实身份IMSI对网络发起大量的附着请求,使得网络不得不使用大量的计算资源对攻击者的附着请求进行处理,生成认证向量,导致正常用户的服务请求可能不会被及时处理。5G网络将存在大规模的物联网UE,攻击者通过直接或间接控制物联网UE,反复对网络发起认证请求,使得网络运营商在对UE的认证过程中产生大量的信令开销,造成网络资源的恶意占用,从而达到拒绝服务攻击。
2.2 协议功能框架
协议框架分为三个阶段:身份管理阶段、认证与密钥管理(AKA)阶段以及安全模式命令(SMC)阶段。其中,身份管理阶段网络侧得到用户UE的身份认证;认证与密钥管理阶段实现UE和网络之间的相互认证,同时导出会话密钥;安全模式命令阶段实现对密码算法的协商以及激活消息的保护,主要用于激活用户UE和网络侧CP-AU之间的信息安全交互。其功能框架图如图2所示。
图2 基于PKI的5G-DHAKA协议功能框
根据图1对协议过程的划分,分别介绍每一个阶段的具体功能设计。
(1)身份管理阶段
利用DHIES加密用户设备的真实身份,避免了主动攻击者获得UE的真实身份;网络的DH公钥的真实性由第三方信任机构(CA)提供的证书确定;用户在使用网络的DH公钥计算共享密钥KDH时,利用公钥基础设施PKI来验证证书的有效性。
(2)认证与密钥管理阶段
UE和网络利用共享根密钥Ki(即用户的长期密钥)生成相同的中间密钥Kmid;网络和用户设备利用中间密钥Kmid和共享密钥KDH共同计算会话密钥KS。
(3)安全模式命令阶段
利用会话密钥KS计算安全模式命令及响应消息的MAC值,目的是确认会话密钥的正确性。
表1给出基于该协议涉及到的试题缩写描述信息。
2.3 协议详细设计
协议的详细交互过程如图3所示,其中步骤1~5为身份管理阶段;步骤6~9为认证与密钥管理(AKA)阶段;步骤10~11为安全模式命令(SMC)阶段。
身份管理阶段:
(1)发送附着请求
如果该次附着请求是U E的第一次入网请求,则不包含UE的临时身份GUTI;否则包含其临时身份GUTI。
(2)发送身份请求
若UE不是第一次进行入网请求,即附着请求消息中含有UE的临时身份,则CP-AU判断其数据库中是否存在和该临时身份对应的真实身份,CP-AU是否和UE建立了共享DH密钥KDH,若同时满足,则直接向AAA发送认证数据请求。否则,CP-AU向UE发送身份请求信息。该身份请求信息中包括CP-AU的证书(包含CP-AU的DH公钥KCpub);同时,CP-AU判断其是否受到拒绝服务攻击,如果受到拒绝服务攻击,则启动哈希挑战响应机制,即将哈希挑战嵌入到身份请求信息中。哈希挑战定义为:
其中,nonce`为二进制长度为n的正整数,由CP-AU随机生成,该正整数的长度(即n值)与CP-AU资源使用程度成正比;message1为附着请求。x和n构成哈希挑战。
图3 基于PKI的5G-DHAKA协议交互过
(3)哈希挑战
哈希函数的定义为:
其中,nonce``由公式2-1计算得出,message2为附着请求。哈希响应生成后,UE利用PKI验证CP-AU证书的有效性,读取CP-AU的DH公钥KCpub,生成UE的DH私钥KUpri,利用KCpub和KUpri推导出UE和CP-AU之间的DH共享密钥KDH,定义为:
随后,UE生成随机数nonce,并利用DH共享密钥KDH推导加密密钥KE和完整性密钥KM,定义为:
其中,KDF 为密钥推导函数,“number1”和“number2”用于区分加密密钥KE和完整性密钥KM。KE和KM用来加密用户UE的身份、计算消息认证码MAC(Message Authentication Code)值。
其中,hash为消息认证码算法,message3为UE向CP-AU发送的除MAC之外的身份请求信息。消息认证码MAC可以验证消息message的完整性。
(4)发送身份响应
UE处理完身份请求信息后,向CP-AU发送身份响应信息,其中包括:随机数nonce、UE的公钥KUpub、{UE的身份}KE、消息认证码MAC、哈希响应nonce``。
(5)身份响应处理
如果身份响应信息中存在哈希响应,则进行哈希响应的验证,即判断nonce``==nonce`是否恒成立。若成立,则哈希挑战响应成功,允许UE的入网请求,否则拒绝该UE的入网请求。若哈希挑战响应验证成功,CP-AU推导UE和CP-AU之间的DH共享密钥KDH,定义为:
并利用公式12、13计算加密密钥KE和完整性密钥KM;验证消息认证码MAC,即判断hash(KM,message3)是否和收到的MAC值相等。若不等,则拒绝用户入网申请,附着请求流程终止;若相等,则保证了消息的完整性,利用加密密钥KE得到用户真实身份。
认证与密钥管理(AKA)阶段:
(6)数据请求认证
认证数据请求包括UE的真实身份。
(7)生成认证向量AV
AAA根据认证数据请求中的UE的真实身份找到UE的根密钥Ki,利用Ki计算AV,由随机数RAND、预期响应 XRES、KASME和认证令牌AUTN 组成的认证向量AV,其中AV的定义如公式9~16,计算完后,AAA将认证向量AV发送给CP-AU。
(8)认证向量处理
CP-AU收到认证向量AV后,首先进行AV的存储,之后选择一个之前未使用过的认证向量AV(i),向UE发送RAND(i)、AUTN(i)及KSIASME(i),其中KSIASME(i)为KASME(i)的密钥标识,作为认证请求信息,为UE与CP-AU进行相互认证做准备。
(9)UE与CP-AU相互认证
UE首先验证消息验证码XMAC与MAC是否相等。若不等,则拒绝本次附着请求,终止附着流程;若相等,则UE继续计算RES(i),并将RES(i)作为认证请求信息发送给CP-AU。
CP-AU收到RES(i)后,判断RES(i)和预期响应XRES(i)是否相等。若相等,则对于UE的认证成功,若不等,则拒绝本次附着请求,终止附着流程。
在UE与CP-AU进行相互认证的过程中,UE与CP-AU推导计算两个实体的会话密钥KS,定义为:
其中,KDH为UE和CP-AU的DH共享密钥,Kmid类似于LTE中的密钥KASME。
安全模式命令阶段:
(10)安全模式命令
UE与CP-AU相互认证成功后,CP-AU向用户UE发送安全模式命令,同时包含消息认证码MAC1,MAC1由会话密钥KS推导得到,其定义为:
其中,message4为CP-AU向UE发送的消息。
(11)安全模式完成
UE收到CP-AU发送的安全模式命令以及消息认证码MAC1后,利用会话密钥KS验证其所接收到的消息认证码是否正确,即hash(KS,message4)== MAC1是否恒成立。若不成立,UE终止本次附着流程;否则计算消息认证码MAC2,定义为:
其中,message5为UE向CP-AU发送的消息。U E向C P-A U发送安全模式完成信息以及消息认证码MAC2。CP-AU收到UE发送的安全模式完成以及MAC2后,验证hash(KS,message5)== MAC2是否恒成立。若成立,则UE和CP-AU完成本次安全的附着连接;否则,CP-AU终止本次附着流程。MAC1和MAC2完成验证后,CP-AU和UE将拥有相同的会话密钥KS,同时保证了CP-AU和UE拥有相同的DH共享密钥KDH,并且分别保存在CP-AU和UE内,在之后的附着流程中可以利用保存的DH共享密钥KDH计算新的会话密钥KS。
3 基于PKI的5G-DHAKA协议的形式化验证
3.1 形式化建模
本节使用形式化仿真工具Scyther对5G-DHAKA协议的机密性与认证性进行验证。根据图1划分的三个阶段与图2对应每个阶段的具体交互过程,分别对每个阶段进行形式化建模,在建模后统一声明验证事件进行验证。如表2至表3所示分别对应身份管理、认证与密钥管理、安全模式命令的形式化建模。每一个步骤编号严格对应2.2小节中关于协议详细设计的步骤编号。
步骤1 的Nonce1为一次性随机数;MMC为归属网络国家号码;MNC为网络号码移动网络码。步骤5中的IMSI为国际移动用户识别码,表示和临时身份GUTI对应的用户UE的真实身份。
步骤6中的I M S I为用户U E的真实身份;SNID为服务网标识;NT为服务网类型。
3.2 安全属性验证设置
完成建模后,对U E进行安全属性验证,如表5所示为验证的所有事件。Claim函数为Scyther指定用于验证某种属性的函数,该函数的第一个参数为验证实体,第二个参数为实体状态,第三个参数为验证属性,其中Alive、Weakagree、Niagree、Nisynch分别为实体的激活、休眠、同步与异步同步状态,不需要指定验证属性。
表2 身份管理形式化建模
表3 认证与密钥协商形式化建模
表4 安全模式命令阶段形式化建模
表5 三种实体的安全属性
3.3 形式化验证
如表6所示,为本文用于仿真实验的实验环境配置信息。如图4~6所示为Scyther进行验证后的结果。三种实体的验证结果表明,全部事件均未检测出攻击路径,三种实体在交互过程中的所有实体变量均具备保密性与认证性。
表6 仿真环境设置
4 结束语
为了增强5 G用户在移动通信网络中附着请求流程的安全性,本文首先对EPSAKA协议流程进行详细分析,发现了其可能存在的安全漏洞,由此提出了基于PKI的5G-DHAKA协议,并对协议交互过程进行了详细设计;然后利用形式化验证工具Scyther对基于PKI的5G-DHAKA协议进行了形式化建模及安全属性分析,实验结果表明了所提协议满足机密性以及存在性、非单射一致性、非单射同步性等安全属性,通过理论协议表明本文的工作可以有效地缓解分布式拒绝服务攻击。
图6 实体AAA端的安全属性验证结果