国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      鑒權(quán)和密鑰協(xié)商方法、認(rèn)證方法、系統(tǒng)及設(shè)備的制作方法

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

      發(fā)明內(nèi)容
      本發(fā)明實(shí)施方式要解決的主要技術(shù)問題是提供一種鑒權(quán)和密鑰協(xié)商方法、認(rèn)證方法、系統(tǒng)及設(shè)備,使得在用戶卡不支持SQN的保存的情況下,能夠抵抗AKA過程中的重放攻擊。為解決上述技術(shù)問題,本發(fā)明的實(shí)施方式提供了一種鑒權(quán)和密鑰協(xié)商方法,包含以下步驟網(wǎng)絡(luò)側(cè)收到終端的認(rèn)證請(qǐng)求時(shí),根據(jù)與該終端的共享密鑰、一個(gè)隨機(jī)數(shù)、和代表網(wǎng)絡(luò)側(cè)當(dāng)前系統(tǒng)時(shí)間的第一序列號(hào)生成第一認(rèn)證碼,將該隨機(jī)數(shù)、第一序列號(hào)和第一認(rèn)證碼 發(fā)送給終端;終端對(duì)收到的隨機(jī)數(shù)、第一序列號(hào)和第一認(rèn)證碼進(jìn)行驗(yàn)證,如滿足以下條件則認(rèn)定網(wǎng)絡(luò)側(cè)合法根據(jù)與網(wǎng)絡(luò)側(cè)的共享密鑰、隨機(jī)數(shù)和第一序列號(hào)生成的第二認(rèn)證碼與第一認(rèn)證碼相同;代表終端側(cè)當(dāng)前系統(tǒng)時(shí)間的第二序列號(hào)與第一序列號(hào)的差值滿足預(yù)定條件;終端認(rèn)定網(wǎng)絡(luò)側(cè)合法后,根據(jù)與網(wǎng)絡(luò)側(cè)的共享密鑰和隨機(jī)數(shù)生成響應(yīng)值,發(fā)送給網(wǎng)絡(luò)側(cè);如果網(wǎng)絡(luò)側(cè)對(duì)響應(yīng)值驗(yàn)證成功,則認(rèn)定終端合法。本發(fā)明的實(shí)施方式還提供了一種鑒權(quán)和密鑰協(xié)商系統(tǒng),包含網(wǎng)絡(luò)側(cè)和終端,網(wǎng)絡(luò)側(cè)包含第一生成單元,用于在收到終端的認(rèn)證請(qǐng)求時(shí),根據(jù)與該終端的共享密鑰、一個(gè)隨機(jī)數(shù)、和代表網(wǎng)絡(luò)側(cè)當(dāng)前系統(tǒng)時(shí)間的第一序列號(hào)生成第一認(rèn)證碼;發(fā)送單元,用于將隨機(jī)數(shù)、第一序列號(hào)和第一生成單元生成的第一認(rèn)證碼發(fā)送給終端;終端包含接收單元,用于從網(wǎng)絡(luò)側(cè)接收隨機(jī)數(shù)、第一序列號(hào)和第一認(rèn)證碼;第二生成單元,用于根據(jù)與網(wǎng)絡(luò)側(cè)的共享密鑰和接收單元收到的隨機(jī)數(shù),生成第二認(rèn)證碼和響應(yīng)值;發(fā)送單元,用于將響應(yīng)值發(fā)送給網(wǎng)絡(luò)側(cè);驗(yàn)證單元,用于對(duì)接收單元收到的隨機(jī)數(shù)、第一序列號(hào)和第一認(rèn)證碼進(jìn)行驗(yàn)證,在第二生成單元生成的第二認(rèn)證碼與第一認(rèn)證碼相同,且代表終端側(cè)當(dāng)前系統(tǒng)時(shí)間的第二序列號(hào)與第一序列號(hào)的差值滿足預(yù)定條件時(shí),認(rèn)定網(wǎng)絡(luò)側(cè)合法;第二生成單元在驗(yàn)證單元認(rèn)定網(wǎng)絡(luò)側(cè)合法后,根據(jù)與網(wǎng)絡(luò)側(cè)的共享密鑰和隨機(jī)數(shù)生成響應(yīng)值。本發(fā)明的實(shí)施方式還提供了一種終端設(shè)備,包含接收單元,用于從網(wǎng)絡(luò)側(cè)接收隨機(jī)數(shù)、第一序列號(hào)和第一認(rèn)證碼;生成單元,用于根據(jù)與網(wǎng)絡(luò)側(cè)的共享密鑰和接收單元收到的隨機(jī)數(shù),生成第二認(rèn)證碼和響應(yīng)值;發(fā)送單元,用于將響應(yīng)值發(fā)送給網(wǎng)絡(luò)側(cè);驗(yàn)證單元,用于對(duì)接收單元收到的隨機(jī)數(shù)、第一序列號(hào)和第一認(rèn)證碼進(jìn)行驗(yàn)證,在生成單元生成的第二認(rèn)證碼與第一認(rèn)證碼相同,且代表終端側(cè)當(dāng)前系統(tǒng)時(shí)間的第二序列號(hào)與第一序列號(hào)的差值滿足預(yù)定條件時(shí),認(rèn)定網(wǎng)絡(luò)側(cè)合法;生成單元在驗(yàn)證單元認(rèn)定網(wǎng)絡(luò)側(cè)合法后,根據(jù)與網(wǎng)絡(luò)側(cè)的共享密鑰和隨機(jī)數(shù)生成響應(yīng)值。本發(fā)明的實(shí)施方式還提供了一種認(rèn)證方法,包含以下步驟
      如果第二設(shè)備確定本設(shè)備沒有保存待認(rèn)證的用戶的第四序列號(hào),則根據(jù)該第二設(shè)備的系統(tǒng)時(shí)間為該用戶生成第四序列號(hào),并通過與第一設(shè)備的交互將由第一設(shè)備保存的該用戶的第三序列號(hào)與該第四序列號(hào)同步;第二設(shè)備和第一設(shè)備使用同步后的第三、第四序列號(hào)進(jìn)行交互消息的抗重放認(rèn)證。本發(fā)明的實(shí)施方式還提供了一種通信設(shè)備,包含第一存儲(chǔ)單元,用于保存用戶的第四序列號(hào);生成單元,用于在確定該第一存儲(chǔ)單元沒有保存待認(rèn)證的用戶的第四序列號(hào)時(shí),根據(jù)該通信設(shè)備的系統(tǒng)時(shí)間為該用戶生成第四序列號(hào),并指示該第一存儲(chǔ)單元保存該第四序列號(hào);第一同步單元,用于通過與通信設(shè)備的對(duì)端設(shè)備的交互將由對(duì)端設(shè)備保存的用戶的第三序列號(hào)與第四序列號(hào)同步;第一認(rèn)證單元,用于使用同步后的第四序列號(hào)與對(duì)端設(shè)備進(jìn)行交互消息的抗重放認(rèn)證。本發(fā)明的實(shí)施方式還提供了一種通信設(shè)備,包含第二存儲(chǔ)單元,用于保存用戶的第三序列號(hào);接收單元,用于從通信設(shè)備的對(duì)端設(shè)備接收待認(rèn)證的用戶的第四序列號(hào);第二同步單元,用于將第二存儲(chǔ)單元保存的第三序列號(hào)與接收單元收到的第四序列號(hào)同步;第二認(rèn)證單元,用于使用更新后的第三序列號(hào)與對(duì)端設(shè)備進(jìn)行交互消息的抗重放認(rèn)證。本發(fā)明的實(shí)施方式還提供了一種認(rèn)證系統(tǒng),包含至少一個(gè)如上文所述的第一種通信設(shè)備和至少一個(gè)如上文所述的第二種通信設(shè)備,該第一種通信設(shè)備和該第二種通信設(shè)備互為進(jìn)行認(rèn)證的對(duì)端設(shè)備。本發(fā)明實(shí)施方式與現(xiàn) 有技術(shù)相比,主要區(qū)別及其效果在于網(wǎng)絡(luò)側(cè)收到終端的認(rèn)證請(qǐng)求時(shí),根據(jù)與該終端的共享密鑰、一個(gè)隨機(jī)數(shù)、和代表網(wǎng)絡(luò)側(cè)當(dāng)前系統(tǒng)時(shí)間的第一序列號(hào)SQNl生成第一認(rèn)證碼MAC,將該隨機(jī)數(shù)、第一序列號(hào)SQNl和第一認(rèn)證碼MAC發(fā)送給該終端;終端根據(jù)與網(wǎng)絡(luò)側(cè)的共享密鑰、收到的隨機(jī)數(shù)和第一序列號(hào)SQNl生成第二認(rèn)證碼XMAC,如果該第二認(rèn)證碼XMAC與第一認(rèn)證碼MAC相同,且代表終端側(cè)當(dāng)前系統(tǒng)時(shí)間的第二序列號(hào)SQN2與第一序列號(hào)SQNl的差值滿足預(yù)定條件,則該終端認(rèn)定網(wǎng)絡(luò)側(cè)合法;如果,XMAC與MAC相同,但終端側(cè)的SQN2與網(wǎng)絡(luò)側(cè)的SQNl的差值不滿足預(yù)定條件,則認(rèn)定用于發(fā)送該隨機(jī)數(shù)、第一序列號(hào)SQNl和第一認(rèn)證碼MAC的消息是網(wǎng)絡(luò)側(cè)在之前發(fā)送的,可能被非法網(wǎng)絡(luò)復(fù)制后重放,不具備安全性,認(rèn)證失敗。由于系統(tǒng)時(shí)間是每個(gè)終端均能夠自動(dòng)且唯一確定的,因此終端無需根據(jù)上次認(rèn)證后的SQN2來生成本次認(rèn)證過程中的SQN2,即使用戶卡無法保存其上次認(rèn)證后的SQN2,或在上次認(rèn)證之后用戶卡更換到了其它終端,均能唯一且準(zhǔn)確地生成本次認(rèn)證的SQN2,不會(huì)因?yàn)镾QN2的無法確認(rèn)或錯(cuò)誤而將非法網(wǎng)絡(luò)重放的隨機(jī)數(shù)、第一序列號(hào)和認(rèn)證碼誤認(rèn)為合法,從而能夠有效抵抗重放攻擊。如果第二設(shè)備確定本設(shè)備沒有保存待認(rèn)證的用戶的第四序列號(hào),則根據(jù)該第二設(shè)備的系統(tǒng)時(shí)間為該用戶生成第四序列號(hào),并通過與第一設(shè)備的交互將由第一設(shè)備保存的該用戶的第三序列號(hào)與該第四序列號(hào)同步;第二設(shè)備和第一設(shè)備使用同步后的第三、第四序列號(hào)進(jìn)行交互消息的抗重放認(rèn)證。由于在第一設(shè)備保存的用戶的第三序列號(hào)是根據(jù)認(rèn)證的次數(shù)遞增的,而系統(tǒng)時(shí)間是自動(dòng)遞增的,且能夠很容易地保證系統(tǒng)時(shí)間自動(dòng)遞增的頻率大于第二設(shè)備認(rèn)證的頻率,因此根據(jù)系統(tǒng)時(shí)間生成的第四序列號(hào)比第一設(shè)備和用戶側(cè)原先保存的第三第四序列號(hào)大,如第二設(shè)備認(rèn)證頻率為十秒一次,則可以根據(jù)系統(tǒng)時(shí)間的總秒數(shù)生成第四序列號(hào),如第二設(shè)備認(rèn)證頻率為十毫秒一次,則可以根據(jù)系統(tǒng)時(shí)間的總毫秒數(shù)生成第四序列號(hào),從而可以保證根據(jù)系統(tǒng)時(shí)間生成的第四序列號(hào)一定大于根據(jù)認(rèn)證次數(shù)遞增得到序列號(hào)。因此采用該系統(tǒng)時(shí)間生成的第四序列號(hào)為第一設(shè)備和第二設(shè)備側(cè)進(jìn)行序列號(hào)的重同步,在不知道當(dāng)前保存和使用的第三序列號(hào)和第四序列號(hào)的情況下,依然能夠確保重同步后的序列號(hào)是遞增的,從而能夠有效防止重放攻擊,特別適合無法保存序列號(hào)的用戶卡在更換終端設(shè)備時(shí)與網(wǎng)絡(luò)側(cè)設(shè)備之間進(jìn)行的重同步。


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