(1. 重慶郵電學(xué)院, 重慶 400065;
2. 中國(guó)聯(lián)通江西分公司, 江西 南昌 330002)
摘 要:詳細(xì)介紹了GPRS與UMTS系統(tǒng)的網(wǎng)絡(luò)接入安全機(jī)制, 分析了GPRS系統(tǒng)中存在的安全漏洞及UMTS較GPRS 在網(wǎng)絡(luò)接入安全性方面的改善,最后分析了UMTS系統(tǒng)中存在的安全缺陷。
關(guān)鍵詞:移動(dòng)通信系統(tǒng);網(wǎng)絡(luò)接入安全; 認(rèn)證; 密鑰協(xié)商; 機(jī)密性; 完整性
一、引言
無(wú)線通信技術(shù)的迅速發(fā)展使移動(dòng)通信以及以移動(dòng)網(wǎng)絡(luò)為平臺(tái)的應(yīng)用得到越來(lái)越多的重視和推廣。 GPRS是在現(xiàn)有GSM網(wǎng)絡(luò)的基礎(chǔ)上,通過(guò)增加一些網(wǎng)絡(luò)節(jié)點(diǎn)給用戶提供分組接入服務(wù),即將到來(lái)的UMTS(以下簡(jiǎn)稱3G)不僅支持傳統(tǒng)的話音與數(shù)據(jù)業(yè)務(wù),還支持交互式業(yè)務(wù),如多媒體業(yè)務(wù)、電子商務(wù)、網(wǎng)上銀行以及互聯(lián)網(wǎng)等多種信息服務(wù)。對(duì)移動(dòng)用戶和網(wǎng)絡(luò)運(yùn)營(yíng)商來(lái)說(shuō),安全依然是其中至關(guān)重要的問(wèn)題。由于移動(dòng)用戶與通信網(wǎng)之間采用無(wú)線通信,易受竊聽(tīng)和攻擊,因此網(wǎng)絡(luò)接入安全機(jī)制是移動(dòng)通信系統(tǒng)安全方案中非常重要的一部分。本文首先詳細(xì)介紹了GPRS與3G系統(tǒng)的網(wǎng)絡(luò)接入安全機(jī)制,接著分析了3G較GPRS系統(tǒng)在網(wǎng)絡(luò)接入安全性方面的改善,最后分析了3G系統(tǒng)可能受到的攻擊。
二、GPRS與3G 系統(tǒng)的網(wǎng)絡(luò)接入安全機(jī)制
GPRS和3G提供的安全特征包括用戶身份機(jī)密性、認(rèn)證與密鑰協(xié)商和用戶數(shù)據(jù)與信令數(shù)據(jù)機(jī)密性保護(hù),在3G中還提供信令消息完整性保護(hù)。以下對(duì)上述幾個(gè)方面進(jìn)行詳細(xì)分析。
1用戶身份機(jī)密性
用戶身份是重要而又敏感的信息,在通信中必須保證這些信息的機(jī)密性。身份保密的目的是保護(hù)用戶的隱私,避免IMSI(永久用戶標(biāo)識(shí))信息的泄漏。
在GPRS系統(tǒng)的無(wú)線接入鏈路上,為了保護(hù)用戶身份的機(jī)密性,用臨時(shí)邏輯鏈路標(biāo)識(shí)(TLLI)與路由區(qū)域標(biāo)識(shí)(RAI)來(lái)鑒別用戶,而不是直接用IMSI來(lái)鑒別用戶身份。TLLI與IMSI的關(guān)系保存在SGSN(服務(wù)GPRS支持節(jié)點(diǎn))的數(shù)據(jù)庫(kù)中且只有移動(dòng)臺(tái)(MS)和SGSN知道。
在3G中,利用臨時(shí)用戶身份標(biāo)識(shí)(TMSI)代替IMSI鑒別用戶身份。臨時(shí)用戶身份標(biāo)識(shí)(TMSI)具有本地特征,僅在歸屬區(qū)域或用戶注冊(cè)的路由區(qū)域有效。在此區(qū)域外,為避免混淆,還應(yīng)該附加一個(gè)位置區(qū)域標(biāo)識(shí)(LAI)或路由區(qū)域標(biāo)識(shí)(RAI)。臨時(shí)用戶標(biāo)識(shí)與永久用戶標(biāo)識(shí)之間的關(guān)系保存在用戶注冊(cè)的VLR/SGSN中。
為了避免用戶的可追蹤性,不應(yīng)長(zhǎng)期使用同一TMSI來(lái)鑒別用戶身份。TMSI的更新是在安全模式建立以后由VLR/SGSN發(fā)起,再分配過(guò)程如下:
。1)VLR/SGSN產(chǎn)生一個(gè)新的TMSIn,并將該TMSIn與IMSI的關(guān)系存儲(chǔ)在它的數(shù)據(jù)庫(kù)中,然后VLR/SGSN向用戶發(fā)送TMSIn及一個(gè)新的位置區(qū)域標(biāo)識(shí)LAIn;
。2)用戶收到之后,保存TMSIn并自動(dòng)刪除與先前TMSI之間的關(guān)聯(lián)后,向VLR/SGSN發(fā)送應(yīng)答;
。3)VLR/SGSN收到應(yīng)答后,從數(shù)據(jù)庫(kù)中刪除與舊的TMSIo的關(guān)聯(lián),TMSIn用于隨后的身份鑒別過(guò)程中。
在GPRS或3G中,當(dāng)用戶無(wú)法通過(guò)TLLI 或TMSI來(lái)鑒別其身份時(shí),可利用IMSI來(lái)鑒別自己的身份。此過(guò)程主要用于用戶第一次注冊(cè)到一個(gè)服務(wù)網(wǎng)絡(luò)或VLR/SGSN無(wú)法從TLLI或TMSI中得到IMSI。此時(shí),由VLR/SGSN向用戶發(fā)送IMSI請(qǐng)求,用戶的應(yīng)答是包含IMSI信息的純文本,因此易造成用戶IMSI信息的泄露,違背了用戶身份的保密性。
2. GPRS與3G系統(tǒng)的認(rèn)證與密鑰協(xié)商過(guò)程
GPRS與3G系統(tǒng)的認(rèn)證過(guò)程由移動(dòng)臺(tái)(MS)、SGSN/VLR和HLR/AUC三方共同完成。認(rèn)證方為AUC(認(rèn)證中心)和用戶的SIM卡。GPRS和3G系統(tǒng)的認(rèn)證與密鑰協(xié)商過(guò)程分別是基于MS和HLR/AUC之間的共享密鑰Ki和K,認(rèn)證過(guò)程均由SGSN/VLR發(fā)起(如圖1所示),具體如下:
(1)MSSGSN/VLR MS向SGSN/VLR發(fā)出接入請(qǐng)求。
(2)SGSN/VLRHLR/AUC SGSN/VLR收到MS的接入請(qǐng)求后,向HLR /AUC發(fā)送認(rèn)證數(shù)據(jù)請(qǐng)求。
(3)HLR/AUCSGSN/VLR 在GPRS中,HLR/AUC 首先產(chǎn)生一個(gè)隨機(jī)數(shù)RAND,然后由Ki和RAND 經(jīng)A3算法產(chǎn)生簽名響應(yīng)SRES(AUC),經(jīng)A8算法產(chǎn)生加密密鑰Kc, 然后將認(rèn)證向量triplet { RAND, SRES(AUC), Kc } 通過(guò)認(rèn)證數(shù)據(jù)響應(yīng)消息發(fā)送到SGSN;而在3G中,HLR/AUC接收到認(rèn)證數(shù)據(jù)請(qǐng)求后,生成序列號(hào)SQN和隨機(jī)數(shù)RAND,計(jì)算認(rèn)證向量AV,并把認(rèn)證向量AV發(fā)送給SGSN/VLR。
(4)SGSN/VLRMS 在GPRS中,SGSN接收到認(rèn)證向量triplet后,向MS發(fā)出認(rèn)證請(qǐng)求,并將RAND發(fā)送給MS;在3G系統(tǒng)中,SGSN/VLR接收到認(rèn)證向量AV后,向MS發(fā)出認(rèn)證請(qǐng)求,將RAND及認(rèn)證令牌AUTN發(fā)送給MS。
(5)MSSGSN/VLR 在GPRS中,MS利用密鑰Ki和接收到的RAND,經(jīng)A3算法產(chǎn)生簽名響應(yīng)SRES(SIM),經(jīng)A8算法產(chǎn)生加密密鑰Kc,然后將簽名響應(yīng)SRES(SIM) 通過(guò)認(rèn)證響應(yīng)消息發(fā)送到SGSN;在3G中, MS接收到認(rèn)證請(qǐng)求后,首先計(jì)算消息認(rèn)證碼XMAC,并與認(rèn)證令牌AUTN中的消息認(rèn)證碼MAC比較,如果不同,則向SGSN/VLR發(fā)出拒絕認(rèn)證消息,并放棄認(rèn)證過(guò)程。同時(shí)MS驗(yàn)證接收到的序列號(hào)SQN是否在有效的范圍內(nèi),若不在有效的范圍內(nèi),MS則向SGSN/VLR發(fā)送同步失敗消息,放棄認(rèn)證過(guò)程。當(dāng)以上驗(yàn)證通過(guò)以后, MS才計(jì)算加密密鑰CK,完整性密鑰IK和用戶認(rèn)證應(yīng)答RES。并將RES發(fā)送給SGSN/VLR。
(6)在GPRS系統(tǒng)中,SGSN接收到SRES(SIM)后,與認(rèn)證向量triplet中的SRES(AUC) 進(jìn)行比較,相同則認(rèn)證成功;在3G中,SGSN/VLR接收到來(lái)自MS的RES后,將RES與認(rèn)證向量AV中的期望認(rèn)證應(yīng)答XRES進(jìn)行比較,相同則認(rèn)證成功,否則認(rèn)證失敗。
其中Ki為128 bit,A3算法的輸出簽名響應(yīng)SRES為32 bit,A8算法的輸出會(huì)話密鑰Kc為64 bit;AV:認(rèn)證向量,AV= RAND║XRES║CK║IK║AUTN;期望認(rèn)證應(yīng)答XRES=f2K(RAND);加密密鑰CK=f3K(RAND);完整性密鑰IK= f4K(RAND);認(rèn)證令牌AUTN=SQN⊕AK║AMF║MAC;SQN為序列號(hào);匿名密鑰AK=f5K(RAND);AMF為認(rèn)證管理域;消息認(rèn)證碼MAC= f1K(SQN║RAND║AMF);用戶認(rèn)證應(yīng)答RES= f2K(RAND);f1-f5,為3G安全結(jié)構(gòu)定義的認(rèn)證與密鑰協(xié)商算法,⊕表示異或,║為連接符。
3. GPRS與3G接入鏈路數(shù)據(jù)機(jī)密性保護(hù)
MS與網(wǎng)絡(luò)之間的安全通信模式建立以后,所發(fā)送的消息都將受到機(jī)密性保護(hù)。GPRS與3G分別使用GEA和f8算法對(duì)數(shù)據(jù)進(jìn)行加解密。GEA算法是保密的,其有效密鑰長(zhǎng)度小于64 bit, f8是一個(gè)128 bit密鑰對(duì)稱加密算法。GEA算法的輸入?yún)?shù):加密密鑰Kc,長(zhǎng)為64 bit;INPUT,長(zhǎng)為32 bit;方向位DIRECTION,長(zhǎng)為1 bit。f8算法的輸入?yún)?shù):加密密鑰CK,長(zhǎng)為128 bit;加密序列號(hào)COUNT-C,長(zhǎng)為32 bit;承載標(biāo)識(shí)BEARER,長(zhǎng)為5 bit;方向位DIRECTION,長(zhǎng)為1 bit;密鑰流長(zhǎng)度LENGTH,長(zhǎng)為16 bit。
用戶數(shù)據(jù)和信令數(shù)據(jù)加解密的方法:發(fā)端通過(guò)GEA 或f8算法產(chǎn)生密鑰流,密鑰流與要發(fā)送的明文消息逐比特異或產(chǎn)生密文,完成加密過(guò)程;密文傳到收端后,由收端先通過(guò)GEA算法或f8算法產(chǎn)生密鑰流,然后與接收到的密文逐比特異或產(chǎn)生明文,完成解密過(guò)程。
4. 信令消息完整性保護(hù)
3G不僅提供數(shù)據(jù)機(jī)密性保護(hù),還提供信令數(shù)據(jù)完整性保護(hù),保證了信令數(shù)據(jù)在傳輸過(guò)程中的完整性。保護(hù)流程如圖2所示。
其中f9為完整性保護(hù)算法;IK為完整性密鑰,長(zhǎng)為128bit;COUNT-I為完整性序列號(hào),長(zhǎng)為32 bit; FRESH為網(wǎng)絡(luò)產(chǎn)生的隨機(jī)數(shù),長(zhǎng)為32 bit,用于防止重放攻擊;MESSAGE為發(fā)送的報(bào)文;DIRECTION為方向位,長(zhǎng)為1 bit,0表示UE→RNC,1表示RNC→UE。
MAC-I為用于信令消息完整性保護(hù)的消息認(rèn)證碼。發(fā)送端用圖2所示的方法計(jì)算MAC-I,并把它附加在報(bào)文后與報(bào)文一起發(fā)給接收端,接收端收到報(bào)文后用發(fā)送端同樣的方法計(jì)算XMAC-I,并與接收到的MAC-I比較,以驗(yàn)證信令消息的完整性。
三、3G較GPRS系統(tǒng)在網(wǎng)絡(luò)接入安全性方面的改善
從以上分析過(guò)程中,不難看出3G與GPRS相比,網(wǎng)絡(luò)接入安全性在以下幾個(gè)方面的得到改善和提高。
1身份認(rèn)證方面
在GPRS系統(tǒng)中,通過(guò)比較SRES(SIM)和SRES(AUC)是否相同,實(shí)現(xiàn)了網(wǎng)絡(luò)對(duì)用戶的認(rèn)證,可以防止非授權(quán)用戶使用GPRS的網(wǎng)絡(luò)資源,但認(rèn)證是一個(gè)單向身份認(rèn)證過(guò)程(網(wǎng)絡(luò)→用戶),只實(shí)現(xiàn)了網(wǎng)絡(luò)對(duì)用戶的認(rèn)證,用戶對(duì)SGSN不進(jìn)行認(rèn)證。無(wú)法防止假SGSN對(duì)用戶的欺騙,讓用戶以為連接到了真正的GPRS 網(wǎng)絡(luò)上,這樣可能使用戶的敏感信息被竊聽(tīng)或無(wú)法正常訪問(wèn)網(wǎng)絡(luò)資源。而在3G中,實(shí)現(xiàn)了用戶與網(wǎng)絡(luò)的相互認(rèn)證,通過(guò)驗(yàn)證XRES與RES是否相同,實(shí)現(xiàn)了VLR/SGSN對(duì)MS的認(rèn)證;通過(guò)比較XMAC與MAC是否相同,實(shí)現(xiàn)了MS對(duì)HLR/AUC的認(rèn)證。3G的相互認(rèn)證機(jī)制有效地保護(hù)了用戶與運(yùn)營(yíng)商雙方的利益。
2. 用戶數(shù)據(jù)與信令數(shù)據(jù)加密方面
加密技術(shù)是實(shí)現(xiàn)安全通信的核心,為了保證敏感數(shù)據(jù)不被竊聽(tīng),必須對(duì)用戶數(shù)據(jù)和信令數(shù)據(jù)進(jìn)行有效加密,F(xiàn)在,對(duì)于一段用64 bit密鑰加密的密文,采用強(qiáng)行攻擊(Brute-force)的方法,嘗試所有可能的密鑰,直至取得可理解明文從計(jì)算復(fù)雜度上講已不再困難。顯然,隨著計(jì)算機(jī)處理器速度的不斷提高,GPRS的數(shù)據(jù)加密算法GEA加密密鑰Kc(64 bit)長(zhǎng)度太短,無(wú)法抵抗窮舉攻擊。而3G的加密算法f8其密鑰K長(zhǎng)度為128 bit,在相當(dāng)長(zhǎng)的時(shí)間內(nèi)能有效抗擊這種類型的攻擊。
3. 信令消息完整性保護(hù)方面
信令是重要而又敏感的數(shù)據(jù),必須得到有效保護(hù)。GPRS沒(méi)有提供信令消息完整性保護(hù)機(jī)制,無(wú)法保證信令數(shù)據(jù)在傳輸過(guò)程中的完整性。3G增加了信令消息完整性保護(hù)機(jī)制,防止非授權(quán)方隨意更改信令數(shù)據(jù),這些更改包括篡改、插入、重演或刪除,3G的信令消息完整性保護(hù)機(jī)制保證了信令數(shù)據(jù)在傳輸過(guò)程中的完整性。
四、3G安全缺陷
3G與以往的移動(dòng)通信系統(tǒng)相比,在安全性方面有了很大的提高,但是3G仍能存在一些安全缺陷,表現(xiàn)在以下幾個(gè)方面:
。1)未保護(hù)到的信令數(shù)據(jù)
用戶真實(shí)身份、當(dāng)前位置及其運(yùn)動(dòng)模式是重要而又敏感的信息,在通信中必須保證這些信息的機(jī)密性。在3G的認(rèn)證方案中,使用臨時(shí)身份標(biāo)識(shí)(TMSI)來(lái)鑒別用戶,提供了一定程度的匿名性。但當(dāng)用戶第一次注冊(cè)到一個(gè)服務(wù)網(wǎng)絡(luò)或無(wú)法從TMSI中得到IMSI時(shí),服務(wù)器向用戶發(fā)送IMSI請(qǐng)求,用戶的應(yīng)答是包含IMSI信息的純文本,易造成用戶IMSI信息的泄漏,違背了用戶身份的保密性,因此直接通過(guò)IMSI鑒別用戶身份的方式應(yīng)盡量少用。
。2)拒絕服務(wù)攻擊
在安全模式建立過(guò)程中,MS通過(guò)空中接口以明文方式把安全能力參數(shù)發(fā)送給RNC,假如攻擊者截獲到此報(bào)文,對(duì)其篡改后再發(fā)給RNC,那么RNC接收到的參數(shù)與儲(chǔ)存在其數(shù)據(jù)庫(kù)中UE的服務(wù)能力參數(shù)將會(huì)不同,RNC終止接入程序,這可能導(dǎo)致合法用戶不能正常訪問(wèn)服務(wù)網(wǎng)絡(luò),但用戶身份的匿名性能抗擊針對(duì)某一特定用戶的拒絕服務(wù)攻擊。
。3)未提供用戶數(shù)據(jù)完整性保護(hù)
3G的完整性保護(hù)機(jī)制只用在UE和RNC之間信令數(shù)據(jù)傳輸中,沒(méi)有提供用戶數(shù)據(jù)的完整性保護(hù)。當(dāng)然,用戶數(shù)據(jù)沒(méi)有得到完整性保護(hù)并不表明完全不能抵抗攻擊者的惡意篡改,差錯(cuò)控制機(jī)制能夠檢測(cè)和糾正數(shù)據(jù)中的一些更改。另外,經(jīng)過(guò)篡改過(guò)的數(shù)據(jù)中所含信息量會(huì)較少,解密后很可能沒(méi)有多少有實(shí)際意義的信息,此時(shí)用戶或應(yīng)用程序能夠檢測(cè)并采取恰當(dāng)?shù)姆绞浇邮者@些更改過(guò)的報(bào)文,因此對(duì)于話音和一般的數(shù)據(jù)業(yè)務(wù),影響不是很大,但對(duì)于開(kāi)展網(wǎng)上銀行、網(wǎng)上證券這些新業(yè)務(wù),僅通過(guò)差錯(cuò)控制機(jī)制和加解密提供低等極的完整性保護(hù)是不充分的,因此,對(duì)于這些要求高安全性的業(yè)務(wù),應(yīng)提供端到端的完整性保護(hù)功能。
。4)Iu和Iur接口上傳輸?shù)臄?shù)據(jù)缺乏保護(hù)措施
VLR/SGSN和RNC之間的接口稱為Iu接口,RNC之間的接口稱為Iur接口。在3G中,在Iu接口上以明文方式傳輸保密參數(shù)(如完整性密鑰IK),如果RNC控制多個(gè)Node B且和VLR/SGSN設(shè)置在同一地點(diǎn)時(shí), 容易實(shí)現(xiàn)Iu接口上數(shù)據(jù)傳輸?shù)陌踩? 但當(dāng)VLR/SGSN負(fù)責(zé)多個(gè)分布在不同地點(diǎn)的RNC時(shí),保證Iu接口數(shù)據(jù)傳輸?shù)陌踩允且豁?xiàng)富有挑戰(zhàn)性的工作。另外,用戶越區(qū)切換時(shí),密鑰在Iur接口上也是以明文方式傳給新的RNC。一旦攻擊者通過(guò)Iu接口和Iur接口獲得密鑰,用戶隨后的通信將沒(méi)有安全性而言。因此應(yīng)根據(jù)已經(jīng)形成的接入網(wǎng)安全規(guī)范,充分認(rèn)識(shí)接入網(wǎng)、服務(wù)網(wǎng)和核心網(wǎng)之間的交互關(guān)系,設(shè)計(jì)一個(gè)完整的安全架構(gòu),不僅形成一個(gè)網(wǎng)絡(luò)域(接入網(wǎng)、服務(wù)網(wǎng)和核心網(wǎng))實(shí)體之間的安全信息交互,而且實(shí)現(xiàn)整個(gè)網(wǎng)絡(luò)范圍內(nèi)不同用戶之間的安全業(yè)務(wù)通信,這個(gè)工作還有待于進(jìn)一步研究。
五、總結(jié)
3G是在全球范圍內(nèi)覆蓋與使用的通信網(wǎng)絡(luò)系統(tǒng),它是在GSM與GPRS的基礎(chǔ)上發(fā)展起來(lái)的,繼承了GPRS網(wǎng)絡(luò)中有效的安全特征,如采用身份認(rèn)證和用戶數(shù)據(jù)和信令數(shù)據(jù)的加密等,并在身份認(rèn)證、用戶數(shù)據(jù)與信令數(shù)據(jù)加密和信令消息完整性保護(hù)方面克服和改進(jìn)其不足之處,因此,3G較GPRS在網(wǎng)絡(luò)接入安全性方面有很大的提高,但3G仍能存在一些安全漏洞,在未來(lái)實(shí)用3G系統(tǒng)研究與設(shè)計(jì)中,應(yīng)考慮這些可能的攻擊并加以克服,使用戶享受更加安全的通信服務(wù)。
參考文獻(xiàn)
[1]Geir M Kien. Overview of UMTS security [J].Telektronikk 1-2002:102~107
[2]Geir M Kien. UMTS Network Domain Security [J].Telektronikk 1-2002:164~171
[3]ETSI TS101.106, Digital cellular telecommunications system (Phase 2+): GPRS ciphering algorithm requirements [S].
[4]ETSI GSM 03.60,Digital cellular telecommunications system (Phase 2+): Service description [S].
[5]3GPP TS33.102,3G Security: Security Architecture [S].
[6]3GPP TS35.201,Specification of the 3GPP Confidentiality and Integrity Algorithms; Document 1: f8 and f9 Specification [S].
摘自 電訊技術(shù)