TD-LTE系统安全性的研究与实现
2015-03-09ResearchandImplementationofTDLTESystemSecurity
Research and Implementation of TD-LTE System Security
李小文 李 阳 韩娜娜
(重庆邮电大学通信学院,重庆 400065)
TD-LTE系统安全性的研究与实现
Research and Implementation of TD-LTE System Security
李小文李阳韩娜娜
(重庆邮电大学通信学院,重庆400065)
摘要:安全性是移动通信系统正常运行的基础。采用安全算法对安全流程进行了研究、设计;考虑TD-LTE系统中保证用户隐私的重要性,提出了安全性激活过程和认证与密钥协商协议(AKA)过程。验证系统引入了单层测试工具Realview IDE软件,操作系统选用了Nucleus。实测结果验证了安全算法模块的正确性和可行性,为以后研究更先进的安全性算法奠定了基础。
关键词:TD-LTE安全性加密完整性测试
Abstract:Security is the basis for normal operation of the mobile communication system; for this reason, the security procedures are researched by using security algorithm. Especially considering the importance to ensure user’s privacy in TD-LTE system, the security activation process and the authentication and key agreement (AKA) protocol process are proposed. The verification system introduces the single testing tool Realview of IDE software; and the operating system is using Nucleus. The results of practical test verify the correctness and feasibility of the security algorithm; this lays the foundation for future studying of more advanced safety algorithms.
Keywords:TD-LTESecurityEncryptionIntegrityTest
0引言
2013年12月4日,中国工信部正式向中国移动通信集团公司、中国电信集团公司和中国联合网络通信集团有限公司三大运营商颁发了“LTE/第四代数字蜂窝移动通信业务(TD-LTE)”经营许可。随后各运营商又先后宣布TD-LTE的商用,意味着国内三大运营商日后的竞争将主要围绕以TD-LTE展开。这就增加了对TD-LTE系统中安全性研究的必要性和意义[1]。
在TD-LTE系统中,由于e-NodeB处于一个开放的环境下,攻击者假设成功突破e-NodeB,就可以继续攻击用户设备(user equipment,UE)、移动管理实体(mobility management entity,MME)以及服务网关(serving gateway,S-GW)。另外,攻击者如果对没有进行完整性保护或未加密的系统信令进行操纵、破坏或攻击,也会直接威胁整个TD-LTE系统的安全性。此外,在切换过程中,系统信令或用户数据没有进行安全性保护,那么一旦泄漏,可能导致UE与e-NodeB之间、UE与目标基站之间的认证威胁和重放攻击。因此,TD-LTE系统的安全性的研究变得迫在眉睫[2]。
1TD-LTE系统安全性过程
1.1 TD-LTE系统安全架构
由于TD-LTE采用了扁平化的组网方式,因此相应地安全结构也可分为两个层次[3]。
① 接入层(access stratum,AS)安全性是指e-NodeB与UE之间的安全性,主要执行AS系统信令的完整性保护和加密,以及对用户数据的加密。
② NAS的安全指的是MME与UE之间的安全,主要指的是NAS系统信令的完整性保护和加密。
TD-LTE安全过程主要可分为鉴权与密钥生成、安全性激活两个过程,然后才能够进行用户数据或系统信令的传输[3]。当用户首次开机时,由于终端和网络都不存在EPS安全上下文,因此移动性管理实体(MME)会首先发起注册过程,即鉴权与密钥协商过程(authentication and key agreement,AKA)。通过AKA过程,终端与网络相互核实对方的身份是否合法,协商双方之间用于加密与完整性保护的密钥,并且产生一致的EPS安全上下文。随后网络端会主动发起用于NAS与AS层安全性激活的安全激活命令(security mode command,SMC)。通过SMC命令,终端与网络端协商双方的加密与完整性保护的安全算法,激活当前的EPS安全上下文,最终使得UE和网络端之间具有一致的密钥和安全算法,保证二者之间通信的安全性[5]。具体流程如图1所示。
图1 安全性过程
1.2 AKA过程
AKA过程的结果是在终端和网络端之间建立了EPS安全上下文,实现UE和网络端之间密钥的一致性和双向鉴权[6]。
详细的AKA过程如图2所示。
图2 认证与密钥协商协议过程分析
① 网元MME向网元本地用户服务器(home subscriber server,HSS)发送Authentication data request系统信令。该系统信令携带服务网标志(server network identity,SN ID)、IMSI以及Network Type。
② 网元HSS首先通过SN ID对终端进行验证,如果证实该终端是本网络的合法用户,则HSS将利用网元MME发送过来的参数生成鉴权矢量(authentication vector,AV)。AV参数包括鉴证令牌(authentication token,AUTN)、随机数(random number,RAND)、挑战值响应的期望值(expect response to challenge,XRES)以及KASME四个参数。
③ 网元HSS将生成的鉴权矢量AV发送给MME。
④ 网元MME将鉴权矢量AV存起来。
⑤ 网元MME将AUTN、RAND以及代替KASME的KASME密钥设置标志(key set identifier ofKASME,KSIASME)传给终端。用KSIASME标志KASME,既可以通过它来验证终端是否和网络端具有一样的KASME,又可以避免KASME在无线链路的传输,因而提高了密钥的安全性。
⑥ 终端核实收到的认证向量AUTN,其中AUTN=序列号(sequence number,SQN)匿名密钥(anonymity key,AK)||鉴证管理域(authentication management field,AMF)||网络认证码(network authentication code,MAC)。
AUTN的AMF[0]可以取值为0或1,当AMF[0]取不同的值时代表不同的用途。如果认证向量只在非EPS上下文的AKA认证时使用,则AMF[0]被置为0;否则如果认证向量只在EPS上下文的AKA认证时使用,则AMF[0]被置为1。由于我们探讨的是TD-LTE的EPS上下文的AKA认证,所以终端会首先判断AMF[0]是否为1,如果为1,终端才会接受该鉴权过程。同时,终端会核实XMAC是否与收到的MAC一致,如果一致,则终端对网络的鉴权通过。最后终端会继续核实AUTN中的SQN是否在合理的范围之内,如果是则通过验证,否则验证失败。如果以上验证均通过,USIM将会生成挑战值的响应(response to challenge,RES)、CK以及IK,并将CK和IK发送给UE。否则如果验证失败,USIM将会把失败原因告知UE。当AUTN的各组成部分都验证成功的情况下,UE发送RES到相应的网络端,然后UE根据CK、IK计算KASME以及SN ID。否则UE向网络端发送用户鉴权拒绝消息,并指示错误原因。
⑦ 终端将生成的RES发送给网元MME。
⑧ 网元MME对比收到的RES和本地XRES,如果一样,则鉴权成功,否则鉴权失败。
上述过程完成之后,终端和网络端的NAS层和AS层利用KASME通过密钥生成算法(key derivation function,KDF)获取相应的加密与完整性保护所需要的密钥。
1.3 终端的安全性激活过程
在TD-LTE系统中,NAS层和AS层都需要进行相互独立的加密和完整性保护。它们的安全性的激活都是发生在AKA过程之后,并且网络端先激活NAS层的安全性,再激活AS层的安全性[7]。
1.3.1NAS的安全性激活过程
NAS的安全性激活过程是由网络端发起的。
MME首先会结合UE所支持的安全算法从NAS安全算法列表中分别选择出优先级最高的完整性保护算法和加密算法,然后将UE安全能力、为UE配置的安全算法以及标志KASME的E-UTRAN密钥标志(key set identifier in E-UTRAN,eKSI)等参数包含在NAS Security Mode Command(简称NAS SMC)系统信令中发送给UE,并开启相应的定时器T3460。需要指出的是,系统采用eKSI指示的KASME产生的密钥对该条信令进行完整性保护却没有进行加密。完整性保护方法是MME利用协商好的KASME生成完整性保护密钥KNASint(non-access stratum integrity key,非接入层完整性密钥),以及MME选择的完整性保护算法生成一个完整性消息鉴权码(message authentication code-integrity,MAC-I)[8]。
如果收到NAS SMC,UE 首先利用KASME生成KNASint,再联合NAS SMC中携带的完整性保护算法生成一个X-MAC。如果X-MAC和MAC-I一样,则该系统信令通过完整性校验。然后UE会对比本地存储的UE安全能力与收到的UE安全能力。如果二者一样,UE将向移动性管理实体MME发送NAS Security Mode Complete,并使用新的EPS安全上下文。该消息会使用NAS SMC中指示的安全性算法进行加密和完整性保护;否则,UE将向移动性管理实体MME发送不进行加密和完整性保护的Security Mode Reject消息。
MME收到Security Mode Complete后,开始使用为UE配置的安全性算法对NAS Security Mode Complete进行解密和完整性保护的核实,并关闭相应的定时器。如果解密后该消息通过完整性保护校验,则此后MME将开始启用新的非接入层EPS安全上下文,并且至此以后所有的消息都必须进行加密和完整性保护。
具体流程如图3所示。
图3 非接入层安全性激活过程
1.3.2AS的安全性激活过程
在NAS的安全性激活后,网络端就要通过AS SMC命令进行AS层的安全性激活。
e-NodeB首先从AS安全算法列表中分别选择出优先级最高的完整性保护算法和加密算法,然后将安全算法包含在AS SMC中发送给UE。需要指出的是,e-NodeB采用KASME产生的密钥对该条消息进行完整性保护却没有进行加密。完整性保护方法是e-NodeB利用Ke-NodeB(e-NodeB Key,演进型节点B密钥)生成的完整性保护密钥KRRCint(radio resource control integrity key,RRC系统信令完整性密钥)以及AS SMC中携带的完整性保护算法生成一个MAC-I,并将该MAC-I包含在AS SMC中发送给UE。UE收到AS SMC时,首先利用KASME生成Ke-NodeB,再联合AS SMC中携带的完整性保护算法生成一个X-MAC。然后UE会核实X-MAC和MAC-I是否一致,如果一致则该系统信令通过校验,UE发送AS Security Mode Complete消息给e-NodeB,需要注意此消息会同时进行加密和完整性保护[6]。当e-NodeB收到这条系统信令时,会对其进行完整性校验,如果完整性校验通过,则接入层的安全性就激活了,从而可以开始传输数据。如果X-MAC值和MAC-I值不一样,则UE会向服务e-NodeB返回一条AS SecurityModeFailure消息。e-NodeB对AS SMC完成消息进行完整性校验通过后,接入层的安全性就激活了,从而可以开始传输数据。
具体流程如图4所示。
图4 接入层安全性激活过程
2安全流程单层验证
2.1 安全流程验证方法
在算法模块得到验证之后,我们需要验证安全流程中函数功能的正确性,为此,论文采用白盒测试的方法对这些函数进行单层测试。测试方法就是把某个函数当作透明的盒子,根据函数的具体功能构造合适的测试例对其进行测试,并通过对比程序的函数跳转或数据处理等过程是否与预期结果一致来验证程序的实现是否正确。
本文使用的单层测试工具是Realview IDE软件,起支撑作用的操作系统选用Nucleus。由于论文篇幅限制,这里我们只介绍AS SMC过程中PDCP、RRC以及EMM层代码的验证方法和结果。AKA和NAS SMC过程的验证方法均与AS SMC过程一样,并且验证表明这两层的程序也是正常运行的。
2.2 RRC层安全流程单层测试
在RRC层安全流程的测试过程中,测试例把RRC层设置为测试对象,把其他层设置为环境,通过构造其他层发往RRC层的消息以查看RRC层的具体响应。首先我们需要构造测试例入口函数RRC-test()。在该入口函数中,我们首先构造PDCP层或EMM层发往RRC层的接口原语,当RRC层接收到该接口原语后,会解析出接口原语中所承载的消息,并做出相应处理。此时我们通过Realview IDE工具中的watch窗可以观察函数处理之后的数据。
下面以接入层的安全激活流程为例说明其安全性流程的正确性。
构造接入层安全性激活过程RRC层测试例。
① 测量目的为测试RRC层内部处理接入层安全性激活过程的正确性。
② 预置条件为设置网络端发送的DL-DCCH-Message消息中包含的信元是securityModeCommand。测试过程为终端PDCP层向RRC层发送PDCP-SRB-REQ接口原语,测试RRC层是否正确输出EMMAS-SECURITY-IND原语,以及原语中携带的参数值是否正确。
③ 测试结果为通过。
测试步骤如下。
① 在RRC-test()函数中构造PDCP层发往RRC层的接口原语PDCP-SRB-REQ,该接口原语包括头指针header以及data包等数据成员。data包中的重要数据单元p_DL_DCCH_Message里面承载的信元是securityModeCommand。其中cipheringAlgorithm设置为0x02,代表网络端为UE接入层配置的加密算法是AES-128安全算法;imtegrityProtAlgorithm设置为0x02,代表网络端为UE接入层配置的完整性保护算法也是AES-128安全算法[9]。
② RRC层调用函数rrc_con_52CPDCP_SRB_IND(T_HeaderInfo *header),该函数通过头指针找到接口原语所在内存并解析出该接口原语中所携带的DL_DCCH_Message消息。该DL_DCCH_Message消息中携带的信元是AS SMC信元,并将该信元中的接入层安全算法存储在全局变量v_rrc_g_security_para中的数据成员v_ENC_ALG和v_INT_ALG中。测试结果为v_ENC_ALG=0x02、v_ INT _ALG=0x02,表明RRC成功解析出网络端配置的安全算法,并且成功跳转到rrc_con_06EMMAS_SECURITY_IND()。
③ 进入rrc_con_06EMMAS_SECURITY_IND()函数内部时,RRC层组装发往EMM层的接口原语p_EMMAS_SECURITY_IND要求获取密钥Ke-NodeB,其中singling ID为0x0321与预期的EMMAS_SECURITY_
IND信令标志一样,并且Security_flag标志设置为0x0000,代表接入层还没有开始安全性保护[10],与预期的设置一致。
综上所述,终端PDCP层向RRC层发送PDCP-SRB-REQ接口原语,RRC层正确输出EMMAS-SECURITY-IND原语,并且原语中携带的参数也是正确的。
3结束语
安全是通信正常运行和保证用户隐私的基础。本文重点介绍了TD-LTE系统安全性流程,并对其过程进行了设计与验证,证明了安全性算法的正确性,为以后研究出更安全的流程算法打下基础。
参考文献
[1] 沈嘉,索士强,全海洋,等.3GPP长期演进(LTE)技术原理与系统设计[M].北京:人民邮电出版社,2008:10-11.
[2] 3GPP TS 36.300 V9.10.0 Evolved universal terrestrial radio access(E-UTRA) and evolved universal terrestrial radio access network(E-UTRAN),overall description[S].2012.
[3] 3GPP TR 33.821 V9.0.0 rationale and track of security decisions in long time evolution(TD-LTE) RAN/3GPP system architecture evolution(SAE)[S].2009.
[4] 3GPP TS 33.401 V9.7.0 3GPP system architecture evolution(SAE);security architecture[S].2011.
[5] 3GPP TS 35.206 V9.0.0 3G Security,specification of the MILENAGE algorithm set,an example algorithm set for the 3GPP authentication and key generation functions fl,f1*,f2,f3,f4,f5 and f5*,Document 2:algorith specification[S].2009.
[6] 3GPP TS 33.102 V9.4.0 Technical specification group services and system aspects,3G security,security architecture[S].2010.
[7] 3GPP TS 36.331 V9.13.0 Evolved universal terrestrial radio access(E-UTR A),radio resource control(RRC) protocol specification[S].2012.
[8] 李小文,李贵勇,陈贤亮,等.第三代移动通信系统、系统信令及实现[M].北京:人民邮电出版社,2006.
[9] 曹俊华,李小文.TD-LTE/SAE系统接入层安全性的研究与实现[J].电视技术,2011,35(1):1-4.
[10]牛丽丽,李校林,李小文.基于TTCN-3的TD-TD-LTE非接入层测试研究[J].广东通信技术,2012(4):1-4.
中图分类号:TN929+.5
文献标志码:A
DOI:10.16086/j.cnki.issn1000-0380.201502012
国家科技重大专项基金资助项目(编号:2012ZX03001024、2012ZX03001009-004
修改稿收到日期:2014-06-13。
第一作者李小文(1955-),男,1988年毕业于重庆大学信号与系统专业,获硕士学位,教授;主要从事第三代移动通信TD-SCDMA无线接入技术的标准制定和终端产品协议栈软件的开发工作。