唐山信息港

当前位置:

LTESAE安全体系的研究及其在终端的实

2019/04/25 来源:唐山信息港

导读

1 引言随着移动通信的不断发展,人们对移动通讯中的信息安全也提出了更高的要求,从2G到3G,在安全特征与安全服务方面逐渐完善。为了进一步

1 引言

随着移动通信的不断发展,人们对移动通讯中的信息安全也提出了更高的要求,从2G到3G,在安全特征与安全服务方面逐渐完善。为了进一步推动3G技术,提高频谱效率,降低时延和优化分组数据,作为3G系统长时间演进的LTE(long time evolution,长时间演进)应运而生[1],与此同时LTE的演进项目SAE(system architecture evolution,系统架构演进)也同时展开,目标是为LTE的演进开发一个支持多RAT(radio access technology,无线接入技术)的系统架构。在LTE/SAE中,安全包括AS(access stratum,接入层)和NAS(non-access stratum,非接入层)两个层次。AS安全是UE(user equipment,用户装备)与eNB(evolved node-B,演进型节点B)之间的安全,主要履行AS信令的加密和完整性保护,UP(user plane,用户平面)数据的机密性保护;NAS的安全是UE与MME(mobile management entity,移动管理实体)之间的安全,主要履行NAS信令的机密性和完整性保护。本文主要以协议为基础,重点介绍LTE/SAE的安全架构、安全机制及其终端安全流程的实现。

2 LTE/SAE的安全体系结构

2.1 LTE/SAE的安全架构

LTE/SAE在安全功能方面不断得到完善、扩大和加强,参考文献[2]提出络的安全分为络接入安全、络域安全、用户域安全、应用域安全、安全服务的可视性和可配置性等5个域,如图1所示。

由图1可知,LTE/SAE的安全架构和3G的络安全架构相比,发生了一些变化。参考文献[3]指出:首先是在ME(mobile equipment,移动设备)和SN(serve network,业务)之间加入了非接入层的安全,使得非接入层和接入层的安全独立开来便于操作;然后在AN(access network,接入)和SN之间的通信引入安全;另外,增加了服务认证,能缩减空闲模式的信令开消。UE是由ME和USIM(universal subscriber identity module,全球用户标识模块)卡组成。

2.2 LTE/SAE安全流程分析

LTE/SAE的安全流程整体上可以分为以下几大部分,如图2所示。

用户开机发起注册,与络建立连接后发起AKA(authentication and key agreement,鉴权与密钥协商)进程。络端的MME通过终端发来的IMSI(international mobile subscriber identity,全球移动用户标识)和相干的参数发起鉴权进程,以后与终端进行密钥协商,发起安全激活命令SMC(security mode command,安全模式进程),其终目的是要到达终端和络端密钥的一致性,这样二者之间才能安全地通讯。

2.3 鉴权与密钥协商进程

LTE/SAE鉴权与密钥协商进程的目的是通过AUC(authentication centre,鉴权中心)和USIM卡中所共有的密钥K来计算密钥CK(cipher key,加密密钥)和IK(integrity key,完整性密钥),并由CK和IK作为基本密钥计算一个新的父密钥KASME, 随后由此密钥产生各层所需要的子密钥,从而在UE和络之间建立EPS(evolved packet system,演进型分组系统)安全上下文。LTE和3G在AKA过程中的个别地方是有所不同的,参考文献[2]指出络端生成的CK、IK不应该离开HSS(home subscriber server,归属地用户服务器,存在于归属地环境HE中),而参考文献[3]指出3G的CK、IK是可以存在于AV(authentication vector,鉴权向量)中的,LTE这样做使主要密钥不产生传输,提高了安全性。AKA过程终究实现了UE和络侧的双向鉴权,使两端的密钥达成一致,以便能够正常通信。详细的鉴权与密钥协商进程如图3所示。

