簡(jiǎn)析GSM加密算法
GSM加密算法主要有三種加密算法:A3是鑒權(quán)算法,A8是密鑰的約定算法,A5是用于加密的流密碼。
GSM規(guī)范沒(méi)有指定A3和A8專(zhuān)用算法,僅僅指定了A3和A8算法的外部接口。加密算法的原型是可由使用人員獨(dú)立選擇的。然而許多人使用GSM備忘錄里的例子,稱(chēng)為COMP128。
A3提供手機(jī)到網(wǎng)絡(luò)的鑒權(quán),A8是產(chǎn)生密鑰Kc的算法。這些加密的算法是基于用戶(hù)專(zhuān)用的密鑰Ki,它是手機(jī)和網(wǎng)絡(luò)共知的。用戶(hù)手機(jī)的Ki固化在用戶(hù)的Sim卡內(nèi),而GSM網(wǎng)絡(luò)端的Ki放在與用戶(hù)號(hào)碼相對(duì)應(yīng)的用戶(hù)歸屬位置寄存器HLR內(nèi)。GSM加密算法沒(méi)有專(zhuān)門(mén)規(guī)定Ki的長(zhǎng)度,所以它留給運(yùn)行商去選擇。但是,通常它是128位長(zhǎng)的密鑰。用戶(hù)對(duì)網(wǎng)絡(luò)的鑒權(quán)使用A3,算法如下:網(wǎng)絡(luò)向用戶(hù)提出128位的隨機(jī)數(shù)RAND,用戶(hù)計(jì)算出32位長(zhǎng)的相應(yīng)SRES=A3(Ki,RAND),并發(fā)送SRES到網(wǎng)絡(luò)。網(wǎng)絡(luò)去檢測(cè)它是否有效。密鑰 期 K c用A8獲得如下:Kc=A8(K i,RA ND)。注意,A8和A3總是用同樣的參數(shù)同時(shí)算出。在大多數(shù)實(shí)施中,它們是一個(gè)算法的兩個(gè)輸出,SRES和Kco所以一般總是用A3/A8來(lái)說(shuō)明。

A5加密算法是GSM加密算法的一部分,但是它從來(lái)沒(méi)有被公開(kāi)過(guò)技術(shù)內(nèi)容與細(xì)節(jié),目前A5有兩種形式,A5/1是“強(qiáng)”的版本,有出口限制,A5/2是“弱”的版本,而無(wú)出口限制。A5/3是補(bǔ)充的新版本,它雖已標(biāo)準(zhǔn)化但尚未用于GSM網(wǎng)絡(luò)。A5/3是最近才使用的,是以塊加密KASUMI為基礎(chǔ)的。
A5是流密碼,包括三組時(shí)鐘控制的線性反饋移位寄存器LFSRs,每組分別是19,22和23級(jí)??刂茣r(shí)鐘是三組移位寄存器每組中部分比特的門(mén)限函數(shù),三組移位寄存器的級(jí)數(shù)總和為64,64位會(huì)話密鑰被用來(lái)初始化移位寄存器內(nèi)容,22比特TDMA幀被饋入移位寄存器,為每個(gè)TDMA幀產(chǎn)生兩個(gè)114比特密鑰流,它與發(fā)送或接收數(shù)據(jù)流異或。

GSM的通信是以4.6毫秒長(zhǎng)的幀連續(xù)發(fā)送的。A5/1或A5/2算法輸出228比特的密鑰流,前114比特用作加密網(wǎng)絡(luò)到用戶(hù)的下行鏈路,后114比特用作加密用戶(hù)到網(wǎng)絡(luò)的上行鏈路。加密是簡(jiǎn)單地將信息與密鑰流異或。每幀通信用一新的密碼段Kc加密。
GSM加密算法已具備了保密機(jī)制,網(wǎng)絡(luò)人員和供應(yīng)商應(yīng)用這些保密機(jī)制可為GSM用戶(hù)提供保密電話和綜合蜂窩網(wǎng)業(yè)務(wù)。保密機(jī)制可通過(guò)對(duì)用戶(hù)鑒權(quán)來(lái)保護(hù)網(wǎng)絡(luò)。對(duì)話音加密可為用戶(hù)提供保密通信。




