摘要 WCDMA和TD-SCDMA移動(dòng)通信技術(shù)是3GPP定義的第三代移動(dòng)通信國(guó)際標(biāo)準(zhǔn),與GSM網(wǎng)絡(luò)相比,其安全性有了極大的提高,本文對(duì)3GPP網(wǎng)絡(luò)定義的安全機(jī)制進(jìn)行了全面的分析,并提出了增強(qiáng)其安全性的幾點(diǎn)建議。
一、引言
WCDMA移動(dòng)通信網(wǎng)絡(luò)和TD-SCDMA移動(dòng)通信網(wǎng)絡(luò)是國(guó)際電信聯(lián)盟(ITU)認(rèn)可,并由3GPP組織完成的第三代移動(dòng)通信國(guó)際標(biāo)準(zhǔn),其中WCDMA標(biāo)準(zhǔn)由歐洲、日本提出,而TD-SCDMA標(biāo)準(zhǔn)由我國(guó)提出。
與第二代移動(dòng)通信技術(shù)相比,第三代移動(dòng)通信技術(shù)可以提供更加豐富的通信業(yè)務(wù),包括語音、傳真、短消息、視頻通話、多媒體短消息、高速互聯(lián)網(wǎng)業(yè)務(wù)等。在此基礎(chǔ)上,第三代移動(dòng)通信網(wǎng)絡(luò)用戶可以享受豐富的通信業(yè)務(wù)帶來的各種便利,如可以在任何地點(diǎn)方便地通過網(wǎng)上銀行查賬及轉(zhuǎn)賬,可以通過手機(jī)炒股等。這些應(yīng)用對(duì)第三代移動(dòng)通信網(wǎng)絡(luò)的安全性提出了更高的要求。第三代移動(dòng)通信網(wǎng)絡(luò)的安全機(jī)制與第二代移動(dòng)通信網(wǎng)絡(luò)相比,安全性有了很大提高,如增加了移動(dòng)終端對(duì)網(wǎng)絡(luò)的認(rèn)證,加密密鑰由64bit增加到了128bit等。本文首先對(duì)3GPP定義的第三代移動(dòng)通信網(wǎng)絡(luò)的安全機(jī)制進(jìn)行了分析,并提出了增強(qiáng)其安全性的幾點(diǎn)建議。
二、3GPP的安全機(jī)制
3GPP的安全機(jī)制分為5類:
(1)增強(qiáng)用戶身份保密(EUIC):通過HE/AuC(本地環(huán)境/認(rèn)證中心)對(duì)USIM(用戶業(yè)務(wù)識(shí)別模塊)身份信息進(jìn)行認(rèn)證;
(2)用戶與服務(wù)網(wǎng)間身份認(rèn)證(UIC);
(3)認(rèn)證與密鑰分配(AKA):用于USIM、VLR/SGSN(訪問位置寄存器/服務(wù)GPRS支持節(jié)點(diǎn))、HLR(歸屬位置寄存器)間的雙向認(rèn)證及密鑰分配;
(4)數(shù)據(jù)加密(DC):UE(用戶終端)與RNC(無線網(wǎng)絡(luò)控制器)間信息的加密;
(5)數(shù)據(jù)完整性(DI):用于對(duì)交互消息的完整性、時(shí)效性及源與目的地進(jìn)行認(rèn)證。3GPP定義了11個(gè)安全算法:f0、f1*、f1~f9,以實(shí)現(xiàn)其安全功能。f8、f9分別實(shí)現(xiàn)數(shù)據(jù)保密性和數(shù)據(jù)完整性標(biāo)準(zhǔn)算法。f6、f7用于實(shí)現(xiàn)EUIC。AKA由f0~f5實(shí)現(xiàn)。
1.3GPP的鑒權(quán)認(rèn)證過程
3GPP的鑒權(quán)認(rèn)證過程如圖1所示。同GSM相比,3GPP除了網(wǎng)絡(luò)對(duì)UE的認(rèn)證外,還增加了UE對(duì)網(wǎng)絡(luò)的認(rèn)證。
過程說明:
(1)用戶歸屬域(HE)到服務(wù)網(wǎng)(SN)認(rèn)證向量的發(fā)送過程:
認(rèn)證中心(AuC)為每個(gè)用戶生成基于序列號(hào)的認(rèn)證向量組(RAND,XRES,CK,IK,AUTN),并且按照序列號(hào)排序。
(2)當(dāng)AUC收到VLR/SGSN的認(rèn)證請(qǐng)求時(shí),發(fā)送N個(gè)認(rèn)證向量組給VLR/SGSN。在VLR/SGSN中,每個(gè)用戶的N個(gè)認(rèn)證向量組,按照“先入先出”(FIFO)的規(guī)則發(fā)送給移動(dòng)臺(tái),用于鑒權(quán)認(rèn)證。
圖1 3GPP的鑒權(quán)認(rèn)證過程
(3)VLR/SGSN初始化一個(gè)認(rèn)證過程,選擇一個(gè)認(rèn)證向量組,發(fā)送其中的RAND和AUTN給用戶。用戶收到后RAND∣∣AUTN后,在USIM卡中進(jìn)行下列操作:
(a).USIM計(jì)算出XMAC,將它與AUTN中的MAC值進(jìn)行比較。如果不同,用戶發(fā)送一個(gè)“用戶認(rèn)證拒絕”信息給VLR/SGSN,放棄該認(rèn)證過程。在這種情況下,VLR/SGSN向HLR發(fā)起一個(gè)“認(rèn)證失敗報(bào)告”過程,然后由VLR/SGSN決定是否重新向用戶發(fā)起一個(gè)認(rèn)證過程。
(b).用戶比較收到的SQN是否在正確范圍內(nèi)(為了保證通信的同步,同時(shí)防止重傳攻擊,SQN應(yīng)該是目前使用的最大的一個(gè)序列號(hào),由于可能發(fā)生延遲等情況,定義了一個(gè)較小的“窗口”,只要SQN收到的在該范圍內(nèi),就認(rèn)為是同步的)。
(c).如果SQN在正確范圍內(nèi),USIM計(jì)算出RES,發(fā)送給VLR/SGSN,比較RES是否等于XRES。如果相等,網(wǎng)絡(luò)就認(rèn)證了用戶的身份。
(d).用戶計(jì)算出加密密鑰CK=f3;(RAND,K),完整性密鑰IK=f4(RAND,K)。
2.3GPP的數(shù)據(jù)保密性
在完成了用戶鑒權(quán)認(rèn)證以后,在移動(dòng)臺(tái)生成了加密密鑰CK,這樣可以采用f8算法用于保護(hù)移動(dòng)終端和RNC之間所傳遞的用戶數(shù)據(jù)和信令數(shù)據(jù)的機(jī)密性。如果無線承載使用的是非透明RLC模式(確認(rèn)模式AM或非確認(rèn)模式UM),加密在RLC子層進(jìn)行;如果無線承載使用的透明RLC模式(TM),則加密在MAC子層進(jìn)行(MAC-d實(shí)體)。加密算法f8的原理如圖2所示。
圖2 在無線接入鏈路上傳輸?shù)挠脩艉托帕顢?shù)據(jù)的加密
f8算法的輸入?yún)?shù)包括加密密鑰CK、計(jì)數(shù)器COUNT-C、承載標(biāo)識(shí)BEARER、傳輸方向DIRECTION和要求的密鑰流長(zhǎng)度LENGTH。基于這些輸入?yún)?shù),f8算法產(chǎn)生輸出密鑰流塊,用于將要傳輸?shù)拿魑倪M(jìn)行加密,產(chǎn)生相應(yīng)的密文。
主要參數(shù)簡(jiǎn)要說明:
COUNT-C:加密序列號(hào),32 bit長(zhǎng)。
每個(gè)無線承載在上、下行鏈路分別存在一個(gè)COUNT-C值,初始值由相應(yīng)的HFN確定。
CK:完整性密鑰,128 bit長(zhǎng)。
CK在協(xié)商鑒權(quán)時(shí),在HLR/AuC中產(chǎn)生并發(fā)送到VLR/SGSN。作為五元組的一部分存儲(chǔ)在VLR/SGSN中,然后由VLR/SGSN發(fā)送到RNC。
BEARER:無線承載標(biāo)識(shí)符,5 bit長(zhǎng)。
傳輸方向:長(zhǎng)度是1 bit。0表示上行,1表示下行。
3.3GPP的數(shù)據(jù)完整性
3GPP數(shù)據(jù)完整性過程如圖3所示。
圖3 數(shù)據(jù)完整性
發(fā)送方把要傳送的數(shù)據(jù)用完整性密鑰IK經(jīng)過f9算法產(chǎn)生消息認(rèn)證碼(MAC),將其附加在發(fā)出的消息后面。在接收方用同樣的方法進(jìn)行計(jì)算,得到XMAC。接收方把XMAC和收到的MAC進(jìn)行比較,如果相同就說明收到的消息是完整的,未經(jīng)過篡改。
參數(shù)說明如下:
COUNT-I:完整性序列號(hào),32 bit長(zhǎng)。
IK:完整性密鑰,128 bit長(zhǎng)。IK在協(xié)商鑒權(quán)時(shí)在HLR/AuC中產(chǎn)生并發(fā)送到VLR/SGSN,作為五元組的一部分存儲(chǔ)在VLR/SGSN中,然后,由VLR/SGSN發(fā)送到RNC。
FRESH:32 bit長(zhǎng)。每個(gè)用戶有一個(gè)FRESH參數(shù)值,參數(shù)FRESH主要是使網(wǎng)絡(luò)能抗擊用戶重放信令消息。
三、增強(qiáng)安全性的幾點(diǎn)建議
從以上描述可以看出,3GPP的安全性相比GSM來說有了很大增強(qiáng),但還有其薄弱的地方。為了增強(qiáng)3GPP的安全性,可以考慮采用以下幾種方法。
1.物理層的安全性
在3GPP的標(biāo)準(zhǔn)中,TD-SCDMA標(biāo)準(zhǔn)使用了智能天線技術(shù)。智能天線實(shí)際上是一個(gè)自適應(yīng)天線陣,它對(duì)從基站向移動(dòng)終端發(fā)送的下行無線信號(hào)進(jìn)行波束賦形。經(jīng)研究表明,對(duì)于使用4個(gè)天線單元的智能天線,其波束寬度在15°至20°,如果在波束覆蓋范圍之外,則很難還原出原始的無線信號(hào),因此,智能天線技術(shù)的應(yīng)用對(duì)于提高無線接口的安全性有很大好處。對(duì)于WCDMA標(biāo)準(zhǔn),智能天線目前不是強(qiáng)制使用。為了提高3GPP物理層的安全性,應(yīng)該使用智能天線技術(shù)。
目前TD-SCDMA使用的智能天線均為二維天線陣。隨著技術(shù)的發(fā)展,可以預(yù)見,三維智能天線的使用會(huì)使無線信號(hào)更加安全。
另外,TD-SCDMA標(biāo)準(zhǔn)由于其技術(shù)上的獨(dú)特性,在無線接口中使用了上行同步技術(shù),即要求來自不同距離的不同用戶終端的上行信號(hào)能同步到達(dá)基站,這對(duì)改善系統(tǒng)性能、簡(jiǎn)化基站接收機(jī)的設(shè)計(jì)都有明顯的好處,同時(shí)也使無線信號(hào)更加不易被竊聽。
2.Iu接口和Iur接口的安全性
VLR/SGSN和RNC之間的接口稱為Iu接口,RNC之間的接口稱為Iur接口。3GPP對(duì)于無線接口部分定義了較完善的安全機(jī)制,但對(duì)于Iu接口和Iur接口,保密參數(shù)仍然為明文傳輸,這對(duì)于3GPP網(wǎng)絡(luò)將是一個(gè)潛在的安全威脅,因此,應(yīng)該研究如何增強(qiáng)Iu接口和Iur接口的安全性。
3.傳輸中用戶身份的加密
無線網(wǎng)絡(luò)中用戶身份是高度秘密的數(shù)據(jù)。在GSM和3GPP網(wǎng)絡(luò)中,使用臨時(shí)身份標(biāo)識(shí)(TMSI)來標(biāo)識(shí)用戶,在無線接口中一般的信令交互以TMSI來標(biāo)識(shí)用戶,這在一定程度上增強(qiáng)了安全性。但在某些特定的情況下,如用戶第一次向網(wǎng)絡(luò)注冊(cè),或網(wǎng)絡(luò)無法從TMSI得到IMSI時(shí),用戶的IMSI號(hào)碼仍會(huì)以明文在無線接口傳輸,這也是一個(gè)安全隱患。為了避免這種情況,可以考慮在需要用戶與網(wǎng)絡(luò)直接傳輸IMSI的情況下,使用某個(gè)特定的密鑰將IMSI加密后傳輸。
4.開發(fā)我國(guó)自主的加密法
3GPP定義的f8算法和f9算法可以采用15種算法。目前,3GPP使用的是KASUMI算法,該算法由三菱公司免費(fèi)提供給3GPP使用。雖然此算法經(jīng)過公開論證,可以抵抗線性分析和差分分析,具備較高的安全性,但對(duì)于我國(guó)而言,為了國(guó)家安全考慮,迫切需要采用我國(guó)自主的加密算法。
5.采用公鑰算法
3GPP沒有采用公鑰算法作為空中接口的加密算法。為了使3GPP網(wǎng)絡(luò)適用于需要電子簽名的通信業(yè)務(wù),應(yīng)該考慮將公鑰算法作為可選的加密算法。
6.增強(qiáng)用戶數(shù)據(jù)完整性
3GPP定義的完整性算法f9僅針對(duì)于用戶信令部分,為了進(jìn)一步增強(qiáng)用戶數(shù)據(jù)的安全性,使其不被非法篡改,應(yīng)對(duì)用戶數(shù)據(jù)部分也進(jìn)行完整性保護(hù)。
7.采用端到端的安全性保護(hù)措施
3GPP沒有定義端到端的用戶數(shù)據(jù)加密,對(duì)于需要極度機(jī)密通信業(yè)務(wù)的用戶,可以采用移動(dòng)終端提供的端到端安全性保護(hù)。這種安全機(jī)制對(duì)網(wǎng)絡(luò)可以是透明的。
四、總結(jié)
從以上描述可以看出,3GPP提供了比上一代移動(dòng)通信技術(shù)更加強(qiáng)大的安全性保護(hù),可以在相當(dāng)程度上保證用戶和網(wǎng)絡(luò)的安全性。但3GPP還有一些安全方面的潛在漏洞,為了進(jìn)一步提高其安全性,本文提出了一些建議。3GPP的安全性是一個(gè)包含范圍廣,影響深遠(yuǎn)的研究課題,為了對(duì)其進(jìn)行充分分析,有必要在未來的研究中進(jìn)行更加深入的研究。