国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

TD-LTE系統(tǒng)中的SNOW3G完整性保護(hù)算法研究*

2013-09-07 02:52:16李小文李媚媚
電子技術(shù)應(yīng)用 2013年7期
關(guān)鍵詞:寄存器完整性密鑰

李小文,李媚媚

(重慶郵電大學(xué) 重慶市移動通信技術(shù)重點(diǎn)實(shí)驗(yàn)室,重慶 400065)

TD-LTE是3GPP標(biāo)準(zhǔn)化組織設(shè)立的一個無線移動通信系統(tǒng)演進(jìn)計(jì)劃,其系統(tǒng)設(shè)計(jì)目標(biāo)已經(jīng)成為3G移動通信系統(tǒng)的主流演進(jìn)方向。TD-LTE系統(tǒng)基于全I(xiàn)P的無線空口傳輸,數(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ò)中傳輸無線數(shù)據(jù)不被竊聽和修改,滿足了現(xiàn)代通信系統(tǒng)的安全需求[2]。

1 SNOW3G完整性保護(hù)算法概述

在TD-LTE系統(tǒng)中,EMM子層主要用于對EMM和ESM子層的消息提供加密和完整性保護(hù)。而SNOW3G完整性保護(hù)算法則是EMM層對數(shù)據(jù)進(jìn)行完整性保護(hù)的主要算法[3]。

在正常的RRC連接建立完成并且鑒權(quán)成功之后,執(zhí)行安全模式命令,EPC向UE發(fā)送消息Security Mode Command,如圖1所示。

圖1 安全模式命令

安全模式命令過程是為了將鑒權(quán)過程新產(chǎn)生的一個EPS Security Context激活并投入使用,以此來建立UE與EPC之間的安全信令連接。UE收到 Security Mode Command消息后,核實(shí)該消息能被接收,UE將選用的NAS安全性算法保存在本地,利用鑒權(quán)過程中保存的KASME生成KNASenc、KNASint和KeNB, 然后決定使用什么EPS Security Context。最后UE將用已選擇的NAS加密算法和完整性保護(hù)算法對Security Mode Complete消息進(jìn)行安全保護(hù)[4]。

2 SNOW3G完整性保護(hù)算法研究

完整性算法主要用于在發(fā)送端保護(hù)發(fā)送數(shù)據(jù)的完整性不被破壞及在接收端檢驗(yàn)接收數(shù)據(jù)的完整性是否被破壞。通過SNOW3G完整性保護(hù)算法分別對發(fā)送端和接收端的數(shù)據(jù)進(jìn)行運(yùn)算得到MAC-I和XMAC-I,兩者進(jìn)行比對可以確認(rèn)數(shù)據(jù)的完整性。

2.1 基本函數(shù)

SNOW3G完整性保護(hù)算法的實(shí)現(xiàn)要用到以下10個基本功能函數(shù)[5-6]:

(1)MUL64x

該函數(shù)將128位數(shù)據(jù)轉(zhuǎn)化為64位數(shù)據(jù)。設(shè)V是128位數(shù)據(jù)的高64位,c是128位數(shù)據(jù)的低64位。

如果V的最高位為1,則MUL64x(V,c)=(V<<1)⊕c;如果V的最高位不為1,則MUL64x(V,c)=(V<<1)。其中V<<1表示左移一位,⊕表示“異或”運(yùn)算。

(2)MUL64xPOW

該函數(shù)的輸入?yún)?shù)是一個整數(shù)i和128位數(shù)據(jù),得到64位數(shù)據(jù)的輸出。設(shè)V是128位數(shù)據(jù)的高64位,c是128位數(shù)據(jù)的低64位。

如果i=0,MUL64xPOW(V,i,c)=V;如果i≠0,MUL-64xPOW(V,i,c)=MUL64x(MUL64xPOW(V,i-1,c),c)。

(3)MUL64

該函數(shù)的輸入?yún)?shù)是3個64位的數(shù)據(jù),分別為V、P、c,得到一個64位的數(shù)據(jù)result。

在函數(shù)中定義一個整數(shù)i從0遞增到63,當(dāng)V的第i位數(shù)據(jù)是1時(shí),result=result⊕MUL64xPOW(V,i,c),否則result不做處理。如此循環(huán)64次,最終得到result。

(4)MULx

該函數(shù)的輸入?yún)?shù)是一個16位的數(shù)據(jù),得到一個8位的輸出數(shù)據(jù),映射過程如下:

如果V的最高位為1,則MULx(V,c)=(V<<8)⊕c;否則MULx(V,c)=V<<8。

(5)MULxPOW

該函數(shù)的輸入?yún)?shù)是一個16位的數(shù)據(jù)和一個正整數(shù)i,得到一個8位的輸出數(shù)據(jù),V和c為8 bit輸入,映射過程如下:

如果i為0,則MULxPOW(V,i,c)=V;否則MULx-POW(V,i,c)=MULx(MULxPOW(V,i-1,c),c)。

(6)S-BOX S1

該函數(shù)的輸入?yún)?shù)是一個32位的數(shù)據(jù)w,得到一個32位的輸出數(shù)據(jù)r。w=w0||w1||w2||w3,輸入?yún)?shù)以w0開頭以w3結(jié)尾。S1(w)=r0||r1||r2||r3,以r0開頭以r3結(jié)尾。S-box S1用于更新寄存器R2,所以此處的w表示R1,S1(w)表示更新后的R2(||表示連接符)。

