專利名稱:身份認證和密鑰協(xié)商方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及通信領域,并且特別地,涉及一種身份認證和密鑰協(xié)商方法及系統(tǒng)。
背景技術:
認證禾口密鑰協(xié)商(Authentication, and Key Agreement,簡稱為AKA)或可擴 展的認證協(xié)議_AKA (Extensible Authentication Protocol-Authentication, and Key Agreement,簡稱為EAP-AKA)是基于挑戰(zhàn)-應答機制和對稱密碼機制,該機制運行在用戶身 份識別模塊上,基于AKA的認證與密鑰分發(fā)協(xié)議需要三方參與移動站(MobileStation), 拜訪局(VLR),歸屬局(HLR) 。 EAP-AKA協(xié)議由VLR發(fā)起,VLR首先向MS發(fā)送一個EAP請求 /身份標志消息,然后就開始了認證與密鑰分配過程。下面對相關協(xié)議進行描述
(1) MS — VLR : MS I , HLR ;
(2) VLR —HLR : MSI ; (3) HLR — VLR :AV = RAND | | XRES | | CK | | IK | | AUTN ;
(4) VLR — MS :RAND | | AUTN ;
(5) MS — VLR : RES 。 認證中心AuC產(chǎn)生認證向量組的流程如圖1所示,其中,國際移動用戶識別 碼(頂SI)為用戶的永久身份識別,AV為認證向量,SQN為序列號,AMF認證管理域, 爿(7rA^SgA^^nMMFIIM4C為認證令牌,MAC = flK(SQN, RAND, AMF)為消息認證碼,用 于認證消息的正確性,XRES = f2K(RAND)為期望的認證回答,CK = f3K(RAND)為加密密 鑰,IK = f4K(RAND)為完整性密鑰,AK = f5K(RAND)為匿名密鑰,用于隱藏序列號,RES = f2K(RAND)為認證回答,XMAC = flK(SQN, RAND, AMF)為期望的消息認證碼,fl至f5為單向 陷門函數(shù)。 具體地,在MS收到RAND | | AUTN后將會計算XMAC并和AUTN中的MAC比較,若兩者 不同,則向VLR發(fā)送拒絕認證消息,認證失??;若兩者相同,則MS驗證SQN是否為新鮮,如果 不能通過驗證,MS會向VLR發(fā)送同步接收失敗消息,此時認證失??;如果上述兩項都通過驗 i正,則MS向VLR發(fā)送到RES, VLR收到RES后,比較XRES和RES,若不同,認證失敗,如果相 同則通過認證,認證過程結束。 在上述流程完成后,MS用戶與網(wǎng)絡之間就實現(xiàn)了雙向認證。并且,MS與VLR之間 共享了會話密鑰,這些密鑰可用于通信中的機密性和一致性保護。 具體地,在圖1中,f0是一個偽隨機數(shù)生成函數(shù),只存放于AuC中,用于生成隨機 數(shù)RAND。認證向量中有一個"認證令牌",即,AUTN,其中包含了一個序列號,使得用戶可以 避免受到重傳攻擊。其中,因為序列號可能會暴露用戶的身份和位置信息,所以將AK用于 在AUTN中隱藏序列號。 當認證中心HLR收到VLR的認證請求時,會發(fā)送N個認證向量組給VLR。在VLR 中,每個用戶的N個認證向量組,按照"先入先出"(FIFO)的規(guī)則發(fā)送給移動臺,用于鑒權認 證。
在發(fā)送向量組的過程中,VLR會初始化一個認證過程,選擇一個認證向量組,發(fā)送 其中的RAND和AUTN給用戶。用戶收到RANDl |AUTN后,在用戶端的身份認證模塊中進行如 圖2所示操作。在圖2所示的MS所進行的操作中,MS同樣需要根據(jù)與AuC中相同的函數(shù) f0-f5來進行驗證,其處理方式與AuC中的處理過程對應,這里不再重復。
然而,在目前采用的鑒權和密鑰協(xié)商過程中,存在如下兩個問題。
( — )明文傳輸IMSI或臨時移動用戶識別碼(TMSI) 通過上述過程可以看出,當用戶首次注冊到網(wǎng)絡、或者網(wǎng)絡無法從TMSI恢復出 MSI的時候(比如VLR的數(shù)據(jù)庫錯誤),拜訪地VLR會向用戶請求IMSI,用戶將向網(wǎng)絡以明 文形式發(fā)送IMSI,此時IMSI的傳輸非常不安全,很容易導致IMSI被竊聽,遭到中間人的攻擊。 目前,在3G中可選擇使用保密的用戶身份來增強用戶身份的機密性。MS/USIM在 收到VLR的身份請求后,由MS將IMSI加密后嵌入HE-message中,并且用HE-id來向VLR指 明可以解密該HE-message的HE/UIC的地址。VLR收到HE-message后,根據(jù)HE_id再將該 消息傳送到相應的HE/UIC, HE/UIC解密后將用戶的IMSI傳遞給VLR。在收到用戶的IMSI 后,就可以啟動TMSI分配過程,此后將使用TMSI來識別移動用戶身份。
盡管這種增強型身份加密機制在一定程度上加強了用戶身份的機密性,但該方法 增加了消息在信道中傳輸?shù)倪^程,導致傳輸時延增加;另一方面,該方法只是將原來由無線 接入部分傳送明文頂SI的過程變成在網(wǎng)絡內傳送明文IMSI,并不能徹底解決IMSI安全性 的問題;并且,對于移動用戶的臨時身份TMSI,如果泄漏了,就有可能獲得與永久身份標識 IMSI之間的映射關系,如果進而獲得用戶的具體位置信息,這樣就可能會發(fā)生針對特定用 戶的拒絕服務攻擊。 ( 二 )在目前采用的鑒權和密鑰協(xié)商過程中,MS和HLR都沒有對VLR進行認證。
無線網(wǎng)絡處在比較開放的環(huán)境中,鑒權和密鑰協(xié)商協(xié)議實現(xiàn)了用戶與網(wǎng)絡之間的 相互認證,即MS和HLR之間的雙向認證,以及VLR對MS的認證,但雙方都沒有對VLR的身 份進行認證。因此攻擊者X可在MS與VLR之間發(fā)起中間人攻擊,例如,攻擊過程如下
(1)MS —X:MSI;
(2)X — VLR :MSI ;
(3) VLR —HLR : MSI ; (4) HLR — VLR :AV = RAND | | XRES | | CK | | IK | | AUTN ;
(5) VLR — X :RAND | | AUTN ;
(6) X — MS :RAND | | AUTN ;
(7)MS —X:RES;
(8)X — VLR :RES。 這樣,由于HLR將無線網(wǎng)通信中機密性和完整性保護的會話密鑰直接以明文的形 式發(fā)送給VLR,攻擊者X就可以假冒該MS入網(wǎng),此時,由于CK與IK未在無線接口中傳輸,所 以攻擊者無法獲得這些密鑰而進行正常的通信,但是如果攻擊者X對VLR與HLR之間的信 息進行竊聽,就可能獲得HLR傳給VLR的認證向量AV,進而獲得CK與IK。此后攻擊者X再 假冒該MS入網(wǎng),S卩,可實現(xiàn)正常的保密通信,而合法用戶傳送的信息也就失去了保密性。另 外,由于用戶在不同的公共陸地移動網(wǎng)絡(Public Land Mobile Network,簡稱為PLMN)之間漫游,這些不同的PLMN甚至可以位于不同的國家,為了對用戶進行鑒權認證,HLR (用戶 的本地網(wǎng)絡)會將用戶的鑒權五元組發(fā)送到用戶當前漫游的網(wǎng)絡的VLR,在這個過程中,用 戶鑒權向量組將穿過不同的網(wǎng)絡,因此很容易受到攻擊。 如果攻擊者首先利用某種方式(如DoS攻擊)攻陷VLR,然后假冒成VLR則可以獲 取無線網(wǎng)的會話密鑰,這樣就使得無線網(wǎng)的通信失去了保密性。 針對相關技術中IMSI和密鑰傳輸保密性差的問題,目前尚未提出有效的解決方案。
發(fā)明內容
考慮到上述IMSI和密鑰傳輸保密性差的問題而做出本發(fā)明,為此,本發(fā)明的主要 目的在于提供一種身份認證和密鑰協(xié)商方法和系統(tǒng)。 根據(jù)本發(fā)明的一個方面,提供了一種身份認證和密鑰協(xié)商方法,該方法可應用于 包括證書授權中心即CA、歸屬局即HLR、多個拜訪局即VLR、以及隸屬于HLR的移動站即MS 的系統(tǒng),其中,CA用于為HLR、多個VLR、以及MS頒發(fā)公鑰和私鑰。 根據(jù)本發(fā)明的身份認證和密鑰協(xié)商方法包括MS根據(jù)公鑰廣播協(xié)議從多個VLR中 選擇一個VLR,獲取選擇的VLR的公鑰,并選擇第一隨機數(shù);MS將其公鑰、HLR的標識、第一 隨機數(shù)、以及利用選擇的VLR的公鑰加密的MS的國際移動用戶識別碼即IMSI發(fā)送給選擇 的VLR ;選擇的VLR利用其私鑰解密得到IMSI,利用選擇的VLR與HLR的共享密鑰對解密的 IMSI加密并發(fā)送至HLR,并且生成第二隨機數(shù),將第二隨機數(shù)發(fā)送給MS ;MS利用其私鑰、第 一隨機數(shù)、第二隨機數(shù)構造中間變量,并將中間變量發(fā)送給選擇的VLR,選擇的VLR通過中 間變量對MS進行認證。 其中,在VLR向MS發(fā)送第二隨機數(shù)時,該方法可進一步包括選擇的VLR利用第一 隨機數(shù)以預定加密方式對HLR的身份令牌、第二隨機數(shù)、以及MS的臨時移動用戶識別碼進 行加密并發(fā)送至MS。優(yōu)選地,預定加密方式為異或操作。 之后,在HLR接收到IMSI之后,該方法可進一步包括HLR利用共享密鑰解密得到 MSI,生成多個認證向量組,并利用共享密鑰對多個認證向量組加密并發(fā)送至選擇的VLR ; 選擇的VLR利用共享密鑰解密得到認證向量組,并從中選擇一個認證向量組發(fā)送給MS。
此外,在MS首次通過認證的情況下,該方法還可以進一步包括MS利用其TMSI替 代頂SI。 其中,在MS通過首次認證后,該方法可進一步包括選擇的VLR產(chǎn)生新的TMSI,用 于在MS進行下次認證的情況下分配給MS以替代原有的TMSI。
優(yōu)選地,CA可根據(jù)以下公式生成MS的公鑰
= (g_s』-麗/ -叫)"mod " 其中,PKB為MS的公鑰;n為CA的長度為1024bit以上的模數(shù);g為基元,且g為 整數(shù);d為CA的簽字私鑰;e為CA的驗證公鑰;SKMS為CA為用戶隨機選取的私鑰,其長度為 160bit以上;IDH為HLR的標識;MSI為MS的國際移動用戶識別碼。
并且,MS可根據(jù)以下公式得到中間變量
Y = N+NvXSK 其中,y為中間變量,NU為第一隨機數(shù),NMS為第二隨機數(shù),SKMS為MS的私鑰。
其中,VLR可根據(jù)以下公式對MS進行認證
i/[g^(尸《M/ + /MS/ + mod"]=;c 其中,在該公式成立的情況下,確定MS通過認證,否則確定MS未通過認證;
g為基元,且g為整數(shù);y為中間變量;PKMS為MS的公鑰;IMSI為MS的國際移動用 戶識別碼;IDH為HLR的標識;n為CA的長度為1024bit以上的模數(shù);x等于^ = H(gWMS mod"); H為hash運算。 根據(jù)本發(fā)明的另一方面,提供了一種身份認證和密鑰協(xié)商系統(tǒng)。 根據(jù)本發(fā)明的身份認證和密鑰協(xié)商系統(tǒng)包括證書授權中心即CA、歸屬局即HLR、
多個拜訪局即VLR、以及隸屬于HLR的移動站即MS的系統(tǒng),其中,CA用于為HLR、多個VLR、
以及MS頒發(fā)公鑰和私鑰。 其中,MS用于根據(jù)公鑰廣播協(xié)議從多個VLR中選擇一個VLR,并隨機選擇第一隨機 數(shù);利用選擇的VLR的公鑰對MS的國際移動用戶識別碼即IMSI進行第一加密,并將MS的 公鑰、HLR的標識、第一隨機數(shù)、以及第一加密的IMSI發(fā)送給選擇的VLR,以及利用MS的私 鑰、第一隨機數(shù)、選擇的VLR返回的第二隨機數(shù)構造中間變量; 多個VLR中的每個VLR,用于在其被MS選擇的情況下,利用其私鑰對來自MS的第 一加密后的MSI進行解密得到IMSI,利用VLR與HLR的共享密鑰對解密的IMSI進行第二 加密,將第二加密后的MSI發(fā)送至HLR,并將生成的第二隨機數(shù)發(fā)送至MS,以及根據(jù)MS生 成的中間變量對MS進行認證; HLR用于利用共享密鑰對加密的IMSI進行解密。 優(yōu)選地,MS可以進一步包括選擇模塊,用于根據(jù)公鑰廣播協(xié)議從多個VLR中選擇 所選的VLR,并隨機選擇第一隨機數(shù);獲取模塊,用于獲取選擇的VLR的公鑰;第一加密模 塊,用于利用選擇的VLR的公鑰進行第一加密;第一發(fā)送模塊,用于將MS的公鑰、HLR的標 識、第一隨機數(shù)、以及第一加密的IMSI發(fā)送給選擇的VLR ;構造模塊,用于利用MS的私鑰、 第一隨機數(shù)、選擇的VLR返回的第二隨機數(shù)構造中間變量。 另外,VLR可以進一步包括第一解密模塊,用于利用其所在的VLR的私鑰對第一 加密后的IMSI進行解密得到IMSI ;第二加密模塊,用于利用其所在的VLR與HLR的共享密 鑰對解密的MSI進行第二加密;第二發(fā)送模塊,用于將第二加密模塊加密后的IMSI發(fā)送至 HLR ;生成模塊,用于生成第二隨機數(shù),并將第二隨機數(shù)發(fā)送至MS ;認證模塊,用于根據(jù)MS構 造的中間變量對MS進行認證。 此外,上述的VLR可以進一步包括第二解密模塊,用于利用共享密鑰對第二加密 的IMSI進行解密。 借助本發(fā)明的上述技術方案,通過引入可信的CA來分配公鑰和私鑰,實現(xiàn)了基于 自驗證公鑰的密鑰交互方法,能夠有效解決相關技術中IMSI和TMSI明文傳輸所帶來的用 戶身份和位置信息被泄漏的安全隱患,并且解決了由于缺乏對VLR的認證而導致容易被偽 基站或中間人攻擊的問題,本發(fā)明增加了少量加解密和異或的運算量,有效保證了 IMSI和 TMSI傳輸?shù)陌踩裕⑶夷軌虮WC系統(tǒng)的效率不受影響。
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中 圖1是相關技術中認證中心AuC產(chǎn)生認證向量組的示意圖; 圖2是相關技術中MS的認證模塊中進行的操作示意圖; 圖3是根據(jù)本發(fā)明方法實施例的身份認證和密鑰協(xié)商方法的流程圖; 圖4是根據(jù)本發(fā)明方法實施例的身份認證和密鑰協(xié)商方法的詳細處理過程的信
令流程圖; 圖5是根據(jù)本發(fā)明系統(tǒng)實施例的身份認證和密鑰協(xié)商系統(tǒng)的框圖。
具體實施方式
功能概述 本發(fā)明考慮到相關技術中IMSI和密鑰傳輸保密性差的問題,本發(fā)明采用公鑰廣 播協(xié)議(Public Key Broadcast Protocol-PKBP),在網(wǎng)絡中引入了可信的證書授權中心 (Certificate Authority, CA)對VLR和HLR生成私鑰并頒發(fā)公鑰,借助自驗證公鑰的身份 認證方案有效提高了 IMSI和密鑰傳輸?shù)谋C苄浴?
方法實施例 在本實施例中,提供了一種身份認證和密鑰協(xié)商方法,應用于包括CA、 HLR、多個
VLR、以及隸屬于HLR的MS的系統(tǒng),其中,CA可為HLR、多個VLR、以及MS頒發(fā)公鑰和私鑰。 如圖3所示,根據(jù)本實施例的身份認證和密鑰協(xié)商方法包括 步驟S302,MS根據(jù)公鑰廣播協(xié)議從多個VLR中選擇一個VLR,獲取該選擇的VLR的
公鑰,并選擇第一隨機數(shù); 步驟S304, MS將其公鑰、HLR的標識、第一隨機數(shù)、以及利用所選的VLR的公鑰加 密的MS的國際移動用戶識別碼即IMSI發(fā)送給VLR ; 步驟S306,所選的VLR利用其私鑰解密得到IMSI,利用該所選的VLR與HLR的共 享密鑰對解密的MSI加密并發(fā)送至HLR,并且生成第二隨機數(shù),將第二隨機數(shù)發(fā)送給MS ;
步驟S308, MS利用其私鑰、第一隨機數(shù)、第二隨機數(shù)構造中間變量,并將中間變量 發(fā)送給所選的VLR,所選的VLR通過中間變量對MS進行認證。 針對各個VLR的公鑰的獲取,系統(tǒng)中相互臨近的VLR利用BCCH(廣播控制信道) 將認證參數(shù)(公鑰PKv、網(wǎng)絡標識IDv和模數(shù)nv)以聯(lián)合廣播的方式從BS發(fā)布。艮卩,各個BS 同時廣播自己及其相鄰基站歸屬的VLR的認證參數(shù),最終形成一個無縫的覆蓋。
在實際情況中,偽基站的數(shù)目遠小于真實基站的數(shù)目,即便偽基站以很強的信號 廣播自己的公鑰參數(shù),但其數(shù)量遠小于合法BS聯(lián)合廣播的參數(shù)。MS可在SIM卡中利用一個 較小的存儲區(qū)對一段時間內收到的參數(shù)予以緩存,統(tǒng)計出現(xiàn)次數(shù)較多的參數(shù),再在其中選 擇對應信號最強的BS接入。如果一個參數(shù)在緩存中出現(xiàn)的次數(shù)很少,即便其對應的發(fā)射信 號強度再大MS也不考慮接入。利用此方法,MS可抵抗偽基站攻擊,并避免驗證VLR公鑰證 書的合法性,從而避免驗證公鑰證書帶來的網(wǎng)絡擁塞。 并且,在上述步驟S302之前,CA可以根據(jù)以下公式(1)為MS產(chǎn)生公鑰PKMS : 尸K泌=—B/57 — /Z^)rf mod "公式(l) 其中,n是CA長度為1024bits以上的模數(shù);g為基元,且g G Z ;d是CA的簽字私 鑰;e是CA的驗證公鑰;SKB為CA對用戶隨機選取的長度為160bit以上的私鑰;將g、SKMS、PKB、 IDH(歸屬地HLR的網(wǎng)絡標識號)和MSI寫入用戶的SM卡。隨后,CA銷毀SKMS,并在 自己的數(shù)據(jù)庫中存儲g,PK,ID??蛇x地,系統(tǒng)中用戶可選用相同的g(選擇相同的g并不 會影響安全性),且所有VLR和HLR都擁有CA的公鑰證書。
下面將結合具體的處理實例描述本發(fā)明的處理過程。 參數(shù)說明下文中出現(xiàn)的|X|表示X的長度;A、B、S為3個整數(shù),且滿足|B| =32,
S| = 160, |A| = |S| + |B|+80。 如圖4所示,根據(jù)本發(fā)明實施例的密鑰協(xié)商方法包括以下步驟 步驟401, MS根據(jù)公鑰廣播協(xié)議,選擇出合適的VLR(公鑰PKV、網(wǎng)絡標識IDV和模
數(shù)riv); 步驟402,MS隨機選擇NMS G
(第一隨機數(shù)),計算^ = ^(g^ mod");(步驟
401和步驟402對應于上述步驟S302) 步驟403, MS發(fā)送IDH、 PKJ (氾r II從股II "給VLR ;(步驟403對應于上述步驟 S304) 步驟404, VLR收到MS的消息后,用SKV解密丑 II仏^ II",獲得頂SI和x,并 產(chǎn)生隨機數(shù)Nv G
(第二隨機數(shù))和TMSI ;
步驟405 , VLR發(fā)送£^ (/AflS/) , IDV給HLR ; 步驟406, HLR收到VLR的消息后,根據(jù)IDV,找到與VLR之間的共享密鑰KHV,解密 £^ (/MS7),獲得MSI,根據(jù)mSI確定與MS之間的共享密鑰K,然后產(chǎn)生m個認證向量組
AV(1,2, . , m) , (AV(i) = RAND XRES CK | IK|AUTN); 步驟407, HLR將加密后的m個認證向量組S^ G^(l,二…,m))發(fā)送給VLR ; 步驟408, VLR收到HLR的消息后,利用共享密鑰K肌解密&冊G^(1A…,附)),獲得多
個認證向量組,然后選一認證向量組; 步驟409, VLR將HLR的隨機數(shù)和HLR的身份令牌RAND | |AUTN以及 Ex, (Nv| I TMSI I I MSI) —起發(fā)送給MS,其中x'為x的低128bit s,具體的加密方法可以是 異或運算(可以減少運算量,保證系統(tǒng)效率);(步驟404和步驟409對應于上述步驟S306)
步驟410, MS利用x還原IMSI, TMSI和Ny,如果收到的IMSI與自己發(fā)送的一致, 則保存TMSI以備下次認證時使用,隨后MS根據(jù)公式(2)進行計算,構造中間變量y :
Y = N+NvXSK 公式(2); 此外,在步驟S410中,還需要判斷SQN是否在正確范圍內,以及判斷MAC的正確 性; 步驟411,MS向VLR發(fā)送消息^(Avr威)(""/ ||力,具體的加密方法可以是異或運 算; 步驟412, VLR利用Nv和TMSI還原y和IMSI,若IMSI與消息(1)中包含的MSI 一致,則判斷下面的公式(3)是否成立 <formula>formula see original document page 10</formula>公式(3) 如公式(3)不成立,則中止處理過程; 步驟413,如果公式(3)成立,MS通過認證,MS計算CK和IK,這樣MS和VLR就可以用CK和IK作為數(shù)據(jù)加密密鑰和完整性密鑰進行通信。(步驟410至步驟413對應于上 述步驟S308) 并且,在首次認證通過后,MS可利用TMSI替代MSI,以進一步提高系統(tǒng)的安全性; 之后VLR再產(chǎn)生TMSI',該TMSI'可用于對MS進行為下次認證,在下次MS進行認證時,MS 就可以用TMSI'代替原有的TMSI。 此外,在步驟404中,MS通過公鑰廣播協(xié)議,可獲得合法VLR的參數(shù)信息(公鑰 PV網(wǎng)絡標識IDv和模數(shù)nv),VLR的身份也得到了認證,這樣就可以解決偽基站攻擊。步驟 412中,對i/[g《尸尺肌e +/MS/ + /D ) mod"]^;c的驗證,實際上就是通過證書頒
發(fā)中心CA的公鑰e來認證MS的合法性。 通過上述處理可以看出,用戶的身份信息IMSI和TMSI等都是以加密方式傳輸?shù)?(例如在步驟403、405、409、411等步驟中),增強了用戶身份信息的機密性,有效防止了用 戶身份的泄漏和針對具體用戶的DoS攻擊。并且,在根據(jù)本發(fā)明的密鑰協(xié)商處理過程中,認 證消息傳遞次數(shù)并未增加,僅僅輕微增加了加解密和異或的運算量,并且上述處理中通過 采用共享密鑰加密和異或運算來盡可能減少運算量,從而保證系統(tǒng)的效率不受影響。
系統(tǒng)實施例 在本實施例中,提供了一種身份認證和密鑰協(xié)商系統(tǒng)。如圖5所示,根據(jù)本實施例 的身份認證和密鑰協(xié)商系統(tǒng)包括CA 10、 HLR20、多個VLR 30、以及隸屬于HLR 20的MS 40 的系統(tǒng),其中,CA IO用于為HLR 20、多個VLR 30、以及MS 40頒發(fā)公鑰和私鑰。
具體地,MS 40用于根據(jù)公鑰廣播協(xié)議從多個VLR 30中選擇一個VLR 30,并隨機 選擇第一隨機數(shù);利用選擇的VLR 30的公鑰對MS 40的國際移動用戶識別碼即IMSI進行 第一加密,并將MS 40的公鑰、HLR 20的標識、第一隨機數(shù)、以及第一加密的IMSI發(fā)送給選 擇的VLR 30,以及利用MS 40的私鑰、第一隨機數(shù)、選擇的VLR 30返回的第二隨機數(shù)構造中 間變量; 多個VLR 30中的每個VLR 30,用于在其被MS 40選擇的情況下,利用其私鑰對來 自MS 40的第一加密后的IMSI進行解密得到IMSI,利用該所在VLR 30與HLR 20的共享密 鑰對解密的MSI進行第二加密,將第二加密后的IMSI發(fā)送至HLR 20,并將生成的第二隨機 數(shù)發(fā)送至MS 40,以及根據(jù)MS 40生成的中間變量對MS進行認證;
HLR 20用于利用共享密鑰對加密的IMSI進行解密。 圖5進一步示出了 HLR 20、VLR 30、MS 40的具體結構。如圖5所示,MS 40包括 選擇模塊42,用于根據(jù)公鑰廣播協(xié)議從多個VLR 30中選擇一個VLR 30,并隨機選擇第一隨 機數(shù);獲取模塊44,用于獲取所選的VLR的公鑰;第一加密模塊46,用于利用選擇的VLR 30 的公鑰對MSI進行第一加密;第一發(fā)送模塊48,用于將MS 40的公鑰、HLR 20的標識、第 一隨機數(shù)、以及第一加密的頂SI發(fā)送給所選的VLR 30 ;構造模塊49,用于利用MS 40的私 鑰、第一隨機數(shù)、選擇的VLR 30返回的第二隨機數(shù)構造中間變量。 VLR 30包括第一解密模塊32,用于利用其所在的VLR 30的私鑰對第一加密后的 MSI進行解密得到IMSI ;第二加密模塊34,用于利用其所在的VLR 30與HLR 20的共享密 鑰對解密的IMSI進行第二加密;第二發(fā)送模塊36,用于將第二加密模塊34加密后的IMSI 發(fā)送至HLR ;生成模塊38,用于生成第二隨機數(shù),并將第二隨機數(shù)發(fā)送至MS 40 (具體地,可 以發(fā)送至MS的構造模塊49);認證模塊39,用于根據(jù)MS 40的構造模塊49生成的中間變量對MS進行認證; HLR 20包括第二解密模塊22,用于利用共享密鑰對來自第二發(fā)送模塊36的加密 的IMSI進行解密。 該系統(tǒng)中各個實體間的交互過程可以參見圖4,這里不再重復。 綜上所述,借助于本發(fā)明的技術方案,通過引入可信的CA來對MS、HLR、VLR分配公
鑰和私鑰,實現(xiàn)了基于自驗證公鑰的密鑰交互方法,能夠有效解決相關技術中IMSI和TMSI
明文傳輸所帶來的用戶身份和位置信息被泄漏的安全隱患,并且解決了由于缺乏對VLR的
認證而導致容易被偽基站或中間人攻擊的問題,本發(fā)明增加了少量加解密和異或的運算
量,有效保證了 IMSI和TMSI傳輸?shù)陌踩裕⑶夷軌虮WC系統(tǒng)的效率不受影響。 以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技
術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內,所作的任何修
改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
一種身份認證和密鑰協(xié)商方法,應用于包括證書授權中心即CA、歸屬局即HLR、多個拜訪局即VLR、以及隸屬于所述HLR的移動站即MS的系統(tǒng),其中,所述CA用于為所述HLR、所述多個VLR、以及所述MS頒發(fā)公鑰和私鑰,其特征在于,所述方法包括所述MS根據(jù)公鑰廣播協(xié)議從所述多個VLR中選擇一個VLR,獲取選擇的所述VLR的公鑰,并選擇第一隨機數(shù);所述MS將其公鑰、所述HLR的標識、所述第一隨機數(shù)、以及利用選擇的所述VLR的公鑰加密的所述MS的國際移動用戶識別碼即IMSI發(fā)送給選擇的所述VLR;選擇的所述VLR利用其私鑰解密得到所述IMSI,利用選擇的所述VLR與所述HLR的共享密鑰對解密的所述IMSI加密并發(fā)送至所述HLR,并且生成第二隨機數(shù),將所述第二隨機數(shù)發(fā)送給所述MS;所述MS利用其私鑰、所述第一隨機數(shù)、所述第二隨機數(shù)構造中間變量,并將所述中間變量發(fā)送給選擇的所述VLR,選擇的所述VLR通過所述中間變量對所述MS進行認證。
2. 根據(jù)權利要求1所述的方法,其特征在于,在所述VLR向所述MS發(fā)送所述第二隨機數(shù)時,進一步包括選擇的所述VLR利用所述第一隨機數(shù)以預定加密方式對所述HLR的身份令牌、所述第二隨機數(shù)、以及所述MS的臨時移動用戶識別碼進行加密并發(fā)送至所述MS。
3. 根據(jù)權利要求2所述的方法,其特征在于,所述預定加密方式為異或操作。
4. 根據(jù)權利要求1所述的方法,其特征在于,在所述HLR接收到所述IMSI之后,進一步包括所述HLR利用所述共享密鑰解密得到所述IMSI,生成多個認證向量組,并利用所述共享密鑰對所述多個認證向量組加密并發(fā)送至選擇的所述VLR ;選擇的所述VLR利用所述共享密鑰解密得到所述認證向量組,并從中選擇一個認證向量組發(fā)送給所述MS。
5. 根據(jù)權利要求1所述的方法,其特征在于,在所述MS首次通過認證的情況下,進一步包括所述MS利用其TMSI替代所述IMSI。
6. 根據(jù)權利要求5所述的方法,其特征在于,在MS通過首次認證后,進一步包括選擇的所述VLR產(chǎn)生新的TMSI,用于在所述MS進行下次認證的情況下分配給所述MS以替代原有的TMSI。
7. 根據(jù)權利要求1至6中任一項所述的方法,其特征在于,所述CA根據(jù)以下公式生成所述MS的公鑰<formula>formula see original document page 2</formula>其中,PK為所述MS的公鑰;n為所述CA的長度為1024bit以上的模數(shù);g為基元,且g為整數(shù);d為所述CA的簽字私鑰;e為所述CA的驗證公鑰;SK為所述CA為用戶隨機選取的私鑰,其長度為160bit以上;H^為所述HLR的標識;MSI為所述MS的國際移動用戶識別碼。
8. 根據(jù)權利要求1至6中任一項所述的方法,其特征在于,所述MS根據(jù)以下公式得到所述中間變量<formula>formula see original document page 2</formula>其中,y為所述中間變量,Nu為所述第一隨機數(shù),N為所述第二隨機數(shù),SKMS為所述MS的私鑰。
9. 根據(jù)權利要求8所述的方法,其特征在于,所述VLR根據(jù)以下公式對所述MS進行認證 <formula>formula see original document page 3</formula>其中,在該公式成立的情況下,確定所述MS通過認證,否則確定所述MS未通過認證;g為基元,且g為整數(shù);y為所述中間變量;PKMS為所述MS的公鑰;IMSI為所述MS的國際移動用戶識別碼;H^為所述HLR的標識;n為所述CA的長度為1024bit以上的模數(shù);x等于; <formula>formula see original document page 3</formula>為hash運算。
10. —種身份認證和密鑰協(xié)商系統(tǒng),包括證書授權中心即CA、歸屬局即HLR、多個拜訪局即VLR、以及隸屬于所述HLR的移動站即MS的系統(tǒng),其中,所述CA用于為所述HLR、所述多個VLR、以及所述MS頒發(fā)公鑰和私鑰,其特征在于,所述MS用于根據(jù)公鑰廣播協(xié)議從所述多個VLR中選擇一個VLR,并隨機選擇第一隨機數(shù);利用選擇的所述VLR的公鑰對所述MS的國際移動用戶識別碼即IMSI進行第一加密,并將所述MS的公鑰、所述HLR的標識、所述第一隨機數(shù)、以及第一加密的所述IMSI發(fā)送給選擇的所述VLR,以及利用所述MS的私鑰、所述第一隨機數(shù)、選擇的所述VLR返回的第二隨機數(shù)構造中間變量;所述多個VLR中的每個VLR,用于在其被所述MS選擇的情況下,利用其私鑰對來自所述MS的第一加密后的IMSI進行解密得到所述IMSI,利用所述VLR與所述HLR的共享密鑰對解密的所述頂SI進行第二加密,將第二加密后的所述IMSI發(fā)送至所述HLR,并將生成的所述第二隨機數(shù)發(fā)送至所述MS,以及根據(jù)所述MS生成的所述中間變量對所述MS進行認證;所述HLR用于利用所述共享密鑰對加密的所述IMSI進行解密。
11. 根據(jù)權利要求10所述的系統(tǒng),其特征在于,所述MS進一步包括選擇模塊,用于根據(jù)所述公鑰廣播協(xié)議從所述多個VLR中選擇所選的所述VLR,并隨機選擇所述第一隨機數(shù);獲取模塊,用于獲取選擇的所述VLR的公鑰;第一加密模塊,用于利用選擇的所述VLR的公鑰進行所述第一加密;第一發(fā)送模塊,用于將所述MS的公鑰、所述HLR的標識、所述第一隨機數(shù)、以及第一加密的所述MSI發(fā)送給選擇的所述VLR ;構造模塊,用于利用所述MS的私鑰、所述第一隨機數(shù)、選擇的所述VLR返回的第二隨機數(shù)構造所述中間變量。
12. 根據(jù)權利要求10所述的系統(tǒng),其特征在于,所述VLR包括第一解密模塊,用于利用其所在的VLR的私鑰對第一加密后的所述IMSI進行解密得到所述頂SI ;第二加密模塊,用于利用其所在的VLR與所述HLR的共享密鑰對解密的所述IMSI進行所述第二加密;第二發(fā)送模塊,用于將所述第二加密模塊加密后的所述MSI發(fā)送至所述HLR ;生成模塊,用于生成所述第二隨機數(shù),并將所述第二隨機數(shù)發(fā)送至所述MS ;認證模塊,用于根據(jù)所述MS構造的所述中間變量對所述MS進行認證。
13.根據(jù)權利要求10所述的系統(tǒng),其特征在于,所述VLR包括第二解密模塊,用于利用所述共享密鑰對第二加密的所述IMSI進行解密。
全文摘要
本發(fā)明公開了一種身份認證和密鑰協(xié)商方法及系統(tǒng),其中,該方法包括MS根據(jù)公鑰廣播協(xié)議從多個VLR中選擇一個VLR,獲取選擇的VLR的公鑰,并選擇第一隨機數(shù);MS將其公鑰、HLR的標識、第一隨機數(shù)、以及利用選擇的VLR的公鑰加密的MS的國際移動用戶識別碼即IMSI發(fā)送給選擇的VLR;選擇的VLR利用其私鑰解密得到IMSI,利用選擇的VLR與HLR的共享密鑰對解密的IMSI加密并發(fā)送至HLR,并且生成第二隨機數(shù),將第二隨機數(shù)發(fā)送給MS;MS利用其私鑰、第一隨機數(shù)、第二隨機數(shù)構造中間變量,并將中間變量發(fā)送給選擇的VLR,選擇的VLR通過中間變量對MS進行認證。
文檔編號H04L9/08GK101741555SQ200810177730
公開日2010年6月16日 申請日期2008年11月12日 優(yōu)先權日2008年11月12日
發(fā)明者丁添添, 沈曉芹, 禹忠, 許文麗 申請人:中興通訊股份有限公司