張豪,韓慧蓮
(中北大學(xué) 電子測(cè)試技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室, 山西太原 030051)
自GSM誕生以來(lái),移動(dòng)通信很快就成為這個(gè)時(shí)代不可缺少的一部分。安全問(wèn)題一直是移動(dòng)通信系統(tǒng)中至關(guān)重要的一個(gè)問(wèn)題,無(wú)線(xiàn)通信由于具有開(kāi)放式的空中接口,信息安全就顯得尤其重要。同時(shí),受到移動(dòng)設(shè)備有限資源的限制,接入認(rèn)證與密鑰協(xié)商作為安全體系的基礎(chǔ),研究其安全性、有效性、實(shí)用性就具有非常現(xiàn)實(shí)的意義。
第三代移動(dòng)通信系統(tǒng)(3G)是一個(gè)在全球范圍內(nèi)覆蓋與使用的網(wǎng)絡(luò)系統(tǒng),它集有線(xiàn)、蜂窩和衛(wèi)星通信于一體,向用戶(hù)提供高質(zhì)量的多媒體通信[1]。第三代移動(dòng)通信系統(tǒng)(3G系統(tǒng))的認(rèn)證和密鑰協(xié)商協(xié)議是3G系統(tǒng)網(wǎng)絡(luò)接入安全的核心機(jī)制,如果身份認(rèn)證和密鑰協(xié)商協(xié)議出現(xiàn)安全漏洞,會(huì)使整個(gè)會(huì)話(huà)都沒(méi)有安全性可言。可見(jiàn)對(duì)于3G系統(tǒng)的認(rèn)證和密鑰協(xié)商協(xié)議的研究具有十分重要的意義。
本文對(duì)密碼學(xué)相關(guān)理論知識(shí)做了研究,介紹了第三代移動(dòng)通信系統(tǒng)的安全體系結(jié)構(gòu),研究了第三代移動(dòng)通訊系統(tǒng)的認(rèn)證與密鑰協(xié)商機(jī)制,指出了其中存在的漏洞,并給出了解決辦法,最后介紹3G認(rèn)證和密鑰協(xié)商協(xié)議(AKA)的安全算法。
認(rèn)證與保密是信息安全的兩個(gè)重要的方面。保密是防止明文信息的泄漏,認(rèn)證則主要是為了防止第三方的主動(dòng)攻擊,比如,冒充通信的發(fā)送方或者篡改信道中正在傳輸?shù)南ⅰ?/p>
在GSM系統(tǒng)中,身份認(rèn)證是單向的,基站能夠驗(yàn)證用戶(hù)的身份是否合法,而用戶(hù)無(wú)法確認(rèn)他所連接的服務(wù)網(wǎng)絡(luò)是否可靠。3GAKA協(xié)議借鑒了GSM身份認(rèn)證的詢(xún)問(wèn)-應(yīng)答機(jī)制,結(jié)合ISO/IEC 9798-4基于“知識(shí)證明”和使用順序號(hào)的一次性密鑰建立協(xié)議,實(shí)現(xiàn)了雙向認(rèn)證。該安全機(jī)制如圖1所示。
在該系統(tǒng)中,用戶(hù)UE的USIM(User Service Identity Module)和它的歸屬域HLR中的認(rèn)證中心AuC共享密鑰K,該密鑰不在網(wǎng)絡(luò)中傳輸。當(dāng)HLR/AuC接收到VLR發(fā)來(lái)的認(rèn)證請(qǐng)求信息后,它將產(chǎn)生一組認(rèn)證向量并發(fā)往VLR(Authentication data response)。這些認(rèn)證向量基于序列號(hào)SQN順序排列。每一個(gè)認(rèn)證向量都是一個(gè)五元組(RAND,XRES,CK,IK,AUTN)。當(dāng)VLR要發(fā)起一次AKA協(xié)商時(shí),從認(rèn)證向量數(shù)組中選擇當(dāng)前的下一個(gè)未被使用的向量AV(i),并將參數(shù)RAND和AUTN付發(fā)給用戶(hù)USIM。一旦收到,用戶(hù)首先驗(yàn)證AUTN是否可接受,如果AUTN是可接受,USIM它將產(chǎn)生一應(yīng)答RES發(fā)往VLR,同時(shí)計(jì)算CK和IK。VLR將接收的RES及與存儲(chǔ)的XRES比較,如果兩者匹配,VLR認(rèn)為本次AKA成功。雙方就可以用CK、IK加密驗(yàn)證后續(xù)的通信內(nèi)容。

