《电子技术应用》
您所在的位置:首页 > 通信与网络 > 设计应用 > TD-LTE接入层安全性设计与实现
TD-LTE接入层安全性设计与实现
来源:电子技术应用2012年第4期
陈发堂1, 李 静1, 韩 宁2
1. 重庆邮电大学 通信与信息工程学院, 重庆400065; 2. 成都电子科技大学 通信学院, 四川 成都610054
摘要: 在研发时分-长期演进(TD-LTE)无线终端综合测试仪时,一致性测试有着非常重要的作用。基于此,选用规范描述语言(SDL)与树表描述语言TTCN(Tree Tabular Combine Notation)对接入层安全性的设计进行了仿真测试,提出了一种基于SDL+TTCN的测试方法。最后采用ARM Workbench IDE编译软件在ARM1176JZF-S芯片上对测试后的效果进行了验证。
中图分类号: TN929
文献标识码: A
文章编号: 0258-7998(2012)04-0137-04
Security design and its realization of access stratum for TD-LTE
Chen Fatang1, Li Jing1, Han Ning2
1.College of Communications and Information Engineering, Chongqing University of Posts and Telecommunications, Chongqing 400065, China; 2. College of Communication and Information Engineering, University of Electronic Science and Technology of China, Chengdu 610054, China
Abstract: It is very important that the protocol conformance testing in protocol implementation. As the TD-LTE wireless terminal tester must be designed in accordance with the protocol specifications, so this paper selects the SDL and TTCN to testing the security of the AS, and proposes a testing way that based on SDL and TTCN. At last, this paper checks the truth of the testing result on the chip of the ARM1176JZF-S in the ARM Workbench IDE compiling software.
Key words : conformance testing; the security of the AS; SDL; TTCN

    随着电信领域内通信标准的应用越来越普遍[1], 通信软件的应用及研发也更加广泛且深入,所以验证软件的标准性以及健壮性就显得尤为重要。对于LTE协议栈而言,为保证通信软件协议栈的实现质量,必须对该软件进行协议一致性测试。协议测试其实是一种典型的黑盒测试,它包括4个方面:一致性测试、互操作性测试、坚固性测试和性能测试。

    对于LTE系统而言。安全性包括接入层AS(Access Stratum)和非接入层NAS(Non-Access Stratum)两个层次[2-3],而接入层安全性相对而言更加重要。LTE系统主要提供两种有效的安全性功能——加密和完整性保护。而安全性的实现必须使用相应的算法,在几种主流的分组密码算法中,AES算法具有以下特点:(1)采用了128 bit的长密钥,使其难以被破解; (2)非线性度和复杂度相对较高; (3)能抗击截短差分攻击和渗透攻击;(4)加密速度快。因此在LTE中采用AES算法最合适。本文从接入层安全性流程的实现着手,编写测试例[4-5],通过消息时序图(MSC)、跟踪文档并结合程序来检查和验证网络端接入层安全性的实现程序。
1 接入层安全性过程概述
    接入层安全性主要是在PDCP(Packet Data Convergence Protocol)层实现[6],PDCP层通过接收高层的安全配置信令,进入相应的状态后才能对数据和信令进行加密及完整性保护,在正常的RRC(Radio Resource Control)连接建立完成并且通过层三的鉴权完成后,启动接入层的安全模式命令。网络端首先获得由非接入层的AKA(Authentication and Key Agreement)过程产生的密钥KASME,然后RRC由该参数计算得到KeNB,再由KeNB计算得到控制平面的完整性保护密钥KRRCint,以及用户平面和控制平面加密需要的密钥KUPenc、KRRCenc,再组装成安全模式命令(SecurityModeCommand),发送给终端,配置终端的安全性参数。当网络端发出SecurityModeCommand消息后开始对下行数据进行加密,终端的PDCP层接收到SecurityModeCommand消息后,先将其送到RRC进行解码操作,得出网络端配给终端的完整性保护算法,再将完整性保护算法和相应的密钥发给PDCP层,PDCP就可以对SecurityModeCommand消息进行完整性校验。如果没有通过完整性校验,则向网络端发送安全模式失败(SecurityModeFailure);如果通过,则取出里面包含的加密算法,并向网络发送安全模式完成(SecurityModeComplete)消息,对其进行完整性保护但是不加密,自此后开始对上行数据加密,下行数据解密。网络端收到该消息后开始对上行数据解密,安全性建好后,开始对信令进行完整性保护。
2 安全性算法的研究与实现
    接入层的安全性是通过加密算法和完整性保护算法来实现。AES算法是一种块运算算法,其运算速度快、效果比较好,可以由此延伸出128-EEA加密算法和128-EIA完整性保护算法[8]。