(7)S-BOX S2

該函數(shù)的功能與S-BOX S1相同。

w=w0||w1||w2||w3,輸入?yún)?shù)以w0開頭以w3結(jié)尾。S2(w)=r0||r1||r2||r3,以r0開頭以r3結(jié)尾。S-box S2用于更新寄存器R3,所以此處的w表示R2,S2(w)表示更新后的R3。

(8)FSM

該函數(shù)有兩個32位的輸入S15和S5,產(chǎn)生一個32位的輸出F,F(xiàn)=(S15 R1)⊕R2(表示整數(shù)和模232),然后寄存器更新數(shù)據(jù)。計(jì)算中間值r如下:r=R2 (R3⊕S5)。令R3=S2(R2),R2=S1(R1),R1=r。圖2為FSM的運(yùn)算圖示。

圖2 FSM運(yùn)算圖示

(9)MULα

該函數(shù)的輸入?yún)?shù)是一個8位數(shù)據(jù)c,得到一個32位的數(shù)據(jù):MULα(c)=(MULxPOW(c,23,0xA9)||MULxPOW(c,245,0xA9)||MULxPOW(c,48,0xA9)||MULxPOW(c,239,0xA9))。

(10)DIVα

該函數(shù)的輸入?yún)?shù)是一個8位數(shù)據(jù)c,得到一個32位的數(shù)據(jù):DIVα(c)=(MULxPOW(c,16,0xA9)||MULxPOW(c,39,0xA9)||MULxPOW(c,6,0xA9)||MULxPOW(c,64,0xA9))。

2.2 算法流程

SNOW3G完整性保護(hù)算法主要分為三步,首先是初始化操作,然后是生成密鑰流,最后用得到的密鑰流和輸入?yún)?shù)通過完整性保護(hù)算法得到32位的MAC-I[7]。

2.2.1 初始化

SNOW3G的初始化指將一個128位的密鑰設(shè)定為包含4個32位字的k0、k1、k2、k3;一個128位的初始變量(Initialization Vector)包含4個32位字的IV0、IV1、IV2、IV3,且IV=IV0||IV1||IV2||IV3;設(shè)置LFSR即線性反饋移位寄存器由16部分組成:S0,S1,S2,…,S15,每部分32位;令1為全1字(0xffffffff)。令:S15=k3⊕IV0,S14=k2,S13=k1,S12=k0⊕IV1,S11=k3⊕1,S10=k2⊕1⊕IV2,S9=k1⊕1⊕IV3,S8=k0⊕1,S7=k3,S6=k2,S5=k1,S4=k0,S3=k3⊕1,S2=k2⊕1,S1=k1⊕1,S0=k0⊕1。設(shè)置完LFSR后,循環(huán)32次,實(shí)現(xiàn)對FSM的賦值。初始化操作如圖3所示。

圖3 初始化操作

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個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的長度LENGTH進(jìn)行“異或”,得到“異或”后的EVAL,這個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所示。

圖5 生成完整性保護(hù)密鑰

3 算法實(shí)現(xiàn)與驗(yàn)證

通過編寫C程序在Microsoft Visual C++6.0軟件運(yùn)行完整性保護(hù)算法,按照測試規(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é)果符合測試規(guī)范。通過前面的分析,利用偽代碼編寫C語言,驗(yàn)證了算法的正確性。測試結(jié)果如圖6所示。

圖6 測試結(jié)果

本文描述了SNOW3G完整性保護(hù)算法的基本操作和算法流程,并對它的實(shí)現(xiàn)過程及程序仿真作了深入分析。上面的VC運(yùn)行結(jié)果得到的完整性保護(hù)密鑰,與預(yù)期結(jié)果一致,很好地驗(yàn)證了算法。隨著通信技術(shù)的進(jìn)步,將對該算法進(jìn)行進(jì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.

猜你喜歡
寄存器完整性密鑰
探索企業(yè)創(chuàng)新密鑰
稠油熱采水泥環(huán)完整性研究
云南化工(2021年9期)2021-12-21 07:44:00
密碼系統(tǒng)中密鑰的狀態(tài)與保護(hù)*
Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
一種對稱密鑰的密鑰管理方法及系統(tǒng)
分簇結(jié)構(gòu)向量寄存器分配策略研究*
基于ECC的智能家居密鑰管理機(jī)制的實(shí)現(xiàn)
莫斷音動聽 且惜意傳情——論音樂作品“完整性欣賞”的意義
精子DNA完整性損傷的發(fā)生機(jī)制及診斷治療
樁身完整性檢測中缺陷的綜合判別
河南科技(2014年18期)2014-02-27 14:14:46
颍上县| 江达县| 和硕县| 洛阳市| 蚌埠市| 辉南县| 于都县| 龙游县| 庆阳市| 新乡县| 公主岭市| 察隅县| 龙泉市| 安仁县| 永和县| 商水县| 曲靖市| 调兵山市| 凯里市| 泊头市| 榆树市| 绍兴市| 云霄县| 田阳县| 岑溪市| 泗水县| 平舆县| 张家港市| 宁乡县| 青田县| 昔阳县| 博湖县| 蒙阴县| 容城县| 措勤县| 灵川县| 余江县| 乌兰县| 南雄市| 花垣县| 那坡县|