新四季網

鑑權和密鑰協商方法、認證方法、系統及設備的製作方法

2023-09-18 05:37:55

專利名稱:鑑權和密鑰協商方法、認證方法、系統及設備的製作方法
技術領域:
本發明涉及通信領域,特別涉及認證技術。
背景技術:
隨著技術的進步,傳統核心網向全IP網絡演進成為網絡發展的趨勢。第三代移動通信合作夥伴項目(3rd Generation Partnership Pro ject,簡稱 「3GPP」)在 R5/R6 標準提出的基於IP的多媒體子系統(IP based Multimedia Subsystem,簡稱「MS」)即專門為下一代全IP的多媒體行動網路設計的系統,著眼於用IP網絡承載移動多媒體業務,使運營商和終端用戶從多媒體服務的革新中獲取更快速、更靈活的應用,從而為運營商增加收入、創造利潤。第三代合作夥伴項目2 (3rd Generation Partnership Project 2,簡稱「3GPP2」)已經制定了相應的頂S規範,即多媒體域(Multimedia Domain,簡稱「MMD」)標準。MMD與3GPP中IMS對應的實體和接口是基本——對應的。IMS是基於會話初始化協議(Session Initiation Protocol,簡稱「SIP」)的體系,SIP是按客戶端/伺服器方式工作的基於文本的信息協議,IMS使用SIP呼叫控制機制來創建、管理和終結各種類型的多媒體業務。3GPP定義的MS的框架結構包括呼叫會話控制功能(Call Session ControlFunction,簡稱 「CSCF」)、媒體網關控制功能(Media Gateway Control Function,簡稱「MGCF」)、多媒體資源功能(Multimedia Resource Function,簡稱「MRF」)、和歸屬用戶伺服器(Home Subscriber Server,簡稱 「HSS」)等功能實體。其中,CSCF又可以分成服務CSCF (Serving CSCF,簡稱「S-CSCF」)、代理CSCF (Proxy CSCF,簡稱 「P-CSCF,,)和查詢 CSCF (Interrogating CSCF,簡稱 「 I-CSCF,,)三個邏輯實體。S-CSCF是MS的業務交換中心,執行會話控制,負責管理用戶信息,產生計費信息等;P_CSCF是終端用戶接入IMS的接入點,完成用戶註冊,負責服務質量控制和安全管理等;I-CSCF負責MS域之間的互通,管理S-CSCF的分配,對外隱藏網絡拓撲和配置,產生計費數據等。在終端發起呼叫前,需要在MS核心網實體進行註冊。註冊過程使得終端可以使用IMS服務。IMS註冊使用的是基於鑑權和密鑰協商(Authentication and Key Agreement,簡稱「AKA」)的流程。在AKA流程中,首先由終端向網絡側發送認證請求,在請求中包含用戶身份。網絡側根據該請求中的用戶身份獲取該終端的根密鑰,並根據該根密鑰計算用於認證的認證向量(AV),AV包括五個參數隨機數RAND,AUTN,期待的響應XRES以及完整性密鑰IK和加密密鑰CK ;其中,AUTN又包含有序列號SQN和MAC兩個參數,MAC值是根據隨機數RAND、SQN以及終端根密鑰計算得到的,用來讓終端認證網絡側。之後,網絡側將RAND和AUTN通過認證挑戰消息Auth_ChalIenge發送給終端。終端收到該挑戰消息後,根據其中的RAND、SQN以及該終端的根密鑰計算相應的XMAC,並將XMAC和消息中的MAC做比較,如果相同,則接著校驗收到的SQN是否大於本地保存的SQN,並且其差值在有效範圍內,以防止重放攻擊。如果是,則該終端成功地認證了網絡。終端接著根據該RAND計算RES、完整性密鑰IK和加密密鑰CK,其中RES是用來讓網絡認證終端的參數。之後終端向網絡側發送認證響應SIPRegister,在響應消息中包含用戶身份,將RES作為該響應消息的密鑰。網絡側根據該響應消息中的用戶身份找到對應的XRES,檢驗該RES,判斷該響應消息是否合法,如果合法則認證成功。可見,在該AKA流程中,只有在終端側驗證網絡合法、且網絡側驗證終端合法,才均使得認證成功。為了確保終端能夠有效驗證網絡側,實現AKA過程,終端必須在本地保存有SQN,網絡側同樣為每個終端也保存有對應的SQN,終端與網絡側保存的SQN同步。在每次網絡側發送挑戰消息和終端檢驗SQN後,兩側的SQN均會改變且單調遞增。因此,終端在收到網絡側發送的認證挑戰消息後,可以根據消息包含的AV中的SQN是否大於本終端保存的SQN,或兩者的差值是否在一個限定的範圍內,來判斷該認證挑戰消息是否新鮮。如果收到的認證挑戰消息中的SQN大於終端本地的SQN,則說明該認證挑戰消息中的SQN是有效的,否則認為是重放攻擊,也就是說,該消息是被非法網絡截獲後重發的,不具備安全性。這種情況下,終端發起與網絡側的重同步過程,使得網絡側的SQN(序列號)與終端保存的SQN重新同步。由於在認證的過程中,終端和網絡側均需要使用到用戶身份、SQN、根密鑰,這些信息保存在ISM(即MS的用戶身份模塊)上,因此通常而言,支持MS的終端需要具有ISM模塊。這個模塊是3G用戶卡nCC或者R-UM的一部分,對於沒有ISM的2G用戶卡而言,無法實現MS業務的註冊。終端側的用戶標識、SQN和MS的根密鑰都保存在卡上,因此能保證這些參數的安全性。如果終端為機卡一體,也就是沒有ncc或者R-UM時,這些參數保存在終端的安全內存中。這樣的終端只為一個用戶服務。目前,有些運營商希望為使用2G卡的用戶提供MS的業務,因此需要考慮如何為這些用戶保存以上參數,即MS密鑰、SQN等。有方法提出動態生成MS密鑰,並且在這些用戶使用的終端,也就是除去用戶卡的用戶設備上維護和保存SQN。然而本發明的發明人發現,該方法中,由於SQN保存在終端上,用戶更換終端時,終端需要產生新的SQN,這個SQN與之前所使用的無法關聯,從而無法保證SQN的單調遞增性,這樣可能導致非法網絡的重放攻擊。比如說,用戶通過2G卡先在終端I上進行MS註冊認證,在AKA過程中使用終端I中保存的SQN進行網絡驗證,在該次網絡驗證之後,終端I上保存的SQN會發生變化,單調遞增;之後該用戶通過該2G卡在終端2上再次進行認證,此時,該終端2上為此用戶重新生成的SQN可能會比之前的小(未確保單調遞增性)。此時,如果非法網絡截獲用戶上次認證時的認證挑戰消息進行重放攻擊,終端將誤 認該非法消息為合法認證挑戰消息,即無法抵抗該重放攻擊。