2.1 128-EEA算法描述
    加密的目的是确保即使数据被第三方接收到,也无法正确解码。对于控制平面,被加密的数据单元仅是PDCP SDU的数据部分和MAC-I;对于用户平面,被加密的数据单元是PDCP SDU的数据部分。
    (1) RRC配置的输入参数
  Count:长度32 bit,它由一个 HFN和PDCPSN组成,PDCP SN 的长度由RRC配置。
   BEARER:长度5 bit,由RRC向PDCP提供一个对应的rbIdentity值减1后转化为一个5 bit的二进制数(高位用0来填充)而得。
   DIRECTION:长度1 bit,表示传输方向:比特0表示为UL,比特1表示为DL。
    LENGTH:进行加密的消息的长度。
    KUPenc和KRRCenc:长度128 bit,是一个密钥,仅用于一个特定加密算法来保护UP业务。该密钥被UE和eNB使用,通过KDF将KeNB及其加密算法的ID生成的。
    (2) 算法流程
    ①生成Counter Block:将RRC所配置的参数Count、BEARER、DIRECTION组成长度为128 bit的数据流Tn,即:Tn = Count [0]...Count [31]│BEARER [0]...BEARER[4]│DIRECTION│026 (i.e. 26zero bits) | Mn。
    ②生成Keystream Block:密钥Key与Tn进行AES(Key,Tn)计算,计算结果Kn。即:Kn = AES(Key,Tn)。
  ③生成所需要的加密文件CipherText:密文Cn的产生则根据:Cn=(Kn) ORX (Pn)。
2.2 128-EIA算法描述
  完整性保护功能包括完整性保护和完整性验证。发送端将数据和一定的输入参数经过EIA算法,得出一个32 bit的MAC值,然后将这个MAC值随着数据一起发送到接收端,接收端通过同样的方法也得出一个XMAC值,然后比较这两个值是否一致,如果一致,则完整性验证成功;否则,完整性验证失败。完整性保护将只用于信令单元和数据单元的PDCP头,且在PDCP SDU的数据部分加密之前执行。
  
3 测试设计过程
    SDL是一种描述系统行为的语言,其具有以下特点:(1)说明系统的功能;(2)描述系统的内部结构和行为;(3)因为其描述生成的C代码(或嵌入的C代码)可以直接再在目标板上运行,因此可以大大缩短开发周期。因而在有关协议栈的通信软件的开发过程中,SDL有着广泛的应用,可以用于协议工程的各个阶段。
    在对TD-LTE无线终端综合测试仪接入层安全性协议实现的过程中,设计了如图1所示的SDL进程。PDCP层在DAM、DUM、SAM三种状态中转换,当释放掉某个PDCP实体后,进入空状态,等待着RRC去配置进入某个状态。因为仅仅只有SRB需要完整性保护,因此在DAM状态下设计了加密过程,而在SAM状态下设计了完整性保护过程。当RRC配置PDCP进入SAM状态后,PDCP通过原语CPDCP_SECURITY_REQ来接收RRC配置的安全性信息,如完整性保护算法和密钥,RRC再通过原语CPDCP_DATA_REQ发送信令到PDCP进行完整性保护,PDCP再将经过处理后的数据通过原语RLC_AM_DATA_REQ传给RLC层。当RRC配置PDCP进入DAM状态后,PDCP利用以前接收的加密密钥(假设PDCP没有经过重建)对接收到的数据进行加密处理。BC通过原语CPDCP_DATA_REQ将高层的数据传到PDCP层进行加密处理,PDCP再将处理后的数据通过原语RLC_AM_DATA_REQ传给RLC层。DUM状态类似于DAM状态,在此就不再赘述。
4 测试仿真结果
    将编写好的C代码嵌入到SDL软件中,再根据图1的信号流程图,结合由TTCN写的测试案例,得到图2的仿真结果图。可以看出仿真结果和信号流程图以及TTCN测试的数据完全吻合,所以完全正确地验证了设计的接入层安全性过程及流程。

 

 

    在对几种主流的分组密钥算法的对比研究的基础上发现AES算法具有很好的抗攻击能力和很高的复杂度,从而在LTE中将其作为安全性的核心算法。本文设计了实现接入层安全性的流程图及信号流程,最后通过一系列的测试验证了流程的正确性。还使用了ARM编译软件在芯片ARM1176JZF-S上结合其他各层实现单步测试,测试的流程图和在各内存中的数据都完全正确。该接入层安全性的设计方案对今后类似的设计场合有一定推广价值。
参考文献
[1] 沈嘉等.3 GPP长期演进(LTE)技术原理与系统设计[M]. 北京:人民邮电出版社, 2008.
[2] 3GPP TS 36.300 V9.0.0, Evolved Universal Terrestrial Radio Access and Evolved Universal Terrestrial Radio Access Network[S].2009.12.
[3] 3GPP TS 36.331 V9.0.0, Radio Resource Control Protocol  Specification[S].2009.12.
[4] 3GPP TS 24.301 V9.0.0, Non-Access-Stratum protocol for Evolved Packet System [S].2009.12.
[5] 3GPP TS 33.401 V9.0.0、V9.2.0, System Architecture Evolution[S].2009.12.
[6] European Telecommunications Standards Institute (ETSI)/SAGE(Version:1.1).Specification of the 3GPP Confidentiality and Integrity Algorithms UEA2 & UIA2[S]. 2006.
[7] 3GPP TS 36.323 V9.0.0,Packet data convergence protocol (PDCP) specification[S]. 2009.
[8] National Institute of Standards and Technology(NIST).Federal Information Processing Standards Publications (FIPS PUBS)197, Advanced Encryption Standard(AES)[S]. 2001.

此内容为AET网站原创,未经授权禁止转载。