张 静,艾 渤,钟章队
(1.北京交通大学轨道交通控制与安全国家重点实验室,北京100044;2.北京交通大学 电子信息工程学院,北京 100044)
随着通信技术的迅猛发展,LTE的安全问题相对于2G、3G增加了,要求也提高了[1]。在LTE中,利用认证和密钥协商(Authentication and Key Agreement,AKA)来实现用户和网络之间的互相认证[2],但是在首次接入网络或者网络端需要用户传输国际移动用户识别码(IMSI)时,IMSI是以明文形式发送的[3],这样势必会引起安全的问题。在用户认证之后再次接入到网络时,只需要发送临时移动用户识别码(Temporary Mobile Subscriber Identity,TMSI)即可[4]。服务网络(Serving Network,SN)会把IMSI和TMSI之间的联系存放在本地数据库中,这时的TMSI代替IMSI识别用户。当用户漫游到一个新的网络时,旧的网络会把当前的TMSI及其IMSI之间的联系发送到新的网络。
对于IMSI的传输问题,传统网络采用的都是明文形式发送,这样势必会产生安全问题,当然有些组织也曾提出用有线来传送IMSI,但是相对有线的预算投入以及后期维护,IMSI更适合在开放环境下的无线中传输,并且可以实现安全传输。
本文中提出通用移动通信系统(Universal Mobile Telecommunications System,UMTS)中增强认证的思想以及方法[5],结合LTE认证的特点,把UMTS中的部分认证方法应用到LTE系统中,即用动态移动用户识别码(DMSI)代替IMSI来实现用户的认证,实现无线环境下的安全传输,较IMSI而言,DMSI改善了IMSI明文发送的不安全性,并且DMSI的随机性进一步防止了重放攻击,加密传送提高了用户的安全性。
LTE的AKA认证过程和UMTS中的AKA认证过程基本相同,继承了UMTS中五元组鉴权机制的优点,实现了UE和网络侧的双向认证。该AKA过程如图1所示[6]。
图1 AKA流程Fig.1 AKA procedure
协议的具体流程信息:
(1)MME※UE标识请求和标识响应,IMSI;
(2)MME※HSS认证数据请求,IMSI、EKHU(R1)、SN Identity、Network Type;
(3)HSS※MME认证数据响应,RAND、AUTN、XRES、KASME;
(4)MME※UE用户数据请求,(RANDIIAUTN,R1)IIhash(RANDIIAUTN,R1);
(5)UE※MME用户认证数据响应,RES[7]。
其中,R1为UE(User Equipment)产生的随机数,EKHM为HSS和MME共享的秘密密钥,hash()为移动管理实体(Mobility Management Entity,MME)与UE共享的哈希函数,哈希函数的作用是为了保护消息的完整性,EKHU是认证成功之后MME与UE产生的加密密钥。
在初始认证结束后,UE和MME共享同一个KASME。在后续的过程中UE和MME根据KASME产生密钥KeNB,MME产生的密钥KeNB交给响应的基站,而后产生其它相关的加密密钥和完整性密钥。
当通信需要传输IMSI时,用DMSI代替IMSI传输。IMSI由国家代码(MCC)、网络代码(MNC)和用户身份代码(MSIN)组成[8]:
随机动态码——身份识别动态码(Dynamic number for Identity Confidentiality,DIC)用来认证用户身份。每次本地用户服务器(Home Subscriber Server,HSS)产生一个新的认证矢量时,就产生一个新的DIC,而DIC-IMSI之间的联系也存储在HSS中的数据库中。认证矢量包括 RAND、AUTN、XRES、KASME[9]4个参数。把产生的DIC嵌入到每个认证矢量的随机数中(RANDs),并且为了防止传输过程中可能存在的无法一次传送,当前的DIC会依旧存储在本地数据库中。
DIC的产生主要由存储在HSS中的DIC-Index实现,HSS收到UE的DIC后,根据DIC-IMSI的关系,获得用户的信息,并且根据DIC-Index获得新的DIC,嵌入进RAND中发送。根据TMSI的长度为32 bit来考虑,可知DIC的长度不会超过32 bit。那么存储在HSS中的DIC的数目不会超过232个,并且可以根据用户要求的安全级别,对DIC-Index进行设置,以调整DICnew和DICold之间的对应复杂关系,如果安全要求级别高,可以把DIC-Index的指针设置复杂,这样对于非授权用户,就更不可能获得DIC的信息了。
根据存储在HSS中的DIC-Index,可以得到DICnew,而之前用过的DIC也会变成Null,这个用过的数值就不再使用。
把DICnew嵌入到认证矢量的随机数 RAND中,即可得到RANDnew。
(1)用一个随机数字发生器生成128 bit随机数字RAND。
(2)根据存储在HSS中的 DIC-Index得到DICnew。
(3)DICnew嵌入RAND是一个加密过程,使用UE和HSS之间的共享密钥K[10]进行加密,生成RANDnew。
DIC产生流程如图2所示。其中,fs的作用是从DIC指针中找出一个没有使用过的DIC;fe的作用是把产生的 DICnew嵌入到 RAND中,生成一个RANDnew。这样每一次认证传输的都是不同的数值,既保护了用户又实现了认证。
图2 DIC产生过程Fig.2 Construction of the parameter DIC
当用户首次接入网络时,HSS不会发送RAND,这时候需要一个初始的DIC。首次接入需要的DIC会和密钥K一样,存储在用户的全球用户识别卡(Universal Subscriber Identity Module,USIM)中。
DIC带来的好处是只要在本地网络的数据库中存储DIC指针,就可以产生变化的DMSI,并且这个指针可以根据用户的话务量以及需要认证的统计次数进行设置,真正做到了动态性。
在需要传输IMSI时,可以用DMSI代替。根据从MS中接收到的DIC的不同,DMSI的数值一直在改变。这时,DMSI由国家代码(MCC)、网络代码(MNC)和从用户收到的最新的DIC组成:
那么如何从接收到的 RANDnew中提取出DIC呢?这里需要一个和之前函数fe产生RANDnew相反的解密过程,如图3所示。其中,fex函数就是和fe函数相反的解密过程。这样就可以从收到的RAND中获得DIC,也就得到了DMSI。
图3 DIC提取过程Fig.3 Extraction of DIC from RAND
DMSI工作流程如下:
(1)第一次接入时,用户和HSS之间共享一个密钥K,K存储在用户的USIM卡中,因此,也可以把初始的RIC也存储在USIM卡中,形成DMSI进行传输;
(2)HSS收到DMSI之后,根据和用户之间DIC-IMSI关系得到用户的IMSI,进行认证;然后根据存储在本地网络数据库的DIC-Index,指示一个没有用过的新鲜DIC,重新组成DMSI,并且采用加密算法把DIC中嵌入到RAND中进行传输;
(3)用户收到HSS传回的DMSI后,进行对称加密算法解密还原DIC,并且存储起来,作为下一次认证传输DMSI时的DIC。
至此,认证过程完成。
IMSI和DMSI的组成部分的差异主要在于第三部分的不同。IMSI的第三部分是用户身份代码(MSIN),而DMSI的第三部分则是身份识别动态码(DIC)。两者最大的不同就是MSIN是静态的,DIC是动态改变的;MSIN是明文的,DIC是加密的。
根据LTE安全性的要求——机密性和完整性保护,分析DMSI的安全性优于IMSI。
机密性就是意味着只有授权方才可以看到数据或者传送的内容,未授权方无权看到。目前为止,机密性主要通过加密手段来实现,以确保信息在传输过程中不会被非法用户获取。因此,一些对称加密算法,即在解密和解密过程使用相同的密钥,例如3DES、AES等,常被用来加强机密性。在本次仿真中,使用的是 DES算法,密钥选用的是7位,当然可以根据不同的安全等级要求来设定密钥的位数。图4为对称加密算法加密解密演示界面。
图4 数据加密程序演示界面Fig.4 Data encryption
在传输IMSI时,由于是明文传输,并没有对IMSI进行加密,因此就谈不上机密性的保护。但在DMSI中,初始的DIC是由UE和HSS之间共享的,并且之后的DIC由存储在本地数据库中的DIC—Index决定,DICnew更是进行加密过程镶嵌在RAND中进行传输的,采用的是对称加密算法。因此,DMSI较IMSI来说,显然增强了机密性。
信息完整性是指确保系统中用户信息的完整和真实可信。通信过程中,需要确保发送和接收的信息总是一致的,也就是数据在通信过程中没有被篡改过。完整性保护就是确定数据没有被非法篡改,保证合法用户得到正确、完整的信息。主要技术有数据加密、密码分析、数字签名、信息鉴别、秘密共享等。在使用DMSI之前,传输的都是明文形式的IMSI,极有可能被攻击者篡改用户信息。但是在使用DMSI之后,采用了完整性保护技术中的数据加密技术,因此攻击者就无法篡改用户信息了。图5中显示的是加密和解密两个过程,不难看出,经过加密之后的DIC在传输过程中呈现的是乱码状态,因此就不用担心被未授权者截获,在接收端根据对称加密算法也可以解密出代表客户身份的DIC,改善了IMSI明文传输所带来的威胁;并且,根据指针的复杂度可以调整DIC的随机性,这样也可以防止重放攻击。
图5 加密解密过程演示Fig.5 Data decryption
本文提出了用DMSI来代替IMSI的方法,即用动态的DMSI代替静态的IMSI传输,并对所提方法的性能特点进行了理论分析和仿真研究。较之传统的IMSI明文传输方式,DMSI增加了两大特点:随机性和加密传输。理论分析表明,DIC的随机性可以减少重放攻击带来的危害,仿真研究显示加密传送无论从机密性还是完整性方面来说,较之IMSI都有了很大的提高,从根本上解决了IMSI的安全问题。而且,并不需要在网络中进行大规模修改,只是在HSS中加入 fs函数——指针函数和 fe函数——加密函数,在用户方加入fex函数——解密函数,在本地网络中的数据库中存储一些数据,并且根据现有的SIM卡计算能力,对称密钥加密算法还是可实现的。
对于IMSI的保护,一直都是无线通信安全一个重要方面。本文所提方法及其分析结论对于实际系统中IMSI的安全传输具有一定的指导意义。
[1]Seddigh N,Nandy B,Makkar R.Security Advances and Challenges in 4G Wireless Networks[C]//Proceedings of the 8th Annual International Conference on Privacy,Security and Trust.Ottawa:IEEE,2010:62-71.
[2]赵训威,林辉,张明,等.3GPP长期演进(LTE)系统架构与技术规范[M].北京:人民邮电出版社,2010.ZHAO Xun-wei,LIN Hui,ZHANG Ming,et al.3GPP Long Term Evolution:Architecture and Specification[M].Beijing:People′sPostsand TelecommunicationsPress,2010.(in Chinese)
[3]3GPP TS 33.401 V9.4.0,LTE security:security architecture[S].
[4]Abdelkader M,Hamdi M,BoudrigaN.A Novel Advanced I-dentity Management Scheme for Seamless Handoff in 4G Wireless Networks[C]//Proceedings of GLOBECOM Workshops.Bangalore:IEEE,2010:2075-2080.
[5]Choudhury H,Roychoudhury B,Saikia D K.End-to-End User Identity Confidentiality for UMTS Networks[C]//Proceedings of Computer Science and Information Technology Conference.Shanghai:IEEE,2010:46-50.
[6]3GPP.TS 33.401,System Architecture Evolution[S].
[7]3GPP.TS 33.401 V8.5.0,3GPP system architecture evolution:Security architecture[S].
[8]Liu Z Y,Xie S L,Lai V.A Fast Suffix Matching Method in Network Processor[C]//Proceedings of 2008 International Conference on ComputationalIntelligenceand Security.Suzhou:IEEE,2008:405-410.
[9]Han C K,Hyoung-Kee Choi.Evaluation of Authentication Signaling Loads in 3GPP LTE/SAE Networks[C]//Proceedings of 2009 IEEE 34th Conference on Local Computer Networks.Zurich:IEEE,2009:37-44.
[10]Liu H,Bai S.Research and Implementation of LTE NAS security[C]//Proceedings of Educational and InformationTechnology Conference.Chongqing:IEEE,2010:453-456.