發明內容
本發明實施方式要解決的主要技術問題是提供一種鑑權和密鑰協商方法、認證方法、系統及設備,使得在用戶卡不支持SQN的保存的情況下,能夠抵抗AKA過程中的重放攻擊。為解決上述技術問題,本發明的實施方式提供了一種鑑權和密鑰協商方法,包含以下步驟網絡側收到終端的認證請求時,根據與該終端的共享密鑰、一個隨機數、和代表網絡側當前系統時間的第一序列號生成第一認證碼,將該隨機數、第一序列號和第一認證碼 發送給終端;終端對收到的隨機數、第一序列號和第一認證碼進行驗證,如滿足以下條件則認定網絡側合法根據與網絡側的共享密鑰、隨機數和第一序列號生成的第二認證碼與第一認證碼相同;代表終端側當前系統時間的第二序列號與第一序列號的差值滿足預定條件;終端認定網絡側合法後,根據與網絡側的共享密鑰和隨機數生成響應值,發送給網絡側;如果網絡側對響應值驗證成功,則認定終端合法。本發明的實施方式還提供了一種鑑權和密鑰協商系統,包含網絡側和終端,網絡側包含第一生成單元,用於在收到終端的認證請求時,根據與該終端的共享密鑰、一個隨機數、和代表網絡側當前系統時間的第一序列號生成第一認證碼;發送單元,用於將隨機數、第一序列號和第一生成單元生成的第一認證碼發送給終端;終端包含接收單元,用於從網絡側接收隨機數、第一序列號和第一認證碼;第二生成單元,用於根據與網絡側的共享密鑰和接收單元收到的隨機數,生成第二認證碼和響應值;發送單元,用於將響應值發送給網絡側;驗證單元,用於對接收單元收到的隨機數、第一序列號和第一認證碼進行驗證,在第二生成單元生成的第二認證碼與第一認證碼相同,且代表終端側當前系統時間的第二序列號與第一序列號的差值滿足預定條件時,認定網絡側合法;第二生成單元在驗證單元認定網絡側合法後,根據與網絡側的共享密鑰和隨機數生成響應值。本發明的實施方式還提供了一種終端設備,包含接收單元,用於從網絡側接收隨機數、第一序列號和第一認證碼;生成單元,用於根據與網絡側的共享密鑰和接收單元收到的隨機數,生成第二認證碼和響應值;發送單元,用於將響應值發送給網絡側;驗證單元,用於對接收單元收到的隨機數、第一序列號和第一認證碼進行驗證,在生成單元生成的第二認證碼與第一認證碼相同,且代表終端側當前系統時間的第二序列號與第一序列號的差值滿足預定條件時,認定網絡側合法;生成單元在驗證單元認定網絡側合法後,根據與網絡側的共享密鑰和隨機數生成響應值。本發明的實施方式還提供了一種認證方法,包含以下步驟
如果第二設備確定本設備沒有保存待認證的用戶的第四序列號,則根據該第二設備的系統時間為該用戶生成第四序列號,並通過與第一設備的交互將由第一設備保存的該用戶的第三序列號與該第四序列號同步;第二設備和第一設備使用同步後的第三、第四序列號進行交互消息的抗重放認證。本發明的實施方式還提供了一種通信設備,包含第一存儲單元,用於保存用戶的第四序列號;生成單元,用於在確定該第一存儲單元沒有保存待認證的用戶的第四序列號時,根據該通信設備的系統時間為該用戶生成第四序列號,並指示該第一存儲單元保存該第四序列號;第一同步單元,用於通過與通信設備的對端設備的交互將由對端設備保存的用戶的第三序列號與第四序列號同步;第一認證單元,用於使用同步後的第四序列號與對端設備進行交互消息的抗重放認證。本發明的實施方式還提供了一種通信設備,包含第二存儲單元,用於保存用戶的第三序列號;接收單元,用於從通信設備的對端設備接收待認證的用戶的第四序列號;第二同步單元,用於將第二存儲單元保存的第三序列號與接收單元收到的第四序列號同步;第二認證單元,用於使用更新後的第三序列號與對端設備進行交互消息的抗重放認證。本發明的實施方式還提供了一種認證系統,包含至少一個如上文所述的第一種通信設備和至少一個如上文所述的第二種通信設備,該第一種通信設備和該第二種通信設備互為進行認證的對端設備。本發明實施方式與現 有技術相比,主要區別及其效果在於網絡側收到終端的認證請求時,根據與該終端的共享密鑰、一個隨機數、和代表網絡側當前系統時間的第一序列號SQNl生成第一認證碼MAC,將該隨機數、第一序列號SQNl和第一認證碼MAC發送給該終端;終端根據與網絡側的共享密鑰、收到的隨機數和第一序列號SQNl生成第二認證碼XMAC,如果該第二認證碼XMAC與第一認證碼MAC相同,且代表終端側當前系統時間的第二序列號SQN2與第一序列號SQNl的差值滿足預定條件,則該終端認定網絡側合法;如果,XMAC與MAC相同,但終端側的SQN2與網絡側的SQNl的差值不滿足預定條件,則認定用於發送該隨機數、第一序列號SQNl和第一認證碼MAC的消息是網絡側在之前發送的,可能被非法網絡複製後重放,不具備安全性,認證失敗。由於系統時間是每個終端均能夠自動且唯一確定的,因此終端無需根據上次認證後的SQN2來生成本次認證過程中的SQN2,即使用戶卡無法保存其上次認證後的SQN2,或在上次認證之後用戶卡更換到了其它終端,均能唯一且準確地生成本次認證的SQN2,不會因為SQN2的無法確認或錯誤而將非法網絡重放的隨機數、第一序列號和認證碼誤認為合法,從而能夠有效抵抗重放攻擊。如果第二設備確定本設備沒有保存待認證的用戶的第四序列號,則根據該第二設備的系統時間為該用戶生成第四序列號,並通過與第一設備的交互將由第一設備保存的該用戶的第三序列號與該第四序列號同步;第二設備和第一設備使用同步後的第三、第四序列號進行交互消息的抗重放認證。由於在第一設備保存的用戶的第三序列號是根據認證的次數遞增的,而系統時間是自動遞增的,且能夠很容易地保證系統時間自動遞增的頻率大於第二設備認證的頻率,因此根據系統時間生成的第四序列號比第一設備和用戶側原先保存的第三第四序列號大,如第二設備認證頻率為十秒一次,則可以根據系統時間的總秒數生成第四序列號,如第二設備認證頻率為十毫秒一次,則可以根據系統時間的總毫秒數生成第四序列號,從而可以保證根據系統時間生成的第四序列號一定大於根據認證次數遞增得到序列號。因此採用該系統時間生成的第四序列號為第一設備和第二設備側進行序列號的重同步,在不知道當前保存和使用的第三序列號和第四序列號的情況下,依然能夠確保重同步後的序列號是遞增的,從而能夠有效防止重放攻擊,特別適合無法保存序列號的用戶卡在更換終端設備時與網絡側設備之間進行的重同步。