(1)~(3)MME通过鉴权要求Authentication datequest将IMSI、SN ID(server network identity,服务标识)和Network Type(服务类型)传给HSS,HSS用SN ID对终端进行验证。如果验证通过,HSS将会使用收到的参数生成AV, 它包括参数RAND(随机数)、AUTN(authentication token,鉴证令牌)、XRES(通过和用户返回的RES比较来达成密钥协商的目的)和密钥KASME,KASME是用来产生非接入层和接入层密钥的总密钥,以后通过鉴权响应Authentication data response将AV传给MME。

(4)~(10)MME存储好AV后,将会通过用户鉴权要求User authentication request这条消息将参数AUTN、RAND和KSIASME 传给终端。KSIASME 是用来标识KASMEKASME,目的是为了终端能获得和络端一样的KASME 。随后,参考文献[4]指出终端将会核实收到的AUTN的AMF(authentication management field,鉴证管理域)。如果可以接受,通过验证,将会进一步生成一个响应RES;如果和XRES匹配的话,表示鉴权成功了。

RES的具体生成方法如图4所示,参考文献[3]指出图中的SQN(sequence number,序列号)是一个计数器。f1和f2为鉴权函数,f3、f4、f5和KDF都是密钥生成函数;?茌为异或操作;AK为一个密钥,AK = f5K (RAND),主要用于恢复SQN,具体操作是SQN = (SQN?茌AK) AK;MAC为络端产生的信息确认码,XMAC为终端生成的信息确认码。当UE收到MME发来的鉴权要求后,通过验证,使用参数K、SQN(恢复的)和AMF通过函数f1生成XMAC,

通过比较XMAC和MAC相等后,才被允许进行下一步动作。

上述过程完成以后,终端和络端的非接入层和接入层将会由产生的密钥KASME通过KDF获取相应的机密性及完整性保护所需要的密钥。

2.4 终端的安全性激活进程

在LTE中,非接入层和接入层分别都要进行加密和完整性保护,它们是相互独立的,它们安全性的激活都是通过SMC命令来完成的,且产生在AKA以后。络端对终端的非接入层和接入层的激活顺序是先激活非接入层的安全性,再激活接入层的安全性。

2.4.1 非接入层的安全模式进程

由图5可知,非接入层的安全模式过程是由络发起的,MME发送的SMC消息是被非接入层完整性保护了的,但是没有被加密。参考文献[4]指出UE在收到SMC消息后,首先要比对消息中的UE security capabilities(安全性能力)是不是和自己发送给络以触发SMC进程的UE security capabilities相同,以肯定UE security capabilities未被更改,如果相同,表示可以接受,没有遭到攻击,nonceMME和nonceUE用于切换时的安全性激活,本文就不再赘述;其次,进行NAS层密钥的生成,包括KNASenc和KNASint, 前者为NAS加密密钥,后者为NAS完整性保护密钥;接着,UE将根据新产生的完整性保护密钥和算法对收到的SMC消息进行完整性校验,校验通过,表示该SMC可以被接受,此安全通道可用;,UE发出安全模式完成消息给MME,所有的NAS信令消息都将进行加密和完整性保护。如果安全模式命令的校验没通过的话,将发送安全模式谢绝命令给MME,UE退出连接。如图5中的第3步。

2.4.2 接入层的安全模式过程

在非接入层的安全性激活后,紧接着将要进行接入层的安全性激活,采取AS SMC命令来实现的。如图6所示,络端通过已存在的KASME来生成KeNB ,利用KeNB生成完整性保护密钥对AS SMC这条消息进行完整性保护,并生成一个信息确认码MAC-I;以后,将AS SMC传给ME。参考文献[5]指出ME首先利用密钥KASME来生成KeNB , 以后利用收到的算法和KeNB通过KDF生成完整性保护密钥,然后对此AS SMC信息进行完整性校验,具体是通过生成一个X-MAC,如果X-MAC和MAC-I相匹配的话,通过校验,以后进一步生成加密密钥,并发送AS SMC完成消息给eNB,此条消息也要进行加密和完整性保护,也要生成一个信息确认码MAC-I,具体用处已介绍,此步骤非常重要,假如校验不通过,UE会向eNB返回一条AS Mode Failure消息,表明此通道不安全,UE是要退出连接的。eNB对AS SMC完成消息进行完整性校验通过后,此时接入层的安全性就激活了,可以开始传输数据了。

