《电子技术应用》
您所在的位置:首页 > 通信与网络 > 设计应用 > TD-LTE系统中的SNOW3G完整性保护算法研究
TD-LTE系统中的SNOW3G完整性保护算法研究
来源:电子技术应用2013年第7期
李小文,李媚媚
重庆邮电大学 重庆市移动通信技术重点实验室,重庆400065
摘要: 随着我国信息化时代的不断演进,通信网络中传输的数据量日益增加,同时数据传输中的安全威胁也随处可见,为了确保数据传输安全,LTE系统采用SNOW3G完整性保护算法保证这些传输数据的完整性。结合LTE系统的安全性过程,研究了SNOW3G完整性保护算法的基本功能函数,分析了SNOW3G完整性保护算法流程,并在VC环境下仿真出了对该算法的测试结果。
中图分类号: TN929.5
文献标识码: A
文章编号: 0258-7998(2013)07-0057-03
Research on SNOW3G integrity protection algorithm in TD-LTE system
Li Xiaowen,Li Meimei
Chongqing Key Lab of Mobile Communications,Chongqing University of Posts and Telecomunications,Chongqing 400065,China
Abstract: With the evolution of the information age, the amount of data transferred in the communication network is increasing, so are the security threats. LTE system uses SNOW3G integrity protection algorithms to ensure data integrity. This paper gives research on SNOW3G integrity protection algorithm of the basic function, analysis of the SNOW3G integrity protection algorithm flow, and VC program provides test results of the algorithm.
Key words : TD-LTE LTE;SNOW3G;security;integrity protection

    TD-LTE是3GPP标准化组织设立的一个无线移动通信系统演进计划,其系统设计目标已经成为3G移动通信系统的主流演进方向。TD-LTE系统基于全IP的无线空口传输,数据和信息完全暴露于网络上,导致信息容易丢失、前后失真,所以保护信息的完整性在通信中便显得非常重要[1]。SNOW3G技术曾应用于3G通信网络中,由于其高效的加密性能及强大的抗攻击能力,所以时至今日SNOW3G仍然广泛地运用在TD-LTE系统中,有效地保证网络中传输无线数据不被窃听和修改,满足了现代通信系统的安全需求[2]。

1 SNOW3G完整性保护算法概述
    在TD-LTE系统中,EMM子层主要用于对EMM和ESM子层的消息提供加密和完整性保护。而SNOW3G完整性保护算法则是EMM层对数据进行完整性保护的主要算法[3]。
    在正常的RRC连接建立完成并且鉴权成功之后,执行安全模式命令,EPC向UE发送消息Security Mode Command,如图1所示。

    安全模式命令过程是为了将鉴权过程新产生的一个EPS Security Context激活并投入使用,以此来建立UE与EPC之间的安全信令连接。UE收到Security Mode Command消息后,核实该消息能被接收,UE将选用的NAS安全性算法保存在本地,利用鉴权过程中保存的KASME生成KNASenc、KNASint和KeNB,然后决定使用什么EPS Security Context。最后UE将用已选择的NAS加密算法和完整性保护算法对Security Mode Complete消息进行安全保护[4]。
2 SNOW3G完整性保护算法研究
    完整性算法主要用于在发送端保护发送数据的完整性不被破坏及在接收端检验接收数据的完整性是否被破坏。通过SNOW3G完整性保护算法分别对发送端和接收端的数据进行运算得到MAC-I和XMAC-I,两者进行比对可以确认数据的完整性。

 


  
2.2.2 生成密钥流
    在初始化操作后进入密钥流(Keystream)生成过程。执行FSM函数,生成的32位数据F将被丢弃,执行DIVα函数。后面执行FSM函数,生成的数据将作为密钥,循环5次后得到密钥流Z,Z=Z1||Z2||Z3||Z4||Z5,包括5个32位字的Z1、Z2、Z3、Z4和Z5。生成密钥流操作的图示如图4所示。

2.2.3 生成MAC-I
    将2.2.2中得到的P(即Z1||Z2)与需要完整性保护的数据MESSAGE进行MUL64运算,得到的中间数据EVAL与MESSAGE的长度LENGTH进行“异或”,得到“异或”后的EVAL,这个EVAL与步骤⑴中得到的Q(即Z3||Z4)进行MUL64运算,再次得到更新的EVAL。将密钥流低位的32位数据与EVAL的高位的32位数据进行“异或”,得到的32位数据MAC_I即为完整性保护密钥。具体过程如图5所示。

3 算法实现与验证
    通过编写C程序在Microsoft Visual C++ 6.0软件运行完整性保护算法,按照测试规范,输入如下参数[8]:
    COUNT=3E DC 87 E2;
    FRESH=A4 F2 D8 E2;
    DIRECTION=1;
    IK=D4 2F 68 24 28 20 1C AF CD 9F 97 94 5E 6D E7 B7;
    LENGTH=254 bits;
    MESSAGE=B5 92 43 84 32 8A 4A E0 0B 73 71 09 F8 B6 C8 DD 2B 4D B6 3D D5 33 98 1C EB 19 AA D5 2A 5B 2B C0。
    得到密钥为MAC-I=FC 7B 18 BD.,该结果符合测试规范。通过前面的分析,利用伪代码编写C语言,验证了算法的正确性。测试结果如图6所示。

    本文描述了SNOW3G完整性保护算法的基本操作和算法流程,并对它的实现过程及程序仿真作了深入分析。上面的VC运行结果得到的完整性保护密钥,与预期结果一致,很好地验证了算法。随着通信技术的进步,将对该算法进行进一步的研究。
参考文献
[1] Motorola Co. Ltd..Long Term Evolution(LTE):a technical overview[R].2007.
[2] 解谦.Snow 3G算法分析[J].现代电信科技,2011(06):23-28.
[3] 3GPP TS 33.401 V940-2010.3GPP system architecture  evolution(SAE)-security architecture[S].2008-16-17.
[4] 3GPP TS 24.301 V920-2009.Non-Access-Stratum(NAS)protocol for Evolved Packet System(EPS) Stage 3[S].2010.
[5] Specification of the 3GPP confidentiality and integrity algorithms UEA2&UIA2.Document 1:UEA&UIA2 specifications[EB/OL].[2012-03-19].http://gsmworld.com/documents/etsi_sage_06_09_06.pdf.
[6] 张洪铭,何登平.基于LTE系统的SNOW3G密算法研究[J].电视技术,2010(12):91-93.
[7] Specification of the 3GPP confidentiality and integrity algorithms UEA2&UIA2.Document 2:SNOW3G specification[EB/OL].[2012-03-19].http://gsmworld.com/documents/snow_3g_spec.pdf.
[8] Specification of the 3GPP confidentiality and integrity algorithms UEA2&UIA2.Document 4:design conformance test data[EB/OL].[2012-03-19].http://gsmworld.com/documents/conformance.pdf.

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