專利名稱:一種協(xié)商新鑒權(quán)密鑰的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信安全技術(shù),特別涉及一種協(xié)商新鑒權(quán)密鑰的方法和系統(tǒng)。
背景技術(shù):
隨著通信系統(tǒng)的迅速普及和業(yè)務(wù)類型的與日俱增,特別是電子商務(wù)、電子貿(mào)易等數(shù)據(jù)業(yè)務(wù)的需求,通信系統(tǒng)中的信息安全地位日益顯著。在通信系統(tǒng)中信息安全的兩個核心問題是鑒權(quán)和加密。其中,鑒權(quán)是識別通信參與者身份真?zhèn)蔚闹饕侄?,密鑰的安全有效協(xié)商是保證通信安全的重要前提。
現(xiàn)有的鑒權(quán)方法中,例如3GPP中的AKA(鑒權(quán)與密鑰協(xié)商),采用的是固定根密鑰機(jī)制,即根密鑰始終保持不變。這種方式實現(xiàn)和管理起來簡單一些,但卻存在如下的安全隱患一、根密鑰泄漏密鑰泄漏可能是有意的,也可能是無意的,包括1、根密鑰由卡商寫入,卡商的工作人員泄漏了根密鑰;2、根密鑰由運營商運營時寫入,運營商的工作人員泄漏了根密鑰。
3、歸屬位置寄存器/鑒權(quán)中心(HLR/AUC)維護(hù)人員泄漏了相關(guān)密鑰數(shù)據(jù)。例如,通過賄賂或脅迫的方式,從HLR/AUC的維護(hù)人員那里直接獲取根密鑰。
4、黑客攻擊HLR/AUC獲取根密鑰。
5、從空中接口截獲一定數(shù)量的網(wǎng)絡(luò)下發(fā)的鑒權(quán)參數(shù)(AUTN,RAND)和終端返回鑒權(quán)響應(yīng)(RES),通過對算法的攻擊來推算根密鑰。
二、沒有有效的補(bǔ)救措施根密鑰失密后沒有有效的補(bǔ)救措施!除非同時更換用戶卡和HLR/AUC中相關(guān)用戶的數(shù)據(jù),例如,用戶到營業(yè)廳換卡,沒有其他的補(bǔ)救措施。問題還在于,用戶根本就無法發(fā)現(xiàn)根密鑰泄密!綜上所述,如何解決固定根密鑰的安全隱患,是一個值得解決的問題。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種協(xié)商新鑒權(quán)密鑰的方法和系統(tǒng),實現(xiàn)高效協(xié)商新鑒權(quán)密鑰。
為實現(xiàn)上述目的,本發(fā)明采用如下的技術(shù)方案一種協(xié)商新鑒權(quán)密鑰的方法,在相互通信的第一模塊和第二模塊中分別保存第一密鑰和與第一密鑰對應(yīng)的第二密鑰,該方法包括A、第一模塊獲取包括更新密鑰請求信息的鑒權(quán)參數(shù),并將獲取的鑒權(quán)參數(shù)發(fā)送給鑒權(quán)代理;所述獲取的鑒權(quán)參數(shù)包括產(chǎn)生的隨機(jī)數(shù)RAND、消息鑒權(quán)編碼MAC-A、特別期望響應(yīng)SXRES;B、鑒權(quán)代理向第二模塊發(fā)送鑒權(quán)請求,并攜帶包括更新密鑰請求的部分鑒權(quán)參數(shù),在該部分鑒權(quán)參數(shù)中至少攜帶RAND和MAC-A;C、第二模塊接收鑒權(quán)請求,并在對第一模塊鑒權(quán)通過后,根據(jù)產(chǎn)生的第二新密鑰生成特別鑒權(quán)響應(yīng)SRES,并將SRES發(fā)送給鑒權(quán)代理;D、鑒權(quán)代理在對第二模塊鑒權(quán)通過后,向第一模塊傳送鑒權(quán)成功信息;E、第一模塊接收到鑒權(quán)成功信息后,更新第一密鑰。
較佳地,步驟A中第一模塊根據(jù)RAND和第一密鑰產(chǎn)生第一新密鑰;步驟A中根據(jù)RAND和保存的第一密鑰生成SXRES,或者根據(jù)產(chǎn)生的第一新密鑰生成SXRES。
較佳地,步驟E中第一模塊根據(jù)RAND和第一密鑰產(chǎn)生第一新密鑰;步驟A中根據(jù)RAND和保存的第一密鑰生成SXRES。
較佳地,步驟E中所述更新第一密鑰是指用第一新密鑰替代第一密鑰。
較佳地,步驟C中所述第二模塊對第一模塊進(jìn)行鑒權(quán)為第二模塊產(chǎn)生期望消息鑒權(quán)編碼XMAC-A,并判斷MAC-A和XMAC-A的一致性,當(dāng)二者一致時,確定鑒權(quán)通過;步驟D中所述鑒權(quán)代理對第二模塊進(jìn)行鑒權(quán)為比較SRES與SXRES的一致性,當(dāng)二者一致時,確定鑒權(quán)通過。
較佳地,步驟C中所述產(chǎn)生第二新密鑰為第二模塊根據(jù)接收到的RAND和保存的第二密鑰生成;所述第二新密鑰的產(chǎn)生是在第二模塊接收到鑒權(quán)請求后、產(chǎn)生XMAC-A前完成,或者在產(chǎn)生XMAC-A后、并在MAC-A和XMAC-A的一致性驗證通過后完成。
較佳地,所述更新密鑰請求信息為通過MAC-A或所述RAND中的特定比特位攜帶。
較佳地,步驟A中根據(jù)RAND和保存的第一密鑰直接生成所述MAC-A;步驟C中根據(jù)RAND和第二密鑰直接生成所述XMAC-A。
較佳地,步驟A中根據(jù)RAND和第一密鑰產(chǎn)生第一新密鑰,再根據(jù)第一新密鑰生成所述MAC-A;步驟C中根據(jù)RAND和第二密鑰產(chǎn)生第二新密鑰,再根據(jù)第二新密鑰生成所述XMAC-A。
較佳地,步驟A中根據(jù)RAND和第一密鑰產(chǎn)生第一新密鑰,再根據(jù)第一新密鑰和RAND生成所述MAC-A;步驟C中根據(jù)RAND和第二密鑰產(chǎn)生第二新密鑰,再根據(jù)第二新密鑰和RAND生成所述XMAC-A。
較佳地,第一模塊進(jìn)一步保存第一序列號SQN1,第二模塊進(jìn)一步保存第二序列號SQN2;步驟A中所述獲取的鑒權(quán)參數(shù)進(jìn)一步包括SQN1;步驟B中所述部分鑒權(quán)參數(shù)進(jìn)一步包括SQN1。
較佳地,所述更新密鑰請求信息為通過MAC-A、RAND或SQN1中任意一項的特定比特位攜帶。
較佳地,步驟A中根據(jù)RAND、保存的SQN1和第一密鑰產(chǎn)生MAC-A;步驟C中根據(jù)接收到的RAND、SQN1和保存的第二密鑰產(chǎn)生XMAC-A。
較佳地,在步驟C中所述確定MAC-A和XMAC-A一致后,進(jìn)一步包括根據(jù)保存的SQN2判斷接收到的SQN1是否可以接受,如果不可接受,則結(jié)束本次密鑰協(xié)商流程,如果可以接受,則確定鑒權(quán)通過。
較佳地,步驟A中所述獲取的鑒權(quán)參數(shù)進(jìn)一步包括鑒權(quán)管理域AMF,步驟B中所述部分鑒權(quán)參數(shù)進(jìn)一步包括AMF。
較佳地,所述更新密鑰請求信息為通過MAC-A、RAND、SQN1或AMF中任意一項的特定比特位攜帶。
較佳地,步驟A中根據(jù)RAND、SQN1、AMF和保存的第一密鑰產(chǎn)生MAC-A;步驟C中根據(jù)SQN1、AMF、RAND和第二密鑰產(chǎn)生XMAC-A。
較佳地,鑒權(quán)代理向第一模塊傳送鑒權(quán)成功信息時進(jìn)一步攜帶獲取自第一模塊的鑒權(quán)參數(shù)信息的部分信息;第一模塊更新第一密鑰前,進(jìn)一步根據(jù)自己保存的對應(yīng)鑒權(quán)參數(shù)信息的部分信息判斷鑒權(quán)代理傳送的鑒權(quán)參數(shù)信息的部分信息的一致性,如果一致,則更新第一密鑰,否則,結(jié)束協(xié)商新鑒權(quán)密鑰流程。
較佳地,所述鑒權(quán)參數(shù)信息的部分信息為RAND、SQN1、SXRES和XMAC-A中的一種或任意組合。
較佳地,步驟C中所述鑒權(quán)成功信息通過鑒權(quán)失敗報告?zhèn)魉汀?br>
一種協(xié)商新鑒權(quán)密鑰的系統(tǒng),該系統(tǒng)包括第一模塊、鑒權(quán)代理和第二模塊;所述第一模塊,用于存儲第一密鑰,獲取包括更新密鑰請求信息的鑒權(quán)參數(shù),并將獲取的鑒權(quán)參數(shù)發(fā)送給所述鑒權(quán)代理,鑒權(quán)參數(shù)包括產(chǎn)生的隨機(jī)數(shù)RAND、消息鑒權(quán)編碼MAC-A、特別期望響應(yīng)SXRES;還用于在接收到所述鑒權(quán)代理發(fā)送的鑒權(quán)成功消息后,更新密鑰;
所述鑒權(quán)代理,用于接收所述第一模塊發(fā)送的鑒權(quán)參數(shù),并將鑒權(quán)請求發(fā)送給所述第二模塊,在該請求中攜帶包括更新密鑰請求信息的部分鑒權(quán)參數(shù),并接收所述第二模塊返回的特別鑒權(quán)響應(yīng)SRES;還用于對所述第二模塊進(jìn)行鑒權(quán),并在鑒權(quán)通過后,向所述第一模塊發(fā)送鑒權(quán)成功消息;所述第二模塊,用于存儲第二密鑰,接收所述鑒權(quán)代理發(fā)送的部分鑒權(quán)參數(shù),完成對所述第一模塊的鑒權(quán),并在鑒權(quán)通過后,根據(jù)產(chǎn)生的第二新密鑰生成特別鑒權(quán)響應(yīng)SRES發(fā)送給所述鑒權(quán)代理。
較佳地,所述第一模塊包括第一密鑰存儲單元、第一新密鑰產(chǎn)生單元、鑒權(quán)參數(shù)產(chǎn)生單元和接口單元;所述第一密鑰存儲單元,用于保存第一密鑰;所述第一新密鑰產(chǎn)生單元,用于產(chǎn)生隨機(jī)數(shù),并根據(jù)該隨機(jī)數(shù)和從所述第一密鑰存儲單元中讀取的第一密鑰,產(chǎn)生第一新密鑰,并將產(chǎn)生的隨機(jī)數(shù)和第一新密鑰發(fā)送給所述鑒權(quán)參數(shù)產(chǎn)生單元;所述鑒權(quán)參數(shù)產(chǎn)生單元,用于接收所述第一新密鑰產(chǎn)生單元發(fā)送的隨機(jī)數(shù)和第一新密鑰,獲取鑒權(quán)參數(shù),并將鑒權(quán)參數(shù)發(fā)送給所述接口單元;所述接口單元,用于接收所述鑒權(quán)參數(shù)產(chǎn)生單元發(fā)送的鑒權(quán)參數(shù),并將該參數(shù)發(fā)送給所述鑒權(quán)代理;還用于接收所述鑒權(quán)代理返回的鑒權(quán)結(jié)果,并在鑒權(quán)成功后,將所述第一新密鑰產(chǎn)生單元產(chǎn)生的第一新密鑰寫入所述第一密鑰保存單元中。
較佳地,所述鑒權(quán)代理包括第一模塊接口單元、鑒權(quán)單元和第二模塊接口單元;所述第一模塊接口單元,用于接收所述第一模塊發(fā)送的鑒權(quán)請求,并將其中的部分鑒權(quán)參數(shù)發(fā)送給所述第二模塊接口單元;還用于接收所述鑒權(quán)單元發(fā)送的鑒權(quán)結(jié)果,并將其轉(zhuǎn)發(fā)給所述第一模塊;所述第二模塊接口單元,用于將所述第一模塊接口單元發(fā)送的鑒權(quán)參數(shù)發(fā)送給所述第二模塊,并將接收自所述第二模塊的特別鑒權(quán)響應(yīng)SRES轉(zhuǎn)發(fā)給所述鑒權(quán)單元;
所述鑒權(quán)單元,用于接收所述第一模塊接口單元發(fā)送的鑒權(quán)參數(shù)和所述第二模塊接口單元發(fā)送的特別鑒權(quán)響應(yīng)SRES,進(jìn)行第一模塊對第二模塊的鑒權(quán),并將鑒權(quán)結(jié)果發(fā)送給所述第一模塊接口單元。
較佳地,所述第二模塊包括第二密鑰存儲單元、第二新密鑰產(chǎn)生單元、鑒權(quán)單元和接口單元,所述第二密鑰存儲單元,用于保存第二密鑰;所述第二新密鑰產(chǎn)生單元,用于所述接收接口單元發(fā)送的隨機(jī)數(shù)RAND,并根據(jù)該隨機(jī)數(shù)和從所述第二密鑰存儲單元中讀取的第二密鑰,產(chǎn)生第二新密鑰,并將產(chǎn)生的隨機(jī)數(shù)和第一新密鑰發(fā)送給所述鑒權(quán)單元;所述接口單元,用于接收所述鑒權(quán)代理發(fā)送的鑒權(quán)參數(shù),并將該參數(shù)發(fā)送給所述鑒權(quán)單元,將隨機(jī)數(shù)發(fā)送給所述第二新密鑰產(chǎn)生單元;還用于接收所述鑒權(quán)單元發(fā)送的特別鑒權(quán)響應(yīng)SRES;所述鑒權(quán)單元,用于接收所述接口單元發(fā)送的鑒權(quán)參數(shù),進(jìn)行第二模塊對第一模塊的鑒權(quán),并產(chǎn)生特別鑒權(quán)響應(yīng)SRES發(fā)送給所述接口單元。
較佳地,所述第一模塊為歸屬位置寄存器鑒權(quán)中心HLR/AUC,所述鑒權(quán)代理為拜訪位置寄存器服務(wù)通用分組無線業(yè)務(wù)支持節(jié)點VLR/SGSN,所述第二模塊為用戶識別卡USIM。
由上述技術(shù)方案可見,本發(fā)明在鑒權(quán)過程中,第一模塊在向鑒權(quán)代理發(fā)送鑒權(quán)參數(shù)時,在鑒權(quán)參數(shù)中攜帶了更新密鑰請求信息,也即第一模塊在發(fā)出鑒權(quán)參數(shù)時,同時發(fā)出更新密鑰請求;鑒權(quán)代理將包括更新密鑰請求信息的部分鑒權(quán)參數(shù)發(fā)送給第二模塊,通知第二模塊更新密鑰;第二模塊收到鑒權(quán)參數(shù)后,依照鑒權(quán)程序?qū)﹁b權(quán)參數(shù)進(jìn)行一致性驗證,并在該驗證通過后,生成第二新密鑰,然后將利用第二新密鑰產(chǎn)生的特別鑒權(quán)響應(yīng)發(fā)送給鑒權(quán)代理,也即響應(yīng)了鑒權(quán)代理的鑒權(quán)請求的同時,也響應(yīng)了第一模塊更新密鑰請求;鑒權(quán)代理判斷特別鑒權(quán)響應(yīng)和特別期望響應(yīng)是否一致,若一致則表明鑒權(quán)成功,于是向第一模塊發(fā)送鑒權(quán)成功信息;第一模塊接收到該鑒權(quán)成功信息后,即可確認(rèn)第二模塊成功產(chǎn)生了新密鑰,于是,就可以放心地更新密鑰,因為,在后續(xù)的鑒權(quán)過程中,第二模塊通過嘗試使用新密鑰進(jìn)行鑒權(quán)即可判斷出第一模塊是否更新了密鑰,從而達(dá)到雙方對密鑰更新的相互確認(rèn)??梢?,本發(fā)明所述的方法能夠?qū)崿F(xiàn)在鑒權(quán)過程中完成新鑒權(quán)密鑰的協(xié)商,于是鑒權(quán)密鑰可以根據(jù)需要隨時在鑒權(quán)過程中實施更新,解決了固定根密鑰所存在的安全隱患。
圖1為本發(fā)明的協(xié)商新鑒權(quán)密鑰的方法總體流程圖。
圖2為本發(fā)明的協(xié)商新鑒權(quán)密鑰的系統(tǒng)總體結(jié)構(gòu)圖。
圖3為本發(fā)明實施例一中協(xié)商新鑒權(quán)密鑰的方法流程圖。
圖4為本發(fā)明實施例一中協(xié)商新鑒權(quán)密鑰的系統(tǒng)結(jié)構(gòu)圖。
圖5為本發(fā)明實施例二中協(xié)商新鑒權(quán)密鑰的方法流程圖。
圖6為本發(fā)明實施例三中協(xié)商新鑒權(quán)密鑰的方法流程圖。
圖7為在3GPP的AKA中應(yīng)用本發(fā)明的第一個例子的方法流程圖。
圖8為在3GPP的AKA中應(yīng)用本發(fā)明的第二個例子的方法流程圖。
圖9為在3GPP的AKA中應(yīng)用本發(fā)明的第三個例子的方法流程圖。
具體實施例方式
為使本發(fā)明的目的、技術(shù)手段和優(yōu)點更加清楚明白,以下結(jié)合附圖并舉實施例,說明本發(fā)明的具體實施方式
。
本發(fā)明的基本思想是第一模塊在向鑒權(quán)代理發(fā)送鑒權(quán)參數(shù)時,在鑒權(quán)參數(shù)中攜帶了更新密鑰請求信息;鑒權(quán)代理將包括更新密鑰請求信息的部分鑒權(quán)參數(shù)發(fā)送給第二模塊;第二模塊收到鑒權(quán)參數(shù)后,依照鑒權(quán)程序?qū)﹁b權(quán)參數(shù)進(jìn)行一致性驗證通過后,生成第二新密鑰,然后將利用第二新密鑰產(chǎn)生的特別鑒權(quán)響應(yīng)發(fā)送給鑒權(quán)代理;鑒權(quán)代理判斷特別鑒權(quán)響應(yīng)和特別期望響應(yīng)是否一致,若一致則表明鑒權(quán)成功,于是向第一模塊發(fā)送鑒權(quán)成功消息;第一模塊接收到該消息后,即可確認(rèn)第二模塊成功響應(yīng)了自己的更新密鑰請求,即成功地產(chǎn)生了第二新密鑰,于是,可以放心地更新自己的第一密鑰。
圖1為本發(fā)明的協(xié)商新鑒權(quán)密鑰的方法總體流程圖。其中,在相互通信的第一模塊和第二模塊中分別保存第一密鑰和第二密鑰,而第二密鑰與第一密鑰相對應(yīng)。如圖1所示,該方法包括步驟11,第一模塊獲取包括更新密鑰請求信息的鑒權(quán)參數(shù),并將獲取的鑒權(quán)參數(shù)發(fā)送給鑒權(quán)代理。
本步驟中,獲取的鑒權(quán)參數(shù)包括產(chǎn)生的隨機(jī)數(shù)(RAND)、消息鑒權(quán)編碼(MAC-A)和特別期望響應(yīng)(SXRES)。
步驟12,鑒權(quán)代理向第二模塊發(fā)送鑒權(quán)請求,并攜帶包括更新密鑰鑒權(quán)請求信息的部分鑒權(quán)參數(shù)。
本步驟中,在該部分鑒權(quán)參數(shù)中至少攜帶RAND和MAC-A。
步驟13,第二模塊接收鑒權(quán)請求,并在對第一模塊鑒權(quán)通過后,根據(jù)產(chǎn)生的第二新密鑰產(chǎn)生特別鑒權(quán)響應(yīng)(SRES),并將SRES發(fā)送給鑒權(quán)代理。
步驟14,鑒權(quán)代理在對第二模塊鑒權(quán)通過后,向第一模塊傳送鑒權(quán)成功信息。
步驟15,第一模塊接收到鑒權(quán)成功信息后,更新第一密鑰。
圖2為本發(fā)明的協(xié)商新鑒權(quán)密鑰的系統(tǒng)總體結(jié)構(gòu)圖。圖1所示的方法可以在該系統(tǒng)中實施。如圖2所示,該系統(tǒng)包括第一模塊21、鑒權(quán)代理22和第二模塊23。
在該系統(tǒng)中,第一模塊21,用于存儲第一密鑰,獲取包括更新密鑰請求信息的鑒權(quán)參數(shù),并將獲取的鑒權(quán)參數(shù)發(fā)送給鑒權(quán)代理22,鑒權(quán)參數(shù)包括產(chǎn)生的RAND、MAC-A、SXRES;還用于在接收到鑒權(quán)代理22發(fā)送的鑒權(quán)成功消息后,更新密鑰。
鑒權(quán)代理22,用于接收第一模塊21發(fā)送的鑒權(quán)參數(shù),并將鑒權(quán)請求發(fā)送給第二模塊23,在該請求中攜帶包括更新密鑰請求信息的部分鑒權(quán)參數(shù),并接收第二模塊23返回的鑒權(quán)響應(yīng);還用于進(jìn)行第一模塊21對第二模塊23的鑒權(quán),并在鑒權(quán)通過后,向第一模塊21發(fā)送鑒權(quán)成功消息。
第二模塊23,用于存儲第二密鑰,接收鑒權(quán)代理22發(fā)送的鑒權(quán)參數(shù),完成對第一模塊21的鑒權(quán),并在鑒權(quán)通過后,根據(jù)產(chǎn)生的第二新密鑰生成SRES發(fā)送給鑒權(quán)代理22。
由上述可見,利用本發(fā)明的方法和系統(tǒng),能夠在鑒權(quán)的過程中完成新鑒權(quán)密鑰協(xié)商的過程,使得能夠根據(jù)需要實現(xiàn)鑒權(quán)密鑰的更新,解決了固定根密鑰存在的安全隱患。
為了更加充分地展示本發(fā)明精神,下面通過具體實施例來進(jìn)一步對本發(fā)明進(jìn)行詳細(xì)的闡述。
實施例一圖3為本發(fā)明實施例一中協(xié)商新鑒權(quán)密鑰的方法流程圖。如圖3所示,該流程包括步驟301,第一模塊產(chǎn)生一個隨機(jī)數(shù)RAND。
步驟302,根據(jù)產(chǎn)生的隨機(jī)數(shù)RAND和保存的第一密鑰(AK1)生成第一新密鑰(NewAK1)和鑒權(quán)參數(shù),并將鑒權(quán)參數(shù)發(fā)送給鑒權(quán)代理。
本步驟中,可以根據(jù)RAND和AK1生成NewAK1;而生成的鑒權(quán)參數(shù)中包括RAND、MAC-A和SXRES,以及更新密鑰請求信息。
其中,本實施例中MAC-A是根據(jù)RAND和第一模塊中保存的AK1生成的,SXRES是根據(jù)NewAK1產(chǎn)生的;更新密鑰請求信息可以通過RAND中的一個比特位表示,或者還可以通過MAC-A中的一個比特位表示。當(dāng)利用RAND中的一個比特位表示時,該比特位的設(shè)置可以在生成MAC-A前進(jìn)行;當(dāng)利用MAC-A中的一個比特位表示時,該比特位的設(shè)置可以在生成MAC-A后進(jìn)行。
步驟303,鑒權(quán)代理向第二模塊發(fā)送鑒權(quán)請求,攜帶RAND和MAC-A。
步驟304,第二模塊接收到鑒權(quán)參數(shù),確定需要進(jìn)行密鑰更新。
本步驟中,根據(jù)步驟302中鑒權(quán)參數(shù)攜帶更新密鑰請求信息的方式,第二模塊從鑒權(quán)參數(shù)中取出相應(yīng)的RAND或MAC-A,根據(jù)其中特定比特位的設(shè)置,確定需要進(jìn)行密鑰更新。
步驟305,判斷第二模塊對第一模塊的鑒權(quán)是否通過,若通過,則執(zhí)行步驟306及其后續(xù)步驟,否則執(zhí)行步驟311。
本步驟中,第二模塊對第一模塊的鑒權(quán)可以為第二模塊根據(jù)RAND和第二密鑰(AK2)產(chǎn)生期望的消息鑒權(quán)編碼(XMAC-A),并比較XMAC-A和接收到的MAC-A是否一致,如果一致,則第二模塊對第一模塊的鑒權(quán)通過,否則,第二模塊對第一模塊的鑒權(quán)不通過。
步驟306,第二模塊根據(jù)接收到的RAND和自身保存的第二密鑰AK2生成第二新密鑰(NewAK2)。
步驟307,第二模塊根據(jù)生成的NewAK2產(chǎn)生SRES,并將該SRES發(fā)送給鑒權(quán)代理。
步驟308,鑒權(quán)代理對第二模塊鑒權(quán),并將鑒權(quán)結(jié)果發(fā)送給第一模塊。
本步驟中,第一模塊對第二模塊的鑒權(quán)可以為鑒權(quán)代理判斷第一模塊發(fā)送的SXRES與第二模塊發(fā)送的SRES是否一致,若一致則鑒權(quán)結(jié)果為鑒權(quán)成功,且由于SRES和SXRES均是根據(jù)新密鑰產(chǎn)生的,因此新鑒權(quán)密鑰協(xié)商成功;若不一致,則鑒權(quán)結(jié)果為鑒權(quán)失敗,新鑒權(quán)密鑰協(xié)商失敗。
步驟309,第一模塊判斷鑒權(quán)代理對第二模塊鑒權(quán)是否成功,若是,則執(zhí)行步驟310,否則執(zhí)行步驟311。
步驟310,第一模塊更新第一密鑰,并結(jié)束本新鑒權(quán)密鑰協(xié)商流程。
本步驟中,第一模塊收到鑒權(quán)成功的信息后,即確定第二模塊正確生成了新鑒權(quán)密鑰,于是更新自身的鑒權(quán)密鑰。其中,更新鑒權(quán)密鑰可以為用NewAK1替代AK1。
步驟311,第一模塊丟棄生成的第一新密鑰,并結(jié)束本新鑒權(quán)密鑰協(xié)商流程。
至此,新鑒權(quán)密鑰協(xié)商流程結(jié)束。
步驟302中根據(jù)NewAK1產(chǎn)生SXRES時,可以進(jìn)一步是根據(jù)RAND和NewAK1來產(chǎn)生所述SXRES;對應(yīng)地,步驟307中根據(jù)NewAK2產(chǎn)生SRES時,可以進(jìn)一步是根據(jù)RAND和NewAK2來產(chǎn)生所述SRES的。
鑒權(quán)代理向第一模塊傳送鑒權(quán)成功信息時可以進(jìn)一步攜帶獲取自第一模塊的鑒權(quán)參數(shù)信息的部分信息,例如在發(fā)送鑒權(quán)成功信息時攜帶所述隨機(jī)數(shù)RAND;第一模塊更新第一密鑰前,進(jìn)一步根據(jù)自己保存的對應(yīng)鑒權(quán)參數(shù)信息的部分信息判斷鑒權(quán)代理傳送的RAND的一致性,如果一致,再更新第一密碼,否則,結(jié)束協(xié)商新鑒權(quán)密鑰流程。當(dāng)然,所述鑒權(quán)參數(shù)信息的部分信息也可以是SXRES等。
在本實施例中,SXRES是根據(jù)第一新密鑰產(chǎn)生的。事實上,在實際應(yīng)用中,第一模塊產(chǎn)生特別期望響應(yīng)的算法和第二模塊產(chǎn)生特別鑒權(quán)響應(yīng)的算法可以不一致,第二模塊可以是產(chǎn)生第二新密鑰后,再根據(jù)第二新密鑰產(chǎn)生特別鑒權(quán)響應(yīng);而第一模塊可以先不產(chǎn)生第一新密鑰,而是直接根據(jù)第一密鑰和隨機(jī)數(shù)產(chǎn)生特別期望響應(yīng),并在接收到鑒權(quán)代理發(fā)送的鑒權(quán)成功消息后,才產(chǎn)生第一新密鑰。
在本實施例中,第一模塊中產(chǎn)生了第一新鑒權(quán)密鑰,而在步驟302中用于第二模塊對第一模塊鑒權(quán)的MAC-A是根據(jù)原有的第一密鑰生成的,因此在步驟305中第二模塊對第一模塊鑒權(quán)時,第二模塊的XMAC-A也是根據(jù)原有的第二密鑰生成的。在實際應(yīng)用中,步驟302中生成MAC-A時還可以根據(jù)第一新密鑰來進(jìn)行,相應(yīng)的,步驟305和306的執(zhí)行順序互相調(diào)換,并且步驟305中生成XMAC-A時也根據(jù)第二新密鑰生成。進(jìn)一步地,步驟302中生成MAC-A時還可以根據(jù)隨機(jī)數(shù)和第一新密鑰來進(jìn)行,相應(yīng)的,步驟305和306的執(zhí)行順序互相調(diào)換,并且步驟305中生成XMAC-A時也根據(jù)隨機(jī)數(shù)和第二新密鑰生成。
由上述流程可以看出,在鑒權(quán)過程中同時完成了新鑒權(quán)密鑰協(xié)商的流程。第一模塊對第二模塊鑒權(quán)的成功,則代表新鑒權(quán)密鑰協(xié)商成功。因此,實現(xiàn)了鑒權(quán)密鑰的更新,解決了固定根密鑰的安全隱患。
以上為本實施例中提供的協(xié)商新鑒權(quán)密鑰的方法流程,另外,本實施例還提供了協(xié)商新鑒權(quán)密鑰的系統(tǒng),上述協(xié)商新鑒權(quán)密鑰的方法可以在該系統(tǒng)中實施。圖4為實施例一中協(xié)商新鑒權(quán)密鑰的系統(tǒng)結(jié)構(gòu)圖。如圖4所示,該系統(tǒng)包括第一模塊410、鑒權(quán)代理420和第二模塊430。具體地,第一模塊410包括第一密鑰存儲單元411、第一新密鑰產(chǎn)生單元412、鑒權(quán)參數(shù)產(chǎn)生單元413和接口單元414;鑒權(quán)代理420包括第一模塊接口單元421、鑒權(quán)單元422和第二模塊接口單元423;第二模塊430包括第二密鑰存儲單元431、第二新密鑰產(chǎn)生單元432、鑒權(quán)單元433和接口單元434。
在該系統(tǒng)的第一模塊410中,第一密鑰存儲單元411,用于保存第一密鑰;第一新密鑰產(chǎn)生單元412,用于產(chǎn)生隨機(jī)數(shù),并根據(jù)該隨機(jī)數(shù)和從第一密鑰存儲單元411中讀取的第一密鑰,產(chǎn)生第一新密鑰,并將產(chǎn)生的隨機(jī)數(shù)和第一新密鑰發(fā)送給鑒權(quán)參數(shù)產(chǎn)生單元413;鑒權(quán)參數(shù)產(chǎn)生單元413,用于接收第一新密鑰產(chǎn)生單元412發(fā)送的隨機(jī)數(shù)和第一新密鑰,產(chǎn)生鑒權(quán)參數(shù),并將鑒權(quán)參數(shù)發(fā)送給接口單元414;接口單元414,用于接收鑒權(quán)參數(shù)產(chǎn)生單元413發(fā)送的鑒權(quán)參數(shù),并形成鑒權(quán)請求后發(fā)送給鑒權(quán)代理420中的第一模塊接口單元421;還用于接收第一模塊接口單元421返回的鑒權(quán)結(jié)果,并在鑒權(quán)成功后,將第一新密鑰產(chǎn)生單元412產(chǎn)生的第一新密鑰寫入第一密鑰保存單元411中。
在鑒權(quán)代理420中,第一模塊接口單元421,用于接收第一模塊410中的接口單元414發(fā)送的鑒權(quán)請求,并將其中的部分鑒權(quán)參數(shù)發(fā)送給第二模塊接口單元422;還用于接收鑒權(quán)單元發(fā)送的鑒權(quán)結(jié)果,并將其轉(zhuǎn)發(fā)給第一模塊410中的接口單元414;第二模塊接口單元423,用于將第一模塊接口單元421發(fā)送的鑒權(quán)參數(shù)發(fā)送給第二模塊430中的接口單元431,并將接收自接口單元431中的SRES轉(zhuǎn)發(fā)給鑒權(quán)單元424;鑒權(quán)單元424,用于接收第一模塊接口單元421發(fā)送的鑒權(quán)參數(shù)和第二模塊接口單元423發(fā)送的SRES,進(jìn)行第一模塊對第二模塊的鑒權(quán),并將鑒權(quán)結(jié)果發(fā)送給第一模塊接口單元421。
在第二模塊430中,第二密鑰存儲單元431,用于保存第二密鑰;第二新密鑰產(chǎn)生單元432,用于接收接口單元431發(fā)送的隨機(jī)數(shù)RAND,并根據(jù)該隨機(jī)數(shù)和從第二密鑰存儲單元431中讀取的第二密鑰,產(chǎn)生第二新密鑰,并將產(chǎn)生的隨機(jī)數(shù)和第一新密鑰發(fā)送給鑒權(quán)單元433;接口單元434,用于接收鑒權(quán)代理420中的第二模塊接口單元423發(fā)送的鑒權(quán)參數(shù),并將該參數(shù)發(fā)送給鑒權(quán)單元433,將隨機(jī)數(shù)發(fā)送給第二新密鑰產(chǎn)生單元432;還用于接收鑒權(quán)單元433發(fā)送的SRES;鑒權(quán)單元433,用于接收接口單元434發(fā)送的鑒權(quán)參數(shù),進(jìn)行第二模塊對第一模塊的鑒權(quán),并產(chǎn)生SRES發(fā)送給接口單元434。
上述即為本實施例中協(xié)商新密鑰系統(tǒng)的結(jié)構(gòu)??梢钥闯觯谠撓到y(tǒng)中,可以應(yīng)用圖3所示的協(xié)商新鑒權(quán)密鑰的方法流程,從而在鑒權(quán)過程中實現(xiàn)協(xié)商新鑒權(quán)密鑰的流程,提高鑒權(quán)協(xié)議的效率和安全性。
實施例二在本實施例中,第一模塊進(jìn)一步保存第一序列號SQN1,第二模塊進(jìn)一步保存第二序列號SQN2;第一模塊傳送給鑒權(quán)代理的所述鑒權(quán)參數(shù)進(jìn)一步包括第一序列號SQN1,并且第一模塊在產(chǎn)生鑒權(quán)參數(shù)時利用了第一模塊中的序列號。鑒權(quán)代理向第二模塊發(fā)送鑒權(quán)請求時進(jìn)一步攜帶SQN1,即攜帶RAND、MAC-A和SQN1。
圖5本發(fā)明實施例二中協(xié)商新鑒權(quán)密鑰的方法流程圖。如圖5所示,該流程包括步驟501,第一模塊產(chǎn)生一個隨機(jī)數(shù)RAND。
步驟502,根據(jù)產(chǎn)生的隨機(jī)數(shù)RAND和保存的第一密鑰(AK1)、序列號(SQN1)生成第一新密鑰(NewAK1)和鑒權(quán)參數(shù),并將鑒權(quán)參數(shù)發(fā)送給鑒權(quán)代理。
本步驟中,可以根據(jù)RAND和AK1生成NewAK1;而生成的鑒權(quán)參數(shù)中包括已經(jīng)生成的RAND、MAC-A和SXRES,以及更新密鑰請求信息。
其中,本實施例中MAC-A是根據(jù)隨機(jī)數(shù)RAND、第一模塊中保存的AK1和SQN1生成的,SXRES是根據(jù)NewAK1產(chǎn)生的;更新密鑰請求信息可以通過SQN1中的一個比特位表示,該比特位的設(shè)置可以在生成MAC-A前進(jìn)行。
步驟503,鑒權(quán)代理向第二模塊發(fā)送鑒權(quán)請求,攜帶RAND、MAC-A和SQN1。
步驟504,第二模塊接收到鑒權(quán)參數(shù),確定需要進(jìn)行密鑰更新。
本步驟中,根據(jù)步驟502中鑒權(quán)參數(shù)攜帶更新密鑰請求信息的方式,第二模塊從鑒權(quán)參數(shù)中取出相應(yīng)的SQN1,根據(jù)其中特定比特位的設(shè)置,確定需要進(jìn)行密鑰更新。
步驟505,第二模塊判斷鑒權(quán)參數(shù)是否通過一致性驗證,若通過,則執(zhí)行步驟506及其后續(xù)步驟,否則結(jié)束本新鑒權(quán)密鑰協(xié)商流程。
本步驟中,第二模塊判斷鑒權(quán)參數(shù)是否通過一致性驗證可以為第二模塊根據(jù)RAND、AK2和SQN1產(chǎn)生XMAC-A,并比較XMAC-A和接收到的MAC-A是否一致,如果一致,則執(zhí)行步驟506,否則,結(jié)束本新鑒權(quán)密鑰協(xié)商流程。
步驟506,第二模塊根據(jù)SQN2判斷SQN1是否可以接受,如果不可接受,則結(jié)束本新鑒權(quán)密鑰協(xié)商流程,否則判定第二模塊對第一模塊的鑒權(quán)通過,執(zhí)行步驟507及其后續(xù)步驟。
本步驟中,第二模塊根據(jù)SQN2驗證SQN1是否可以接受,可以是判斷SQN2和SQN1的差值是否在一定的范圍內(nèi),例如,是否(SQN1-SQN2)大于0,或者是否(SQN1-SQN2)大于0且小于65536,等等。如果差值在所述范圍內(nèi),則判斷出SQN2可以接受,否則,判斷SQN2不可以接受。
步驟507,第二模塊根據(jù)接收到的RAND和自身保存的第二密鑰AK2生成第二新密鑰(NewAK2)。
步驟508,第二模塊根據(jù)生成的NewAK2產(chǎn)生SRES,并將該SRES發(fā)送給鑒權(quán)代理。
步驟509,鑒權(quán)代理對第二模塊鑒權(quán),并將鑒權(quán)結(jié)果發(fā)送第一模塊。
本步驟中,鑒權(quán)代理對第二模塊的鑒權(quán)的方式與實施例一中相同,這里就不再贅述。
步驟510,第一模塊判斷對第二模塊鑒權(quán)是否成功,若是,則執(zhí)行步驟511,否則執(zhí)行步驟512。
步驟511,第一模塊接收到鑒權(quán)成功信息后,更新第一密鑰,并結(jié)束本新鑒權(quán)密鑰協(xié)商流程。
本步驟中,第一模塊收到鑒權(quán)成功的消息后,即確定第二模塊正確生成了新鑒權(quán)密鑰即第二新密鑰,于是更新自身的鑒權(quán)密鑰,即第一密鑰。其中,更新第一密鑰可以為用NewAK1替代AK1。
步驟512,第一模塊接收到鑒權(quán)不成功信息后丟棄生成的第一新密鑰,并結(jié)束本新鑒權(quán)密鑰協(xié)商流程。
至此,新鑒權(quán)密鑰協(xié)商流程結(jié)束。
步驟502中根據(jù)NewAK1產(chǎn)生SXRES時,可以進(jìn)一步是根據(jù)RAND和NewAK1來產(chǎn)生所述SXRES;對應(yīng)地,步驟508中根據(jù)NewAK2產(chǎn)生SRES時,可以進(jìn)一步是根據(jù)RAND和NewAK2來產(chǎn)生所述SRES的。
本實施例中對于更新密鑰請求信息,同樣可以通過RAND或MAC-A中的一個比特位表示,并且,當(dāng)利用RAND中的一個比特位表示時,該比特位的設(shè)置可以在生成MAC-A前進(jìn)行;當(dāng)利用MAC-A中的一個比特位表示時,該比特位的設(shè)置可以在生成MAC-A后進(jìn)行。
在本實施例中,第一模塊中產(chǎn)生了第一新鑒權(quán)密鑰,而在步驟502中用于第二模塊對第一模塊鑒權(quán)的MAC-A是根據(jù)原有的第一密鑰生成的,因此在步驟305中第二模塊對第一模塊鑒權(quán)時,第二模塊的XMAC-A也是根據(jù)原有的第二密鑰生成的。在實際應(yīng)用中,步驟502中生成MAC-A時還可以根據(jù)第一新密鑰來進(jìn)行,相應(yīng)的,步驟505~506與步驟507的執(zhí)行順序互相調(diào)換,并且步驟505中生成XMAC-A時也根據(jù)第二新密鑰生成。進(jìn)一步地,步驟502中生成MAC-A時還可以根據(jù)第一新密鑰和隨機(jī)數(shù)與SQN1中任意一個或兩個來進(jìn)行,相應(yīng)的,步驟505~506與步驟507的執(zhí)行順序互相調(diào)換,并且步驟505中生成XMAC-A時也根據(jù)第二新密鑰和隨機(jī)數(shù)與SQN1中任意一個或兩個生成。
本實施例與實施例一的區(qū)別在于,在本實施例中,步驟502中第一模塊生成MAC-A時利用了序列號SQN1,于是相對應(yīng)的,在步驟505中第二模塊生成XMAC-A時也用到了序列號SQN1,并且步驟502中更新密鑰請求信息也可以是通過序列號SQN1來攜帶。在第二模塊對第一模塊進(jìn)行鑒權(quán)時,還增加了步驟506即對序列號SQN1驗證的過程,提高了鑒權(quán)的安全性。其他的步驟兩個實施例的操作大致相同。兩個實施例均可以實現(xiàn)在鑒權(quán)過程中進(jìn)行新鑒權(quán)密鑰協(xié)商的目的,解決了固定根密鑰存在的安全隱患。
本實施例中的方法也可以在實施例一中提供的協(xié)商新鑒權(quán)密鑰的系統(tǒng)(圖4)中實施。且在該系統(tǒng)中,第一模塊410中的第一密鑰保存單元411,進(jìn)一步用于保存SQN1;第二模塊430中的第二密鑰保存單元431,進(jìn)一步用于保存SQN2;第二模塊430中的鑒權(quán)單元433,進(jìn)一步用于根據(jù)第二密鑰保存單元431中讀取的SQN2,驗證接收到的SQN1是否可以接受。
可見,本實施例中的方法和系統(tǒng)能夠?qū)崿F(xiàn)新鑒權(quán)密鑰的協(xié)商,解決固定根密鑰存在的安全隱患。
步驟302中傳送給鑒權(quán)代理的所述鑒權(quán)參數(shù)可以進(jìn)一步鑒權(quán)管理域(AMF)。步驟303中鑒權(quán)代理向第二模塊發(fā)送鑒權(quán)請求時進(jìn)一步攜帶AMF,即攜帶RAND、MAC-A和AMF。下面結(jié)合實施二,對鑒權(quán)參數(shù)中進(jìn)一步包括AMF的情況進(jìn)行闡述。
實施例三在本實施例中,產(chǎn)生的鑒權(quán)參數(shù),進(jìn)一步包括了鑒權(quán)管理域AMF。
圖6本發(fā)明實施例三中協(xié)商新鑒權(quán)密鑰的方法流程圖。如圖6所示,該流程包括步驟601,第一模塊產(chǎn)生一個隨機(jī)數(shù)RAND。
步驟602,根據(jù)產(chǎn)生的隨機(jī)數(shù)RAND和保存的第一密鑰(AK1)、序列號(SQN1)及設(shè)置的AMF生成第一新密鑰(NewAK1)和鑒權(quán)參數(shù),并將鑒權(quán)參數(shù)發(fā)送給鑒權(quán)代理。
本步驟中,可以根據(jù)RAND和AK1生成NewAK1;而生成的鑒權(quán)參數(shù)中包括RAND、MAC-A和SXRES,以及更新密鑰請求信息。
其中,本實施例中MAC-A是根據(jù)隨機(jī)數(shù)RAND、第一模塊中保存的AK1、SQN1和設(shè)置的AMF生成的,SXRES是根據(jù)NewAK1產(chǎn)生的;更新密鑰請求信息可以通過AMF中的一個比特位表示,該比特位的設(shè)置可以在生成MAC-A前進(jìn)行。
步驟603,鑒權(quán)代理將包括RAND、MAC-A、AMF和SQN1的部分鑒權(quán)參數(shù)發(fā)送給第二模塊。
步驟604,第二模塊接收到鑒權(quán)參數(shù),確定需要進(jìn)行密鑰更新。
本步驟中,根據(jù)步驟602中鑒權(quán)參數(shù)攜帶更新密鑰請求信息的方式,第二模塊從鑒權(quán)參數(shù)中取出相應(yīng)的AMF,根據(jù)其中特定比特位的設(shè)置,確定需要進(jìn)行密鑰更新。
步驟605,第二模塊判斷鑒權(quán)參數(shù)是否通過一致性驗證,若通過,則執(zhí)行步驟606及其后續(xù)步驟,否則結(jié)束本新鑒權(quán)密鑰協(xié)商流程。
本步驟中,第二模塊判斷鑒權(quán)參數(shù)是否通過一致性驗證可以為第二模塊根據(jù)RAND、AK2、AMF和SQN1產(chǎn)生XMAC-A,并比較XMAC-A和接收到的MAC-A是否一致,如果一致,則執(zhí)行步驟606,否則,結(jié)束本新鑒權(quán)密鑰協(xié)商流程。
步驟606,第二模塊根據(jù)SQN2判斷SQN1是否可以接受,如果不可接受,則結(jié)束本新鑒權(quán)密鑰協(xié)商流程,否則判定第二模塊對第一模塊的鑒權(quán)通過,執(zhí)行步驟607。
本步驟中,第二模塊根據(jù)SQN2驗證SQN1是否可以接受,可以是判斷SQN2和SQN1的差值是否在一定的范圍內(nèi),例如,是否(SQN1-SQN2)大于0,或者是否(SQN1-SQN2)大于0且小于65536,等等。如果差值在所述范圍內(nèi),則判斷出SQN2可以接受,否則,判斷SQN2不可以接受。
步驟607,第二模塊根據(jù)接收到的RAND和自身保存的第二密鑰AK2生成第二新密鑰(NewAK2)。
步驟608,第二模塊根據(jù)生成的NewAK2產(chǎn)生SRES,并將該SRES發(fā)送給鑒權(quán)代理。
步驟609,鑒權(quán)代理對第二模塊的鑒權(quán),并將鑒權(quán)結(jié)果發(fā)送給第一模塊。
本步驟中,鑒權(quán)代理對第二模塊的鑒權(quán)的方式與實施例一和實施例二中相同,這里就不再贅述。
步驟610,第一模塊判斷對第二模塊鑒權(quán)是否成功,若成功,則執(zhí)行步驟610,否則執(zhí)行步驟612。
步驟611,第一模塊更新第一密鑰,并結(jié)束本新鑒權(quán)密鑰協(xié)商流程。
步驟612,第一模塊丟棄生成的第一新密鑰,并結(jié)束本新鑒權(quán)密鑰協(xié)商流程。
本步驟中,第一模塊收到鑒權(quán)成功的消息后,即確定第二模塊正確生成了新鑒權(quán)密鑰,即第二新密鑰,于是更新自身的鑒權(quán)密鑰,即第一密鑰。其中,更新第一密鑰可以為用NewAK1替代AK1。
至此,新鑒權(quán)密鑰協(xié)商流程結(jié)束。
步驟602中根據(jù)NewAK1產(chǎn)生SXRES時,可以進(jìn)一步是根據(jù)RAND和NewAK1來產(chǎn)生所述SXRES;對應(yīng)地,步驟608中根據(jù)NewAK2產(chǎn)生SRES時,可以進(jìn)一步是根據(jù)RAND和NewAK2來產(chǎn)生所述SRES的。
本實施例中對于更新密鑰請求信息,同樣可以通過RAND、AMF或MAC-A中的一個比特位表示,并且,當(dāng)利用RAND或AMF中的一個比特位表示時,該比特位的設(shè)置可以在生成MAC-A前進(jìn)行;當(dāng)利用MAC-A中的一個比特位表示時,該比特位的設(shè)置可以在生成MAC-A后進(jìn)行。
在本實施例中,第一模塊中產(chǎn)生了第一新鑒權(quán)密鑰,而在步驟602中用于第二模塊對第一模塊鑒權(quán)的MAC-A是根據(jù)原有的第一密鑰生成的,因此在步驟605中第二模塊對第一模塊鑒權(quán)時,第二模塊的XMAC-A也是根據(jù)原有的第二密鑰生成的。在實際應(yīng)用中,步驟602中生成MAC-A時還可以根據(jù)第一新密鑰來進(jìn)行,相應(yīng)的,步驟605~606與步驟607的執(zhí)行順序互相調(diào)換,并且步驟605中生成XMAC-A時也根據(jù)第二新密鑰生成。進(jìn)一步地,步驟602中生成MAC-A時還可以根據(jù)第一新密鑰和隨機(jī)數(shù)、AMF與SQN1中任意一個或多個來進(jìn)行,相應(yīng)的,步驟605~606與步驟607的執(zhí)行順序互相調(diào)換,并且步驟605中生成XMAC-A時也根據(jù)第二新密鑰和隨機(jī)數(shù)、AMF與SQN1中任意一個或多個生成。
由上述可見,本實施例與實施例二的區(qū)別在于,在步驟602中第一模塊生成MAC-A時利用了鑒權(quán)管理域AMF,并將該AMF通過鑒權(quán)代理發(fā)送給第二模塊,于是相對應(yīng)的,在步驟605中第二模塊生成XMAC-A時也用到了AMF,并且步驟602中更新密鑰請求信息也可以是通過序列號AMF來攜帶。除此之外,其他步驟的操作與實施例二大致相同??梢钥闯?,本實施例中的實施方式同樣可以實現(xiàn)協(xié)商新鑒權(quán)密鑰的目的,提高鑒權(quán)系統(tǒng)的安全性。
本實施例中的方法也可以在實施例一中提供的協(xié)商新鑒權(quán)密鑰的系統(tǒng)(圖4)中實施。
上述實施方式和各個實施例中,第二模塊中保存的第二密鑰與第一模塊中保存第一密鑰可以是對稱密鑰,例如,所述第二密鑰與第一密鑰相同。
所述生成第二新密鑰的方式與所述生成第一新密鑰的方式、生成SRES的方式與生成SXRES的方式可以是一致的。生成SRES的方式與生成SXRES的方式可以是一致的,也可以是不一致的。該生成方式可以是一定的摘要算法、加密計算或安全計算領(lǐng)域內(nèi)公知的一些算法,這里就不再贅述。
下面以三個具體的例子來說明本發(fā)明在3GPP鑒權(quán)與密鑰協(xié)商AKA中的應(yīng)用方式。在3GPP鑒權(quán)與密鑰協(xié)商AKA中,在移動終端(MS)中保存有國際移動用戶標(biāo)識(IMSI)、鑒權(quán)密鑰(KI)和序列號(SQNMS)。網(wǎng)絡(luò)側(cè)的HLR/AUC中針對該移動終端對應(yīng)保存有IMSI、KI和序列號SQNHE,以用于移動終端和網(wǎng)絡(luò)相互鑒權(quán)。HLR/AUC產(chǎn)生鑒權(quán)元組時,先產(chǎn)生隨機(jī)數(shù)(RAND,Random Challenge),根據(jù)隨機(jī)數(shù)和KI產(chǎn)生期望響應(yīng)(XRES,Expected Response)、加密密鑰(CK,Cipher Key)、完整性密鑰(IK,IntegrityKey);根據(jù)隨機(jī)數(shù)、序列號、鑒權(quán)密鑰和鑒權(quán)管理域(AMF)產(chǎn)生出消息鑒權(quán)編碼(MAC-A),根據(jù)MAC-A,SQNHE、AK和AMF得到鑒權(quán)標(biāo)記AUTN(Authentication Token)。由RAND和XRES、CK、IK和AUTN組成鑒權(quán)五元組。
關(guān)于3GPP現(xiàn)有鑒權(quán)與密鑰協(xié)商流程請參加相關(guān)規(guī)范,這里不再贅述。
在3GPP鑒權(quán)與密鑰協(xié)商AKA中應(yīng)用本發(fā)明實施方式時,第一模塊即具體化為HLR/AUC,鑒權(quán)代理即具體化為拜訪位置寄存器/服務(wù)通用分組無線業(yè)務(wù)(GPRS)支持節(jié)點(VLR/SGSN),第二模塊即具體化為USIM。
在第一個例子中,HLR/AUC利用新產(chǎn)生的密鑰代替原有的密鑰生成鑒權(quán)五元組,并利用AMF攜帶更新密鑰信息,設(shè)AMF長兩個字節(jié),即16比特,產(chǎn)生的SXRES即為AKA中的XRES,SRES即為AKA中的RES。第一個例子中協(xié)商新鑒權(quán)密鑰的方法流程如圖7所示,具體包括步驟701,HLR/AUC產(chǎn)生一個隨機(jī)數(shù)RAND,將AMF的最低位字節(jié)設(shè)置為1表示需要更新密鑰;HLR/AUC根據(jù)密鑰Ki產(chǎn)生新鑒權(quán)密鑰NewKi,并用NewKi替代Ki,和RAND、SQN和AMF等一起產(chǎn)生鑒權(quán)五元組。
步驟702,HLR/AUC將產(chǎn)生的鑒權(quán)五元組發(fā)送給VLR/SGSN。
步驟703,VLR/SGSN將接收自HLR/AUC的鑒權(quán)元組中的AUTN和RAND發(fā)送給USIM卡。
步驟704,USIM卡提取AUTN中攜帶的AMF,根據(jù)其最低位字節(jié)為1,確定需要進(jìn)行密鑰更新。
步驟705,USIM根據(jù)保存的密鑰Ki產(chǎn)生新鑒權(quán)密鑰NewKi,并根據(jù)NewKi對網(wǎng)絡(luò)進(jìn)行鑒權(quán),并在鑒權(quán)通過后,根據(jù)NewKi產(chǎn)生鑒權(quán)響應(yīng)RES;將鑒權(quán)響應(yīng)發(fā)送給VLR/SGSN。
在步驟706,VLR/SGSN比較RES和期望響應(yīng)XRES的一致性,并在一致時,判斷網(wǎng)絡(luò)對USIM卡鑒權(quán)通過,同時向HLR/AUC發(fā)送鑒權(quán)成功消息。
步驟707,HLR/AUC接收到VLR/SGSN返回的鑒權(quán)成功消息后,確認(rèn)USIM卡產(chǎn)生了新密鑰NewKi,于是,根據(jù)自己產(chǎn)生的NewKi更新Ki,例如,將Ki設(shè)置為等于NewKi。
至此,本例中協(xié)商新鑒權(quán)密鑰的方法流程結(jié)束。
在第二個例子中,HLR/AUC利用原有的密鑰生成鑒權(quán)五元組中除XRES之外的其它參數(shù)項,并利用AMF攜帶更新密鑰信息,設(shè)AMF長兩個字節(jié),即16比特。第二個例子中協(xié)商新鑒權(quán)密鑰的方法流程如圖8所示,具體包括步驟801,HLR/AUC產(chǎn)生一個隨機(jī)數(shù)RAND,將AMF的最低位字節(jié)設(shè)置為1表示需要更新密鑰;HLR/AUC根據(jù)Ki產(chǎn)生新鑒權(quán)密鑰NewKi,并Ki、RAND、SQNHE、AMF等一起產(chǎn)生鑒權(quán)五元組中除了XRES之外的其它參數(shù)項,根據(jù)NewKi、RAND產(chǎn)生XRES。
步驟802,HLR/AUC將產(chǎn)生的鑒權(quán)五元組發(fā)送給VLR/SGSN。
步驟803,VLR/SGSN將接收自HLR/AUC的鑒權(quán)元組中的AUTN和RAND發(fā)送給USIM卡。
步驟804,USIM卡提取AUTN中攜帶的AMF,根據(jù)其最低位字節(jié)為1,確定需要進(jìn)行密鑰更新。
步驟805,USIM根據(jù)Ki產(chǎn)生新鑒權(quán)密鑰NewKi,根據(jù)Ki對網(wǎng)絡(luò)進(jìn)行鑒權(quán),并在鑒權(quán)通過后,根據(jù)NewKi產(chǎn)生鑒權(quán)響應(yīng)RES;將所述鑒權(quán)響應(yīng)發(fā)送給VLR/SGSN。
步驟806,VLR/SGSN比較RES和期望響應(yīng)XRES的一致性,并在一致時,判斷對USIM卡鑒權(quán)通過,同時向HLR/AUC發(fā)送鑒權(quán)成功信息。
步驟807,HLR/AUC接收到VLR/SGSN返回的鑒權(quán)成功消息后,確認(rèn)USIM卡產(chǎn)生了新密鑰NewKi,于是,根據(jù)自己產(chǎn)生的NewKi更新Ki,例如,將Ki設(shè)置為等于NewKi。
至此,本例中協(xié)商新鑒權(quán)密鑰的方法流程結(jié)束。
在上述流程的步驟806中,VLR/SGSN向HLR/AUC發(fā)送鑒權(quán)成功信息可以是通過鑒權(quán)失敗報告來傳送的,其中鑒權(quán)失敗報告中失敗原因值為“鑒權(quán)成功”的原因值,則HLR/AUC在接收到該報告后,即可判定鑒權(quán)成功。
由圖7和圖8所示的方法流程可以看出,這兩個流程的區(qū)別在于,在圖7所示的第一個例子中,步驟701生成鑒權(quán)五元組時,是利用新生成的密鑰NewKi代替了原有密鑰Ki,生成的鑒權(quán)五元組,與其相對應(yīng)的,在步驟405中進(jìn)行USIM卡對網(wǎng)絡(luò)的鑒權(quán)時,也同樣利用新生成的密鑰NewKi代替了原有密鑰Ki,進(jìn)行鑒權(quán);而在第二個例子中,步驟801生成鑒權(quán)五元組時,利用原有密鑰Ki、RAND、AMF和SQN產(chǎn)生除XRES之外的其它鑒權(quán)參數(shù),這時對應(yīng)的步驟805中USIM卡對網(wǎng)絡(luò)鑒權(quán)時,也利用原有密鑰Ki進(jìn)行鑒權(quán),并在鑒權(quán)成功時使用新密鑰產(chǎn)生鑒權(quán)響應(yīng)??傊琀LR/AUC和USIM中產(chǎn)生相應(yīng)參數(shù)的方式一般保持一致。
在上例的步驟806中,VLR/SGSN向HLR/AUC發(fā)送鑒權(quán)成功消息可以是通過鑒權(quán)失敗報告來傳送的,其中鑒權(quán)失敗報告中失敗原因值為“鑒權(quán)成功”的原因值,這樣步驟807中HLR/AUC接收到失敗原因值為“鑒權(quán)成功”原因值的鑒權(quán)失敗報告后,即可確定鑒權(quán)成功。
在第三個例子中,HLR/AUC利用原有的密鑰生成鑒權(quán)五元組中除XRES之外的其它參數(shù)項,并利用AMF攜帶更新密鑰信息,設(shè)AMF長兩個字節(jié),即16比特。第三個例子中協(xié)商新鑒權(quán)密鑰的方法流程如圖9所示,具體包括步驟901,HLR/AUC產(chǎn)生一個隨機(jī)數(shù)RAND,將AMF的最低位字節(jié)設(shè)置為1表示需要更新密鑰;HLR/AUC根據(jù)Ki產(chǎn)生新鑒權(quán)密鑰NewKi,并Ki、RAND、SQNHE、AMF等一起產(chǎn)生鑒權(quán)五元組中除了XRES之外的其它參數(shù)項,根據(jù)NewKi、RAND產(chǎn)生XRES。
步驟902,HLR/AUC將產(chǎn)生的鑒權(quán)五元組發(fā)送給VLR/SGSN;步驟903,VLR/SGSN將接收自HLR/AUC的鑒權(quán)元組中的AUTN和RAND發(fā)送給USIM卡;步驟904,USIM卡提取AUTN中攜帶的AMF,根據(jù)其最低位字節(jié)為1,確定需要進(jìn)行密鑰更新。
步驟905,USIM根據(jù)Ki產(chǎn)生新鑒權(quán)密鑰NewKi,根據(jù)Ki對網(wǎng)絡(luò)進(jìn)行鑒權(quán),并在鑒權(quán)通過后,根據(jù)NewKi產(chǎn)生鑒權(quán)響應(yīng)RES;將所述鑒權(quán)響應(yīng)發(fā)送給VLR/SGSN。
步驟906,VLR/SGSN比較RES和期望響應(yīng)XRES的一致性,并在一致時,判斷對USIM卡鑒權(quán)通過,同時產(chǎn)生一個鑒權(quán)失敗報告,將鑒權(quán)失敗報告的失敗原因值設(shè)置為鑒權(quán)成功原因值,向HLR/AUC發(fā)送所述鑒權(quán)失敗報告,攜帶所述RAND。
步驟907,HLR/AUC接收到VLR/SGSN發(fā)送的鑒權(quán)失敗報告后,確認(rèn)USIM卡已正確產(chǎn)生了NewKi后,更新第一密鑰。
本步驟中,HLR/AUC接收到VLR/SGSN發(fā)送的鑒權(quán)失敗報告后,在判斷出失敗原因值為鑒權(quán)成功原因值時,確認(rèn)出USIM卡產(chǎn)生了新密鑰NewKi,于是,判斷鑒權(quán)識別報告中的RAND與自己預(yù)先保存的RAND是否一致,如果一致,則認(rèn)為新密鑰協(xié)商成功,根據(jù)自己產(chǎn)生的NewKi更新Ki,例如,將Ki設(shè)置為等于NewKi;否則,結(jié)束新鑒權(quán)密鑰協(xié)商流程。
至此,本例中協(xié)商新鑒權(quán)密鑰的方法流程結(jié)束。
與第一和第二例子中的方法流程不同,在第三個例子中,HLR/AUC可以保存對應(yīng)鑒權(quán)元組中的RAND,在更新鑒權(quán)密鑰前,通過RAND的確認(rèn),提高鑒權(quán)密鑰更新的準(zhǔn)確性和安全性。當(dāng)然在實際應(yīng)用中,也可以保存其它鑒權(quán)參數(shù),在更新鑒權(quán)密鑰前,對保存的參數(shù)進(jìn)行確認(rèn)。
上述即為在3GPP鑒權(quán)與密鑰協(xié)商AKA中,本發(fā)明的應(yīng)用方式??梢钥闯觯景l(fā)明能夠?qū)崿F(xiàn)在鑒權(quán)過程中完成新鑒權(quán)密鑰的協(xié)商,于是鑒權(quán)密鑰隨時可以在鑒權(quán)過程中更新,解決了固定根密鑰所存在的安全隱患。
本發(fā)明所提供的參考圖,僅用于幫助理解本發(fā)明,當(dāng)參考圖與正文文字描述不一致時,以正文文字描述為準(zhǔn)。
以上僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種協(xié)商新鑒權(quán)密鑰的方法,其特征在于,在相互通信的第一模塊和第二模塊中分別保存第一密鑰和與第一密鑰對應(yīng)的第二密鑰,該方法包括A、第一模塊獲取包括更新密鑰請求信息的鑒權(quán)參數(shù),并將獲取的鑒權(quán)參數(shù)發(fā)送給鑒權(quán)代理;所述獲取的鑒權(quán)參數(shù)包括產(chǎn)生的隨機(jī)數(shù)RAND、消息鑒權(quán)編碼MAC-A、特別期望響應(yīng)SXRES;B、鑒權(quán)代理向第二模塊發(fā)送鑒權(quán)請求,并攜帶包括更新密鑰請求信息的部分鑒權(quán)參數(shù),在該部分鑒權(quán)參數(shù)中至少攜帶RAND和MAC-A;C、第二模塊接收鑒權(quán)請求,并在對第一模塊鑒權(quán)通過后,根據(jù)產(chǎn)生的第二新密鑰生成特別鑒權(quán)響應(yīng)SRES,并將SRES發(fā)送給鑒權(quán)代理;D、鑒權(quán)代理在對第二模塊鑒權(quán)通過后,向第一模塊傳送鑒權(quán)成功信息;E、第一模塊接收到鑒權(quán)成功信息后,更新第一密鑰。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟A中第一模塊根據(jù)RAND和第一密鑰產(chǎn)生第一新密鑰;步驟A中根據(jù)RAND和保存的第一密鑰生成SXRES,或者根據(jù)產(chǎn)生的第一新密鑰生成SXRES。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟E中第一模塊根據(jù)RAND和第一密鑰產(chǎn)生第一新密鑰;步驟A中根據(jù)RAND和保存的第一密鑰生成SXRES。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟E中所述更新第一密鑰是指用第一新密鑰替代第一密鑰。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟C中所述第二模塊對第一模塊進(jìn)行鑒權(quán)為第二模塊產(chǎn)生期望消息鑒權(quán)編碼XMAC-A,并判斷MAC-A和XMAC-A的一致性,當(dāng)二者一致時,確定鑒權(quán)通過;步驟D中所述鑒權(quán)代理對第二模塊進(jìn)行鑒權(quán)為比較SRES與SXRES的一致性,當(dāng)二者一致時,確定鑒權(quán)通過。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,步驟C中所述產(chǎn)生第二新密鑰為第二模塊根據(jù)接收到的RAND和保存的第二密鑰生成;所述第二新密鑰的產(chǎn)生是在第二模塊接收到鑒權(quán)請求后、產(chǎn)生XMAC-A前完成,或者在產(chǎn)生XMAC-A后、并在MAC-A和XMAC-A的一致性驗證通過后完成。
7.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述更新密鑰請求信息為通過MAC-A或所述RAND中的特定比特位攜帶。
8.根據(jù)權(quán)利要求5所述的方法,其特征在于,步驟A中根據(jù)RAND和保存的第一密鑰直接生成所述MAC-A;步驟C中根據(jù)RAND和第二密鑰直接生成所述XMAC-A。
9.根據(jù)權(quán)利要求5所述的方法,其特征在于,步驟A中根據(jù)RAND和第一密鑰產(chǎn)生第一新密鑰,再根據(jù)第一新密鑰生成所述MAC-A;步驟C中根據(jù)RAND和第二密鑰產(chǎn)生第二新密鑰,再根據(jù)第二新密鑰生成所述XMAC-A。
10.根據(jù)權(quán)利要求5所述的方法,其特征在于,步驟A中根據(jù)RAND和第一密鑰產(chǎn)生第一新密鑰,再根據(jù)第一新密鑰和RAND生成所述MAC-A;步驟C中根據(jù)RAND和第二密鑰產(chǎn)生第二新密鑰,再根據(jù)第二新密鑰和RAND生成所述XMAC-A。
11.根據(jù)權(quán)利要求5所述的方法,其特征在于,第一模塊進(jìn)一步保存第一序列號SQN1,第二模塊進(jìn)一步保存第二序列號SQN2;步驟A中所述獲取的鑒權(quán)參數(shù)進(jìn)一步包括SQN1;步驟B中所述部分鑒權(quán)參數(shù)進(jìn)一步包括SQN1。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述更新密鑰請求信息為通過MAC-A、RAND或SQN1中任意一項的特定比特位攜帶。
13.根據(jù)權(quán)利要求11所述的方法,其特征在于,步驟A中根據(jù)RAND、保存的SQN1和第一密鑰產(chǎn)生MAC-A;步驟C中根據(jù)接收到的RAND、SQN1和保存的第二密鑰產(chǎn)生XMAC-A。
14.根據(jù)權(quán)利要求11所述的方法,其特征在于,在步驟C中所述確定MAC-A和XMAC-A一致后,進(jìn)一步包括根據(jù)保存的SQN2判斷接收到的SQN1是否可以接受,如果不可接受,則結(jié)束本次密鑰協(xié)商流程,如果可以接受,則確定鑒權(quán)通過。
15.根據(jù)權(quán)利要求11所述的方法,其特征在于,步驟A中所述獲取的鑒權(quán)參數(shù)進(jìn)一步包括鑒權(quán)管理域AMF,步驟B中所述部分鑒權(quán)參數(shù)進(jìn)一步包括AMF。
16.根據(jù)權(quán)利要求15所述的方法,其特征在于,所述更新密鑰請求信息為通過MAC-A、RAND、SQN1或AMF中任意一項的特定比特位攜帶。
17.根據(jù)權(quán)利要求15所述的方法,其特征在于,步驟A中根據(jù)RAND、SQN1、AMF和保存的第一密鑰產(chǎn)生MAC-A;步驟C中根據(jù)SQN1、AMF、RAND和第二密鑰產(chǎn)生XMAC-A。
18.根據(jù)權(quán)利要求5、11或15所述的方法,其特征在于,鑒權(quán)代理向第一模塊傳送鑒權(quán)成功信息時進(jìn)一步攜帶獲取自第一模塊的鑒權(quán)參數(shù)信息的部分信息;第一模塊更新第一密鑰前,進(jìn)一步根據(jù)自己保存的對應(yīng)鑒權(quán)參數(shù)信息的部分信息判斷鑒權(quán)代理傳送的鑒權(quán)參數(shù)信息的部分信息的一致性,如果一致,則更新第一密鑰,否則,結(jié)束協(xié)商新鑒權(quán)密鑰流程。
19.根據(jù)權(quán)利要求18所述的方法,其特征在于,所述鑒權(quán)參數(shù)信息的部分信息為RAND、SQN1、SXRES和XMAC-A中的一種或任意組合。
20.根據(jù)權(quán)利要求5、11或15所述的方法,其特征在于,步驟C中所述鑒權(quán)成功信息通過鑒權(quán)失敗報告?zhèn)魉汀?br>
21.一種協(xié)商新鑒權(quán)密鑰的系統(tǒng),其特征在于,該系統(tǒng)包括第一模塊、鑒權(quán)代理和第二模塊;所述第一模塊,用于存儲第一密鑰,獲取包括更新密鑰請求信息的鑒權(quán)參數(shù),并將獲取的鑒權(quán)參數(shù)發(fā)送給所述鑒權(quán)代理,鑒權(quán)參數(shù)包括產(chǎn)生的隨機(jī)數(shù)RAND、消息鑒權(quán)編碼MAC-A、特別期望響應(yīng)SXRES;還用于在接收到所述鑒權(quán)代理發(fā)送的鑒權(quán)成功消息后,更新第一密鑰;所述鑒權(quán)代理,用于接收所述第一模塊發(fā)送的鑒權(quán)參數(shù),并將鑒權(quán)請求發(fā)送給所述第二模塊,在該請求中攜帶包括更新密鑰請求信息的部分鑒權(quán)參數(shù),并接收所述第二模塊返回的特別鑒權(quán)響應(yīng)SRES;還用于對所述第二模塊進(jìn)行鑒權(quán),并在鑒權(quán)通過后,向所述第一模塊發(fā)送鑒權(quán)成功消息;所述第二模塊,用于存儲第二密鑰,接收所述鑒權(quán)代理發(fā)送的部分鑒權(quán)參數(shù),完成對所述第一模塊的鑒權(quán),并在鑒權(quán)通過后,根據(jù)產(chǎn)生的第二新密鑰生成特別鑒權(quán)響應(yīng)SRES發(fā)送給所述鑒權(quán)代理。
22.根據(jù)權(quán)利要求21所述的系統(tǒng),其特征在于,所述第一模塊包括第一密鑰存儲單元、第一新密鑰產(chǎn)生單元、鑒權(quán)參數(shù)產(chǎn)生單元和接口單元;所述第一密鑰存儲單元,用于保存第一密鑰;所述第一新密鑰產(chǎn)生單元,用于產(chǎn)生隨機(jī)數(shù),并根據(jù)該隨機(jī)數(shù)和從所述第一密鑰存儲單元中讀取的第一密鑰,產(chǎn)生第一新密鑰,并將產(chǎn)生的隨機(jī)數(shù)和第一新密鑰發(fā)送給所述鑒權(quán)參數(shù)產(chǎn)生單元;所述鑒權(quán)參數(shù)產(chǎn)生單元,用于接收所述第一新密鑰產(chǎn)生單元發(fā)送的隨機(jī)數(shù)和第一新密鑰,獲取鑒權(quán)參數(shù),并將鑒權(quán)參數(shù)發(fā)送給所述接口單元;所述接口單元,用于接收所述鑒權(quán)參數(shù)產(chǎn)生單元發(fā)送的鑒權(quán)參數(shù),并將該參數(shù)發(fā)送給所述鑒權(quán)代理;還用于接收所述鑒權(quán)代理返回的鑒權(quán)結(jié)果,并在鑒權(quán)成功后,將所述第一新密鑰產(chǎn)生單元產(chǎn)生的第一新密鑰寫入所述第一密鑰保存單元中。
23.根據(jù)權(quán)利要求21所述的系統(tǒng),其特征在于,所述鑒權(quán)代理包括第一模塊接口單元、鑒權(quán)單元和第二模塊接口單元;所述第一模塊接口單元,用于接收所述第一模塊發(fā)送的鑒權(quán)請求,并將其中的部分鑒權(quán)參數(shù)發(fā)送給所述第二模塊接口單元;還用于接收所述鑒權(quán)單元發(fā)送的鑒權(quán)結(jié)果,并將其轉(zhuǎn)發(fā)給所述第一模塊;所述第二模塊接口單元,用于將所述第一模塊接口單元發(fā)送的鑒權(quán)參數(shù)發(fā)送給所述第二模塊,并將接收自所述第二模塊的特別鑒權(quán)響應(yīng)SRES轉(zhuǎn)發(fā)給所述鑒權(quán)單元;所述鑒權(quán)單元,用于接收所述第一模塊接口單元發(fā)送的鑒權(quán)參數(shù)和所述第二模塊接口單元發(fā)送的特別鑒權(quán)響應(yīng)SRES,進(jìn)行第一模塊對第二模塊的鑒權(quán),并將鑒權(quán)結(jié)果發(fā)送給所述第一模塊接口單元。
24.根據(jù)權(quán)利要求21所述的系統(tǒng),其特征在于,所述第二模塊包括第二密鑰存儲單元、第二新密鑰產(chǎn)生單元、鑒權(quán)單元和接口單元,所述第二密鑰存儲單元,用于保存第二密鑰;所述第二新密鑰產(chǎn)生單元,用于所述接收接口單元發(fā)送的隨機(jī)數(shù)RAND,并根據(jù)該隨機(jī)數(shù)和從所述第二密鑰存儲單元中讀取的第二密鑰,產(chǎn)生第二新密鑰,并將產(chǎn)生的隨機(jī)數(shù)和第一新密鑰發(fā)送給所述鑒權(quán)單元;所述接口單元,用于接收所述鑒權(quán)代理發(fā)送的鑒權(quán)參數(shù),并將該參數(shù)發(fā)送給所述鑒權(quán)單元,將隨機(jī)數(shù)發(fā)送給所述第二新密鑰產(chǎn)生單元;還用于接收所述鑒權(quán)單元發(fā)送的特別鑒權(quán)響應(yīng)SRES;所述鑒權(quán)單元,用于接收所述接口單元發(fā)送的鑒權(quán)參數(shù),進(jìn)行第二模塊對第一模塊的鑒權(quán),并產(chǎn)生特別鑒權(quán)響應(yīng)SRES發(fā)送給所述接口單元。
25.根據(jù)權(quán)利要求21到24中任意一項所述的系統(tǒng),其特征在于,所述第一模塊為歸屬位置寄存器鑒權(quán)中心HLR/AUC,所述鑒權(quán)代理為拜訪位置寄存器服務(wù)通用分組無線業(yè)務(wù)支持節(jié)點VLR/SGSN,所述第二模塊為用戶識別卡USIM。
全文摘要
本發(fā)明公開了一種協(xié)商新鑒權(quán)密鑰的方法,該方法包括第一模塊在向鑒權(quán)代理發(fā)送鑒權(quán)參數(shù)時,攜帶了更新密鑰請求信息;鑒權(quán)代理將包括更新密鑰請求的部分鑒權(quán)參數(shù)發(fā)送給第二模塊;第二模塊依照鑒權(quán)程序?qū)﹁b權(quán)參數(shù)進(jìn)行一致性驗證通過后,生成第二新密鑰,然后將利用第二新密鑰產(chǎn)生的特別鑒權(quán)響應(yīng)發(fā)送給鑒權(quán)代理;鑒權(quán)代理判斷特別鑒權(quán)響應(yīng)和特別期望響應(yīng)是否一致,若一致則表明鑒權(quán)成功,則向第一模塊發(fā)送鑒權(quán)成功消息;第一模塊即可確認(rèn)第二模塊成功響應(yīng)了自己的更新密鑰請求,可以更新自己的第一密鑰。本發(fā)明還公開了一種協(xié)商新鑒權(quán)密鑰的系統(tǒng)。利用本發(fā)明的方法和系統(tǒng),可以有效地實施鑒權(quán)密鑰的更新,從而解決固定根密鑰的安全隱患。
文檔編號H04L29/06GK1921378SQ20061015236
公開日2007年2月28日 申請日期2006年9月28日 優(yōu)先權(quán)日2006年9月28日
發(fā)明者劉利軍, 劉斐, 王正偉, 楊艷梅, 陳璟 申請人:中國移動通信集團(tuán)公司, 華為技術(shù)有限公司