文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2013)07-0057-03
TD-LTE是3GPP標(biāo)準(zhǔn)化組織設(shè)立的一個(gè)無(wú)線移動(dòng)通信系統(tǒng)演進(jìn)計(jì)劃,其系統(tǒng)設(shè)計(jì)目標(biāo)已經(jīng)成為3G移動(dòng)通信系統(tǒng)的主流演進(jìn)方向。TD-LTE系統(tǒng)基于全I(xiàn)P的無(wú)線空口傳輸,數(shù)據(jù)和信息完全暴露于網(wǎng)絡(luò)上,導(dǎo)致信息容易丟失、前后失真,所以保護(hù)信息的完整性在通信中便顯得非常重要[1]。SNOW3G技術(shù)曾應(yīng)用于3G通信網(wǎng)絡(luò)中,由于其高效的加密性能及強(qiáng)大的抗攻擊能力,所以時(shí)至今日SNOW3G仍然廣泛地運(yùn)用在TD-LTE系統(tǒng)中,有效地保證網(wǎng)絡(luò)中傳輸無(wú)線數(shù)據(jù)不被竊聽和修改,滿足了現(xiàn)代通信系統(tǒng)的安全需求[2]。
1 SNOW3G完整性保護(hù)算法概述
在TD-LTE系統(tǒng)中,EMM子層主要用于對(duì)EMM和ESM子層的消息提供加密和完整性保護(hù)。而SNOW3G完整性保護(hù)算法則是EMM層對(duì)數(shù)據(jù)進(jìn)行完整性保護(hù)的主要算法[3]。
在正常的RRC連接建立完成并且鑒權(quán)成功之后,執(zhí)行安全模式命令,EPC向UE發(fā)送消息Security Mode Command,如圖1所示。
安全模式命令過程是為了將鑒權(quán)過程新產(chǎn)生的一個(gè)EPS Security Context激活并投入使用,以此來(lái)建立UE與EPC之間的安全信令連接。UE收到Security Mode Command消息后,核實(shí)該消息能被接收,UE將選用的NAS安全性算法保存在本地,利用鑒權(quán)過程中保存的KASME生成KNASenc、KNASint和KeNB,然后決定使用什么EPS Security Context。最后UE將用已選擇的NAS加密算法和完整性保護(hù)算法對(duì)Security Mode Complete消息進(jìn)行安全保護(hù)[4]。
2 SNOW3G完整性保護(hù)算法研究
完整性算法主要用于在發(fā)送端保護(hù)發(fā)送數(shù)據(jù)的完整性不被破壞及在接收端檢驗(yàn)接收數(shù)據(jù)的完整性是否被破壞。通過SNOW3G完整性保護(hù)算法分別對(duì)發(fā)送端和接收端的數(shù)據(jù)進(jìn)行運(yùn)算得到MAC-I和XMAC-I,兩者進(jìn)行比對(duì)可以確認(rèn)數(shù)據(jù)的完整性。
2.2.2 生成密鑰流
在初始化操作后進(jìn)入密鑰流(Keystream)生成過程。執(zhí)行FSM函數(shù),生成的32位數(shù)據(jù)F將被丟棄,執(zhí)行DIVα函數(shù)。后面執(zhí)行FSM函數(shù),生成的數(shù)據(jù)將作為密鑰,循環(huán)5次后得到密鑰流Z,Z=Z1||Z2||Z3||Z4||Z5,包括5個(gè)32位字的Z1、Z2、Z3、Z4和Z5。生成密鑰流操作的圖示如圖4所示。
2.2.3 生成MAC-I
將2.2.2中得到的P(即Z1||Z2)與需要完整性保護(hù)的數(shù)據(jù)MESSAGE進(jìn)行MUL64運(yùn)算,得到的中間數(shù)據(jù)EVAL與MESSAGE的長(zhǎng)度LENGTH進(jìn)行“異或”,得到“異或”后的EVAL,這個(gè)EVAL與步驟⑴中得到的Q(即Z3||Z4)進(jìn)行MUL64運(yùn)算,再次得到更新的EVAL。將密鑰流低位的32位數(shù)據(jù)與EVAL的高位的32位數(shù)據(jù)進(jìn)行“異或”,得到的32位數(shù)據(jù)MAC_I即為完整性保護(hù)密鑰。具體過程如圖5所示。
3 算法實(shí)現(xiàn)與驗(yàn)證
通過編寫C程序在Microsoft Visual C++ 6.0軟件運(yùn)行完整性保護(hù)算法,按照測(cè)試規(guī)范,輸入如下參數(shù)[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.,該結(jié)果符合測(cè)試規(guī)范。通過前面的分析,利用偽代碼編寫C語(yǔ)言,驗(yàn)證了算法的正確性。測(cè)試結(jié)果如圖6所示。
本文描述了SNOW3G完整性保護(hù)算法的基本操作和算法流程,并對(duì)它的實(shí)現(xiàn)過程及程序仿真作了深入分析。上面的VC運(yùn)行結(jié)果得到的完整性保護(hù)密鑰,與預(yù)期結(jié)果一致,很好地驗(yàn)證了算法。隨著通信技術(shù)的進(jìn)步,將對(duì)該算法進(jìn)行進(jìn)一步的研究。
參考文獻(xiàn)
[1] Motorola Co. Ltd..Long Term Evolution(LTE):a technical overview[R].2007.
[2] 解謙.Snow 3G算法分析[J].現(xiàn)代電信科技,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系統(tǒng)的SNOW3G密算法研究[J].電視技術(shù),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.