圖1 3G認(rèn)證和密鑰協(xié)商過(guò)程
VLR在協(xié)議第三步接收到來(lái)自HLR的認(rèn)證向量中包含了期望MS產(chǎn)生的應(yīng)答XRES= f2K(RAND)。若MS是合法用戶(hù),在協(xié)議第四步接收到HLR產(chǎn)生的隨機(jī)數(shù)RAND后,應(yīng)能正確的計(jì)算RES=f2K(RAND),并且RES=XRES。
MS對(duì)HLR的認(rèn)證是通過(guò)消息認(rèn)證碼MAC實(shí)現(xiàn)的。MS接收到VLR轉(zhuǎn)發(fā)的來(lái)自HLR 的 MAC=f1K(SQN‖RAND‖AMF), 計(jì) 算XMAC=f1K(SQN‖RAND‖AMF),在保證SQN的正確性前提下,MAC≡XMAC,則認(rèn)證成功。
VLR在協(xié)議第三步接收到來(lái)自HLR的認(rèn)證向量中包含了加密密鑰CKHLR與完整性密鑰IKHLR,合法用戶(hù)在收到正確的隨機(jī)數(shù)RAND后,能正確產(chǎn)生CKMS=f3K(RAND),IKMS=f4K(RAND),并且CKHLR≡CKMS,IKHLR≡IKMS。CK與IK將用于其后的保密通信,而CK與IK未在無(wú)線(xiàn)接口中傳輸,確保了密鑰的安全性。
MS與VLR之間每次通信均采用不同的密鑰CK與IK。由于每次通信前的認(rèn)證選擇了不同的認(rèn)證向量,保證每次通信采用的密鑰CK與IK是采用不同的隨機(jī)數(shù)計(jì)算得到。而每次使用的消息認(rèn)證碼MAC是由不斷遞增的序列號(hào)SQN作為其輸入變量之一,保證了認(rèn)證消息的新鮮性,從而確保密鑰的新鮮性,有效地防止了重放攻擊。
通過(guò)對(duì)上述協(xié)議過(guò)程分析發(fā)現(xiàn),該認(rèn)證方案實(shí)現(xiàn)了VLR對(duì)MS以及MS對(duì)HLR的認(rèn)證,而不要求MS對(duì)VLR進(jìn)行認(rèn)證。攻擊者A可利用截獲的合法用戶(hù)身份標(biāo)識(shí)進(jìn)行的攻擊如下:
(1) MS→A:IMSI
(2) A→VLR:IMSI
(3) VLR→HLR:IMSI
(4) HLR → VLR:AV=RAND‖XRES‖CK‖IK‖AUTN
(5) VLR→A:RAND‖AUTN
(6) A→MS:RAND‖AUTN
(7) MS→A:RES
(8) A→VLR:RES
這樣,攻擊者A就可以假冒該用戶(hù)身份入網(wǎng)。但由于加密密鑰CK與完整性密鑰IK未在無(wú)線(xiàn)接口中傳輸,攻擊者無(wú)法獲得這些密鑰而進(jìn)行正常的保密通信。
另外,上述方案沒(méi)有考慮到網(wǎng)絡(luò)端的認(rèn)證與保密通信。如果攻擊者對(duì)VLR與HLR之間的信息進(jìn)行竊聽(tīng),就可以獲得HLR傳給VLR的認(rèn)證向量AV,從而可獲得加密密鑰CK與完整性密鑰IK。此時(shí),攻擊者再假冒該合法用戶(hù)身份入網(wǎng),即可實(shí)現(xiàn)正常的保密通信,而且合法用戶(hù)傳送的信息也就失去的保密性。
這一內(nèi)核算法可以用函數(shù)表示為Core(I1, I2, I3, P),I1, I2, I3,每個(gè)輸入?yún)?shù)長(zhǎng)度為128 bit,分別作為Hash算法的明文輸入,p對(duì)于Hash算法而言,表示需要進(jìn)行Hash運(yùn)算的次數(shù),函數(shù)的輸出長(zhǎng)度為160bit。據(jù)此,AKA協(xié)議中涉及到的函數(shù)f0、fl、fl*、f2、f3、f4、f5和f5*可分為以下3類(lèi)表述:
(1) f0函數(shù)
對(duì)函數(shù)f0,其輸入只要是內(nèi)部狀態(tài)即可,我們?cè)O(shè)置如下參數(shù):op,長(zhǎng)度為128 bti,為or函數(shù)的特有操作員變量;Seed,長(zhǎng)度為128bti的秘密種子;函數(shù)識(shí)別符idf0,長(zhǎng)度8 bit。
(2) fl、fl* 函數(shù)
fl、fl*函數(shù)的共同輸入?yún)?shù)有:密鑰K,長(zhǎng)125 bit;隨機(jī)數(shù)RAND,長(zhǎng)128 bit;設(shè)置操作員變量op,長(zhǎng)125 bit;SQN,長(zhǎng) 48 bit,AMF,長(zhǎng) 16 bit。
對(duì)fl和fl*,采用同一次計(jì)算的結(jié)果,取Result的高64 bit作為fl*函數(shù)的輸出.
(3) f2、f3、f4、fs、fs* 函數(shù)
這些函數(shù)的共同輸入?yún)?shù)有:密鑰K,長(zhǎng)128 bit;隨機(jī)數(shù)RAND,長(zhǎng)128 bit;設(shè)置操作員變量op,長(zhǎng)128 bit。此外,各函數(shù)的輸入?yún)?shù)還有函數(shù)識(shí)別符dif:對(duì)函數(shù)f2,dif=dif2;對(duì)函數(shù)f3,dif=dif3;對(duì)函數(shù)f4,dif=dif4。
令 I1=op,I2=RAND ⊕ (dif‖0‖0‖0‖dif‖0‖0‖0‖dif‖0‖0‖0),I3=K,Result= Core(I1, I2, I3, P)。
對(duì)函數(shù)f2和f5,取Result的低64位作為f2函數(shù)的輸出,取Result的高48 bit作為f5函數(shù)的輸出。對(duì)函數(shù)紹f3或f4,Result即作為f3或4f的輸出。對(duì)函數(shù),取Result的高48 bit作為f5*函數(shù)的輸出。
由于新的AKA算法設(shè)計(jì)的安全性依賴(lài)于內(nèi)核算法Hash函數(shù)的安全性,所以仿真重點(diǎn)放在對(duì)Hash函數(shù)性能的測(cè)試上面。
根據(jù)3.1所述算法編制了程序,并作了大量測(cè)試,以下是截取的部分實(shí)驗(yàn)。
取初始文本1為“Find”,文本2將文本1中首字母F改為G,調(diào)整的原則是保證后面的文本相對(duì)于文本1只有1hit的變化。同時(shí)分別去p=1,2做測(cè)試。
Hash結(jié)果用十六進(jìn)制表示,得到的Hash結(jié)果分別為:
(l)P=l時(shí):
文本一:
10l0000l00l000001000l0100O01l0ll0ll11lI00l1l01l 001l01l0000lO0l0I01l1lO001l00l11000ll011ll0ll000000l 0l00O111lll0100010llll000000000011010111100101000-100000001100
文本二:
10001l100l11ll100010l0l11OlO0011l011l01010l1001 0l100l1100ll1001101011000ll1000110Ol0ll10ll01100ll0110 0000110001001O0l100ll0100l0lO11001110101101000010-0100110110
(二)p=2時(shí):
文本一:
01000l0100010l10010101001l01lllO0ll1l1l000101111 001100001l00111l011011001000l10l0010000l1l00000111l l0101l11l11001l10l110ll001l00Ol10001010000010110110-1100010010
文本2:
0010100ll01100l100l110011l11001O00ll00100101O0l0 11001001ll1l0010000101110111101001000000l010000l10ll 101001010000l10001l001l100O00000110010001110010001-1111110101
從仿真結(jié)果我們可以看出該算法的單項(xiàng)hash性能很好,初值的每bit變動(dòng),結(jié)果都會(huì)發(fā)生很大的變化,具有很高的初值敏感度。
第三代移動(dòng)通信(3G)系統(tǒng)是一個(gè)在全球范圍內(nèi)覆蓋與使用的通信網(wǎng)絡(luò)系統(tǒng),所提供的業(yè)務(wù)除了傳統(tǒng)的語(yǔ)音業(yè)務(wù)外,還包括多媒體業(yè)務(wù)、數(shù)據(jù)業(yè)務(wù),以及電子商務(wù)、電子貿(mào)易和互聯(lián)網(wǎng)服務(wù)的多種信息業(yè)務(wù)。因此在第三代移動(dòng)通信系統(tǒng)中,安全性要求尤為重要。本文針對(duì)第三代移動(dòng)通信系統(tǒng)中的AKA(認(rèn)證和密鑰協(xié)商)協(xié)議進(jìn)行了研究,通過(guò)大量參考文獻(xiàn)的閱讀,介紹了3G系統(tǒng)的安全特性、安全目標(biāo)以及存在的安全威脅。重點(diǎn)介紹了3G系統(tǒng)的安全體系結(jié)構(gòu),詳細(xì)分析了網(wǎng)絡(luò)接入安全機(jī)制。為了展開(kāi)以后對(duì)其AKA協(xié)議的研究工作奠定了基礎(chǔ)。
[1]湯勁松.個(gè)人通信安全接入認(rèn)證的研究[D].杭州:浙江大學(xué),2002:1-20.
[2]曹鵬,文灝等.第三代移動(dòng)通信系統(tǒng)安全[J].移動(dòng)通信,2001(01):20-21.
[3]劉東蘇,韋寶典,王新梅,等.第三代移動(dòng)通信系統(tǒng)的安全體系結(jié)構(gòu)[J].西安電子科技大學(xué)學(xué)報(bào),2002(6):353-354.
[4]李世泓.第三代移動(dòng)通信中的安全技術(shù)研究[D].重慶:重慶郵電學(xué)院,2005:23-24.
[5]劉東蘇,韋寶典,王新梅.改進(jìn)的3G認(rèn)證與密鑰分配協(xié)議[J].通信學(xué)報(bào),2002(05):1-21,62-99.
[6]劉鋒,李盤(pán)林,廖曉峰.3G通信安全協(xié)議的描述及實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2004(11):161-164.