專利名稱:一種gsm網絡雙向認證的方法
技術領域:
本發明涉及網絡安全技術,特別涉及一種雙向認證的方法的設計。
背景技術:
GSM移動通信系統是基于TDMA的數字蜂窩移動通信系統。GSM是世界上第一個對 數字調制、網絡層結構和業務作了規定的蜂窩系統。GSM是為了解決歐洲第一代蜂窩系統四 分五裂的狀態而發展起來的。在GSM之前,歐洲各國在整個歐洲大陸上采用了不同的蜂窩 標準,對用戶來講,就不能用一種制式的移動臺在整個歐洲進行通信。另外由于模擬網本身 的弱點,使得它的容量也受到了限制。為此歐洲電信聯盟在1980初期就開始研制一種覆蓋 全歐洲的移動通信系統,即現在被人們稱為GSM的系統。如今GSM移動通信系統已經遍及全 世界,即所謂"全球通",目前我國的移動通信網就是以GSM系統為基礎的移動網絡系統。我國于20世紀90年代初引進采用此項技術標準,此前一直是采用蜂窩模擬移動 技術,即第一代GSM技術(2001年12月31日我國關閉了模擬移動網絡)。目前,中國移動、 中國聯通各擁有一個GSM網,為世界最大的移動通信網絡。GSM系統的典型結構如1-1所示。由圖可見,GSM系統是由若干個子系統或功能實 體組成。其中基站子系統(BSS)在移動臺(MS)和網絡子系統(NSS)之間提供和管理傳輸 通路,特別是包括了 MS與GSM系統的功能實體之間的無線接口管理。NSS必須管理通信業 務,保證MS與相關的公用通信網或與其它MS之間建立通信,也就是說NSS不直接與MS互 通,BSS也不直接與公用通信網互通。MS、BSS和NSS組成GSM系統的實體部分。操作支持 系統(OSS)則提供運營部門一種手段來控制和維護這些實際運行部分。GSM系統認證流程每當MS使用IMSI/TMSI向系統請求位置更新、呼叫建立或業務激活時,MSC/VLR需 要對MS進行鑒權。鑒權的大致流程如下所述鑒權也就是認證流程是以鑒權中心AUC中產生的鑒權三參數組(RAND,SRES, Kc) 為基礎的。其中,鑒權參數RAND由網絡中的鑒權中心AUC中的隨機數產生器生成;AUC接 收到MSC/VLR的請求,每次生成若干個鑒權三參數組(RAND,SRES,Kc),并將生成的三參數 組存貯在HLR中,以備鑒權時使用,HLR存貯每個用戶的三參數組,并在MSC/VLR請求時傳 送給它,以此保證對GSM網絡中的所有訪問用戶至少有一個未使用的三參數組。在用戶需 要接入認證時,MSC/VLR向移動臺(MS)發送RAND,MS使用存貯在SIM卡中的和AUC中一樣 的主密鑰ki和相應的算法,計算出SRES。然后把SRES回送給MSC/VLR,驗證其合法性,從 而決定是否讓該用戶接入GSM網絡。GSM系統中參與認證流程的網絡組成部件有HLR(AUC)、MSC\VLR、MS。各個部分在 認證過程中的位置和作用如下圖所示附圖2給出了 GSM系統的認證流程。其中在HLR中存有所有與本地用戶相關的信息,如本地用戶的IMSI、電話號碼、登記業 務和鑒別密鑰(Ki)等永久數據和一些臨時數據。
VLR包含與所有當前正在接受服務的用戶有關的信息,除HLR中的永久數據外,還 有一些如臨時移動用戶識別號(TMSI)這樣的臨時數據,為相應的MSC提供呼叫建立和鑒別 階段的支持。鑒別中心(AUC)是一個包含著GSM網絡中最重要和最敏感信息的數據庫,為GSM 網絡提供了鑒別用戶、加密數據和信號所必需的全部信息。這些信息包括每個用戶的鑒 別密鑰(Ki),鑒權算法(A3),加密算法(A5系列中的一個),加密密鑰生成算法(A8)。AUC 生成一系列隨機數(RAND)、標識響應(SRES)和密碼密鑰(Kc),將它們傳送并存儲在HLR和 VLR中,為鑒別和加密過程提供所需要的信息。具體流程和各個組成部分之間的交互如下所述首先用戶MS將IMSI (或者TMSI)傳給拜訪位置寄存器(VLR),VLR再將IMSI傳給 用戶的HLR(AUC),HLR通過IMSI(TMSI)查詢自身的數據庫,確定該用戶的基本信息;AUC通 過隨機數產生器產生一個隨機數RAND,并計算SRES = A3 (Ki,RAND), Kc = A8 (Ki,RAND); AUC將(RAND,SRES, Kc)分別傳給VLR和HLR ;MSC\VLR再將隨機數RAND傳給該用戶;用戶 接收到RAND后在用戶的SIM卡中進行于與AUC中相同的算法;用戶將計算的結果SRESy發 回給VLR ;MSC\VLR將用戶發來的SRESy與從HLR得到的SRES進行比較,若相同則視該用戶 為合法用戶,就將ACK送給用戶,用戶與基站間就可以通過加密算法Kc為加密密鑰進行通 信;若用戶發來的SRESy與從HLR得到的SRES不相同則視該用戶為非法用戶,拒絕為該用 戶提供接入服務。與本發明相關的現有技術現有技術的技術方案為現有的一種改進的認證協議,克服了原有GSM系統單向認證的缺陷,很好的解決 了單向認證引入的安全隱患。此種改進的GSM系統認證協議實現方法比較簡單易行,有很 強的操作性,下面就對現有的這種改進的認證協議做以介紹。現有的這種改進的GSM系統認證協議實現過程如附圖3所示。協議實現的雙向認證的具體步驟如下所述步驟一由MS產生RAND,并且使用同GSM系統的方法產生SRES1,即使用Ki和 RAND作為輸入,經過A3算法產生SRESl。計算Ku,Ku通過單向哈希算法計算,此哈希算法 的輸入為IMSI,HLR_ID和Ki。MS用加密算法A5,以Ku為密鑰,對RAND進行加密。然后 將TMSI,LAI, SRESl和加密后的RAND —并傳送給VLR。VLR存儲SRESl用于后續的認證功 能一用于認證MS。VLR通過MS發送過來的LAI找到此MS對應的VLRo,VLR然后通過發 送TMSI給MS的VLRO請求此MS的IMSI。步驟二 VLR將VLR_ID以及加密的RAND和加密的IMSI傳送給HLR(IMSI加密利 用VLR和HLR之間的共享密鑰Kvh)。這樣就可以保證在固網中IMSI值的安全。在這里可 以清楚地看到由于VLR不知道MS的Ki,所以也就沒有辦法知道RAND的數值。步驟三HLR接收到信息之后,根據VLR_ID找到HLR和此VLR之間的共享密鑰,得 到IMSI,然后根據IMSI查找AUC得到此MS對應的主密鑰Ki。接著HLR就可以用Ki和A5 算法對經過加密處理的RAND解密,從而得到RAND。使用同GSM系統的方法,以RAND和Ki 為輸入,經過A8算法產生臨時加密密鑰Tki。經過A3算法產生鑒權參數響應SRES2。然后 HLR將臨時加密密鑰Tki和RAND用與VLR的共享密鑰進行加密,連同SRES2和HLR_ID —起傳送給VLR。步驟四當VLR接收到這些數據之后,通過HLR_ID找到和此HLR的共享密鑰,解密 得到Tki和RAND。然后對SRESl和SRES2進行比較,如果這兩個數值相同則用戶認證通過。 此時,VLR產生MS的新的TMSI,然后使用Tki經過A5算法對TMSI進行加密。接著,VLR將 RAND和加密的TMSI送到MS。步驟五MS將自己的RAND和收到的RAND作比較,如果相同,則網絡端認證通過, 否則網絡端認證失敗。在MS端,使用同樣的方法計算Tki。然后用Tki通過A5算法解密 TMSI。此種方法的缺陷在于使用的VLR和HLR之間的共享密鑰是固定的,沒有密鑰更新機制,容易被破解。可以看出產生Ku的目的在于保護鑒權參數RAND。我們可以采用比較簡單的方法 提供對RAND的保護,從而減少算法實施的復雜性和資源的消耗。
發明內容
本發明實施例提供的GSM系統的雙向認證方案,用以解決現有技術中存在的單向 認證的問題、解決了單向認證帶來的安全隱患。GSM系統雙向認證的方法包括在GSM網絡對移動站進行認證之后,開始移動站對GSM網絡端的認證,通過將認證 中心AuC的隨機數產生器功能轉移到SIM卡中實現;此外在用戶歸屬位置寄存器HLR和訪 問位置寄存器VLR之間添加單向哈希函數用于計算共享密鑰Kshare。
圖IGSM移動通信系統框架圖;圖2GSM系統認證流程框架圖;圖3為現有的GSM系統雙向認證流程圖;圖4為本發明設計的GSM系統雙向認證流程圖。
具體實施例方式針對GSM系統現有技術中存在的不能提供網絡端對用戶端認證從而引發多種安 全問題的缺陷,本發明提出了一種雙向認證的方法。此方法實現移動站向GSM網絡認證的 同時,提供GSM網絡向移動站認證的功能,從而解決了 GSM網絡單向認證帶來的安全隱患。如圖3所示,本發明提供的GSM系統雙向認證方法,分為五個步驟實現。雙向認證 協議實現的具體步驟如下所述步驟一由MS產生RAND,并且使用和GSM系統相同的方法產生SRESl,即使用Ki 和RAND作為輸入,經過A3算法產生SRESl。計算臨時加密密鑰Tki (等同于GSM系統中的 會話加密密鑰Kc),Tki通過認證算法A8計算得到,算法的輸入為鑒權參數RAND和Ki。MS 用加密算法A5,以Tki為密鑰,對RAND進行加密。然后將TMSI,LAI,SRESl和加密后的RAND 一并傳送給VLR。VLR存儲SRESl用于后續的認證功能,即用于認證MS。VLR通過MS發送 過來的LAI找到此MS歸屬位置的信息寄存器VLRo,VLR然后通過發送TMSI給MS的VLRO請求此MS的IMSI。步驟二 VLR將VLR_ID以及加密的RAND和使用動態密鑰Kshare加密的IMSI傳 送給HLR(IMSI加密利用VLR和HLR之間的共享密鑰Kshare,在這里使用動態Kshare替代 了原有認證協議中的固定密鑰Kvh)。這樣就可以保證在固網中IMSI值的安全。在這里可 以清楚地看到由于VLR不知道MS的Ki,所以也就沒有辦法知道RAND的數值。Kshare的產 生通過單向哈希函數產生,以鑒權請求參數RAND和主密鑰Ki為輸入,這樣就可以保證每次 鑒權請求中都會相應的更新VLR和HLR之間的共享密鑰,從而保證了 VLR和HLR之間數據 傳送的安全。步驟三HLR接收到信息之后,根據VLR_ID找到HLR和此VLR之間的共享密鑰 Kshare,得到IMSI,然后根據IMSI查找AUC得到此MS對應的主密鑰Ki。接著HLR就可以 用Ki和A5算法對加密的RAND進行解密,從而得到RAND。HLR端進行同SIM卡端同樣的操 作,以RAND和Ki為輸入,經過A8算法產生臨時加密密鑰Tki。以RAND和Ki為輸入,經過 A3算法產生鑒權參數響應SRES2。然后HLR將臨時加密密鑰Tki和RAND,用與VLR的共享 密鑰Kshare進行加密,連同明文形式存在的SRES2和HLR_ID —起傳送給VLR。步驟四當VLR接收到這些數據之后,通過HLR_ID找到與此HLR之間的共享密鑰, 解密得到Tki和RAND。然后對SRESl和SRES2進行比較,如果這兩個數值相同則用戶認證 通過。此時,VLR產生MS的新的TMSI,然后使用Tki經過A5算法對TMSI進行加密。接著, VLR RAND 禾口力口的 TMSI i至Ij MS。步驟五MS將自己的RAND和收到的RAND作比較,如果相同,則網絡端認證通過, 否則網絡端認證失敗。
權利要求
1. GSM系統的一種雙向認證方法,其特征在于,該方法包括實現移動站到GSM網絡端的認證的同時實現GSM網絡端到用戶端的認證,從而達到雙 向認證,互信互擇的目的。
全文摘要
本發明公開了一種GSM系統的雙向認證方法,該方法包括在移動站接入GSM網絡時提供GSM網絡對用戶的認證;同時實現移動站對GSM網絡的認證。通過本發明的認證方案解決了現有技術中僅僅提供GSM網絡端對用戶認證的單向認證方法帶來的安全隱患。雙向認證的產生有效的避免了GSM系統中盛行的“中間人攻擊”和空中攻擊。
文檔編號H04L9/32GK102111268SQ20091024425
公開日2011年6月29日 申請日期2009年12月28日 優先權日2009年12月28日
發明者包一兵, 杜曉峰, 武巧榮, 辛陽 申請人:北京安碼科技有限公司