張美玲 竇佩佩
摘 要:移動通信中的f9算法是信令消息的完整性驗證算法,它通過內(nèi)核算法計算出信息的消息認證碼,內(nèi)核算法的安全性決定了f9算法的安全性。針對這個特性,提出了以IDEA為內(nèi)核算法的f9算法,并與原內(nèi)核為KASUMI的f9算法在加密速度上進行了比較。實驗結(jié)果表明內(nèi)核為IDEA的f9算法在加密速度上有了明顯的提高。
【關(guān)鍵詞】移動通信 f9算法 IDEA 速度測試
目前,移動通信正在向4G通信平滑過渡,4G通信系統(tǒng)備受廣泛研究,4G的發(fā)展是繼 3G 標準的另一個階段。移動通信提供了多媒體業(yè)務、數(shù)據(jù)業(yè)務、以及多種信息服務。人們在使用這些服務的同時,大量敏感數(shù)據(jù)通過無線信道傳送或者存儲在無線平臺上,因此這些業(yè)務的大量出現(xiàn)對移動通信網(wǎng)絡的安全性提出了更高的要求。3G系統(tǒng)中的安全方案主要是實現(xiàn)用戶間安全通信,為特定的業(yè)務類型而設計,其中f9算法是信令消息的完整性驗證算法,用于對移動站和網(wǎng)絡間發(fā)送的控制信令信息進行完整性驗證。f9算法的研究對4G系統(tǒng)的網(wǎng)絡安全有很大的作用,能幫助4G移動通信機制更加健壯。
1 f9算法簡介
f9算法通過KASUMI算法生成完整性消息認證碼(MAC-I),對用戶終端(UE)和無線網(wǎng)絡控制器(RNC)之間的無線鏈路上的信令數(shù)據(jù)進行完整性保護和并對信令數(shù)據(jù)來源進行認證。f9算法是二進制消息認證MAC產(chǎn)生模塊,在主密鑰的控制下,采用密碼分組鏈接模式CBC,產(chǎn)生的消息認證碼用來對通信數(shù)據(jù)的來源和完整性進行認證。
2 KASUMI算法
KASUMI算法主要用來構(gòu)建3G系統(tǒng)中的安全算法f8和f9。它是基于日本三菱公司的分組密碼MISTY算法進行改進的。KASUMI算法是一個采用Feistel結(jié)構(gòu)的分組加密算法,密鑰長度為128比特,對一個64比特的輸入分組進行八輪的迭代運算,產(chǎn)生長度為64比特的輸出。輪函數(shù)包括一個輸入輸出為32比特的非線性混合函數(shù)FO和一個輸入輸出為32比特的線性混合函數(shù)FL。函數(shù)FO由一個輸入輸出為16比特的非線性混合函數(shù)FI進行3輪重復運算而構(gòu)成。而函數(shù)FI是由使用非線性的S-盒S7和S9構(gòu)成的4輪結(jié)構(gòu)。
3 以IDEA算法為f9算法的內(nèi)核算法
3.1 IDEA算法簡介
IDEA算法是分組長度為64位,密鑰長度為128位的分組密碼算法,加密算法與解密算法相同。輸入的64-位數(shù)據(jù)分組被分成4個16-位子分組:X1,X2,X3,X4。這4個子分組成為算法的第一輪的輸入,總共有8輪。在每一輪中,這4個子分組相互相異或,相加,相乘,且與6個16-位子密鑰相異或,相加,相乘。在輪與輪間,第二和第三個子分組交換。最后在輸出變換中4個子分組與4個子密鑰進行運算。
該算法用了52個子密鑰(8輪中的每一輪需要6個,其他4個用與輸出變換)。首先,將128-位密鑰分成8個16-位子密鑰。這些是算法的第一批8個子密鑰(第一輪六個,第二輪的頭兩個)。然后,密鑰向左環(huán)移25位后再分成8個子密鑰。開始4個用在第二輪,后面4個用在第三輪。密鑰再次向左環(huán)移25位產(chǎn)生另外8個子密鑰,如此進行直到算法結(jié)束。
3.2 內(nèi)核為IDEA的f9算法實現(xiàn)
由于IDEA算法理論設計上能抵抗差分攻擊和線性攻擊,具有很高的安全性,軟硬件實現(xiàn)容易,算法處理速度快,滿足3GPP中安全算法的要求,所以IDEA算法可以作為f9的內(nèi)核算法。IDEA算法和KASUMI算法的明文分組長度和密鑰長度相同,所以IDEA算法應用在f9算法中的參數(shù)設置也是一致的。
3.2.1 輸入輸出參數(shù)
f9算法在輸入?yún)?shù)完整性序列號COUNT、方向標識DIRECTION、隨機數(shù)FRESH、主密鑰IK和認證消息MESSAGE的作用下,生成消息認證碼MAC-I。其參數(shù)如表1所示。
3.2.2 初始化設置
設置寄存器變量A=0,B=0,分別為64bit;KM為128bit常數(shù),設置為0123456789ABCDEF0123456789ABCDEF;PS = COUNT ||FRESH||MESSAGE||DIRECTION[0]||1||0...0。PS為輸入?yún)?shù)COUNT,F(xiàn)RESH, MESSAGE和DIRECTION并聯(lián)在一起,其后再放一個“1”,跟著在“1”后面填充0,使PS的位數(shù)為64的整數(shù)倍數(shù)。
3.2.3 消息認證碼
消息認證碼由以下流程生成:
(1)先將PS分成若干個長度為64bit的分組PSn,0 (2)計算寄存器A的值:A=IDEA(A⊕PSn,IK) (3)計算寄存器B的值:B =B⊕A (4)計算B = IDEA(B,IK⊕KM) (5)取得32bit的消息認證碼為B的左邊32個bit:MAC-I[i] = B[i] (i=0…31),右邊的32個bit即B[32] ...B[63]被舍棄。 4 速度測試比較 本實驗采用的機器型號為:Intel處理器主頻為3.3GHz;內(nèi)存為4G;操作系統(tǒng)為Windows 7;機器型號為Core i3-3220。在Microsoft Visual C++ 6.0開發(fā)工具中用CTimeSpan類在加密程序的開始和結(jié)束用來獲取時間,兩個時間之差就是程序所用時間。本文做了五次測試,采用五個不同的主密鑰,如表2所示,每次測試來加密不同的數(shù)據(jù)量,最后將五次實驗求得平均值。 為了比較內(nèi)核為KASUMI算法和IDEA算法的f9軟件實現(xiàn)的加密速度,采用的是相同的參數(shù)設置,相同的機器環(huán)境、相同的明文以及相同的五種主密鑰。使用兩種不同內(nèi)核算法的f9在五種主密鑰下加密9種不同的數(shù)據(jù)量所用的時間對比見圖1所示(單位為毫秒)。
從圖1可以看出,隨著數(shù)據(jù)量的增加,內(nèi)核為IDEA的f9算法,比起原始內(nèi)核為KASUMI的f9算法,加密速度有很大的提高,所用的平均時間比以前少了2s左右。從理論上講,采用IDEA為內(nèi)核算法的f9方案從實現(xiàn)效率角度來看是可行。這就為3G無線鏈路上數(shù)據(jù)保護的安全性研究提供了可行性依據(jù)。
5 結(jié)束語
內(nèi)核算法是f9算法的重要組成部分,f9算法是通過內(nèi)核算法計算出信息的消息認證碼,內(nèi)核算法的安全性直接決定了f9算法的安全性。本文研究了內(nèi)核為IDEA的f9算法,并與原始內(nèi)核KASUMI的f9算法在加密速度上進行了比較。實驗結(jié)果表明內(nèi)核為IDEA比原始KASUMI的f9算法在加密速度上有了明顯的提高。這就為移動通信無線鏈路上數(shù)據(jù)保護的安全性研究和分組密碼IDEA算法充當f9的內(nèi)核算法的可能性提供了理論依據(jù)。
參考文獻
[1]唐成永.4G時代的信息安全威脅[J].信息與電腦,2015.
[2]朱里奇.第三代移動通信系統(tǒng)(3G)安全性研究[D].武漢:華中科技大學,2004.
[3]3GPP TS 35.201.Specification of 3GPP confidentiality and integrity algorithm:f8 and f9 specification[S],2009.
[4]3GPP TS 35.202.Specification of 3GPP confidentiality and integrity algorithm:KASUMI specification[S],2007.
[5]Lai X.On the Design and Security of Block Ciphers.ETH Series in Information Processing(1).Hartung-gorre Verlag,Konstanz,1992.
[6]Bruce Schneier 著,吳世忠等譯.應用密碼學-協(xié)議、算法與C語言程序[M].北京:機械工業(yè)出版社,2000.
[7]3GPP TS 33.105.3G Security Cryptographic Algorithm Requirement[S].2001.
[8]劉丹 張亞新等編著. Visual C++從入門到精通(第二版)[M].北京:化學工業(yè)出版社,2011.
作者簡介
張美玲(1981-),女,河南省滑縣人。軍事學碩士研究生學歷?,F(xiàn)為石河子大學信息科學與技術(shù)學院講師。研究方向為 密碼通信技術(shù)。
竇佩佩(1988-),女,陜西省鳳翔縣人。軍事學碩士研究生學歷?,F(xiàn)為石河子大學信息科學與技術(shù)學院講師。研究方向為 密碼加解密算法研究。
作者單位
石河子大學信息科學與技術(shù)學院 新疆維吾爾自治區(qū)石河子市 832000