摘 要: 總結了認證技術" title="認證技術">認證技術的基本原理,重點分析了現有的幾種移動通信系統" title="移動通信系統">移動通信系統所采用的認證機制" title="認證機制">認證機制的安全性,給出了移動通信系統中認證機制的發展方向。
關鍵詞: 認證 詢問/響應模式 數字簽名
從大的方面說,通信領域需要解決的核心問題有兩個,即所謂可靠性問題和有效性問題。任何一種技術的產生或者協議的制定都是緊緊圍繞這兩點的。以計算機通信為例,根據ISO(國際標準化組織)所定義的OSI(開放系統互連)模型,將其功能劃分為相對獨立的七個層次。而在每一層次,無論是鏈路層、網絡層還是傳輸層,都根據具體需要采取了相應的技術和協議來解決可靠性和有效性的問題。安全性是可靠性問題的一個重要方面。在很多情況下不僅僅要求信息在信道上被準確無誤地傳輸,而且還要求能夠確認對方的身份,并且設法將通信內容的可知性限制在一定的范圍內。認證技術和加密技術可以滿足上述需要。
1 認證的理論和技術
認證主要包括用戶身份認證" title="身份認證">身份認證和信息認證兩個方面。前者用于證明或否認通信實體所宣稱的身份,后者用于對通信信息進行完整性檢查并提供發送方的不可抵賴性。在某些情況下,信息認證甚至比信息保密更為重要[1],因為有時主動攻擊的威脅遠大于被動攻擊。下面分別對兩種認證的理論和技術進行討論,其默認前提條件是通信雙方已經就加密算法和所用密鑰達成了一致。
1.1 身份認證
身份認證的方法有口令匹配法、基于智能卡的身份認證和生物特征認證法。下面重點研究基于共享密鑰的身份認證技術。這種認證技術的原理是驗證通信雙方是否擁有相同的密鑰,常用的協議形式是詢問/響應模式。認證過程如圖1所示,過程描述如下:
(a)首先甲方選擇一個隨機數R1,并將它發送給乙方;
(b)乙方收到R1后使用既定的算法對它進行加密,同時也選擇一個隨機數R2,然后將加密結果E{K,R1}和R2發送給甲方;
(c)甲方使用密鑰K對E{K,R1}進行解密得到R1’,將R1’與R1進行比較。如果相等,使用K對R2進行加密,并將加密結果E{K,R2}發送給乙方;否則,甲方對乙方的認證以失敗結束;
(d)乙方使用K對E{K,R2}進行解密得到R2’,將R2與R2’進行比較,如果相等,則甲方就通過了乙方的認證;否則,乙方對甲方的認證失敗。
顯然,上述過程完成了雙向認證,既包括甲方對乙方的認證,也包括乙方對甲方的認證。只有兩次認證都成功時,整個認證結果才是成功的。
根據使用的加密算法的不同,基于密鑰的身份認證又可分為秘密密鑰加密認證和公開密鑰加密認證[2]。也可以采用消息摘要進行身份認證,過程如圖2所示,說明如下:
(a)甲方生成一個時間戳1,然后將它附在密鑰之后,計算聯合消息摘要MD{密鑰 || 時間戳1},將時間戳1和MD{密鑰 || 時間戳1}發送給乙方;
(b)乙方將甲方的時間戳1附在自己的密鑰之后計算聯合消息摘要,并將結果同MD{密鑰 || 時間戳1}進行比較。若結果不一致,則認證失敗;若結果一致,則甲方就通過了乙方的認證。乙方同樣選擇一個時間戳2,把它放在密鑰之后計算聯合消息摘要MD{密鑰 || 時間戳2},并將時間戳2和聯合消息摘要MD{密鑰 || 時間戳2}一起發給甲方;
(c)甲方同樣計算一個聯合消息摘要,然后將它與MD{密鑰 || 時間戳2}進行比較,完成對乙方的認證。
這種方法比對隨機數加密的方法具有更高的安全性,可以有效抵御重放攻擊。
1.2 信息認證
信息認證檢測的內容包括[3]:證實信息的發方和收方;判斷信息的內容是否完整,是否被篡改;通過序列號或時間戳來判斷信息的新鮮度。信息認證的基本方法有兩種,一種是采用消息認證碼MAC(Message Authentication Code);另一種是采用消息檢測碼MDC(Message Detection Code)。
1.2.1 采用消息認證碼的信息認證
MAC認證過程如圖3所示。
(1) 甲方利用帶有秘密密鑰的單向散列函數將要發送的消息變換成一個固定比特長度的消息認證碼,然后將消息認證碼附在待發送的消息后發送給乙方;
(2) 乙方使用單向散列函數對消息進行運算,同樣得到一個認證碼,將該碼與收到的認證碼作比較,若相等則消息通過認證,否則就認為消息在傳輸過程中出現問題。
乙方向甲方發送消息時操作同上。為了防止重放攻擊,實際的協議中常采用序列號或者時間戳機制來指示當前消息的新鮮度。
1.2.2 采用消息檢測碼的信息認證
與采用消息認證碼的信息認證不同,MDC利用不帶密鑰的散列函數將要傳送的消息變換成固定長度的消息檢測碼,附在消息后面一起傳送。過程與1.2.1類似,此處不再贅述。
1.2.3 數字簽名和不可抵賴性
公鑰加密算法可以提供數字簽名(Digital Signatures)的功能。但對于較長的消息,計算數字簽名很麻煩,而計算該消息摘要的數字簽名則相對簡單得多。因此,可以將數字簽名與消息摘要相結合進行認證,此時數字簽名可以提供不可抵賴的安全功能[4]。
2 移動通信系統中的認證機制
在設計移動通信系統的認證協議時,針對無線網絡的特點,主要考慮三個因素[5]:移動設備運算能力的局限性;空中接口" title="空中接口">空中接口帶寬的受限性;用戶身份和位置信息的保密性。實際上,這些要求也就是3GPP和3GPP2等國際組織制定相關安全標準的重要依據,目前的認證算法均采用速度較快的對稱算法,在空中接口傳輸的認證參數長度都較小,采用TMSI提供用戶身份的保密性。下面介紹幾種實用的移動通信系統所采用的認證機制。
2.1 GSM和UMTS采用的認證機制
2.1.1 GSM的認證機制
GSM系統的身份認證思路是:網絡側驗證用戶是否與AUC(認證中心)持有相同的認證密鑰Ki。其身份認證過程[6]如圖4所示。
顯而易見,GSM系統的身份認證是不完整的,它只支持網絡對用戶的認證,不支持用戶對網絡的認證。正如文獻[7]所指出的,單向認證容易受到偽裝基站及中間人攻擊。此外,GSM系統沒有提供消息認證的功能。
2.1.2 UMTS的認證機制
針對GSM系統認證機制存在的問題,UMTS系統采用了新的認證機制,該機制是對GSM系統的認證機制的繼承和增強。其增強措施[8]包括:增加了用戶對網絡的認證,從而實現了雙向認證;增加了用于信息認證的算法和密鑰IK;認證向量增加為五元組;認證參數AUTH中引入了序列號SQN,保證了認證參數的新鮮度,可以有效防止重放攻擊;增加了匿名密鑰AK,用來隱藏序列號SQN,進而提供身份和位置的保密性;提供了安全性更高的認證算法。UMTS的認證過程[9]如圖5所示。2.2 CDMA2000采用的認證機制
CDMA2000系統支持的認證機制有兩套,一套是基于IS-95的第二代認證機制;另一套是采用3GPP的AKA協議的第三代認證機制。
2.2.1 基于IS-95的認證機制
基于IS-95的認證機制的基本思路是:驗證移動終端與訪問網絡之間是否擁有相同的密鑰A-key。該機制包括普通-查詢響應、獨特-查詢響應、SSD更新、參數更新等過程。其認證算法采用標準化的CAVE算法。詳細過程請參見3GPP2空中接口規范C.S0005。表1給出了認證過程所涉及的主要參數。
與GSM系統類似,基于IS-95的認證機制中也只有網絡對用戶的認證,并且同樣不支持信息認證。
2.2.2 3G系統的認證機制
為了提高認證的安全性和系統的互操作性,3GPP2決定在第三代CDMA2000系統中采用3GPP的AKA機制。該機制的內容與2.1.2小節UMTS的認證機制相同。
身份認證與信息認證的主要區別在于:信息認證對時效性沒有要求,而身份認證遵守相關協議,有時間要求;另外,信息認證中的消息本身具有意義,而身份認證中的消息通常不具有特定的含義。雖然與廣泛應用的Schnorr、Kerberos等認證協議相比,限于終端的計算能力和空中接口的帶寬,移動通信系統中的認證協議還略顯簡單,但對于空中接口而言這些機制有效地保證了空中鏈路的安全性。隨著移動通信網絡與現有因特網的逐步融合,身份認證的重點將由空中接口鏈路的安全性轉移到訪問基于移動IP的因特網資源和服務的安全性。另外,移動通信系統與Wi-Fi、WLAN等無線系統之間互聯時的認證機制也是今后研究的熱點。
參考文獻
1 李中獻, 詹榜華, 楊義先. 認證理論與技術的發展[J]. 電子學報, 1999;27(1):98~102
2 (美)所羅門(Solomon, J.D.)著,裘曉峰譯. 移動IP[M].北京: 機械工業出版社, 2002
3 徐勝波, 馬文平, 王新梅. 無線通信網中的安全技術[M].北京:人民郵電出版社, 2003
4 (美)施奈爾(Schneier, B.)著,吳世忠譯. 應用密碼學:協議、算法和C源程序[M].北京:機械工業出版社, 2002
5 朱建明,馬建峰. 一種高效的具有用戶匿名性的無線認證協議[J]. 通信學報,2004;25(6):12~18
6 Michel MOULY, Marie-Bernadette PAUTET.GSM數字移動通信基礎[M].北京:電子工業出版社, 1997
7 隋愛芬,王 皎.GSM與IS-41系統安全機制研究與比較[J]. 重慶郵電學院學報,2004;16(1):66~69
8 趙 勇, 楊紅梅. 移動通信標準中的安全機制[J]. 電信工程技術與標準化,2004;(2):12~14
9 肖 寧, 王 瓊. WCDMA中的鑒權和密鑰分配機制[J].重慶郵電學院學報,2004;16(2):117~119