LTE/SAE的安全体系结构及有何应用

1 引言
3gpp在2004年12月启动了无线接入网长期演进研究项目(long term evolution,lte),演进的接入技术(如evolved-utra,e-utra)和接入网络(如e-utran),以及面向全ip的分组域核心网的演进项目(如system architecture evolution,sae),希望通过从无线接口到核心网络的持续演进和增强,保持自己在移动通信领域的技术先发优势,以保证在今后10年甚至更长的时间里,为运营商和用户不断增长的需求提供满意的支持。
目前,已有大量参考文献对lte的技术进行了充分的分析和介绍,业界的讨论也非常热烈,而未来系统演进的另一个方面--sae的技术内容还少有文章涉及。不同于空中接口的技术演进,移动通信系统结构演进更多的是从系统整体角度考虑未来移动通信的发展趋势和特征,从网络架构方面确定将来移动通信的发展方向。在无线网络接口技术呈现出多样化、同质化特征的条件下,满足未来发展趋势的网络架构将使运营商在未来更有竞争力,用户不断变化的业务需求也将得到较好地满足。因此从某种程度上说,sae的重要性可能将超过lte,并成为未来移动通信系统竞争力和生命力的决定性因素之一。
2 lte/sae的安全体系结构
2.1 lte/sae的安全架构
lte/sae在安全功能方面不断得到完善、扩展和加强,参考文献[2]提出网络的安全分为网络接入安全、网络域安全、用户域安全、应用域安全、安全服务的可视性和可配置性等5个域。
由图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。如果安全模式命令的校验没通过的话,将发送安全模式拒绝命令给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(long term evolution,长期演进)项目是3g的演进,始于2004年3gpp的多伦多会议。lte并非人们普遍误解的4g技术,而是3g与4g技术之间的一个过渡,是3.9g的全球标准,它改进并增强了3g的空中接入技术,采用ofdm和mimo作为其无线网络演进的唯一标准。在20mhz频谱带宽下能够提供下行326mbit/s与上行86mbit/s的峰值速率。改善了小区边缘用户的性能,提高小区容量和降低系统延迟。
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所示,算法的输入是iv和key,输出为q[].iv由4个参数组成:32位count(pdcp的数据计数器)、5位的bearer(pdcp的rb标识)、1位的direction(上行或下行数据的方向位)和length(表示所加解密数据的长度)。key是前面所讲的密钥krrcenc或kupenc .q[]是输出的密钥流块。参考文献[2]指出加密过程:图8产生的密钥流块与明文块异或后便产生了密文块,加密过程完成。解密过程与加密过程相反即可。
3.2.2 终端数据的完整性实现
数据传输中一端或另一端的设备,pc即或终端。数据终端设备(dte)是一个在x.25网络中的末端节点。dte是在一个用户网络接口的设备,其作为一个数据源、目的或两者服务。dte通过一个dce 设备和典型地使用由dce产生的时钟信号连接到一个数据网络。dte包括设备如计算机、协议转换器和多工器。数据终端设备,即计算机显示终端,是计算机系统的输入、输出设备。计算机显示终端伴随主机时代的集中处理模式而产生,并随着计算技术的发展而不断终端的发展 迄今为止,计算技术经历了主机时代、pc时代和网络计算时代这三个发展时期,终端与计算技术发展的三个阶段相适应,应用也经历了字符哑终端、图形终端和网络终端这三个形态。
完整性也采用aes或snow 3g算法,具体采用哪种算法也是由rrc配给pdcp,这两种算法的输入密钥均采用128位。
如图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的安全功能。

谈谈安全系统设计中应用比较多的冗余技术
融合FDD与TDD 4G竞争取胜之匙
我国为什么采用Sub-6GHz而放弃了毫米波
电源系统相关知识的讲解
单键是什么?单片机的单键电路和对应程序是怎么样的?
LTE/SAE的安全体系结构及有何应用
小鹏汽车G3本月底接受预订 将于年内交付
李正茂:未来5G与4G会长期共存,希望出台对5G基站提供优惠供电
eSATA
中国电信推出免费在线提速到 500Mbps 的优惠活动
更精确电子结构的展示—新软件的作用
猫头鹰LED别针DIY图解
Anritsu S331D电缆天线分析仪
UV LED在印刷行业中的应用
改善永磁同步电机转矩控制精度的三种不同方案的优点和适用范围
模拟电路网络课件 第四十九节:小功率整流滤波电路
中国智能网联汽车产业发展报告
中国汽车产销连续8个月增长,有望推动行业继续向前发展
新能源汽车配电模式博弈
云南电网将再投172亿元完成新一轮农村电网改造升级