李小文,邵明苗
(重慶郵電大學(xué)通信與信息系統(tǒng),重慶 400065)
由于LTE移動通信系統(tǒng)采用了扁平化的無線接入網(wǎng)框架,使得eNodeB處于一個不被完全信任的區(qū)域。同時,由于網(wǎng)絡(luò)技術(shù)的日益發(fā)展、網(wǎng)絡(luò)環(huán)境的日益開放,使得信息在傳輸時遭遇到越來越多、不可預(yù)知的安全威脅,所以LTE系統(tǒng)提出了基于分層的安全結(jié)構(gòu):
1)接入層安全:主要執(zhí)行用戶接入鑒權(quán)和密鑰加密協(xié)商、RRC層信令的加密和完整性保護(hù)、用戶數(shù)據(jù)的加密保護(hù)等。
2)非接入層安全:主要執(zhí)行用戶接入鑒權(quán)、NAS信令的加密和完整性保護(hù)等。
同時,LTE中引入分層密鑰體系,優(yōu)勢在于對不同的目的使用不同的密鑰,可以最大限度地降低泄密密鑰帶來的安全風(fēng)險。
LTE移動通信系統(tǒng)中的密鑰派生體系見圖1,其中密鑰K為AUC(網(wǎng)絡(luò)端鑒權(quán)中心)和USIM中共享的總密鑰。CK、IK是HSS與USIM在EPS-AKA(演進(jìn)的分組系統(tǒng)認(rèn)證和密鑰協(xié)商)過程中生成的加密與完整性保護(hù)密鑰。KASME是HSS與UE根據(jù)CK、IK生成的安全性密鑰。KASME的派生子密鑰KNASint、KNASenc分別用于UE與MME之間的非接入層信令的加密與完整性保護(hù)。KeNB的派生子密鑰KRRCint、KRRCenc、KUPenc分別用于UE與eNodeB實體中RRC信令的加密、RRC信令的完整性保護(hù)、用戶數(shù)據(jù)的加密。參數(shù)NH用于在切換過程中更新KeNB。
圖1 LTE移動通信系統(tǒng)中的密鑰派生體系
這些密鑰的生成都是基于SHA-256核心算法。為了加強(qiáng)LTE中的安全性,文章將對此算法進(jìn)行優(yōu)化。
SFHA-256算法是基于Generic 3C-Hash結(jié)構(gòu)(圖2)。首先數(shù)據(jù)流經(jīng)過基于M-D結(jié)構(gòu)的f函數(shù)的處理,再將輸出結(jié)果利用ZPAD進(jìn)行填充,最后f'函數(shù)的輸出作為f函數(shù)的輸入。需要注意的是3C結(jié)構(gòu)需要進(jìn)行2次填充,一次是對初始數(shù)據(jù)流的填充,一次是利用ZPAD進(jìn)行填充。
本文中,+表示進(jìn)行模為232的加法;⊕表示異或;A<<<s表示字符串左移sbit。
圖2 Generic 3C-Hash算法結(jié)構(gòu)
1)填充
首先在數(shù)據(jù)流的末尾添加1 bit的1,然后再添加0,直到信息的長度對512求余是448,余下的64 bit填充為原始輸入數(shù)據(jù)流的長度。
2)輪函數(shù)
SFHA-256的輪函數(shù)包括兩部分:f和f'(圖3)。f包括兩個平行分支:Branch1和Branch2。因此攻擊者如果想破解該算法就需要同時破解這兩個函數(shù),從而提高了密鑰的安全性。其中f'只包括f的一個分支。
令CVi=[A,B,C,D,E,F(xiàn),G,H],它的初始值CV0如下:
圖3 未優(yōu)化的SFHA-256輪函數(shù)框圖
A0=6A09E667,B0=BB67AE85,C0=3C6EF372,D0=A54FF53A,E0=510E527F,F(xiàn)0=9B05688C,G0=1F83D9AB,H0=5BE0CD19。
每個連續(xù)的512 bit的信息塊M被分成16塊,每塊32 bit,依次為M0,M1,…,M15。每個分支的計算公式為
其中M的排序順序如下:
3)算法步驟
未優(yōu)化的SFHA-256算法結(jié)構(gòu)如圖4所示。
圖4 SFHA-256算法結(jié)構(gòu)
1)圖4中,輸出變量的值為
2)s*的說明
當(dāng)K=0 時,s1=5,s2=9,s3=3,s4=11,s5=8,s6=13,s7=7,s8=10。
當(dāng)K=1,2,3 時,有
3)β*的說明
在Branch1中用到的常量如下:
[β0,β1,…,β15]=[428A2F98,71374491,B5C0FBCF,E9B5DBA5,3956C25B,59F111F1,923F82A4,AB1C5ED5,D807AA98,12835B01,243185BE,550C7DC3,72BE5D74,80DEB1FE,9BDC06A7,C19BF174]。
在Branch2中順序是相反的。
整個未優(yōu)化的SFHA-256算法的結(jié)構(gòu)框圖如圖5所示。
圖5 未優(yōu)化的SFHA-256算法結(jié)構(gòu)
由于未優(yōu)化的SFHA-256算法是基于3C結(jié)構(gòu)的算法,而SHA-256算法是基于M-D結(jié)構(gòu)的,因此SFHA-256算法能夠更好地防御碰撞攻擊和多模塊攻擊。同時由于SFHA-256的壓縮模塊有兩個平行的分支,使得攻擊者很難能同時破解兩個分支。輪詢因子的變化能更好地避免沖突,而SHA-256中的輪詢因子是固定的。
未優(yōu)化的SFHA-256的缺點:由于f'只包括f的一個分支,顯然存在部分算法重復(fù)的嫌疑,因此需要對該部分算法進(jìn)行改進(jìn)。
函數(shù)f'的改進(jìn)方法為:
1)第k步的輸入被分成8個32 bit的字:Ak,Bk,Ck,Dk,Ek,F(xiàn)k,Gk,Hk。
2)第k+1步的計算過程如下:
其中s*的說明如下:
當(dāng)K=0 時,s1=5,s2=9,s3=3,s4=11,s5=8,s6=13,s7=7,s8=10。
當(dāng)K=1,2,3 時,有
雪崩效應(yīng)是指一種不穩(wěn)定的平衡狀態(tài),也是加密算法的一種特征,它指明文或密鑰的少量變化會引起密文的巨大變化,可以用來評估密鑰的抗沖突性。
抗沖突性可通過改變1 bit輸入數(shù)據(jù)來觀察輸出散列值變化的位數(shù)來衡量。輸入數(shù)據(jù)差異越小,輸出散列值差異越大,這說明沖突的可能性越小,抗沖突能力越強(qiáng)。均勻分布SFHA-256指哈希碼中0和1的比例,0/1越接近0.5安全性越好。下面從抗沖突性和均勻分布這兩方面來評估SFHA-256和優(yōu)化的SFHA-256的性能。
1)設(shè)置基礎(chǔ)輸入數(shù)據(jù)=“abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl”,對應(yīng)的十六進(jìn) 制 為 0x61626364, 0x65666768, 0x696A6B6C,0x6D6E6F70, 0x71727374, 0x75767778, 0x797A6162,0x63646566, 0x6768696A, 0x6B6C6D6E, 0x6F707172,0x73747576,0x7778797A。
2)按照如下規(guī)則改變基礎(chǔ)輸入數(shù)據(jù)的1 bit,產(chǎn)生32組不同的輸入數(shù)據(jù)序input1~input32:
(1)input1~input8:基礎(chǔ)輸入數(shù)據(jù)為01100001,從高位到低位每次改變1 bit,其他位不變。
(2)input9~input16:基礎(chǔ)輸入數(shù)據(jù)為01100110,從高位到低位每次改變1 bit,其他位不變。
(3)input17~input24:基礎(chǔ)輸入數(shù)據(jù)為01101100,從高位到低位每次改變1 bit,其他位不變。
(4)input25~input32:基礎(chǔ)輸入數(shù)據(jù)為01110000,從高位到低位每次改變1 bit,其他位不變。
3)仿真結(jié)果
仿真分析:仿真圖6中x軸代表input的編號,y軸代表輸入信息改變1 bit所造成的輸出變化位數(shù)與改變前輸出變化位數(shù)差值。在上述32組散列值中,SFHA-256變化位數(shù)的均值是126.419,而優(yōu)化的SFHA-256變化位數(shù)的均值是129.064,說明優(yōu)化的SFHA-256算法具有更好的抗沖突能力。
仿真分析:如圖7所示的24組散列值中,在優(yōu)化的SFHA-256算法中,0和1出現(xiàn)的概率更逼近0.5,說明優(yōu)化的SFHA-256算法具有更好的均勻分布性能。
圖7 均勻分布仿真圖
綜上所述,在LTE當(dāng)中利用優(yōu)化的SFHA-256作為密鑰生成的核心算法能夠更好地保證用戶數(shù)據(jù)的安全性。
在對LTE安全性的研究中,發(fā)現(xiàn)當(dāng)前用于生成各密鑰的SFHA-256算法在防止攻擊方面有一定的缺陷,因而對SFHA-256算法進(jìn)行了一定的優(yōu)化,并輸入24組輸入數(shù)據(jù)進(jìn)行仿真。通過對仿真結(jié)果進(jìn)行分析表明,優(yōu)化的SFHA-256在抗沖突性和均勻分布方面有更好的表現(xiàn),因此在“TD-LTE射頻一致性”項目的后續(xù)開發(fā)中將使用該算法,并盡可能地優(yōu)化。
:
[1]3GPP TS 33.401 V9.7.0,3GPP System Architecture Evolution(SAE);Security Architecture[S].2011.
[2]MENZES A J,OROSCHT P C,VANSTONE S A.Handbook of applied cryptography[M].Boca Raton,F(xiàn)lorica:CRC Press,1997.
[3]STALLINGS W.Cryptography and network security:practice[M].[S.l.]:Prentice-Hall Inc,2003.
[4]GAURANVARAM P,MILLAN W,NEITO J G,et al.3C-aprovably secure pseudorandom function and message authentication code[EB/OL].[2013-02-10].http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.79.6073.