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