3 LTE/SAE安全体系终端的具体实现

3.1 终端密钥的获得

在非接入层和接入层的安全性激活以后,将会进一步生成各自机密性和完整性保护所需要的密钥。

图7中的第(1)步在图3中已介绍过,主要是用于生成密钥KASME ,非接入层直接用此密钥取得非接入层信令所用的完整性密钥和加解密密钥,如图中第(2)步所述。接入层还要首先通过此密钥再进一步获取控制平面所需要的完整性和加解密密钥KRRCint、KRRCenc 和用户平面所需的加解密密钥KUpenc。

3.2 终端数据的安全性实现

前面已介绍过LTE终端非接入层和接入层都要对数据进行机密性和完整性保护。两者类似,本文仅介绍终端接入层的安全性实现。

LTE终端协议栈接入层的安全性的具体功能实现是在PDCP(packet data convergence protocol,分组数据汇聚协议)中完成的。参考文献[6]指出PDCP在接入层协议栈中的位置位于RLC(radio link control,无线链路控制)层之上,受RRC(radio resource control,无线资源控制)的调度和控制,将来自上层的用户数据传输到RLC子层。PDCP机密性的对象是C(control,控制)平面的信令和U(user,用户)平面数据部份,完整性保护的对象仅针对C平面的信令部分,完整性保护在加密之前进行。

LTE中数据的安全性都是基于算法来实现的,机密性和完整性保护的核心算法有两种:AES(advanced encryption standard,高级加密标准)和SNOW 3G算法。参考文献[7]指出AES采取的是128位块加密,参考文献[8]指出SNOW 3G采取的128位流加密。下面将分别介绍数据机密性和完整性的具体实现。

3.2.1 终端数据的机密性实现

机密性均采用AES或SNOW 3G算法,具体采用哪种算法是由RRC配给PDCP,这两种算法的输入密钥均采用128位。具体如图8所示。

如图8所示,算法的输入是IV和KEY,输出为Q[]。IV由4个参数组成:32位COUNT(PDCP的数据计数器)、5位的BEARER(PDCP的RB标识)、1位的DIRECTION(上行或下行数据的方向位)和LENGTH(表示所加解密数据的长度)。KEY是前面所讲的密钥KRRCenc或KUpenc 。Q[]是输出的密钥流块。参考文献[2]指出加密过程:图8产生的密钥流块与明文块异或后便产生了密文块,加密过程完成。解密进程与加密进程相反便可。

3.2.2 终端数据的完整性实现

完整性也采用AES或SNOW 3G算法,具体采取哪种算法也是由RRC配给PDCP,这两种算法的输入密钥均采取128位。具体如图9所示。

如图9所示,算法的输入是IV和KEY。IV也由4个参数构成,COUNT、BEARER和DIRECTION这3个参数与机密性所用的参数相同, MESSAGE代表的是实际进行完整性保护或校验的数据;KEY是前面所提到的完整性密钥KRRCenc。参考文献[2]指出完整性保护进程:对输入流IV和 KEY的处理后得到MAC-I。完整性校验进程:对输入流IV和KEY的处理后得到X-MAC。MAC-I和X-MAC如果匹配的话,表示完整性校验成功。

4 结束语

LTE系统提供了较高的数据速率,对这些业务,尤其是某些重要的数据业务,将对络的安全性提出更高的要求,因此对LTE/SAE安全架构和安全机制的设计显得至关重要。目前3GPP的安全性标准还没有稳定版本,还在不断地更新中,我们将会在今后的研究和开发工作中不断地完善LTE/SAE的安全功能。

婴儿发热怎么办
如何治腰酸背痛
老年缺钙的临床表现
标签

友情链接