??? 摘 要: 移動(dòng)通信使用無線信道,由于網(wǎng)絡(luò)的開放性和無線傳輸?shù)奶匦?,存在多種安全隱患。認(rèn)證機(jī)制" title="認(rèn)證機(jī)制">認(rèn)證機(jī)制是防止網(wǎng)絡(luò)欺騙的重要手段,。列舉了CDMA技術(shù)體制的各種認(rèn)證方法,,并詳細(xì)分析了cdma2000 1x系統(tǒng)實(shí)體認(rèn)證機(jī)制的原理和過程。
??? 關(guān)鍵詞: cdma2000 1x? 移動(dòng)通信安全? 實(shí)體認(rèn)證
?
??? 隨著移動(dòng)通信技術(shù)的發(fā)展,,通信中的安全問題正受到越來越廣泛的關(guān)注,。它關(guān)系到用戶、制造商和運(yùn)營商的切身利益,。人們在使用移動(dòng)通信得到便利的同時(shí),,也對通信中的信息安全提出了更高的要求。
??? 由于空中接口的開放性,,為確保用戶訪問網(wǎng)絡(luò)資源的合法性和安全性以及服務(wù)網(wǎng)絡(luò)的真實(shí)性,,各種移動(dòng)通信系統(tǒng)" title="移動(dòng)通信系統(tǒng)">移動(dòng)通信系統(tǒng)普遍采用了相應(yīng)的安全機(jī)制" title="安全機(jī)制">安全機(jī)制,這些安全機(jī)制主要分為認(rèn)證和加密,。其中認(rèn)證機(jī)制又包括實(shí)體認(rèn)證和消息認(rèn)證,。前者是移動(dòng)臺MS(Mobile Station)和基站BS(Base Station)之間為了驗(yàn)證MS或BS的身份真實(shí)性而進(jìn)行的信息交換過程,而后者則適用于接收方驗(yàn)證通信內(nèi)容的真實(shí)性和完整性,。本文重點(diǎn)研究基于IS-95的cdma2000 lx系統(tǒng)的實(shí)體認(rèn)證機(jī)制,。
1 CDMA的安全機(jī)制
1.1 移動(dòng)通信系統(tǒng)的安全體系結(jié)構(gòu)
??? 移動(dòng)通信系統(tǒng)的安全體系結(jié)構(gòu)可以分為四個(gè)層次和五個(gè)安全域,如圖1所示,。
??????????????????
??? 四個(gè)層次分別為傳輸層,、歸屬層/服務(wù)層,、應(yīng)用層和系統(tǒng)安全管理配置層,。五個(gè)安全域分別為:(I)網(wǎng)絡(luò)接入安全;(II)網(wǎng)絡(luò)域安全,;(III)用戶域安全,;(IV)應(yīng)用域安全;(V)安全特性的可視性及可配置能力,。
1.2 CDMA的網(wǎng)絡(luò)安全機(jī)制
??? CDMA無線鏈路采用偽隨機(jī)碼PN(Pseudo_random Noise code)對信號進(jìn)行擴(kuò)頻,,使得信號很難被攔截和竊聽,此外,,還規(guī)定一系列接入安全機(jī)制,,如圖2所示,。由于終端處理能力和空中帶寬受限,兩地的CDMA安全基于私鑰技術(shù),,安全協(xié)議依賴于一個(gè)64bit的認(rèn)證密鑰(A_Key)和終端的電子序列號(ESN),。CDMA的網(wǎng)絡(luò)安全機(jī)制提供以下安全特征:
??? (1)匿名性,為終端分配TMSI,。
??? (2)基于查詢/應(yīng)答的單向認(rèn)證,。
??? (3)語音/用戶數(shù)據(jù)/用戶信令保密。
??????????????????????????????????
??? CDMA的網(wǎng)絡(luò)安全機(jī)制采用四種安全算法:(1)蜂窩認(rèn)證和話音加密算法CAVE(Cellular Authentication and Voice Encryption),,用于查詢/應(yīng)答(Cha11enge/Response)認(rèn)證協(xié)議和密鑰生成,;(2)專用長碼掩碼PLCM(Private Long Code Mask)算法,用于控制擴(kuò)頻序列,,然后將擴(kuò)頻序列與語音數(shù)據(jù)異或?qū)崿F(xiàn)語音保密,;(3)基于LSFR的流密碼的ORYX算法,用于無線用戶數(shù)據(jù)加密服務(wù),;(4)增強(qiáng)的分組加密算法E_CMEA(Enhanced Cellular Message Encryption Algorithm),,它采用一個(gè)分組密碼,用于加密控制信道,。
1.3 認(rèn)證
??? 通常,,在以下場合均需要認(rèn)證:MS發(fā)起呼叫(不含緊急呼叫)、MS接收呼叫,、MS位置登記,、MS進(jìn)行補(bǔ)充業(yè)務(wù)操作、切換(包括在MSC_A內(nèi)從一個(gè)BS切換到另一個(gè)BS,、從MSC-A切換到MSC_B以及在MSC_B內(nèi)又發(fā)生了內(nèi)部BS之間的切換等情形),。除此以外,由于認(rèn)證技術(shù)本身特點(diǎn)的影響,,CDMA在更新共享秘密數(shù)據(jù)SSD(Shared Secret Data)時(shí)還需要特殊的認(rèn)證,,以保證SSD的安全性。認(rèn)證過程幾乎涉及網(wǎng)絡(luò)中所有實(shí)體,,包括MSC,、拜訪位置寄存器VLR、歸屬位置寄存器HLR,、鑒權(quán)中心AUC以及基站子系統(tǒng)BSS和MS,。
??? 在目前的2G和2.5G CDMA系統(tǒng)接入網(wǎng)" title="接入網(wǎng)">接入網(wǎng)中,認(rèn)證過程只對接入CDMA系統(tǒng)的終端進(jìn)行認(rèn)證,,而終端并不對網(wǎng)絡(luò)進(jìn)行認(rèn)證,。這種認(rèn)證過程能夠防止非法終端接入網(wǎng)絡(luò)及使用網(wǎng)絡(luò)資源,但無法防止偽基站的攻擊。
??? cdma2000實(shí)體認(rèn)證涉及到的內(nèi)容有根密鑰A_Key、SSD,、SSD的更新以及網(wǎng)絡(luò)對終端認(rèn)證過程等,。
2 cdma2000 1x的接入安全機(jī)制
2.1 密鑰和相關(guān)參數(shù)管理
??? 無線接入涉及的安全參數(shù)主要有ESN、A_Key,、SSD以及RAND和呼叫歷史參數(shù)COUNT,。cdma2000 lx主要管理A_Key和SSD的分配和更新。其中,,ESN長32bit,,是MS的唯一標(biāo)識,由廠家設(shè)定,;A_Key是主密鑰,,用于產(chǎn)生SSD;SSD則用于認(rèn)證和產(chǎn)生子密鑰,;RAND是一個(gè)32bit的值,,與SSD_A和其他參數(shù)結(jié)合起來用于對MS發(fā)起/終止呼叫和注冊時(shí)進(jìn)行認(rèn)證;COUNT定義一個(gè)保存在基站中的模64的事件計(jì)數(shù),,當(dāng)MS接收到一個(gè)參數(shù)更新指令時(shí)將更新COUNT,。
??? 在任何時(shí)候,每個(gè)MS總是擁有一個(gè)當(dāng)前的SSD值,,并且整個(gè)網(wǎng)絡(luò)共享一個(gè)32bit的隨機(jī)值RAND,。RAND由服務(wù)網(wǎng)絡(luò)周期性地進(jìn)行更新。
??? A_Key長64bit,,存儲在MS的永久性安全標(biāo)識存儲器中,,僅對MS和HLR/AC可知,且不在空中傳輸,。A_Key不直接參與認(rèn)證和保密,,只是用于產(chǎn)生子密鑰,而子密鑰則用來進(jìn)行語音,、信令及用戶數(shù)據(jù)的保密工作,。因此,保證A_Key的安全至關(guān)重要,。A_Key可以重新設(shè)置,,終端和網(wǎng)絡(luò)認(rèn)證中心AC的A_Key必須同步更新。其設(shè)置方法有以下幾種:
??? (1) 由制造商設(shè)置并分發(fā)給服務(wù)提供商" title="服務(wù)提供商">服務(wù)提供商,。制造商必須產(chǎn)生和存儲密鑰,,制造商和服務(wù)提供商需要建立安全的分發(fā)通道,因此對制造商和服務(wù)提供商而言,,這種方法不太可行,但對用戶來說卻非常方便。
??? (2) 由服務(wù)提供商產(chǎn)生,,在銷售點(diǎn)由機(jī)器分配或由用戶手動(dòng)設(shè)置,。這種方法的前提是信任經(jīng)銷商,如果是機(jī)器分配,,則要求所有終端具有標(biāo)準(zhǔn)接口,;如果是手動(dòng)設(shè)置,則對用戶來說并不方便,,而且密鑰分配和管理機(jī)制也很復(fù)雜,。
??? (3) 通過空中服務(wù)提供功能OTASP(Over The Air Service Provisioning)在用戶和服務(wù)提供商之間實(shí)現(xiàn)密鑰的產(chǎn)生和分配。終端的A_Key通過OTASP更新,,可以切斷克隆終端的服務(wù)或?yàn)楹戏ㄓ脩籼峁┬路?wù),,實(shí)現(xiàn)簡單,是一種受歡迎的A_Key分發(fā)機(jī)制,,也是目前3GPP2建議采用的方法,。同時(shí),3GPP2還建議用基于Diffie_Hellman的密鑰交換協(xié)議協(xié)商A_Key,。
??? SSD長128bit,,存儲在MS中,分為兩個(gè)64bit的子集:SSD_A和SSD_B,。SSD_A用于支持認(rèn)證過程,;SSD_B用于支持話音、信令和數(shù)據(jù)加密,。
??? 新的SSD由CAVE生成,,SSD更新成功后,通常BS會(huì)發(fā)起一個(gè)獨(dú)特查詢/響應(yīng)子過程(為了完成雙向認(rèn)證),。CAVE算法用于SSD更新過程,,如圖3所示。該過程包含了MS對BS的認(rèn)證,,圖中的MIN是IMSI的后10位數(shù)字,。
????????????????????????
??? 在第一次CAVE算法中,以A_Key,、ESN及從網(wǎng)絡(luò)收到的隨機(jī)數(shù)作為CAVE算法的輸入?yún)?shù),,計(jì)算出新的SSD。在第二次CAVE算法中使用新生成的SSD,、UIM卡選擇的隨機(jī)數(shù)RANDBS及IMSI作為CAVE算法的輸人參數(shù),,計(jì)算并輸出一個(gè)用于驗(yàn)證的結(jié)果值。
2.2 認(rèn)證過程
??? 認(rèn)證的目的主要是為了確定MS和網(wǎng)絡(luò)的真實(shí)性,,在MS和BS之間進(jìn)行鑒權(quán)驗(yàn)證,。認(rèn)證實(shí)質(zhì)是驗(yàn)證MS和BS之間是否共享了相同的SSD,,如果確認(rèn)其共享了相同的SSD,則認(rèn)為對MS進(jìn)行了成功的驗(yàn)證,;否則,,認(rèn)證失敗。認(rèn)證方式包括MS主動(dòng)通過BS向接入網(wǎng)注冊及BS主動(dòng)對MS認(rèn)證,。兩種方式的思想完全相同,,不同的是發(fā)起認(rèn)證的流程。
??? 圖4是接入網(wǎng)對MS發(fā)起的認(rèn)證概要流程圖,,其過程如下:
??? (1)MSC首先向BS發(fā)起認(rèn)證請求(Authentication Request),,然后啟動(dòng)定時(shí)器T3260。
??? (2)BS將攜帶一個(gè)要發(fā)給MS的隨機(jī)數(shù)RANDU(Random Variable Unique Challenge)的認(rèn)證請求消息(Authentication Challenge Message)通過空中接口發(fā)給MS,。
??? (3)MS根據(jù)SSD和特定的RANDU通過認(rèn)證算法CAVE計(jì)算出認(rèn)證摘要碼(AUTHU),,并返回?cái)y帶認(rèn)證摘要碼的認(rèn)證查詢響應(yīng)消息(Authentication Challenge Response Message)給BS。
??? (4)向MSC發(fā)送認(rèn)證響應(yīng)消息(Authentication Response Message),,MSC在接收到認(rèn)證響應(yīng)消息后,,停止定時(shí)器T3260。
cdma2000中的認(rèn)證功能包括構(gòu)成新的算法進(jìn)行用戶認(rèn)證,、認(rèn)證密鑰管理,、數(shù)據(jù)加密密鑰產(chǎn)生等。CAVE算法有三個(gè)基本部分:一個(gè)32位的線性移位寄存器,、16個(gè)8位混合寄存器以及一個(gè)置換表,。上述A_Key、SSD 的產(chǎn)生過程中都調(diào)用了CAVE算法,,并且針對具體的應(yīng)用有相應(yīng)的輸入?yún)?shù)和輸出參數(shù),。
???????????????????????
??? cdma2000 lx提供網(wǎng)絡(luò)對MS的單向認(rèn)證。根據(jù)AC/HLR和VLR之間是否共享SSD,,可分為SSD共享和非SSD共享兩種情況認(rèn)證,。在共享SSD時(shí),CAVE算法在VLR中完成,;而在非SSD共享時(shí),,CAVE算法則在AC/HLR中完成。規(guī)范中定義了兩種主要的認(rèn)證過程:全局查詢/應(yīng)答認(rèn)證和唯一查詢/應(yīng)答認(rèn)證,。這兩種認(rèn)證都是基于共享SSD的認(rèn)證,。
2.2.1 全局查詢/應(yīng)答認(rèn)證
??? 全局認(rèn)證包括注冊認(rèn)證、發(fā)起呼叫認(rèn)證,、尋呼響應(yīng)認(rèn)證,,如圖5所示。全局查詢在尋呼和接入信道上啟動(dòng),,MS可在接入信道上完成注冊認(rèn)證,、發(fā)起呼叫認(rèn)證,、尋呼響應(yīng)認(rèn)證等內(nèi)容。
?????????????????????????????
??? 這一過程只有網(wǎng)絡(luò)對MS的認(rèn)證,,不能防止網(wǎng)絡(luò)欺騙,,缺點(diǎn)根源為用于認(rèn)證的RAND是全局的,。如果AUTHR被某些MS泄露了,,它就有可能被偽裝者使用直至其失效。
2.2.2 唯一查詢/應(yīng)答認(rèn)證
??? 唯一查詢/應(yīng)答認(rèn)證在接入認(rèn)證失敗時(shí)啟動(dòng),,用于驗(yàn)證快速請求的有效性,。由BS發(fā)起,可以在尋呼信道和接入信道上實(shí)現(xiàn),,也可以在前向和反向業(yè)務(wù)信道上實(shí)現(xiàn),,如圖6所示。
????????????????????????????
??? 如果比較失敗,,BS拒絕MS的接入,,終止進(jìn)行中的呼叫,或者啟動(dòng)SSD更新過程,,這一過程中網(wǎng)絡(luò)只對某一MS認(rèn)證,,安全性較高。
??? A_Key的保密性是認(rèn)證機(jī)制起作用的基本前提,,所以從根本上來說,,認(rèn)證的安全性是由A_Key的安全性決定的。雖然在SSD更新中包含MS對VLR的認(rèn)證,,但總的來說,,基于IS-95的cdma2000 lx系統(tǒng)的認(rèn)證主要是網(wǎng)絡(luò)對MS 的認(rèn)證,這是因?yàn)樵谝苿?dòng)網(wǎng)絡(luò)建立初期主要考慮保護(hù)運(yùn)營商的利益,,減少“克隆”手機(jī)的危害,。另外,上述認(rèn)證過程并沒有考慮VLR和HLR之間的通信安全,,它們之間的信息交互可能是未經(jīng)加密的,,這樣,如果攻擊者對兩者之間的通信進(jìn)行竊聽,,則可獲取認(rèn)證向量等重要信息,,進(jìn)而發(fā)起重放攻擊。
??? cdma2000新的認(rèn)證過程正在發(fā)展過程中,。針對存在的問題,,為了提高系統(tǒng)認(rèn)證的可靠性和互操作性,并有利于第三代移動(dòng)通信系統(tǒng)之間的互聯(lián)互通,,cdma2O00 lx升級系統(tǒng)已經(jīng)決定采用3GPP的AKA機(jī)制,;保密機(jī)制采用AES算法,;所有密鑰長度增加到128bit。新的認(rèn)證方式稱為增強(qiáng)型用戶認(rèn)證(ESA),,此方式增強(qiáng)了認(rèn)證的功能,,實(shí)現(xiàn)了網(wǎng)絡(luò)和終端的相互認(rèn)證,可以防止偽基站的入侵,。
參考文獻(xiàn)
[1] CDMA 1X RTT SECURITY OVERVIEW[s] by Qualcomm.August 2002.
[2] 3GPP TS33.102 V4.2.0 security architecture[s]. 2001-09.
[3] 3GPP TS33.902 V4.2.0 formal analysis of 3G authentication protocol [s], 2001-09.
[4] Implementation of Authentication and Encryption in DMSS?by QCT Software Team of Qualcomm [s]. February 2001.
[5] 辛偉. cdma2000系統(tǒng)的安全機(jī)制.電信網(wǎng)技術(shù),2003,(8):
[6] 杜詩武. cdma2000 lx系統(tǒng)中的實(shí)體認(rèn)證及其實(shí)現(xiàn).電訊技術(shù),2005,(4).
[7] 常永宇. CDMA2000 1X網(wǎng)絡(luò)技術(shù)[M].北京:電子工業(yè)出版社,2005.
[8] 楊義先,,鈕心忻.無線通信安全技術(shù)[M].北京:北京郵電大學(xué)出版社, 2005.