圖I是根據本發明第一實施方式的鑑權和密鑰協商方法流程圖;圖2是根據本發明第二實施方式的鑑權和密鑰協商方法流程圖;圖3是根據本發明第三實施方式的鑑權和密鑰協商方法流程圖;圖4是根據本發明第五實施方式的認證方法流程圖。
具體實施例方式為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明的實施方式作進一步地詳細描述。本發明第一實施方式涉及一種鑑權和密鑰協商AKA方法。與現有的AKA相比,兩者最大的區別在於SQN參數設置方法的不同。在現有的AKA中,SQN是一個計數器的概念,用戶側和網絡側都維護一個計數器,並保證同步,用戶的終端可以根據網絡側發送的計數器值(即SQN)和本地維護的計數器值(SQN)是否一致來判斷發送SQN的網絡設備是否合法。該方法要求一個用戶必須統一維護一個SQN,在SQN保存在用戶卡上的情況下,無論用戶更換多少終端,都能統一維護一個SQN,而對於無法保存SQN的用戶卡,由於只能將SQN保存在用戶卡插入的終端上,在用戶將同一張用戶卡插入不同的終端的情況下,無法統一不同終端中保存的SQN,從而在認證時可能受到重放攻擊。本實施方式繼續使用SQN這個參數,但它不再是計數器的值,而是系統的時鐘值,也就是時間戳(time stamp)。由於終端和網絡側都有時鐘,不同的終端維護的時鐘永遠是一致的,即使用戶的用戶卡無法保存SQN,且需要插入不同的終端,只要各終端與網絡側在時間上是同步的,不同終端的SQN就一定是一致的,從而可以有效抵抗重放攻擊。在本實施方式中終端對應的用戶卡不支持SQN保存能力。具體的認證過程如圖I所示,在步驟101中,終端向網絡側發起註冊或者認證請求,請求中包含用戶的身份。接著進入步驟102,網絡側收到該註冊或者認證請求後,根據其中用戶的身份,找到對應的用戶信息,獲取該用戶的共享密鑰K,作為認證密鑰。如果用戶信息中沒有共享密鑰,網絡側也可以通過其他方式生成認證密鑰。
接著進入步驟103,網絡側產生隨機數RAND,並獲得系統時間,將時間值變換為48比特的SQN值。將系統時間轉換成SQN值的方法有很多,根據所需要的精度,可以有不同的轉換。如果精度不需要很高,可以將時間的總秒數轉換成SQN值;如果精度要求高一些,可以將秒和毫秒數轉換成SQN值。另外,在本實施方式中,該SQN是48比特的數值,在實際應用中,該SQN也可以是小於或大於48比特的數值,本實施方式不在此進行限制。接著進入步驟104,網絡側根據共享密鑰K、隨機數RAND和SQN值計算認證向量AV的其他參數。該AV包括RAND、AUTN、XREX、IK和CK,AUTN又包含序列號SQN和MAC。也就是說,該網絡側根據共享密鑰K、RAND和SQN計算MAC、XRES、IK和CK。其中MAC和SQN用於供終端認證網絡側,XRES用於供網絡側在之後對終端進行認證。接著進入步驟105,網絡側將RAND、AUTN(包括SQN和MAC值)作為認證挑戰消息的參數發給終端側。接著進入步驟106,終端側收到該認證挑戰消息後,根據消息中的RAND和SQN、以及終端本身的共享密鑰K,採用與網絡側相同的方法計算XMAC。並將該XMAC與收到的認證挑戰消息中的MAC值做比較,如果不正確,則判定當前收到的認證挑戰消息是非法的,則終止認證流程,認證失敗。如果正確則進入步驟107。在步驟107中,終端繼續檢查SQN的值。SQN是否有效的判斷方法與現有的AKA流程不同,終端首先獲得當前的系統時間,並將其轉換成48比特的SQN值,將本終端轉換得到的SQN與接收到的認證挑戰消息中的SQN進行比較,如果滿足預定條件,則SQN校驗成功,表明兩邊是同步的,該認證挑戰消息是新鮮的,終端對網絡的認證成功,進入步驟108 ;如果不滿足預定條件,則說明消息是重放的,認證失敗,結束本流程。其中,該預定條件可以是收到的認證挑戰消息中的SQN與終端計算得到的SQN的差值的絕對值小於預定門限;或者,收到的認證挑戰消息中的SQN與終端計算得到的SQN的差值在預定範圍內等等,可以根據實際需要以及認證的精度來確定預定條件,應用十分靈活。在步驟108中,在終端對網絡側認證成功後,根據收到的認證挑戰消息中的隨機數RAND和終端的共享密鑰K計算RES、IK和CK,將RES隨響應消息發給網絡側。在步驟109中,網絡側收到該響應消息後,利用之前計算的XRES校驗該響應消息中的RES,如果校驗成功,則完成了對終端的認證,否則認證失敗。在步驟110中,網絡側根據認證結果發送認證成功(或者認證失敗)的消息給終端側,認證結束。在認證結束後,網絡側和終端可以根據雙方計算得到的IK和CK進行數據傳輸。另外,在本實施方式中,進行認證之前,需要保證終端側和網絡側系統時鐘的同步。可以是終端在發送認證請求之前,或網絡側在將認證挑戰消息發送給終端之前,發起一次時鐘同步過程,從而確保終端和網絡側的系統時間的差值在無影響的範圍內,以確保終端能夠準確判斷其收到的認證挑戰消息的合法性。需要說明的是,在現有的AKA中,網絡側AV的產生可以是成批的,每個AV所對應的隨機數和SQN值不同,每次認證使用一個AV。而在本實施方式中,由於AV中的SQN必須是實時的,而網絡側不能估計到下一次認證的時間,因此需要在每次執行認證時,才產生所需要的AV。
另外,在本實施方式中,如果終端檢測到SQN不同步,可以把自己這一端的SQN值發給網絡側,讓網絡側重新與它同步。或者,對於時鐘嚴格同步的網絡,終端也可以不發起重同步過程,而只是重新進行認證或註冊。本發明第二實施方式涉及一種鑑權和密鑰協商方法。本實施方式以碼分多址2000 (Code Division Multiple Access 2000,簡稱「CDMA2000」)網絡為例對終端的認證過程進行詳細說明。本實施方式也是利用時間的單向性來判斷是否受到重放攻擊。網絡側將其系統時間表示為48比特的SQN,將該SQN包含在認證挑戰消息中發送給終端,在終端收到網絡側發送的認證挑戰消息後,根據本終端當前的系統時間進行判斷,如果網絡側發來的SQN所表 示的時間值與終端側當前的時間值相比不滿足預定條件,如兩個時間值差值的絕對值大於預定門限,就認為SQN不同步,表示這個消息是某個攻擊者發送的重放消息,終端將終止這 次認證。與現有的AKA不同,另外,在本實施方式中,如果終端檢測到SQN不同步,可以把自己這一端的SQN值發給網絡側,讓網絡側重新與它同步。或者,對於時鐘嚴格同步的網絡,終端也可以不發起重同步過程,而只是重新進行認證或註冊。下面對CDMA2000網絡中,使用2G用戶卡的終端需要接入MS時進行的認證過程進行說明。對於CDMA2000網絡來說,由於其物理層的設計需要保證時鐘與網絡側嚴格同步,因此CDMA2000中的終端有著非常精確的時鐘,可以直接進入認證過程。具體如圖2所示,在步驟201中,終端向P-CSCF發起標準的MMD註冊請求,在註冊請求中攜帶私有用戶身份MPI,P-CSCF將該註冊請求轉發給S-CSCF。接著進入步驟202, S-CSCF向HSS發送認證請求Cx AuthReq,來請求終端的認證數據。在該認證請求中攜帶該終端的IMPI。接著進入步驟203,HSS發現該終端使用的是2G用戶卡,從該終端的IMPI中恢復國際移動用戶識別碼(International Mobile Subscriber Identity,簡稱「IMSI」)。然後向歸屬位置寄存器(Home Location Register,簡稱「HLR」)發送認證請求AUTHREQ,來請求該終端的認證數據。接著進入步驟204,HLR執行2G的認證過程,生成隨機數RandU,並對該RandU採用CAVE算法生成認證數據AuthU,將RandU和AuthU通過認證響應消息authreq反饋給HSS。接著進入步驟205,HSS根據收到的RandU和該終端MSI中的MIN2合成Rand參數。接著進入步驟206,HSS將AuthU作為AuthR,與Rand —起再次向HLR發送2G的統一認證請求AUTHREQ,在認證請求消息中標識需要HLR返回加密密鑰。接著進入步驟207,HLR收到該認證請求後,使用其中的Rand參數進行CAVE認證運算得到AuthR,並將計算得到的AuthR與HSS上報的認證請求中的AuthR值比較,如果一致則使用AuthR進行CAVE運算得到加密密鑰Keys。該加密密鑰Keys在CAVE機制中是由信令加密密鑰(Signaling Message Encryption Key,簡稱「SMEKEY」)和 CDMA 私有長碼掩碼(CDMA Private Long Code Mask,簡稱 「CDMAPLCM」)組成的。接著進入步驟208,HLR向HSS發送authreq響應消息,在響應消息中將Keys值返回給HSS。接著進入步驟209, HSS以AuthR和Keys合成AKA算法的認證數據5元組(包括AUTN,XRES, IK, CK, Rand2,其中AUTN又包括MAC和SQN),該認證數據5元組相當於認證向量AV。具體地說,HSS使用AuthR和Keys生成AKA算法的認證密鑰(SMEKEYI I CDMAPLCM | | AuthR)。並且生成AKA算法的128比特隨機數Rand2 (HSS可以先生成96位的隨機數RandT,Rand2 = RandT Rand)。之後,HSS獲得系統時間,將其轉換成48比特的數值,作為SQN。HSS根據該認證密鑰、Rand2和SQN執行AKA算法,計算認證數據5元組剩餘的參數MAC、XRES, IK和CK。接著進入步驟210, HSS向S-CSCF返回認證響應Cx AuthRsp,通過該認證響應把認證數據5元組發送給S-CSCF。接著進入步驟211,S-CSCF通過認證挑戰消息把Rand2,AUTN, IK和CK發送給P-CSCF。接著進入步驟212,P-CSCF通過認證挑戰消息把Rand2和AUTN發送給終端。接著進入步驟213,終端從Rand2分離出Rand參數,把Rand發給用戶卡Card,即2G R-ΠΜ。接著進入步驟214,用戶卡R-UM根據Rand用CAVE算法計算認證數據AuthR和Keys值,這裡的Keys和步驟207中的相同,均由SMEKEY和CDMAPLCM組成。用戶卡R-UM把AuthR和Keys值反饋給終端。接著進入步驟215,終端根據AuthR和Keys合成AKA算法的認證密鑰,再根據P-CSCF發送的Rand2和AUTN中的SQN,用AKA算法計算認證結果XMAC,如果XMAC和P-CSCF發送的AUTN中的MAC相同,則終端繼續檢查SQN。具體地說,終端獲取自己的系統時間,將其轉換為48比特的SQN,將自身轉換得到的SQN與P-CSCF發送的AUTN中的SQN做比較,如果相同或者差值滿足預定條件,則SQN校驗成功,說明終端和網絡側是同步的,表示消息具有新鮮性,終端對網絡的認證成功。其中,預定條件可以是收到的認證挑戰消息中的SQN與終端轉換得到的SQN的差值的絕對值小於預定門限;或者,收到的認證挑戰消息中的SQN與終端轉換得到的SQN的差值在預定範圍內等等,具體可以根據實際需要以及認證的精度來確定預定條件,使得應用十分靈活。在終端對網絡的認證成功後,終端繼續計算RES、IK和CK0接著進入步驟216,終端用RES計算註冊響應消息的摘要,通過註冊響應消息Register發送給P-CSCF,P-CSCF再將該消息轉發給S-CSCF,該註冊響應消息攜帶終端計算得到的RES。接著進入步驟217,S-CSCF利用XRES校驗該Register註冊響應消息中的RES是否正確,如果正確,表示對終端的認證成功。接著進入步驟218,S-CSCF通過P-CSCF向終端發送註冊成功的消息。在註冊成功後,網絡側和終端可以根據雙方計算得到的IK和CK進行數據傳輸。
在本實施方式中,由於系統時間是每個終端均能夠自動且唯一確定的,因此終端無需根據上次認證後的SQN來生成本次認證過程中的SQN,即使用戶卡無法保存其上次認證後的SQN,或在上次認證之後用戶卡更換到了其它終端,均能唯一且準確地生成本次認證的SQN,不會因為SQN的無法確認或錯誤而將非法網絡重放的認證挑戰消息誤認為合法,能夠有效抵抗重放攻擊。本發明第三實施方式涉及一種鑑權和密鑰協商方法,本實施方式以可擴展認證協議(Extensible Authentication Protocol,簡稱 「ΕΑΡ」)中的 AKA 為基礎,對本實施方式的鑑權和密鑰協商方法進行具體說明。如圖3所示,在步驟301中,Authenticator (進行認證的設備)向Peer (終端)發送EAP請求EAP-Request消息,該消息用於向Peer請求待認證的終端的身份。接著進入步驟302,Peer通過EAP響應EAP-Response消息向Authenticator發送自己的身份。接著進入步驟303, Authenticator根據Peer發送的身份,查找到對應的用戶信息,主要獲取該Peer的預共享密鑰,作為認證密鑰。如果沒有預共享密鑰,也可通過其他方式產生認證密鑰。Authenticator根據系統時間生成SQN,通過預共享密鑰(即認證密鑰)、系統生成的隨機數RAND、時間戳方式的SQN計算AV (包括AUTN,XRES, IK, CK, Rand2,其中 AUTN又包括MAC和SQN)的其他參數XRES,IK, CK, MAC。由於需要對EAPAKA數據包進行完整性保護,在本步驟中,Authenticator還需要計算臨時EAP密鑰(Transient EAP Key,簡稱「TEK」),用TEK計算EAP AKA消息完整性值MAC2。接著進入步驟304, Authenticator通過EPA請求EAP-Request消息(或者是AKA挑戰消息)將RAND、AUTN』以及用TEK計算的EAP AKA消息完整性值MAC2發給Peer。接著進入步驟305,Peer根據收到的RAND、AUTN中的SQN以及自身的預共享密鑰計算XMAC。Peer將計算得到的XMAC值與收到的AUTN中的MAC值進行比較,如果相同,則接著校驗收到的AUTN中的SQN的值是否與本地時鐘同步,如果同步,則成功認證網絡。這裡的同步可以是收到的EAP-Request消息(或者是AKA挑戰消息)中的SQN與Peer本地時鐘對應的SQN的差值的絕對值小於預定門限;或者,收到的EAP-Request消息(或者是AKA挑戰消息)中的SQN與終端Peer本地時鐘對應的SQN的差值在預定範圍內等等,可以根據實際需要以及認證的精度來確定該同步條件,使得應用十分靈活。另外,Peer同樣也會計算TEK,並校驗收到的MAC2。在上述校驗都成功後,Peer可以根據收到的RAND、AUTN中的SQN以及自身的預共享密鑰計算IK和CK,用於在AKA過程成功結束後,可以根據該IK和CK與Authenticator進行數據傳輸。接著進入步驟306,為了保證消息的完整性,peer也會用TEK計算EAPAKA消息的完整性值MAC3,並根據收到的EAP-Request消息(或者是AKA挑戰消息)中的隨機數RAND、以及Peer的共享密鑰計算RES,將計算得到的RES和MAC3通過EAP響應EAP-Response消息(或者AKA挑戰消息)發送給Authenticator。接著進入步驟307, Authenticator校驗MAC3是否正確,並比較RES是否與原來計算的AV中的XRES相同,如果相同,說明peer是合法用戶,接著進入步驟308。在步驟308中,Authenticator將認證成功EAP Success消息發給Peer,表示成功的認證了該Peer, EAP AKA過程結束。在成功完成認證後,Authenticator和Peer可以根據雙方計算得到的IK和CK進行數據傳輸。在本實施方式中,由於系統時間是每個Peer均能夠自動且唯一確定的,因此Peer無需根據上次認證後的SQN來生成本次認證過程中的SQN,即使用戶卡無法保存其上次認證後的SQN,或在上次認證之後用戶卡更換到了其它Peer,均能唯一且準確地生成本次認證的SQN,不會因為SQN的無法確認或錯誤而將非法網絡重放的挑戰消息誤認為合法,能夠有效抵抗重放攻擊。
另外,需要說明的是,在以上各實施方式中,除了將系統時間轉換為48比特的值全部填入SQN外,還可以將系統時間轉換為64比特的值,其中48bit填入SQN,餘下的16bit填入AKA中另一個參數AMF,從而提高系統時間的精度,使得驗證時的準確性更高。本發明第四實施方式涉及一種鑑權和密鑰協商系統,包含網絡側和終端,其中,網絡側包含第一生成單元,用於在收到終端的認證請求時,根據與該終端的共享密鑰、一個隨機數、和代表網絡側當前系統時間的第一序列號生成第一認證碼;發送單元,用於將隨機數、第一序列號和第一生成單元生成的第一認證碼發送給終端。終端包含接收單元,用於從網絡側接收隨機數、第一序列號和第一認證碼;第二生成單元,用於根據與網絡側的共享密鑰和接收單元收到的隨機數,生成第二認證碼和響 應值;發送單元,用於將響應值發送給網絡側;驗證單元,用於對接收單元收到的隨機數、第一序列號和第一認證碼進行驗證,在第二生成單元生成的第二認證碼與第一認證碼相同,且代表終端側當前系統時間的第二序列號與第一序列號的差值滿足預定條件時,認定網絡側合法;第二生成單元在驗證單元認定網絡側合法後,根據與網絡側的共享密鑰和隨機數生成響應值。其中,上述的第一序列號和第二序列號的長度小於或等於48比特;或,第一序列號和第二序列號均包含兩部分,第一部分的長度小於或等於48比特,第二部分的長度小於或等於16比特。檢驗第一序列號的預定條件為第二序列號與第一序列號的差值的絕對值小於預定門限;或第二序列號與第一序列號的差值在預定範圍內。由於本實施方式中使用的系統時間是每個終端均能夠自動遞增且唯一確定的,因此終端無需根據上次認證後的第二序列號來生成本次認證過程中的第二序列號,即使用戶卡無法保存其上次認證後的第二序列號,或在上次認證之後用戶卡更換到了其它終端,均能唯一且準確地生成本次認證的第二序列號,不會因為第二序列號的無法確認或錯誤而將非法網絡重放的隨機數、第一序列號和認證碼誤認為合法,能夠有效抵抗重放攻擊。本發明第五實施方式涉及一種認證方法,該認證方法可以是AKA方法,但與第一至第三實施方式不同,主要在於,在第一至第三實施方式的整個AKA過程中均採用系統時間作為SQN,而在本實施方式中,僅在終端側無對應的SQN值時,採用系統時間作為SQN來同步網絡側和終端側的SQN,在其餘的AKA過程中,仍採用與現有的AKA技術相同的序列號方式使用SQN。這裡終端側無對應的SQN值的時機可以是SQN需要在終端上而不是用戶卡上維護,但終端某時刻無對應用戶的SQN,例如終端檢測到被插入新的用戶卡時。此時,終端將當前自身的系統時間作為新的SQN,發起AKA中的重同步流程,將這個SQN通知給網絡側。網絡側收到該SQN後對其進行保存,在隨後的認證過程中(即隨後的AKA過程中),網絡側以新保存的SQN為基礎,使用現有AKA技術維護和使用SQN,也就是說網絡側之後發送的SQN是在新保存的SQN基礎上進行遞增。由於現有的AKA技術中保存的SQN是根據認證次數的增加而增加的,因此只要確保代表系統時間的SQN遞增的頻率比該終端認證的頻率快,就能在不知道上次認證後的SQN的情況下,仍然確保該代表系統時間的SQN大於根據AKA技術保存的SQN。比如說,只要用戶認證的頻率小於每秒一次,那麼根據系統時間總秒數生成的SQN就一定比根據現有的AKA技術保存的SQN大。從而能夠嚴格確保重同步的SQN比同步前的SQN大,滿足SQN的嚴格單調遞增性,在最大程度上避免重放攻擊。具體流程如圖4所示,在步驟401中,終端設備檢測到當前插入的用戶卡發生了改變,即本終端更換了用戶卡,因此刪除本終端之前為上一個用戶卡保存的SQN值。接著進入步驟402,終端發起AKA認證流程。接著進入步驟403,網絡側計算計算認證向量AV,並向終端發送認證挑戰消息,該認證挑戰消息中同樣包含RAND、AUTN(包括SQN和MAC值)。其中SQN是網絡側為當前用戶維護的SQN值,如果該用戶是第一次註冊的用戶,則該SQN可能為O。你
接著進入步驟404,終端收到該認證挑戰消息後,根據消息中的RAND和SQN、以及當前用戶的共享密鑰,採用與網絡側相同的方法計算XMAC。並將該XMAC與收到的認證挑戰消息中的MAC值做比較,如果不正確,則判定當前收到的認證挑戰消息是非法的,則終止認證流程,認證失敗。如果正確則進一步判斷本終端是否保存有該用戶的SQN,由於終端當前插入的用戶卡發生了改變,因此終端未保存有該用戶的SQN,從而終端根據自己的系統時間生成SQN,接著進入步驟405。在步驟405中,終端根據新生成的SQN發起重同步請求,該重同步請求消息中包含參數AUTS,該AUTS中包括了該根據系統時間生成的SQN和MAC-S。接著進入步驟406,網絡側收到該重同步請求消息後,校驗該AUTS中的MAC-S是否正確,如果正確,則檢查該AUTS中包含的SQN是否比網絡側當前為該用戶保存的SQN值大,如果收到的AUTS中的SQN比本地保存的SQN值大,則說明該重同步請求消息有效,網絡側將收到的認證請求中的SQN替代之前保存的SQN。接著進入步驟407,網絡側重新發送認證挑戰消息,在該認證挑戰消息中包含AV,該AV中的SQN是該網絡側在步驟406中收到的SQN的基礎上按照現有的AKA的技術形成的,即在該更新後的SQN的基礎上加上一個預定步長,例如加I。接著進入步驟408,終端接收到新的挑戰消息後,校驗MAC,在MAC校驗成功後根據步驟404中生成的本地SQN檢查網絡側發來的SQN,檢查的方式與現有的AKA流程相同。如果檢查成功,則表示對網絡側的認證成功。接著進入步驟409。在步驟409中,終端發送響應值RES給網絡側。接著進入步驟410,網絡側對該響應值進行校驗,如果網絡側校驗RES成功,則進入步驟411向該終端發送認證成功的消息。在隨後的AKA認證流程中,終端和網絡側都繼續使用上述流程中同步的SQN,具體的認證步驟與現有的AKA流程相同。如果終端再次發現用戶卡被更換,則重新執行步驟401,通過系統時間重同步網絡側和終端的SQN。由於現有的AKA流程抗重放的效果主要取決於終端側和網絡側的SQN是否能夠同步且保持單調遞增,而採用本實施方式進行認證和重同步可以很好地保證SQN的單調遞增性,因此其抗重放性能較好。具體地說,由於在本實施方式中,當終端某時刻檢查到新用戶卡被插入後,將根據系統的時間生成SQN,根據該生成的SQN與網絡側進行SQN的同步,即網絡側和終端均將保存的SQN更新為代表該終端當時的系統時間的SQN。如果終端是根據系統時間的總秒數生成SQN,則只要該終端新對應的用戶的認證的頻率低於每秒一次,那麼該用戶在使用該終端之前的SQN的值是小於當前的時間值的。從而,採用本實施方式,在用戶卡插入新終端再次執行重同步時,無需知道該用戶上一次認證時的SQN,也能確保終端發給網絡側的新的SQN—定大於上一次認證時網絡側為該用戶保存的SQN,嚴格保證了該用戶的SQN在網絡側和終端側的單調遞增。這裡說的用戶認證頻率低於每秒一次,只是給出的一個例子,並不是限定條件,既便該用戶認證的頻率很高,也可以通過其他方法保證代表終端系統時間的SQN大於最近一次認證時保存的SQN,如終端在重同步時,可以根據系統時間的總毫秒數生成SQN。在本實施方式中,在SQN同步後,網絡側和終端側保存的SQN值仍然會隨認證的次數遞增,但不會超過系統時間,從而在下一次需要重新同步SQN時,仍然可以採用當前的系統時間來進行。另外,由於本實施方式與第一至第三實施方式相比,無需每次認證時均確保網絡側和終端側的時鐘同步,只需在進行SQN重同步之前確保即可,降低了對網絡側時間同步特性的要求,這對於CDMA2000網絡的特性更吻合(因為終端和基站具有很好的時間同步特性,但核心網的進行認證的設備反而不容易與基站嚴格同步),實用性較好。需要說明的是,本實施方式中,是以終端根據終端側的系統時間進行SQN重同步為例進行說明的,除了該方式外,也可以由網絡側根據網絡側的系統時間進行雙方SQN的 重同步,如由網絡側根據其系統時間為用戶生成一個SQN,並發送給終端,終端根據收到的SQN進行判斷,如果該終端本地已保存有該用戶的SQN則將本地保存的SQN與收到的SQN進行比較,如果收到的SQN大,則將本地保存的SQN更新為與收到的SQN相同;如果該終端本地未保存該用戶的SQN,則可以直接保存。另外,在本實施方式中,終端在收到網絡側發送的認證挑戰消息後判斷本終端是否保存有該用戶的SQN,除此之外,終端也可以在需要為該用戶發起認證請求時,直接判斷本終端是否保存有該用戶的SQN,如果沒有,則直接根據終端系統時間為該用戶生成一個SQN,觸發重同步過程。本發明第六實施方式涉及一種認證系統,包含第一通信設備和第二通信設備,該第一、第二通信設備可以是終端設備或網絡側。以第一設備是網絡側,第二設備是終端為例進行具體說明。該終端設備包含第一存儲單元,用於保存用戶的第四序列號;生成單元,用於在確定該第一存儲單元沒有保存待認證的用戶的第四序列號時,根據該終端設備的系統時間為該用戶生成第四序列號,並指示該第一存儲單元保存該第四序列號;第一同步單元,用於通過與網絡側的交互將由網絡側保存的該用戶的第三序列號與該第四序列號同步;第一認證單元,用於使用同步後的第四序列號與網絡側進行交互消息的抗重放認證。該網絡側包含第二存儲單元,用於保存用戶的第三序列號;接收單元,用於從終端設備接收待認證的用戶的第四序列號;第二同步單元,用於將第二存儲單元保存的第三序列號與接收單元收到的第四序列號同步;第二認證單元,用於使用更新後的第三序列號與對端設備進行交互消息的抗重放認證。由於在網絡側保存的用戶的第三序列號是根據認證的次數遞增的,而系統時間是自動遞增的,且能夠很容易地保證系統時間自動遞增的頻率大於終端認證的頻率,因此根據系統時間生成的第四序列號比網絡側和用戶側原先保存的第三第四序列號大,如終端認證頻率為十秒一次,則可以根據系統時間的總秒數生成第四序列號,如終端認證頻率為十毫秒一次,則可以根據系統時間的總毫秒數生成第四序列號,從而可以保證根據系統時間生成的第四序列號一定大於根據認證次數遞增得到序列號。因此採用該系統時間生成的第四序列號為網絡側和終端側進行序列號的重同步,在不知道當前保存的第三序列號和第四序列號的情況 下,依然能夠確保重同步後的序列號是遞增的,從而能夠有效防止重放攻擊,特別適合無法保存第四序列的用戶卡更換終端時進行的重同步。該終端的第一同步單元還包含發送子單元,用於將生成單元生成的第四序列號發送給對端設備;指示子單元,用於指示對端設備將該對端設備保存的用戶的第三序列號更新為與該第四序列號相同。該網絡側的第二同步單元過以下方式進行同步如果第二存儲單元已保存有用戶的第三序列號,將接收單元收到的第四序列號與該第三序列號比較,如果該第四序列號大於該第三序列號,則指示第二存儲單元將所保存的第三序列號更新為與該第四序列號相同;如果第二存儲單元未保存有用戶的第三序列號,則指示該第二存儲單元保存從接收單元收到的第四序列號,將該第四序列號作為該第三序列號。需要說明的是,上述的第一通信設備也可以是終端設備,第二通信設備也可以是網絡側設備,也就是說,在網絡側設備中包含第一存儲單元、生成單元、第一同步單元、第一認證單元;在終端設備中包含第二存儲單元、接收單元、第二同步單元、第二認證單元。綜上所述,在本發明的實施方式中,網絡側收到終端的認證請求時,根據與該終端的共享密鑰、一個隨機數、和代表網絡側當前系統時間的第一序列號SQNl生成第一認證碼MAC,將該隨機數、第一序列號SQNl和第一認證碼MAC發送給該終端;終端根據與網絡側的共享密鑰、收到的隨機數和第一序列號SQNl生成第二認證碼XMAC,如果該第二認證碼XMAC與第一認證碼MAC相同,且代表終端側當前系統時間的第二序列號SQN2與第一序列號SQNl的差值滿足預定條件,則該終端認定網絡側合法;如果,XMAC與MAC相同,但終端側的SQN2與網絡側的SQNl的差值不滿足預定條件,則認定用於發送該隨機數、第一序列號SQNl和第一認證碼MAC的消息是網絡側在之前發送的,可能被非法網絡複製後重放,不具備安全性,認證失敗。由於系統時間是每個終端均能夠自動且唯一確定的,因此終端無需根據上次認證後的SQN2來生成本次認證過程中的SQN2,即使用戶卡無法保存其上次認證後的SQN2,或在上次認證之後用戶卡更換到了其它終端,均能唯一且準確地生成本次認證的SQN2,不會因為SQN2的無法確認或錯誤而將非法網絡重放的隨機數、第一序列號和認證碼誤認為合法,從而能夠有效抵抗重放攻擊。進行判斷的預定條件可以是第二序列號與第一序列號的差值的絕對值小於預定門限、或第二序列號與第一序列號的差值在預定範圍內等等,設置較靈活。通過該預定條件,可以將網絡側發送的包含隨機數、第一序列號和認證碼的認證挑戰消息是否合法的判斷控制在合理的範圍內,滿足不同業務的需求。終端和/或網絡側在開始認證之前,需確保雙方系統時鐘的同步,如終端在發送認證請求之前,或網絡側在生成第一認證碼之前,可以發起一次時鐘同步過程,從而確保終端和網絡側的系統時間的差值在無影響的範圍內,以確保終端能夠準確判斷其收到的認證挑戰消息的合法性。如果第二設備(如終端)確定本終端沒有保存待認證的用戶的第四序列號,則根據該終端的系統時間為該用戶生成第四序列號,並通過與第一設備(如網絡側)的交互將由網絡側保存的該用戶的第三序列號與該第四序列號同步;該終端和網絡側使用同步後的第三、第四序列號進行交互消息的抗重放認證。由於在網絡側保存的用戶的第三序列號是根據認證的次數遞增的,而系統時間是自動遞增的,且能夠很容易地保證系統時間自動遞增的頻率大於終端認證的頻率,因此根據系統時間生成的第四序列號比網絡側和用戶側原先保存的第三第四序列號大,如終端認證頻率為十秒一次,則可以根據系統時間的總秒數生成第四序列號,如終端認證頻率為十毫秒一次,則可以根據系統時間的總毫秒數生成第四序列號,從而可以保證根據系統時間生成的第四序列號一定大於根據認證次數遞增得到序列號。因此採用該系統時間生成的第四序列號為網絡側和終端側進行序列號的重同步,在不知道當前保存的第三序列號和第四序列號的情況下,依然能夠確保重同步後的序列號是遞增的,從而能夠有效防止重放攻擊,特別適合無法保存第四序列的用戶卡更換終端時進行的重同步本發明第七實施方式涉及一種認證方法,該認證方法包含以下步驟如果第二設備確定本設備沒有保存待認證的用戶的第四序列號,則根據該第二設備的系統時間為該用戶生成第四序列號,並通過與第一設備的交互將由第一設備保存的該用戶的第三序列號與該第四序列號同步;所述第二設備和所述第一設備使用同步後的第三、第四序列號進行交互消息的抗重放認證。可選地,所述第二設備通過與第一設備的交互將第三序列號與所述第四序列號重同步的步驟還包含以下子步驟所述第二設備將所述第四序列號發送給所述第一設備;如果所述第一設備已保存有所述用戶的第三序列號,則該第一設備將所述第四序列號與該第一設備保存的所述用戶的第三序列號比較,如果該第四序列號大於所保存的第三序列號,則將所保存的第三序列號更新為與該第四序列號相同;如果所述第一設備未保存有所述用戶的第三序列號,則該第一設備保存從所述第二設備收到的第四序列號,將該第四序列號作為該第三序列號。可選地,所述第二設備和所述第一設備使用同步後的第三、第四序列號進行交互消息的抗重放認證的步驟還包含以下步驟所述第一設備將同步後的第三序列號增加一個預定步長,並將增加步長後的第三序列號攜帶在待認證的消息中發送給所述第二設備;所述第二設備將同步後的第四序列號和所述待認證的消息中攜帶的第三序列號進行比較,如果比較的結果滿足第一預定條件,則該消息的抗重放認證成功,該第二設備將該第四序列號更新為與該第三序列號相同;如果比較的結果不滿足該第一預定條件,則消息的抗重放認證失敗。可選地,所述第一預定條件為所述待認證的消息中攜帶的第三序列號大於所述第二設備同步後的第四序列號;或者,所述待認證的消息中攜帶的第三序列號大於所述第二設備同步後的第四序列號,且兩者的差值在預定範圍內。可選地,所述第二設備在收到來自所述第一設備的屬於所述用戶的待認證的消息時,或所述第二設備需要為所述用戶發起認證時,判斷該第二設備是否保存該用戶的第四序列號。本發明第八實施方式涉及一種通信設備,該通信設備包含第一存儲單元,用於保存用戶的第四序列號;生成單元,用於在確定該第一存儲單元沒有保存待認證的用戶的第四序列號時,根據該通信設備的系統時間為該用戶生成第四序列號,並指示該第一存儲單元保存該第四序列號;第一同步單元,用於通過與所述通信設備的對端設備的交互將由對端設備保存的所述用戶的第三序列號與所述第四序列號同步;第一認證單元,用於使用同步後的第四序列號與所述對端設備進行交互消息的抗重放認證。可選地,所述第一同步單元還包含發送子單元,用於將所述生成單元生成的第四序列號發送給所述對端設備;指示子單元,用於指示所述對端設備將該對端設備保存的所述用戶的第三序列號 更新為與該第四序列號相同。本發明第九實施方式涉及另一種通信設備,該通信設備包含第二存儲單元,用於保存用戶的第三序列號;接收單元,用於從所述通信設備的對端設備接收待認證的用戶的第四序列號;第二同步單元,用於將所述第二存儲單元保存的第三序列號與所述接收單元收到的第四序列號同步;第二認證單元,用於使用更新後的第三序列號與所述對端設備進行交互消息的抗重放認證。可選地,所述第二同步單元通過以下方式將所述第二存儲單元保存的第三序列號與所述接收單元收到的第四序列號同步如果所述第二存儲單元已保存有所述用戶的第三序列號,將所述接收單元收到的第四序列號與該第三序列號比較,如果該第四序列號大於該第三序列號,則指示所述第二存儲單元將所保存的第三序列號更新為與該第四序列號相同;如果所述第二存儲單元未保存有所述用戶的第三序列號,則指示該第二存儲單元保存從所述接收單元收到的第四序列號,將該第四序列號作為該第三序列號。本發明第九實施方式涉及一種認證系統,該認證系統包含至少一個上述實施例七所述的第一類通信設備,和至少一個上述實施例八所述的第二類通信設備,所述第一類通信設備和所述第二類通信設備互為進行認證的對端設備。雖然通過參照本發明的某些優選實施方式,已經對本發明進行了圖示和描述,但本領域的普通技術人員應該明白,可以在形式上和細節上對其作各種改變,而不偏離本發明的精神和範圍。
權利要求
1.一種認證方法,其特徵在於,所述方法包括 網絡側接收終端發送的序列號,所述序列號為終端檢測到有新的用戶卡插入時,根據自己的系統時間生成的; 所述網絡側根據所述終端發送的序列號更新所述網絡側保存的序列號; 所述網絡側利用更新後的序列號與所述終端進行鑑權和密鑰協商AKA認徵。
2.如權利要求I所述的方法,其特徵在於,所述網絡側接收終端發送的序列號包括 網絡側接收終端發送的重同步請求消息,所述重同步請求消息中包括所述終端檢測到有新的用戶卡插入時,根據自己的系統時間生成的序列號。
3.如權利要求2所述的方法,其特徵在於,所述網絡側根據所述終端發送的序列號更新所述網絡側保存的序列號包括 所述網絡側收到所述重同步請求消息後,檢測所述重同步請求消息中包含所述終端生成的序列號是否比所述網絡側保存的序列號的值大,如果所述終端生成的序列號比所述網絡側保存的序列號的值大,則所述網絡側將所述終端生成的序列號替代所述網絡側之前保存的序列號。
4.如權利要求I或2所述的方法,其特徵在於,所述網絡側利用更新後的序列號與所述終端進行AKA認證包括 所述網絡側向所述終端發送認證挑戰消息以使所述終端對所述網絡側進行認證,所述認證挑戰消息中包括一個增加步長的序列號,該增加步長的序列號是在所述網絡側更新後的序列號的基礎上加上一個預定步長得到的。
5.一種網絡側設備,其特徵在於,所述網絡側設備包括 第一單元,用於接收終端發送的序列號,所述序列號為終端檢測到有新的用戶卡插入時,根據自己的系統時間生成的; 第二單元,用於根據所述終端發送的序列號更新所述網絡側設備保存的序列號; 第三單元,用於利用更新後的序列號與所述終端進行鑑權和密鑰協商AKA認證。
6.根據權利要求5所述的網絡側設備,其特徵在於,所述第一單元具體用於接收終端發送的重同步請求消息,所述重同步請求消息中包括所述終端檢測到有新的用戶卡插入時,根據自己的系統時間生成的序列號。
7.根據權利要求6所述的網絡設備,其特徵在於,所述第二單元具體用於在所述第一單元收到所述重同步請求消息後,檢測所述重同步請求消息中包含所述終端生成的序列號是否比所述網絡側設備保存的序列號的值大,如果所述終端生成的序列號比所述網絡側設備保存的序列號的值大,則所述網絡側設備將所述終端生成的序列號替代所述網絡側設備之前保存的序列號。
8.根據權利要求5或6所述的網絡設備,其特徵在於,所述第三單元具體用於向所述終端發送認證挑戰消息以使所述終端對所述網絡側設備進行認證,所述認證挑戰消息中包括一個增加步長的序列號,該增加步長的序列號是在所述網絡側設備更新後的序列號的基礎上加上一個預定步長得到的。
9.一種認證方法,其特徵在於,所述方法包括 第一設備通過與第二設備的交互將由所述第一設備保存的用戶的第三序列號與第四序列號進行同步;所述第四序列號為所述第二設備確定其沒有保存待認證的用戶的第四序列號時,根據所述第二設備的系統時間為所述用戶生成的; 所述第一設備與所述第二設備使用同步後的所述第三序列號和所述第四序列號進行交互消息的抗重放認證。
10.根據權利要求9所述的方法,其特徵在於,所述方法包括 所述第一設備接收所述第二設備發送的所述第四序列號; 如果所述第一設備已保存有所述用戶的第三序列號,則所述第一設備將所述第四序列號與所述第一設備保存的所述用戶的第三序列號進行比較,如果該第四序列號大於所述第一設備保存的第三序列號,則將所保存的第三序列號更新為與該第四序列號相同; 如果所述第一設備未保存有所述用戶的第三序列號,則所述第一設備保存從所述第二設備收到的第四序列號,並將該第四序列號作為第三序列號。
11.根據權利要求9或10所述的方法,其特徵在於,所述方法包括 所述第一設備將同步後的第三序列號增加一個預定步長,並將增加步長後的第三序列號攜帶在待認證的消息中發送給所述第二設備,以使所述第二設備將同步後的第四序列號和所述待認證的消息中攜帶的第三序列號進行比較,如果比較的結果滿足第一預定條件,則該消息的抗重放認證成功,並使該第二設備將該第四序列號更新為與該第三序列號相同;如果比較的結果不滿足該第一預定條件,則消息的抗重放認證失敗。
12.根據權利要求11所述的方法,其特徵在於,所述第一預定條件為所述待認證的消息中攜帶的第三序列號大於所述第二設備同步後的第四序列號;或者,所述待認證的消息中攜帶的第三序列號大於所述第二設備同步後的第四序列號,且兩者的差值在預定範圍內。
13.—種通信設備,其特徵在於,所述通信設備包括 第一單元,用於通過與第二設備的交互將由所述通信設備保存的用戶的第三序列號與第四序列號進行同步;所述第四序列號為所述第二設備確定其沒有保存待認證的用戶的第四序列號時,根據所述第二設備的系統時間為所述用戶生成的; 第二單元,用於與所述第二設備使用同步後的所述第三序列號和所述第四序列號進行交互消息的抗重放認證。
14.如權利要求13所述的通信設備,其特徵在於,所述第一單元包括 第三單元,用於接收所述第二設備發送的所述第四序列號; 第四單元,用於如果所述通信設備已保存有所述用戶的第三序列號,將所述第四序列號與所述通信設備保存的所述用戶的第三序列號進行比較,如果該第四序列號大於所述通信設備保存的第三序列號,則將所保存的第三序列號更新為與該第四序列號相同; 第五單元,用於如果所述通信設備未保存有所述用戶的第三序列號,保存從所述第二設備收到的第四序列號,並將該第四序列號作為第三序列號。
15.如權利要求13或14所述的通信設備,其特徵在於,所述第二單元具體用於將同步後的第三序列號增加一個預定步長,並將增加步長後的第三序列號攜帶在待認證的消息中發送給所述第二設備,以使所述第二設備將同步後的第四序列號和所述待認證的消息中攜帶的第三序列號進行比較,如果比較的結果滿足第一預定條件,則該消息的抗重放認證成功,並使該第二設備將該第四序列號更新為與該第三序列號相同;如果比較的結果不滿足該第一預定條件,則消息的抗重放認證失敗。
16.如權利要求15所述的通信設備,其特徵在於,所述第一預定條件為所述待認證的消息中攜帶的第三序列號大於所述第二設備同步後的第四序列號;或者,所述待認證的消息中攜帶的第三序列號大於所述第二設備同步後的第四序列號,且兩者的差值在預定範圍內。
全文摘要
本發明涉及通信領域,公開了一種鑑權和密鑰協商方法、認證方法、系統及設備,使得在用戶卡不支持SQN的保存的情況下,能夠抵抗AKA過程中的重放攻擊。本發明中,網絡側收到終端的認證請求時,根據與該終端的共享密鑰、一個隨機數、和代表網絡側當前系統時間的第一序列號SQN1生成第一認證碼MAC,將該隨機數、第一序列號SQN1和第一認證碼MAC發送給該終端;終端根據與網絡側的共享密鑰、收到的隨機數和第一序列號SQN1生成第二認證碼XMAC,如果該第二認證碼XMAC與所述第一認證碼MAC相同,且代表終端側當前系統時間的第二序列號SQN2與所述第一序列號SQN1的差值滿足預定條件,則該終端認定網絡側合法。
文檔編號H04W12/04GK102638794SQ20121008287
公開日2012年8月15日 申請日期2007年3月22日 優先權日2007年3月22日
發明者劉文宇, 尤昉, 趙潔 申請人:華為技術有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