亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種同步攻擊防護方法及相應(yīng)的鑒權(quán)方法

文檔序號:7614676閱讀:131來源:國知局
專利名稱:一種同步攻擊防護方法及相應(yīng)的鑒權(quán)方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信安全技術(shù),具體涉及一種防止終端利用同步請求命令對網(wǎng)絡(luò)進行攻擊的方法。
背景技術(shù)
現(xiàn)有的第三代移動通信系統(tǒng)中,在移動終端中保存國際移動用戶標(biāo)識IMSI、鑒權(quán)密鑰KI和序列號SQNMS,網(wǎng)絡(luò)側(cè)的HLR/AUC中針對該移動終端對應(yīng)保存IMSI、KI和序列號SQNHE,以用于移動終端和網(wǎng)絡(luò)相互鑒權(quán)。
3G通信系統(tǒng)的現(xiàn)有鑒權(quán)流程主要為HLR/AUC產(chǎn)生隨機數(shù)RAND,根據(jù)隨機數(shù)RAND和KI產(chǎn)生期望響應(yīng)XRES、加密密鑰CK、完整性密鑰IK;根據(jù)隨機數(shù)RAND、序列號SQNHE、鑒權(quán)密鑰KI和鑒權(quán)管理域AMF產(chǎn)生出MAC-A,根據(jù)MAC-A,SQNHE、AK和AMF得到鑒權(quán)標(biāo)記AUTN(Authentication Token)。由RAND和XRES、CK、IK和AUTN組成鑒權(quán)五元組,將該五元組發(fā)送給MSC/VLR保存。當(dāng)然,實際當(dāng)中,HLR/AUC是應(yīng)MSC/VLR的請求才將產(chǎn)生的相應(yīng)的一個或多個五元組發(fā)送給MSC/VLR的。鑒權(quán)時,MSC/VLR將對應(yīng)五元組中RAND和AUTN發(fā)送給終端,終端根據(jù)自己保存的KI驗證AUTN的一致性,如果一致性驗證不通過,則向MSC/VLR返回鑒權(quán)失敗信息;若一致性驗證通過,則判斷SQNHE是否屬于可接受的范圍若屬于,則終端判斷出對網(wǎng)絡(luò)鑒權(quán)通過,終端向MSC/VLR返回終端自己產(chǎn)生的鑒權(quán)響應(yīng),并根據(jù)AUTN中的SQNHE更新SQNMS,MSC/VLR比較終端返回的鑒權(quán)響應(yīng)和對應(yīng)五元組中的XRES是否一致來判斷終端的合法性;若判斷出SQNHE不屬于可接受范圍,則根據(jù)SQNMS產(chǎn)生再同步標(biāo)記AUTS(Resynchronisation Token),對網(wǎng)絡(luò)側(cè)MSC/VLR返回再同步請求或同步失敗(Synchronisation failure)消息,同時附上產(chǎn)生的再同步標(biāo)記AUTS,也即消息中包含AUTS。網(wǎng)絡(luò)側(cè)MSC/VLR接收到再同步標(biāo)記AUTS時,將AUTS和對應(yīng)五元組中的RAND發(fā)送給HLR/AUC,HLR/AUC根據(jù)對應(yīng)保存的KI和接收到的RAND,判斷AUTS的合法性,如果不合法,則HLR/AUC向MSC/VLR返回AUTS不合法信息;如果判斷出AUTS合法,則HLR/AUC根據(jù)AUTS中的SQNMS更新SQNHE,并產(chǎn)生一個新的鑒權(quán)五元組發(fā)送給MSC/VLR,MSC/VLR接收到新的五元組后,刪除對應(yīng)的舊的五元組。關(guān)于鑒權(quán)流程,可以參照3GPP規(guī)范。
由上可見,第三代移動通信系統(tǒng)中,鑒權(quán)流程可以充分保障終端和網(wǎng)絡(luò)不會受到惡意欺騙,從而保障終端和網(wǎng)絡(luò)的安全性。
上述鑒權(quán)流程可以通過網(wǎng)絡(luò)對終端的鑒權(quán)防止假冒的用戶終端欺騙網(wǎng)絡(luò),也可以通過終端對網(wǎng)絡(luò)的鑒權(quán)防止假冒網(wǎng)絡(luò)欺騙用戶終端,卻無法防止非法用戶終端利用同步流程攻擊HLR/AUC,例如,1.非法用戶利用一個假的IMSI向網(wǎng)絡(luò)發(fā)起位置更新;2.MSC/VLR將鑒權(quán)元組中RAND和AUTN發(fā)送給非法用戶;3.非法用戶產(chǎn)生一個隨機數(shù)代替AUTS,向網(wǎng)絡(luò)MSC/VLR發(fā)起同步SQNMS的請求;4.MSC/VLR將對應(yīng)五元組中隨機數(shù)RAND和接收自終端的AUTS發(fā)送給HLR/AUC;5.HLR/AUC執(zhí)行同步流程。
上述攻擊流程中,雖然,在第5步中HLR/AUC可以識別出同步是不合法的,但是識別過程本身就消耗了HLR/AUC的資源,況且還包括MSC/VLR和HLR/AUC之間的協(xié)議交互所消耗的資源。如果攻擊者不斷變換用戶身份來制造假同步,那么,就有可能導(dǎo)致HLR/AUC忙于處理同步流程,而無暇顧及其它的業(yè)務(wù)請求,從而會導(dǎo)致HLR/AUC假吊死現(xiàn)象發(fā)生。
綜上所述,如何防止非法用戶通過同步請求對網(wǎng)絡(luò)進行攻擊是一個值得解決的問題。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明要解決技術(shù)問題是防止非法用戶利用同步請求攻擊網(wǎng)絡(luò)。
為了解決上述問題本發(fā)明提供的技術(shù)方案為一種同步攻擊防護方法,應(yīng)用于3G網(wǎng)絡(luò)中終端與網(wǎng)絡(luò)間的鑒權(quán),,所述方法至少包括以下步驟a.HLR/AUC產(chǎn)生隨機數(shù)RAND,根據(jù)隨機數(shù)、第二鑒權(quán)密鑰產(chǎn)生期望響應(yīng)XRES,加密密鑰CK、完整性密鑰IK,并根據(jù)隨機數(shù)、鑒權(quán)密鑰、鑒權(quán)管理域AMF和第二序列號SQNHE生成消息鑒權(quán)編碼MAC-A,根據(jù)第二序列號、鑒權(quán)管理域和消息鑒權(quán)編碼產(chǎn)生鑒權(quán)標(biāo)記AUTN,將所述隨機數(shù)、期望響應(yīng),加密密鑰、完整性密鑰和鑒權(quán)標(biāo)記作為鑒權(quán)五元組發(fā)送給MSC/VLR;b.MSC/VLR將所述隨機數(shù)、鑒權(quán)標(biāo)記發(fā)送給終端;c.終端根據(jù)第一鑒權(quán)密鑰和接收到的隨機數(shù)、接收到的AUTN中的第二序列號以及鑒權(quán)管理域?qū)邮盏降腁UTN中的消息鑒權(quán)編碼進行一致性驗證,并在驗證通過后,根據(jù)第一鑒權(quán)密鑰和所述隨機數(shù)生成鑒權(quán)響應(yīng)ARES;d.終端根據(jù)第一序列號SQNMS判斷第二序列號是否可以接受,并在第二序列號不可接收時,根據(jù)第一鑒權(quán)密鑰、第一序列號,接收的AUTN中的AMF和所述隨機數(shù)生成同步鑒權(quán)編碼MAC-S,根據(jù)MAC-S和SQNMS產(chǎn)生同步標(biāo)記AUTS,對MSC/VLR發(fā)送同步請求消息且附上所述同步標(biāo)記以及所述鑒權(quán)響應(yīng)的校驗碼;e.MSC/VLR在接收到所述同步請求消息時,根據(jù)期望響應(yīng)判斷所述鑒權(quán)響應(yīng)的校驗碼的合法性,如果不合法則判斷出所述再同請求消息非法并結(jié)束相關(guān)處理;否則,MSC/VLR向HLR/AUC發(fā)送同步請求消息,并附上所述同步標(biāo)記和對應(yīng)鑒權(quán)五元組中的隨機數(shù);f.HLR/AUC根據(jù)第二鑒權(quán)密鑰判斷所述同步請求消息的完整性,并根據(jù)所述同步請求消息的完整性作相關(guān)處理。
本發(fā)明提供的同步攻擊防護方法,在發(fā)送同步請求時附上了鑒權(quán)響應(yīng)的校驗碼,網(wǎng)絡(luò)側(cè)在判斷同步請求的合法性時,先通過MSC/VLR根據(jù)鑒權(quán)響應(yīng)的校驗碼來判斷同步請求合法性,如果鑒權(quán)響應(yīng)不合法則可判斷出同步請求信息來源不合,則不再進行后續(xù)處理,即網(wǎng)絡(luò)側(cè)的HLR/AUC不再對同步請求進行完整性驗證,使得網(wǎng)絡(luò)側(cè)在接收到非法用戶發(fā)送的同步請求時,MSC/VLR即可識別出,而不必再耗費HLR/AUC的資源對來自非法用戶的再同步請求命令進行完整性驗證,進而達到防止非法用戶通過大量的再同步請求消息來攻擊網(wǎng)絡(luò)的目的。
優(yōu)選地,步驟c中還包括當(dāng)終端對消息鑒權(quán)編碼的一致性驗證未通過時,判斷對網(wǎng)絡(luò)側(cè)MSC/VLR鑒權(quán)失敗,向MSC/VLR發(fā)送鑒權(quán)失敗信息,并結(jié)束相關(guān)處理。
優(yōu)選地,步驟d中還包括終端判斷出第二序列號可以接受時,根據(jù)所述第二序列號更新第一序列號,且對MSC/VLR發(fā)送所述鑒權(quán)響應(yīng);MSC/VLR判斷所述鑒權(quán)響應(yīng)和期望響應(yīng)是否一致,如果一致,判斷對終端的鑒權(quán)通過,并結(jié)束相應(yīng)處理,否則,判斷對終端的鑒權(quán)不通過,并結(jié)束相應(yīng)處理。
優(yōu)選地,其中根據(jù)所述第二序列號更新第一序列號是指將第一序列號設(shè)置為與第二序列號相等。
優(yōu)選地,所述HLR/AUC根據(jù)第二鑒權(quán)密鑰判斷所述同步請求消息的完整性是指是指,HLR/AUC根據(jù)第二鑒權(quán)密鑰、所述鑒權(quán)管理域、所述隨機數(shù)以及所述同步標(biāo)記中第一序列號采用和終端計算所述同步鑒權(quán)編碼一致的算法進行計算,得到一個計算結(jié)果,比較所述計算結(jié)果和所述同步標(biāo)記中同步鑒權(quán)編碼是否相同,如果相同,則判斷出所述同步請求消息完整,否則,判斷出所述同步請求消息不完整。
優(yōu)選地,在步驟f中,HLR/AUC判斷出所述同步請求消息不完整時,結(jié)束相關(guān)處理,否則,根據(jù)第一序列號更新第二序列號,產(chǎn)生新的鑒權(quán)五元組并發(fā)送至少一個新鑒權(quán)五元組給MSC/VLR用于鑒權(quán)。
優(yōu)選地,所述根據(jù)所述第一序列號更新第二序列號是指將第二序列號設(shè)置為與第一序列號相等,或者是將第二序列號設(shè)置為與第一序列號相等后,再將第二序列號增加一個固定不變的或固定變化的或隨機變化的增量數(shù)值。
優(yōu)選地,所述步驟c中,終端對所述消息鑒權(quán)編碼進行一致性驗證進一步是終端根據(jù)第一鑒權(quán)密鑰、鑒權(quán)管理域、所述隨機數(shù)和第二序列號采用和HLR/AUC產(chǎn)生消息鑒權(quán)編碼一致的方法產(chǎn)生一個運算結(jié)果,比較所述運算結(jié)果和所述消息鑒權(quán)編碼是否一致,如果一致,則對所述消息鑒權(quán)編碼的一致性驗證通過,否則,對所述消息鑒權(quán)編碼的一致性驗證不通過。
優(yōu)選地,所述步驟d中,所述終端根據(jù)第一序列號判斷第二序列號是否可以接受進一步是判斷第二序列號和第一序列號的差值是否在一定的范圍內(nèi),如果是,則判斷出第二序列號可接受,否則,判斷出第二序列號不可以接受。
優(yōu)選地,所述鑒權(quán)響應(yīng)的校驗碼是鑒權(quán)響應(yīng)本身,或者是鑒權(quán)響應(yīng)中相應(yīng)的某些位,對應(yīng)地步驟e中根據(jù)期望響應(yīng)判斷所述鑒權(quán)響應(yīng)的校驗碼的合法性是指判斷鑒權(quán)響應(yīng)的校驗碼是否和期望響應(yīng)相同,或者判斷鑒權(quán)響應(yīng)的校驗碼是否和期望響應(yīng)中相應(yīng)的某些位相同,如果是,則判斷所述鑒權(quán)響應(yīng)的校驗碼合法,否則,判斷所述鑒權(quán)響應(yīng)的校驗碼非法。
優(yōu)選地,所述步驟a中進一步包括更新第二序列號的步驟。
優(yōu)選地,所述更新第二序列號是指將第二序列號增加一個固定不變的或固定變化的或隨機變化的增量數(shù)值。
為了解決上述問題,本發(fā)明提供的另一解決方案為一種鑒權(quán)方法,用于可相互通信的模塊之間的鑒權(quán),所述模塊至少包括可鑒權(quán)及產(chǎn)生鑒權(quán)響應(yīng)的第一模塊,所述第一模塊中保存了第一鑒權(quán)密鑰、第一同步密鑰和第一序列號,可用于產(chǎn)生鑒權(quán)參數(shù)、執(zhí)行同步處理的第二模塊,所述第二模塊中對應(yīng)保存了第二鑒權(quán)密鑰、第二同步密鑰和第二序列號,以及可執(zhí)行鑒權(quán)驗證的第三模塊,所述方法至少包括以下步驟a.第二模塊產(chǎn)生隨機數(shù),根據(jù)隨機數(shù)、第二鑒權(quán)密鑰產(chǎn)生期望響應(yīng),并根據(jù)隨機數(shù)、第二鑒權(quán)密鑰和第二序列號生成消息鑒權(quán)編碼,將所述隨機數(shù)、第二序列號、期望響應(yīng)和生成的消息鑒權(quán)編碼發(fā)送給第三模塊;b.第三模塊將所述隨機數(shù)、第二序列號和消息鑒權(quán)編碼發(fā)送給第一模塊;c.第一模塊根據(jù)第一鑒權(quán)密鑰和所述隨機數(shù)以及第二序列號對所述消息鑒權(quán)編碼進行一致性驗證,并在驗證通過后,根據(jù)第一鑒權(quán)密鑰和所述隨機數(shù)生成鑒權(quán)響應(yīng);d.第一模塊根據(jù)第一序列號判斷第二序列號是否可以接受,并在第二序列號不可接收時,根據(jù)第一同步密鑰、第一序列號和所述隨機數(shù)生成同步鑒權(quán)編碼,對第三模塊發(fā)送同步請求消息且附上所述同步鑒權(quán)編碼、第一序列號以及所述鑒權(quán)響應(yīng)的校驗碼;e.第三模塊在接收到所述同步請求消息時,根據(jù)期望響應(yīng)判斷所述鑒權(quán)響應(yīng)的校驗碼的合法性,如果不合法則判斷出所述再同請求消息非法并結(jié)束相關(guān)處理;否則,第三模塊向第二模塊發(fā)送同步請求消息;f.第二模塊根據(jù)第二同步密鑰判斷所述同步請求消息的完整性,并根據(jù)所述同步請求消息的完整性作相關(guān)處理。
上述鑒權(quán)方法,第一模塊在發(fā)送同步請求消息時附上了鑒權(quán)響應(yīng)的校驗碼,第二模塊在判斷同步請求消息的完整性之前,先由第三模塊先根據(jù)鑒權(quán)響應(yīng)的校驗碼來判斷同步請求消息的合法性,如果鑒權(quán)響應(yīng)的校驗碼不合法則可判斷出同步請求信息來源不合法,則不再進行后續(xù)處理,即第二模塊不再對同步請求消息進行完整性驗證,因此,非法用戶發(fā)送的同步請求消息在到達第三模塊時即可攔截,而不必再耗費第二模塊的資源對來自非法用戶的同步請求消息進行完整性驗證,進而達到防止非法用戶通過大量的同步請求消息來攻擊鑒權(quán)模塊的目的。
優(yōu)選地,所述步驟c中還包括當(dāng)?shù)谝荒K對消息鑒權(quán)編碼的一致性驗證未通過時,判斷對第三模塊鑒權(quán)失敗,并結(jié)束相關(guān)處理。
優(yōu)選地,步驟c中第一模塊在所述結(jié)束相關(guān)處理前,進一步包括第一模塊對第三模塊發(fā)送鑒權(quán)失敗信息。
優(yōu)選地,步驟d中還包括第一模塊判斷出第二序列號可以接受時,根據(jù)所述第二序列號更新第一序列號,且對第三模塊發(fā)送所述鑒權(quán)響應(yīng);第三模塊判斷所述鑒權(quán)響應(yīng)和期望響應(yīng)是否一致,如果一致,判斷對第一模塊的鑒權(quán)通過,并結(jié)束相應(yīng)處理,否則,判斷對第一模塊鑒權(quán)不通過,并結(jié)束相應(yīng)處理。
優(yōu)選地,所述根據(jù)所述第二序列號更新第一序列號是指將第一序列號設(shè)置為與第二序列號相等。
優(yōu)選地,步驟e中,第三模塊向第二模塊發(fā)送同步請求消息時,附上所述隨機數(shù),同步鑒權(quán)編碼和第一序列號。
優(yōu)選地,步驟a中,第二模塊在將所述隨機數(shù)、第二序列號和生成的消息鑒權(quán)編碼發(fā)送給第三模塊時,保存了所述隨機數(shù);步驟e中,第三模塊向第二模塊發(fā)送同步請求消息時,附上所述同步鑒權(quán)編碼和第一序列號。
優(yōu)選地,所述第二模塊根據(jù)第二同步密鑰判斷所述同步請求消息的完整性是指是指,第二模塊根據(jù)第二同步密鑰、所述隨機數(shù)以及第一序列號采用和第一模塊計算所述同步鑒權(quán)編碼一致的算法進行計算,得到一個計算結(jié)果,比較所述計算結(jié)果和同步鑒權(quán)編碼是否相同,如果相同,則判斷出所述同步請求消息完整,否則,判斷出所述同步請求消息不完整。
優(yōu)選地,在步驟f中,第二模塊判斷出所述同步請求消息不完整時,結(jié)束相關(guān)處理,否則,根據(jù)第一序列號更新第二序列號。
優(yōu)選地,所述根據(jù)所述第一序列號更新第二序列號是指將第二序列號設(shè)置為與第一序列號相等,或者是將第二序列號設(shè)置為與第一序列號相等后,再將第二序列號增加一個固定不變的或固定變化的或隨機變化的增量數(shù)值。
優(yōu)選地,所述步驟c中,第一模塊對所述消息鑒權(quán)編碼進行一致性驗證進一步是第一模塊根據(jù)第一鑒權(quán)密鑰、所述隨機數(shù)和第二序列號采用和第二模塊根據(jù)所述隨機數(shù)、第二鑒權(quán)密鑰和第二序列號產(chǎn)生消息鑒權(quán)編碼一致的方法產(chǎn)生一個運算結(jié)果,比較所述運算結(jié)果和所述消息鑒權(quán)編碼是否一致,如果一致,則對所述消息鑒權(quán)編碼的一致性驗證通過,否則,對所述消息鑒權(quán)編碼的一致性驗證不通過。
優(yōu)選地,所述步驟d中,第一模塊根據(jù)第一序列號判斷第二序列號是否可以接受進一步是判斷第二序列號和第一序列號的差值是否在一定的范圍內(nèi),如果是,則判斷出第二序列號可接受,否則,判斷出第二序列號不可以接受。
優(yōu)選地,所述鑒權(quán)響應(yīng)的校驗碼是鑒權(quán)響應(yīng)本身,或者是鑒權(quán)響應(yīng)中相應(yīng)的某些位,對應(yīng)地步驟e中根據(jù)期望響應(yīng)判斷所述鑒權(quán)響應(yīng)的校驗碼的合法性是指判斷鑒權(quán)響應(yīng)的校驗碼是否和期望響應(yīng)相同,或者判斷鑒權(quán)響應(yīng)的校驗碼是否和期望響應(yīng)中相應(yīng)的某些位相同,如果是,則判斷所述鑒權(quán)響應(yīng)的校驗碼合法,否則,判斷所述鑒權(quán)響應(yīng)的校驗碼非法。
優(yōu)選地,所述步驟a中進一步包括更新第二序列號的步驟。
優(yōu)選地,所述更新第二序列號是指將第二序列號增加一個固定不變的或固定變化的或隨機變化的增量數(shù)值。
優(yōu)選地,第一序列號初始值為0或一個隨機數(shù),相應(yīng)的第二序列號初始值是大于第一序列號的任意數(shù)。
優(yōu)選地,在第一模塊中,第一鑒權(quán)密鑰和第一同步密鑰可以是同一個密鑰;相應(yīng)地,在第二模塊中,第二鑒權(quán)密鑰和第二同步密鑰也可以是同一個密鑰。
為了解決上述問題,本發(fā)明還提供一解決方案為一種鑒權(quán)方法,用于可相互通信的模塊之間的鑒權(quán),所述模塊至少包括可鑒權(quán)及產(chǎn)生鑒權(quán)響應(yīng)的第一模塊,所述第一模塊中保存了第一鑒權(quán)密鑰、第一同步密鑰和第一序列號,可用于產(chǎn)生鑒權(quán)參數(shù)、執(zhí)行鑒權(quán)驗證和執(zhí)行同步處理的第二模塊,所述第二模塊中對應(yīng)保存了第二鑒權(quán)密鑰、第二同步密鑰和第二序列號,所述方法至少包括以下步驟a.第二模塊產(chǎn)生隨機數(shù),根據(jù)隨機數(shù)、第二鑒權(quán)密鑰產(chǎn)生期望響應(yīng),并根據(jù)隨機數(shù)、第二鑒權(quán)密鑰和第二序列號生成消息鑒權(quán)編碼;將所述隨機數(shù)、第二序列號和消息鑒權(quán)編碼發(fā)送給第一模塊;b.第一模塊根據(jù)第一鑒權(quán)密鑰和所述隨機數(shù)以及第二序列號對所述消息鑒權(quán)編碼進行一致性驗證,并在驗證通過后,根據(jù)第一鑒權(quán)密鑰和所述隨機數(shù)生成鑒權(quán)響應(yīng);c.第一模塊根據(jù)第一序列號判斷第二序列號是否可以接受,并在第二序列號不可接收時,根據(jù)第一同步密鑰、第一序列號和所述隨機數(shù)生成同步鑒權(quán)編碼,對第二模塊發(fā)送同步請求消息且附上所述同步鑒權(quán)編碼、第一序列號以及所述鑒權(quán)響應(yīng)的校驗碼;d.第二模塊在接收到所述同步請求消息時,根據(jù)期望響應(yīng)判斷所述鑒權(quán)響應(yīng)的校驗碼的合法性,如果不合法則判斷出所述再同請求消息非法并結(jié)束相關(guān)處理;否則,根據(jù)第二同步密鑰判斷所述同步請求消息的完整性,并根據(jù)所述同步請求消息的完整性作相關(guān)處理。
上述鑒權(quán)方法,第一模塊在發(fā)送同步請求消息時附上了鑒權(quán)響應(yīng)的校驗碼,第二模塊在判斷同步請求消息的完整性之前,先根據(jù)鑒權(quán)響應(yīng)的校驗碼來判斷同步請求消息的合法性,如果鑒權(quán)響應(yīng)的校驗碼不合法則可判斷出同步請求信息來源不合法,則不再進行后續(xù)處理,即第二模塊不再對同步請求消息進行完整性驗證,因此,第二模塊在接收到來自非法用戶同步請求信息時,不必再耗費資源對來自非法用戶的同步請求消息進行完整性驗證,進而達到防止非法用戶通過大量的同步請求消息消耗第二模塊資源以攻擊第二模塊的目的。
優(yōu)選地,所述步驟b中還包括當(dāng)?shù)谝荒K對消息鑒權(quán)編碼的一致性驗證未通過時,判斷對第二模塊鑒權(quán)失敗,并結(jié)束相關(guān)處理。
優(yōu)選地,步驟b中第一模塊在所述結(jié)束相關(guān)處理前,進一步包括第一模塊對第二模塊發(fā)送鑒權(quán)失敗信息。
優(yōu)選地,步驟c中還包括第一模塊判斷出第二序列號可以接受時,根據(jù)所述第二序列號更新第一序列號,且對第二模塊發(fā)送所述鑒權(quán)響應(yīng);第二模塊判斷所述鑒權(quán)響應(yīng)和期望響應(yīng)是否一致,如果一致,判斷對第一模塊的鑒權(quán)通過,并結(jié)束相應(yīng)處理,否則,判斷對第一模塊鑒權(quán)不通過,并結(jié)束相應(yīng)處理。
優(yōu)選地,所述根據(jù)所述第二序列號更新第一序列號是指將第一序列號設(shè)置為與第二序列號相等。
優(yōu)選地,在步驟d中,所述第二模塊根據(jù)第二同步密鑰判斷所述同步請求消息的完整性是指是指,第二模塊根據(jù)第二同步密鑰、所述隨機數(shù)以及第一序列號采用和第一模塊計算所述同步鑒權(quán)編碼一致的算法進行計算,得到一個計算結(jié)果,比較所述計算結(jié)果和所述同步鑒權(quán)編碼是否相同,如果相同,則判斷出所述同步請求消息完整,否則,判斷出所述同步請求消息不完整。
優(yōu)選地,在步驟d中,第二模塊判斷出所述同步請求消息不完整時,結(jié)束相關(guān)處理,否則,根據(jù)第一序列號更新第二序列號。
優(yōu)選地,所述根據(jù)所述第一序列號更新第二序列號是指將第二序列號設(shè)置為與第一序列號相等,或者是將第二序列號設(shè)置為與第一序列號相等后,再將第二序列號增加一個固定不變的或固定變化的或隨機變化的增量數(shù)值。
優(yōu)選地,所述步驟b中,第一模塊對所述消息鑒權(quán)編碼進行一致性驗證進一步是第一模塊根據(jù)第一鑒權(quán)密鑰、所述隨機數(shù)和第二序列號采用和第二模塊根據(jù)所述隨機數(shù)、第二鑒權(quán)密鑰和第二序列號產(chǎn)生消息鑒權(quán)編碼一致的方法產(chǎn)生一個運算結(jié)果,比較所述運算結(jié)果和所述消息鑒權(quán)編碼是否一致,如果一致,則對所述消息鑒權(quán)編碼的一致性驗證通過,否則,對所述消息鑒權(quán)編碼的一致性驗證不通過。
優(yōu)選地,所述步驟c中,第一模塊根據(jù)第一序列號判斷第二序列號是否可以接受進一步是判斷第二序列號和第一序列號的差值是否在一定的范圍內(nèi),如果是,則判斷出第二序列號可接受,否則,判斷出第二序列號不可以接受。
優(yōu)選地,所述鑒權(quán)響應(yīng)的校驗碼是鑒權(quán)響應(yīng)本身,或者是鑒權(quán)響應(yīng)中相應(yīng)的某些位,對應(yīng)地步驟d中根據(jù)期望響應(yīng)判斷所述鑒權(quán)響應(yīng)的校驗碼的合法性是指判斷鑒權(quán)響應(yīng)的校驗碼是否和期望響應(yīng)相同,或者判斷鑒權(quán)響應(yīng)的校驗碼是否和期望響應(yīng)中相應(yīng)的某些位相同,如果是,則判斷所述鑒權(quán)響應(yīng)的校驗碼合法,否則,判斷所述鑒權(quán)響應(yīng)的校驗碼非法。
優(yōu)選地,所述步驟a中進一步包括更新第二序列號的步驟。
優(yōu)選地,所述更新第二序列號是指將第二序列號增加一個固定不變的或固定變化的或隨機變化的增量數(shù)值。
優(yōu)選地,第一序列號初始值為0或一個隨機數(shù),相應(yīng)的第二序列號初始值是大于第一序列號的任意數(shù)。
優(yōu)選地,在第一模塊中,第一鑒權(quán)密鑰和第一同步密鑰可以是同一個密鑰;相應(yīng)地,在第二模塊中,第二鑒權(quán)密鑰和第二同步密鑰也可以是同一個密鑰。


圖1是本發(fā)明的具體實施方式
一的流程圖。
圖2是本發(fā)明具體實施方式
一的具體實施例的流程圖。
圖3是本發(fā)明的具體實施方式
二的流程圖。
圖4是本發(fā)明具體實施方式
二的具體實施例的流程圖。
圖5是本發(fā)明的具體實施方式
三的流程圖。
圖6是本發(fā)明具體實施方式
三的具體實施例的流程圖。
具體實施例方式
移動通信網(wǎng)絡(luò)中,在移動終端中保存國際移動用戶標(biāo)識IMSI、鑒權(quán)密鑰KI和序列號SQNMS,網(wǎng)絡(luò)側(cè)的HLR/AUC中針對該移動終端對應(yīng)保存IMSI、KI和序列號SQNHE,以用于移動終端和網(wǎng)絡(luò)相互鑒權(quán)。
在本發(fā)明提供的同步攻擊防護方法中,終端對網(wǎng)絡(luò)發(fā)起同步請求命令時不僅附上再同步標(biāo)記,還附上鑒權(quán)響應(yīng)的校驗碼,網(wǎng)絡(luò)側(cè)先根據(jù)鑒權(quán)響的校驗碼判斷再同步請求的合法性,如果不合法則可立即判斷出再同步請求命令非法,如果所述鑒權(quán)響應(yīng)的校驗碼合法則進一步根據(jù)再同步標(biāo)記來驗證再同步請求命令的完整性。
本發(fā)明還提供相應(yīng)的鑒權(quán)方法,并不僅應(yīng)用于第三代移動通信系統(tǒng),還可用于任何可相互通信的兩模塊之間的鑒權(quán),例如Wimax,……等無線通信網(wǎng)絡(luò)間的模塊,或者是有線通信網(wǎng)絡(luò)間的模塊。
本發(fā)明的方法應(yīng)用于終端與網(wǎng)絡(luò)之間的鑒權(quán)時MSC/VLR將對應(yīng)五元組中RAND和AUTN發(fā)送給終端,終端根據(jù)自己保存的KI驗證AUTN的一致性,如果一致性驗證不通過,則向MSC/VLR返回鑒權(quán)失敗信息;若一致性驗證通過,終端根據(jù)KI和RAND產(chǎn)生鑒權(quán)響應(yīng)ARES,并判斷SQNHE是否屬于可接受的范圍若SQNHE屬于可接受的范圍,則終端判斷出對網(wǎng)絡(luò)鑒權(quán)通過,終端向MSC/VLR返回終端自己產(chǎn)生的鑒權(quán)響應(yīng)ARES,并根據(jù)AUTN中的SQNHE更新SQNMS;MSC/VLR比較終端返回的鑒權(quán)響應(yīng)和對應(yīng)五元組中的XRES是否一致來判斷終端的合法性;若一致則判斷出對終端的鑒權(quán)通過,否則判斷出對終端鑒權(quán)失敗。
若判斷出SQNHE不屬于可接受范圍,則根據(jù)SQNMS產(chǎn)生再同步標(biāo)記AUTS(Resynchronisation Token),對網(wǎng)絡(luò)側(cè)MSC/VLR返回再同步請求或同步失敗(Synchronisation failure)消息,同時附上產(chǎn)生的再同步標(biāo)記AUTS,并且附上所述鑒權(quán)響應(yīng)ARES。網(wǎng)絡(luò)側(cè)MSC/VLR接收到所述再同步請求時,先判斷所述鑒權(quán)響應(yīng)ARES與自身保存的XRES是否一致,如果一致,則向HLR/AUC請求新鑒權(quán)元組,并附上對應(yīng)本次鑒權(quán)的五元組中的RAND和接收自終端的AUTS,HLR/AUC接收到MSC/VLR的請求后,判斷AUTS的合法性,如果不合法,則HLR/AUC向MSC/VLR返回AUTS不合法信息;如果判斷出AUTS合法,則HLR/AUC根據(jù)AUTS中的SQNMS更新SQNHE,并產(chǎn)生一個新的鑒權(quán)五元組發(fā)送給MSC/VLR,MSC/VLR接收到新的五元組后,刪除對應(yīng)的舊的五元組。如果所述鑒權(quán)響應(yīng)ARES與自身保存的XRES不一致,則MSC/VLR判斷出再同步請求本身不合法。MSC/VLR判斷再同步請求不合法時,可以直接終止同步流程,從而可以將非法同步屏蔽在HLR/AUC之外,使HLR/AUC免受假同步的攻擊。由于MSC/VLR從HLR/AUC中得到的鑒權(quán)五元組中已經(jīng)包括了期望鑒權(quán)響應(yīng)值XRES,因此,MSC/VLR不需要計算XRES,而是直接通過對終端返回的ARES和XRES進行比較來判斷同步請求的合法性,因此,假同步對MSC/VLR資源的消耗要遠小于HLR/AUC判斷AUTS合法性的資源消耗。
下面結(jié)合附圖對本發(fā)明的具體實施方式
進行詳細的說明請參閱圖1,圖1為本發(fā)明具體實施方式
一的流程圖。
首先,在步驟102,鑒權(quán)時,網(wǎng)絡(luò)側(cè)MSC/VLR將產(chǎn)生的鑒權(quán)元組中的相應(yīng)鑒權(quán)參數(shù)發(fā)送給終端。
所述鑒權(quán)元組可以包括隨機數(shù)RAND、期望響應(yīng)XRES和鑒權(quán)標(biāo)記AUTN(Authentication Token),也可以進一步包括、加密密鑰CK和完整性密鑰IK。
所述相應(yīng)鑒權(quán)參數(shù)包括RAND和AUTN。
產(chǎn)生鑒權(quán)元組時,HLR/AUC用隨機數(shù)發(fā)生器產(chǎn)生的RAND和自身保存的鑒權(quán)密鑰KI分別計算出XRES,根據(jù)RAND、KI、序列號SQNHE、鑒權(quán)管理域AMF產(chǎn)生AUTN,也可以進一步根據(jù)RAND和自身保存的鑒權(quán)密鑰KI分別計算出CK和IK。
所述鑒權(quán)標(biāo)記AUTN長16字節(jié),包括以下內(nèi)容1)SQNHE^AK,也即用AK加密了的SQNHE,其中序列號SQNHE與匿名密鑰AK分別長6字節(jié),SQNHE指保存在網(wǎng)絡(luò)側(cè)的SQN,以區(qū)別于保存在終端的SQNMS;當(dāng)需要對SQNHE進行加密時,HLR/AUC根據(jù)RAND和KI產(chǎn)生AK,使用AK對SQNHE作異或運算,從而加密SQNHE;當(dāng)不需要對SQNHE進行加密時,AK=0;2)鑒權(quán)管理域AMF長2字節(jié)。3)消息鑒權(quán)編碼MAC-A長8字節(jié);MAC-A用于驗證RAND、SQNHE、AMF的數(shù)據(jù)完整性,用于終端對HLR/AUC進行鑒權(quán)。HLR/AUC根據(jù)RAND、SQNHE、KI和AMF計算出AUTN中的消息鑒權(quán)編碼MAC-A。這樣,由RAND、AUTN、XRES、CK、IK等組成了鑒權(quán)五元組。
HLR/AUC可以是在接收到MSC/VLR請求鑒權(quán)元組的請求時,將產(chǎn)生的鑒權(quán)五元組和對應(yīng)的國際移動用戶識別碼IMSI發(fā)送給MSC/VLR。MSC/VLR為電路域設(shè)備,對于分組域的網(wǎng)絡(luò),對應(yīng)的設(shè)備可以為SGSN。鑒權(quán)時,網(wǎng)絡(luò)側(cè)的MSC/VLR將接收自HLR/AUC的鑒權(quán)元組中的隨機數(shù)RAND和鑒權(quán)標(biāo)記AUTN傳送給終端MS。
步驟103,終端MS接收到網(wǎng)絡(luò)側(cè)發(fā)送的相應(yīng)鑒權(quán)參數(shù)即隨機數(shù)RAND和鑒權(quán)標(biāo)記AUTN并判斷出對RAND和AUTN的一致性驗證通過后,產(chǎn)生鑒權(quán)響應(yīng)ARES。
具體地說,終端根據(jù)接收到的RAND與自身保存的鑒權(quán)密鑰KI和接收到的AUTN中的SQNHE以及AMF采用與HLR/AUC計算AUTN中MAC-A一致的算法計算出MAC-A,然后進行一致性驗證,即,比較自己計算得到的MAC-A與接收到的AUTN中的MAC-A是否一致,例如是否相同,若不一致,則向MSC/VLR返回鑒權(quán)失敗信息;若一致則根據(jù)KI和RAND產(chǎn)生鑒權(quán)響應(yīng)ARES。
步驟104,終端產(chǎn)生再同步標(biāo)記AUTS,向網(wǎng)絡(luò)發(fā)起再同步請求消息,并附上產(chǎn)生的AUTS和ARES的校驗碼,所述ARES的校驗碼可以是ARES本身,也可以是ARES的一部分,例如是ARES中的某些位,簡單地,可以是ARES的前幾位或后幾位。
所述再同步標(biāo)記AUTS包括以下內(nèi)容1)SQNMS^AK,也即用AK加密了的SQNMS,其中序列號SQNMS與匿名密鑰AK分別長6字節(jié),SQNMS指保存在終端側(cè)的SQN,以區(qū)別于保存在網(wǎng)絡(luò)側(cè)的SQNHE;當(dāng)需要對SQNMS進行加密時,終端根據(jù)RAND和KI產(chǎn)生AK,使用AK對SQNMS作異或運算,從而加密SQNMS;當(dāng)不需要對SQNMS進行加密時,AK=0;2)消息鑒權(quán)編碼MAC-S長8字節(jié);MAC-S用于驗證RAND、SQNMS的數(shù)據(jù)完整性,用于HLR/AUC對終端進行鑒權(quán),也即,用于HLR/AUC通過驗證AUTS的一致性來驗證再同步請求命令的完整性。
終端根據(jù)自己的SQNMS、KI和接收到的RAND以及AMF等計算得到MAC-S,再根據(jù)SQNMS、AK和MAC-S產(chǎn)生再同步標(biāo)記AUTS。
終端產(chǎn)生再同步標(biāo)記AUTS后,對網(wǎng)絡(luò)側(cè)MSC/VLR返回再同步請求命令或同步失敗(Synchronisation failure)消息,同時附上產(chǎn)生的AUTS和ARES的校驗碼。
步驟105,網(wǎng)絡(luò)側(cè)MSC/VLR接收到終端發(fā)送的再同步請求命令后,根據(jù)鑒權(quán)響應(yīng)的校驗碼判斷同步請求命令的合法性。如果判斷出再同步請求命令合法,則執(zhí)行步驟106,如果判斷出再同步請求命令不合法,則執(zhí)行步驟107。
具體地說,網(wǎng)絡(luò)側(cè)MSC/VLR接收到再同步請求命令時,MSC/VLR先判斷所接收到的ARES的校驗碼與保存的對應(yīng)鑒權(quán)元組中的XRES是否一致,如果不一致則認為再同步請求命令本身不合法,也即,該再同步請求命令可能是一個非法攻擊者所發(fā)送的假同步請求;如果一致,則認為再同步請求合法,也即該再同步請求命令源自一個合法終端。
所述ARES的校驗碼和相應(yīng)的XRES一致可以是ARES的校驗碼和該XRES相同,例如ARES的校驗碼是ARES本身;也可以是ARES的校驗碼和該XRES中相應(yīng)的某些位相同,例如ARES的校驗碼是ARES相應(yīng)的某些位,或簡單地是ARES的前幾位或后幾位。
步驟106,MSC/VLR和HLR/AUC按照現(xiàn)有同步處理流程處理。即MSC/VLR向HLR/AUC發(fā)送再同步請求消息,或請求新鑒權(quán)元組的請求,并附上對應(yīng)鑒權(quán)元組中的RAND和接收自終端的AUTS,HLR/AUC執(zhí)行后續(xù)的同步處理操作。
具體地說,MSC/VLR向HLR/AUC發(fā)送再同步請求,通過該請求,MSC/VLR將接收自終端的AUTS和對應(yīng)鑒權(quán)元組中的RAND一并發(fā)送給HLR/AUC;HLR/AUC判斷再同步請求消息的完整性,即,判斷接收的AUTS的完整性,也即,對AUTS進行一致性驗證,也即HLR/AUC先根據(jù)RAND、KI、SQMMS和AMF等采用與終端計算AUTS中MAC-S一致的算法計算得出一個計算結(jié)果,再將自己計算得到的計算結(jié)果與接收到的AUTS中的MAC-S比較,若一致,判斷出AUTS合法,即,通過對AUTS的完整性驗證,也即通過對同步請求消息的完整性驗證,否則,判斷出AUTS非法,即,對AUTS的完整性驗證通不過,也即對同步請求消息的完整性驗證通不過。HLR/AUC對同步請求消息的完整性驗證通不過時,向MSC/VLR返回AUTS不完整的消息或者同步請求消息被篡改。HLR/AUC通過對同步請求消息的完整性驗證時按正常同步流程處理,例如,根據(jù)SQNMS更新SQNHE,并作后續(xù)處理。這里如果SQNMS是經(jīng)過AK加密的,HLR/AUC還要根據(jù)KI和RAND計算出AK,用AK來解密出SQNMS。關(guān)于正常同步流程處理可以參照3GPP規(guī)范。
步驟107,MSC/VLR結(jié)束同步處理流程。
在步驟104中,產(chǎn)生MAC-S時,可也根據(jù)RAND、KI、SQNMS計算產(chǎn)生,即,不再根據(jù)AMF,對應(yīng)地在步驟106中,網(wǎng)絡(luò)側(cè)驗證MAC-S合法性時,也根據(jù)RAND、KI、SQNMS來驗證,而不再根據(jù)AMF來進行。
具體實施方式
中,步驟103中還可包括如果對RAND和AUTN的一致性驗證未能通過,則判斷出對網(wǎng)絡(luò)鑒權(quán)不通過,終端向網(wǎng)絡(luò)返回鑒權(quán)失敗信息。
通常情況下,在上述步驟104之前,還可以包括終端判斷AUTN中的SQNHE是否屬于可接受范圍的步驟,如果終端判斷出AUTN中的SQNHE不屬于可接受范圍時,則執(zhí)行步驟104及其以后步驟,否則,即終端判斷出AUTN中的SQNHE屬于可接受范圍時,終端判斷出對網(wǎng)絡(luò)側(cè)的鑒權(quán)通過,根據(jù)SQNHE更新SQNMS,例如將SQNMS的值設(shè)置為與SQNHE相等,然后將產(chǎn)生的鑒權(quán)響應(yīng)ARES發(fā)送給網(wǎng)絡(luò)側(cè)的MSC/VLR,MSC/VLR通過比較ARES和對應(yīng)鑒權(quán)元組中的XRES是否一致,例如是否相同來判斷對終端鑒權(quán)是否通過。詳細的信息可以參照3GPP規(guī)范。
但是,在某些情況下,在終端通過手工設(shè)置了SQNMS的值,并認為設(shè)置的SQNMS極有可能和AUTN中的SQNHE不同步時,那么,在上述步驟104之前,終端就不需要執(zhí)行所謂的判斷AUTN中的SQNHE是否屬于可接受范圍的步驟,而是直接就執(zhí)行步驟104。
上述計算CK、IK、AK、ARES、XRES、MAC-A和MAC-S值的計算可以是已知的摘要計算、加密計算或解密計算,參見《應(yīng)用密碼學(xué)》一書,也可以采用3GPP規(guī)范建議的算法,當(dāng)然,也可以是使用業(yè)界公知的一些算法來進行。
請參閱圖2,圖2所示為本發(fā)明具體實施方式
一的具體實施例。在該實施例中,終端在判斷出AUTN中的SQNHE不屬于可接受范圍時產(chǎn)生同步標(biāo)記并向網(wǎng)絡(luò)側(cè)發(fā)送同步請求。
在步驟202,鑒權(quán)時,網(wǎng)絡(luò)側(cè)通過對終端發(fā)送鑒權(quán)請求,將產(chǎn)生的對應(yīng)該終端的鑒權(quán)元組中的相應(yīng)的鑒權(quán)參數(shù)發(fā)送給終端。
具體地說,HLR/AUC根據(jù)隨機數(shù)發(fā)生器產(chǎn)生隨機數(shù)RAND,根據(jù)RAND和鑒權(quán)密鑰KI分別計算出期望響應(yīng)XRES、加密密鑰CK、完整性密鑰IK。根據(jù)隨機數(shù)RAND、序列號SQNHE、鑒權(quán)密鑰KI和AMF計算產(chǎn)生出消息鑒權(quán)編碼MAC-A,再根據(jù)MAC-A、SQNHE、匿名密鑰AK及鑒權(quán)管理域AMF產(chǎn)生AUTN。這里,當(dāng)需要對SQNHE進行加密時,HLR/AUC根據(jù)RAND和KI產(chǎn)生AK,使用AK對SQNHE作異或運算,從而加密SQNHE;當(dāng)不需要對SQNHE進行加密時,AK=0;HLR/AUC用MAC-A、SQNHE和AMF連接組合成AUTN。這樣,由RAND、AUTN、XRES、CK和IK等組成了鑒權(quán)五元組。
HLR/AUC可以是在接收到MSC/VLR請求鑒權(quán)元組的請求時,將產(chǎn)生的鑒權(quán)五元組和對應(yīng)的IMSI一起發(fā)送給MSC/VLR。鑒權(quán)時,MSC/VLR向終端發(fā)起鑒權(quán)請求,通過該鑒權(quán)請求消息將對應(yīng)鑒權(quán)五元組中相應(yīng)的鑒權(quán)參數(shù)RAND和AUTN發(fā)送給終端。
步驟203,終端接收到鑒權(quán)請求時,先對RAND和AUTN進行一致性驗證。
具體地說,終端接收到來自網(wǎng)絡(luò)側(cè)MSC/VLR發(fā)送的隨機數(shù)RAND和鑒權(quán)標(biāo)記AUTN時,根據(jù)接收到的RAND、自身保存的KI和接收到的AUTN中的SQNHE以及AMF采用與HLR/AUC計算AUTN中MAC-A一致的算法進行計算得到一個計算結(jié)果,然后終端將自己計算得到的計算結(jié)果與AUTN中的MAC-A進行比較,看二者是否一致,例如是否相同,若不一致,則認為對網(wǎng)絡(luò)的鑒權(quán)未通過,執(zhí)行步驟204;若一致,則執(zhí)行步驟205。
步驟204,終端向網(wǎng)絡(luò)返回“鑒權(quán)失敗”的信息,然后結(jié)束本次流程。實際當(dāng)中,終端將“鑒權(quán)失敗”的信息發(fā)送給MSC/VLR后,MSC/VLR還可以根據(jù)該“鑒權(quán)失敗”信息向HLR/AUC返回相應(yīng)的失敗報告。
步驟205,終端根據(jù)KI和接收到的隨機數(shù)RAND產(chǎn)生鑒權(quán)響應(yīng)ARES,并判斷AUTN中的SQNHE是否在可接受范圍內(nèi),如果是,則判斷出對網(wǎng)絡(luò)鑒權(quán)通過,并執(zhí)行步驟206,否則,判斷出同步失敗,并執(zhí)行步驟210。
具體地說,終端通過比較自己保存的SQNMS和AUTN中的SQNHE是否滿足預(yù)定的條件來判斷AUTN中的SQNHE是否可以接受,該預(yù)定條件可以是SQNHE和SQNMS的差值在一個預(yù)定范圍內(nèi),例如,是否(SQNHE-SQNMS)大于0,或者是否(SQNHE-SQNMS)大于0且小于256。如果SQNHE和SQNMS的差值在所述預(yù)定范圍內(nèi),則判斷出SQNHE是可接受的;否則判斷出SQNHE是不可接受的。
步驟206,終端向網(wǎng)絡(luò)側(cè)的MSC/VLR發(fā)送鑒權(quán)響應(yīng)ARES;然后執(zhí)行步驟207。
步驟207,網(wǎng)絡(luò)側(cè)MSC/VLR接收到終端的鑒權(quán)響應(yīng)ARES后判斷接收自終端的ARES是否與保存的對應(yīng)鑒權(quán)元組中的期望響應(yīng)XRES一致,例如是否相同,如果一致,則執(zhí)行步驟208;否則,執(zhí)行步驟209。
步驟208,網(wǎng)絡(luò)側(cè)MSC/VLR判斷出對終端鑒權(quán)通過,結(jié)束本次流程。在結(jié)束本次流程,還可以向終端返回鑒權(quán)成功信息。
步驟209,判斷出對終端鑒權(quán)失敗,結(jié)束本次流程。在結(jié)束本次流程,還可以向終端返回鑒權(quán)失敗信息。
步驟210,終端根據(jù)SQNMS產(chǎn)生再同步標(biāo)記AUTS,對網(wǎng)絡(luò)發(fā)起再同步請求命令,并附上AUTS和ARES的校驗碼。本實施例中,ARES的校驗碼為ARES的后半部分。
具體地說,終端根據(jù)自己的KI、SQNMS和接收到的RAND以及AMF等計算得到MAC-S,再根據(jù)SQNMS、AK和MAC-S產(chǎn)生再同步標(biāo)記AUTS,然后對網(wǎng)絡(luò)側(cè)發(fā)起再同步請求命令,并附上該AUTS和在步驟205產(chǎn)生的ARES。也即,向MSC/VLR發(fā)送同步失敗消息,該同步失敗消息中包含了AUTS和ARES。然后執(zhí)行步驟211。
步驟211,網(wǎng)絡(luò)側(cè)MSC/VLR接收到再同步請求命令時,判斷接收到的ARES校驗碼是否與保存的對應(yīng)鑒權(quán)元組中的XRES一致,也即ARES的校驗碼與所述XRES的后半部分是否相同。如果不相同,也即不一致,則執(zhí)行步驟212;如果一致則執(zhí)行步驟213。
步驟212,網(wǎng)絡(luò)側(cè)的MSC/VLR判斷出同步請求命令非法,即再同步請求本身不合法,即該再同步請求可能來自非法攻擊者,然后,結(jié)束本次流程。
步驟213,網(wǎng)絡(luò)側(cè)MSC/VLR向HLR/AUC發(fā)送請求新鑒權(quán)元組的請求,或者發(fā)送同步請求,請求中附上對應(yīng)鑒權(quán)元組中的RAND和接收自終端的AUTS。
步驟214,HLR/AUC通過驗證AUTS的合法性來驗證再同步請求命令的完整性,如果合法,則執(zhí)行步驟215;否則,執(zhí)行步驟216;具體地說,網(wǎng)絡(luò)側(cè)的HLR/AUC根據(jù)接收自MSC/VLR的RAND、保存的KI、接收到的AUTS中的SQNMS和AMF等采用與終端計算AUTS中的MAC-S一致的算法計算得到一個計算結(jié)果,然后通過比較自己計算得到的計算結(jié)果與接收到的AUTS中的MAC-S是否一致,例如是否相同,來判斷AUTS合法性,若所述計算結(jié)果與AUTS中的MAC-S值比較一致,則認為AUTS合法,否則認為AUTS不合法性。
步驟215,網(wǎng)絡(luò)側(cè)的HLR/AUC根據(jù)SQNMS更新SQNHE,并重新產(chǎn)生鑒權(quán)元組,將新產(chǎn)生的鑒權(quán)元組發(fā)送給MSC/VLR,然后,結(jié)束本次流程。
步驟216,網(wǎng)絡(luò)側(cè)的HLR/AUC認為再同步標(biāo)記AUTS信息被篡改,AUTS中的SQNMS不再可信,向MSC/VLR發(fā)送再同步請求命令不合法信息,然后,結(jié)束本次流程。
顯然,在步驟210中,終端對網(wǎng)絡(luò)發(fā)起再同步請求命令,附上的信息可以是AUTS和ARES。相應(yīng)地,在步驟211中,網(wǎng)絡(luò)側(cè)MSC/VLR接收到再同步請求命令時,判斷接收到的ARES的校驗碼是否與保存的對應(yīng)鑒權(quán)元組中的XRES一致,是指判斷接收到的所述ARES與保存的對應(yīng)鑒權(quán)元組中的XRES是否相等。
上述MSC/VLR為電路域設(shè)備,對于分組域的網(wǎng)絡(luò),對應(yīng)的MSC/VLR設(shè)備為SGSN,因此本發(fā)明可以等同應(yīng)用于分組域。
上述各個具體實施方式
或?qū)嵤├?,終端對于AUTN一致性驗證,對于SQNHE是否屬于可接受范圍的判斷,HLR/AUC對于AUTS合法性的驗證,以及HLR/AUC產(chǎn)生鑒權(quán)元組時,對于SQNHE的更新;產(chǎn)生鑒權(quán)元組的算法,以及產(chǎn)生AUTS的算法,等等,可以參見3GPP相關(guān)協(xié)議,由于是公知技術(shù),這里不再贅述。
下面對本發(fā)明的具體實施方式
二進行介紹,通過具體實施方式
二對本發(fā)明在三個通信模塊間的實施及應(yīng)用予以說明,所述模塊包括第一模塊、第二模塊和第三模塊,第二模塊與第三模塊在物理上可合并也可分立。在第一模塊中保存第一鑒權(quán)密鑰AK1和第一同步密鑰SK1,在第二模塊對應(yīng)地保存第二鑒權(quán)密鑰AK2和第二同步密鑰SK2;在第一模塊中保存第一序列號SQN1,在第二模塊中保存第二序列號SQN2。
請參閱圖3,圖3為本發(fā)明具體實施方式
二的流程圖。
步驟300,第二模塊將產(chǎn)生的鑒權(quán)參數(shù)發(fā)送給第三模塊。
實際當(dāng)中,第二模塊產(chǎn)生鑒權(quán)參數(shù)信息時,首先產(chǎn)生一個隨機數(shù)RAND,比如,第二模塊設(shè)置一個隨機數(shù)發(fā)生器,通過隨機數(shù)發(fā)生器產(chǎn)生該隨機數(shù)RAND,然后根據(jù)RAND、SQN2和AK2進行計算,得到消息鑒權(quán)編碼MAC-A,并根據(jù)RAND和AK2產(chǎn)生期望響應(yīng)XRES;所述第二模塊將鑒權(quán)參數(shù)XRES、RAND、SQN2和MAC-A發(fā)給第三模塊。
步驟301,第三模塊將鑒權(quán)參數(shù)中相應(yīng)的鑒權(quán)參數(shù)信息發(fā)送給第一模塊。
實際當(dāng)中所述第三模塊將鑒權(quán)參數(shù)中的RAND,SQN2和MAC-A等鑒權(quán)參數(shù)信息發(fā)給第一模塊;步驟302,第一模塊判斷出對MAC-A的一致性驗證通過時,根據(jù)AK1和隨機數(shù)RAND產(chǎn)生鑒權(quán)響應(yīng)ARES。
具體地說,第一模塊對接收自第三模塊的鑒權(quán)參數(shù)信息進行一致性驗證,也即,對MAC-A進行一致性驗證,這里是根據(jù)AK1和接收自第三模塊的RAND以及SQN2,按照和第二模塊計算MAC-A一致的方法進行計算,得到一個計算結(jié)果,并比較自己計算得到的結(jié)果和接收自第三模塊的MAC-A是否一致,如果不一致,則對MAC-A的一致性驗證不通過,判斷出對第三模塊鑒權(quán)不通過;如果一致,則對MAC-A的一致性驗證通過。第一模塊在判斷出對MAC-A的一致性驗證通過時,根據(jù)第一鑒權(quán)密鑰AK1和接受到的隨機數(shù)RAND產(chǎn)生鑒權(quán)響應(yīng)ARES。
步驟303,第一模塊產(chǎn)生同步鑒權(quán)編碼MAC-S,對第三模塊發(fā)送同步請求消息,并附上SQN1和MAC-S以及ARES的校驗碼,所述ARES的校驗碼可以是ARES本身,也可以是ARES的一部分,例如是ARES中的某些位,簡單地,可以是ARES的前幾位或后幾位。
具體的說,第一模塊根據(jù)RAND、SQN1和SK1進行計算得到一個同步鑒權(quán)編碼MAC-S,向第三模塊發(fā)送同步請求消息,消息中包括SQN1和MAC-S以及ARES的校驗碼。
步驟304,第三模塊驗證第一模塊的同步請求消息的合法性,如果判斷出該同步請求消息不合法,則執(zhí)行步驟305;否則,執(zhí)行步驟306。
具體地說第三模塊驗證ARES的校驗碼與接收自第二模塊的鑒權(quán)元組中的期望響應(yīng)XRES是否一致,例如是否相同,如果不一致,則認為再同步請求消息非法;如果一致,則認為同步請求消息合法。
所述ARES的校驗碼和相應(yīng)的XRES一致可以是ARES的校驗碼和XRES相同,例如ARES的校驗碼是ARES本身;也可以是ARES的校驗碼和XRES中相應(yīng)的某些位相同,例如ARES的校驗碼是ARES中相應(yīng)的某些位,或簡單地是ARES的前幾位或后幾位。
步驟305,第三模塊認為同步處理請求源自一個非法模塊,結(jié)束同步處理流程。
步驟306,第三模塊認為同步處理請求源自一個合法模塊,第三模塊向第二模塊發(fā)送同步請求消息,并附上接收自第二模塊的鑒權(quán)參數(shù)中的RAND以及接收自第一模塊的SQN1和MAC-S,第二模塊執(zhí)行后續(xù)的同步處理流程。
具體地說,第二模塊接收到第三模塊發(fā)送的同步請求消息后,對該同步請求消息進行完整性驗證,也即驗證同步鑒權(quán)編碼MAC-S的一致性,如果對MAC-S的一致性驗證通過,則根據(jù)SQN1更新SQN2;如果對MAC-S一致性驗證通不過,則認為同步請求消息被篡改,SQN1不再可信,然后結(jié)束處理流程。
第二模塊對MAC-S進行一致性驗證是根據(jù)自己保存的SK2、第三模塊發(fā)送的RAND和SQN1,按照和第一模塊計算MAC-S一致的方法進行計算,得到一個計算結(jié)果,并比較自己計算得到的計算結(jié)果和第三模塊發(fā)送的的MAC-S是否一致,例如是否相同,如果一致,則判斷出MAC-S合法,即,通過對MAC-S的一致性驗證;如果不一致,則判斷出MAC-S非法,對MAC-S的一致性驗證通不過。
這里,第二模塊驗證MAC-S一致性時,需要用到的RAND是由第三模塊回送得到,實際當(dāng)中,第二模塊也可以事先在將鑒權(quán)參數(shù)發(fā)送給第三模塊時保存了對應(yīng)的RAND,此時,在步驟306中第三模塊向第二模塊發(fā)送的同步請求消息中不需要附上所述RAND。
通常情況下,在上述步驟303之前,還可以包括第一模塊根據(jù)自己保存的SQN1驗證SQN2是否可以接受的步驟,如果第一模塊判斷出SQN2不屬于可接受范圍時,則執(zhí)行步驟303及其以后步驟,否則,即第一模塊判斷出SQN2屬于可接受范圍時,第一模塊判斷出對第三模塊的鑒權(quán)通過,第一模塊根據(jù)SQN2更新SQN1,例如,將SQN1設(shè)置為與SQN2相等;然后將產(chǎn)生的鑒權(quán)響應(yīng)ARES發(fā)送給第三模塊,第三模塊通過比較ARES和接收自第二模塊的鑒權(quán)參數(shù)中的XRES是否一致,例如是否相同來判斷對第一模塊鑒權(quán)是否通過。
但是,在某些情況下,在第一模塊通過手工設(shè)置了SQN1的值,并認為設(shè)置的SQN1極有可能和SQN2不同步時,那么,在上述步驟303之前,第一模塊就不需要執(zhí)行所謂的判斷SQN2是否可以接受的步驟,而是直接就執(zhí)行步驟303。
SQN1的初始值為可以為0或一個隨機數(shù),相應(yīng)的SQN2初始值是大于SQN1的任意數(shù)。
上述計算ARES、XRES、MAC-A和MAC-S值的計算可以是已知的摘要計算、加密計算或解密計算,參見《應(yīng)用密碼學(xué)》一書,也可以是使用業(yè)界公知的一些算法來進行。
下面對本發(fā)明具體實施方式
二的具體實施例予以說明。在該實施例中,第一模塊在判斷出SQN2不屬于可接受范圍時產(chǎn)生同步鑒權(quán)編碼并向第三模塊發(fā)送同步請求消息。
請參閱圖4,圖4為本發(fā)明具體實施方式
二的實施例流程圖。
在步驟400,第二模塊將產(chǎn)生的鑒權(quán)參數(shù)發(fā)送給第三模塊。
實際當(dāng)中,第二模塊產(chǎn)生鑒權(quán)參數(shù)信息時,首先產(chǎn)生一個隨機數(shù)RAND,比如,第二模塊設(shè)置一個隨機數(shù)發(fā)生器,通過隨機數(shù)發(fā)生器產(chǎn)生該隨機數(shù)RAND,然后根據(jù)RAND、SQN2和AK2進行計算,得到消息鑒權(quán)編碼MAC-A,并根據(jù)RAND和AK2產(chǎn)生期望響應(yīng)XRES;所述第二模塊將鑒權(quán)參數(shù)XRES、RAND、SQN2和MAC-A發(fā)給第三模塊。
在步驟401,第三模塊將鑒權(quán)參數(shù)中相應(yīng)的鑒權(quán)參數(shù)信息發(fā)送給第一模塊。實際當(dāng)中所述第三模塊將鑒權(quán)參數(shù)中的RAND,SQN2和MAC-A等鑒權(quán)參數(shù)信息發(fā)給第一模塊;在步驟402,第一模塊對接收自第三模塊的消息進行一致性驗證,如果一致性驗證通不過,則執(zhí)行步驟403;如果一致性驗證通過,則執(zhí)行步驟404。
第一模塊根據(jù)AK1和接收自第三模塊的RAND以及SQN2,按照和第二模塊計算MAC-A一致的方法進行計算,得到一個計算結(jié)果,并比較自己計算得到的結(jié)果和接收的MAC-A是否一致,例如是否相同,如果一致,則所述一致性驗證通過,否則,所述一致性驗證通不過。
在步驟403,判斷出對第三模塊鑒權(quán)未通過,返回鑒權(quán)失敗信息。
在步驟404,第一模塊根據(jù)AK1和RAND產(chǎn)生鑒權(quán)響應(yīng)ARES,并根據(jù)自己保存的SQN1驗證SQN2是否可以接受,如果可以接受,則執(zhí)行步驟405;如果判斷出SQN2不可以接受,則執(zhí)行步驟409。
第一模塊根據(jù)自己保存的SQN1驗證SQN2是否可以接受,可以是判斷SQN1和SQN2的差值是否在一定的范圍內(nèi),例如,是否(SQN1-SQN2)大于0,或者是否(SQN1-SQN2)大于0且小于256,等等。如果差值在所述范圍內(nèi),則判斷出SQN2可以接受,否則,判斷SQN2不可以接受。
步驟405,第一模塊判斷出對第三模塊鑒權(quán)通過,并根據(jù)SQN2更新SQN1,并返回所述鑒權(quán)響應(yīng)ARES;然后執(zhí)行步驟406;所述根據(jù)SQN2更新SQN1,可以是將SQN1的值設(shè)置為等于SQN2。
步驟406,第三模塊判斷鑒權(quán)響應(yīng)ARES是否與接收自第二模塊的鑒權(quán)參數(shù)中的期望響應(yīng)XRES一致,如果一致,則執(zhí)行步驟407,否則執(zhí)行步驟408。
步驟407,第三模塊對第一模塊鑒權(quán)通過,結(jié)束本次流程。在接收本次流程之前,第三模塊還可以對第一模塊返回鑒權(quán)成功信息。
步驟408,第三模塊對第一模塊鑒權(quán)不通過,結(jié)束本次流程。在接收本次流程之前,第三模塊還可以對第一模塊返回鑒權(quán)失敗信息。
步驟409,第一模塊根據(jù)SQN1并根據(jù)SK1和接收到的RAND等進行計算得到一個同步鑒權(quán)編碼MAC-S,向第三模塊發(fā)送同步請求消息,消息中包括SQN1和MAC-S,以及ARES的校驗碼,然后執(zhí)行步驟410。所述ARES的校驗碼可以是ARES本身,也可以是ARES的一部分,例如是ARES中的某些位,簡單地,可以是ARES的前幾位或后幾位。
步驟410,第三模塊判斷ARES的校驗碼與接收自第二模塊的鑒權(quán)參數(shù)中XRES是否一致,如果不一致則執(zhí)行步驟411,如果一致則執(zhí)行步驟412。
所述ARES的校驗碼和相應(yīng)的所述XRES一致可以是ARES的校驗碼和XRES相同,例如ARES的校驗碼是ARES本身;也可以是ARES的校驗碼和XRES中相應(yīng)的某些位相同,例如ARES的校驗碼是ARES相應(yīng)的某些位,或簡單地是ARES的前幾位或后幾位。
步驟411,第三模塊判斷出同步請求消息非法,即該同步請求消息可能來自于非法模塊,然后,結(jié)束本次流程。
步驟412,第三模塊向第二模塊發(fā)送同步請求消息,并附上接收自第一模塊的SQN1和MAC-S以及接收自第二模塊的RAND,然后執(zhí)行步驟413。
步驟413,第二模塊對同步請求消息進行完整性驗證,也即對MAC-S進行一致性驗證,如果一致性驗證通過,則執(zhí)行步驟414,否則,執(zhí)行步驟415。
第二模塊根據(jù)自己保存的SK2、接收自第三模塊的RAND和SQN1,按照和第一模塊計算MAC-S一致的方法進行計算,得到一個計算結(jié)果,并比較自己計算得到的結(jié)果和接收自第三模塊的MAC-S是否一致,例如是否相同,如果一致,則通過對MAC-S的一致性驗證,否則,對MAC-S的一致性驗證不通過。
步驟414,第二模塊根據(jù)SQN1更新SQN2,結(jié)束本次流程。在結(jié)束本次流程之前,第二模塊還可以向第三模塊返回“同步請求消息合法”信息。可以理解,實際當(dāng)中,還可以通過該消息攜帶其它信息。
所述根據(jù)SQN1更新SQN2,可以是將SQN2的值設(shè)置為等于SQN1,或者根據(jù)SQN1產(chǎn)生一個新值來代替SQN2本身的值;或在將SQN2的值設(shè)置為等于SQN1之后,重新根據(jù)SQN2產(chǎn)生一個新值來代替SQN2本身的值。根據(jù)SQN1或SQN2產(chǎn)生一個新值可以是對SQN1或SQN2增加一個隨機增量,比如增加一個1到256之間的隨機數(shù)來得到所述新值。實際當(dāng)中,可以通過隨機數(shù)發(fā)生器來產(chǎn)生1到256之間的隨機數(shù)。
步驟415,第二模塊判斷出同步請求消息非法,也即MAC-S與SQN1不一致,意味著SQN1不可信,SQN1信息可能被篡改,然后結(jié)束本次流程。在結(jié)束本次流程之前,第二模塊還可以向第三模塊返回“同步請求消息非法”信息。
在上述步驟413中,第二模塊對MAC-S進行一致性驗證時用到的RAND是由第三模塊回送得到,實際當(dāng)中,第二模塊也可以事先在將鑒權(quán)參數(shù)發(fā)送給第三模塊時保存了對應(yīng)的RAND,此時,在步驟412中第三模塊發(fā)送給第二模塊的同步請求消息中不需要附上所述RAND。
SQN1的初始值為可以為0或一個隨機數(shù),相應(yīng)的SQN2初始值是大于SQN1的任意數(shù)。
在上述具體實施方式
或?qū)嵤├校谝荒K再計算同步鑒權(quán)編碼MAC-S時,可以不使用隨機數(shù)參與運算,相應(yīng)的,第二模塊驗證該MAC-S的一致性時,也不使用隨機數(shù)參與運算。不過,這樣會降低第一同步密鑰SK1的安全性,是針對本發(fā)明的一種改劣實現(xiàn),因此,這里不再詳細羅列這種改劣實現(xiàn)方法的具體實施步驟。
上述第二模塊和第三模塊可以合并為一個模塊來實現(xiàn),這種情況下,上述實施方式或?qū)嵤├?,第二模塊和第三模塊之間的消息傳送操作將不再需要,或者將變?yōu)槟K內(nèi)部的消息傳送。如下將通過第三實施方式和對應(yīng)的實施例來進行說明下面對本發(fā)明的具體實施方式
三進行介紹,通過具體實施方式
三對本發(fā)明在二個通信模塊間的實施及應(yīng)用予以說明,所述模塊包括第一模塊、第二模塊。在第一模塊中保存第一鑒權(quán)密鑰AK1和第一同步密鑰SK1,在第二模塊對應(yīng)地保存第二鑒權(quán)密鑰AK2和第二同步密鑰SK2;在第一模塊中保存第一序列號SQN1,在第二模塊中保存第二序列號SQN2。
請參閱圖5,圖5為本發(fā)明具體實施方式
三的流程圖。
步驟501,第二模塊產(chǎn)生鑒權(quán)參數(shù),將鑒權(quán)參數(shù)中相應(yīng)的鑒權(quán)參數(shù)信息發(fā)送給第一模塊。
所述鑒權(quán)參數(shù)包括XRES、RAND、SQN2和MAC-A。第二模塊產(chǎn)生鑒權(quán)參數(shù)信息時,首先產(chǎn)生一個隨機數(shù)RAND,比如,第二模塊設(shè)置一個隨機數(shù)發(fā)生器,通過隨機數(shù)發(fā)生器產(chǎn)生該隨機數(shù)RAND,然后根據(jù)RAND、SQN2和AK2進行計算,得到消息鑒權(quán)編碼MAC-A,并根據(jù)RAND和AK2產(chǎn)生期望響應(yīng)XRES。第二模塊將鑒權(quán)參數(shù)中相應(yīng)的鑒權(quán)參數(shù)信息發(fā)送給第一模塊是指第二模塊將鑒權(quán)參數(shù)中的RAND,SQN2和MAC-A等鑒權(quán)參數(shù)信息發(fā)給第一模塊。
步驟502,第一模塊判斷出對MAC-A的一致性驗證通過時,根據(jù)AK1和隨機數(shù)RAND產(chǎn)生鑒權(quán)響應(yīng)ARES。
具體地說,第一模塊對接收自第二模塊的鑒權(quán)參數(shù)信息進行一致性驗證,也即,對MAC-A進行一致性驗證,這里是根據(jù)AK1和接收自第二模塊的RAND以及SQN2,按照和第二模塊計算MAC-A一致的方法進行計算,得到一個計算結(jié)果,并比較自己計算得到的結(jié)果和接收自第二模塊的MAC-A是否一致,如果不一致,則對MAC-A的一致性驗證不通過,判斷出對第二模塊鑒權(quán)不通過;如果一致,則對MAC-A的一致性驗證通過。第一模塊在判斷出對MAC-A的一致性驗證通過時,根據(jù)第一鑒權(quán)密鑰AK1和接受到的隨機數(shù)RAND產(chǎn)生鑒權(quán)響應(yīng)ARES。
步驟503,第一模塊產(chǎn)生同步鑒權(quán)編碼MAC-S,對第二模塊發(fā)送同步請求消息,并附上SQN1和MAC-S以及ARES的校驗碼,所述ARES的校驗碼可以是ARES本身,也可以是ARES的一部分,例如是ARES中的某些位,簡單地,可以是ARES的前幾位或后幾位。
具體的說,第一模塊根據(jù)RAND、SQN1和SK1進行計算得到一個同步鑒權(quán)編碼MAC-S,向第二模塊發(fā)送同步請求消息,消息中包括SQN1和MAC-S以及ARES的校驗碼。
步驟504,第二模塊驗證第一模塊的同步請求消息的合法性,如果判斷出該同步請求消息不合法,則執(zhí)行步驟505;否則,執(zhí)行步驟506。
具體地說第二模塊驗證ARES的校驗碼與接收自第二模塊的鑒權(quán)元組中的期望響應(yīng)XRES是否一致,例如是否相同,如果不一致,則認為再同步請求消息非法;如果一致,則認為同步請求消息合法。
所述ARES的校驗碼和相應(yīng)的XRES一致可以是ARES的校驗碼和XRES相同,例如ARES的校驗碼是ARES本身;也可以是ARES的校驗碼和XRES中相應(yīng)的某些位相同,例如ARES的校驗碼是ARES中相應(yīng)的某些位,或簡單地是ARES的前幾位或后幾位。
步驟505,第二模塊認為同步處理請求源自一個非法模塊,結(jié)束同步處理流程。
步驟506,第二模塊認為同步處理請求源自一個合法模塊,并作后續(xù)處理。
具體地說,第二模塊認為同步處理請求源自一個合法模塊時,驗證所述同步請求消息的完整性,也即驗證同步鑒權(quán)編碼MAC-S的一致性,并根據(jù)驗證結(jié)果作相應(yīng)的處理。如果第二模塊對同步鑒權(quán)編碼MAC-S一致性驗證通過,則根據(jù)SQN1更新SQN2;如果對同步鑒權(quán)編碼MAC-S一致性驗證通不過,則認為同步請求消息被篡改,SQN1不再可信,也即,攻擊者保留了第一模塊傳送的ARES的校驗碼不變,而至少更改了MACS和SQN1中的某一個的值,這種情況下,第二模塊結(jié)束處理流程。
第二模塊對MAC-S進行一致性驗證是根據(jù)自己保存的SK2、RAND和第一模塊發(fā)送的SQN1,按照和第一模塊計算MAC-S一致的方法進行計算,得到一個計算結(jié)果,并比較自己計算得到的計算結(jié)果和第一模塊發(fā)送的MAC-S是否一致,例如是否相同,如果一致,則判斷出MAC-S合法,即,通過對MAC-S的一致性驗證;如果不一致,則判斷出MAC-S非法,即對MAC-S的一致性驗證通不過。
通常情況下,在上述步驟503之前,還可以包括第一模塊根據(jù)自己保存的SQN1驗證SQN2是否可以接受的步驟,如果第一模塊判斷出SQN2不屬于可接受范圍時,則執(zhí)行步驟503及其以后步驟,否則,即第一模塊判斷出SQN2屬于可接受范圍時,第一模塊判斷出對第二模塊的鑒權(quán)通過,第一模塊根據(jù)SQN2更新SQN1,例如,將SQN1設(shè)置為與SQN2相等;然后將產(chǎn)生的鑒權(quán)響應(yīng)ARES發(fā)送給第二模塊,第二模塊通過比較ARES和鑒權(quán)參數(shù)中的XRES是否一致,例如是否相同來判斷對第一模塊鑒權(quán)是否通過。
但是,在某些情況下,在第一模塊通過手工設(shè)置了SQN1的值,并認為設(shè)置的SQN1極有可能和SQN2不同步時,那么,在上述步驟503之前,第一模塊就不需要執(zhí)行所謂的判斷SQN2是否可以接受的步驟,而是直接就執(zhí)行步驟503。
SQN1的初始值為可以為0或一個隨機數(shù),相應(yīng)的SQN2初始值是大于SQN1的任意數(shù)。
上述計算ARES、XRES、MAC-A和MAC-S值的計算可以是已知的摘要計算、加密計算或解密計算,參見《應(yīng)用密碼學(xué)》一書,也可以是使用業(yè)界公知的一些算法來進行。
下面對本發(fā)明具體實施方式
三的具體實施例予以說明。在該實施例中,第一模塊在判斷出SQN2不屬于可接受范圍時產(chǎn)生同步鑒權(quán)編碼并向第二模塊發(fā)送同步請求消息。
請參閱圖6,圖6為本發(fā)明具體實施方式
三的實施例流程圖。
在步驟601,第二模塊將產(chǎn)生的鑒權(quán)參數(shù),將鑒權(quán)參數(shù)中相應(yīng)的鑒權(quán)參數(shù)信息發(fā)送給第一模塊。
所述鑒權(quán)參數(shù)包括XRES、RAND、SQN2和MAC-A。實際當(dāng)中,第二模塊產(chǎn)生鑒權(quán)參數(shù)信息時,首先產(chǎn)生一個隨機數(shù)RAND,比如,第二模塊設(shè)置一個隨機數(shù)發(fā)生器,通過隨機數(shù)發(fā)生器產(chǎn)生該隨機數(shù)RAND,然后根據(jù)RAND、SQN2和AK2進行計算,得到消息鑒權(quán)編碼MAC-A,并根據(jù)RAND和AK2產(chǎn)生期望響應(yīng)XRES。
所述將鑒權(quán)參數(shù)中相應(yīng)的鑒權(quán)參數(shù)信息發(fā)送給第一模塊是指第二模塊將鑒權(quán)參數(shù)中的RAND,SQN2和MAC-A等鑒權(quán)參數(shù)信息發(fā)給第一模塊;在步驟602,第一模塊對接收自第二模塊的消息進行一致性驗證,如果一致性驗證通不過,則執(zhí)行步驟603;如果一致性驗證通過,則執(zhí)行步驟604。
第一模塊根據(jù)AK1和接收自第二模塊的RAND以及SQN2,按照和第二模塊計算MAC-A一致的方法進行計算,得到一個計算結(jié)果,并比較自己計算得到的結(jié)果和接收的MAC-A是否一致,例如是否相同,如果一致,則所述一致性驗證通過,否則,所述一致性驗證通不過。
在步驟603,判斷出對第二模塊鑒權(quán)未通過,返回鑒權(quán)失敗信息。
在步驟604,第一模塊根據(jù)AK1和RAND產(chǎn)生鑒權(quán)響應(yīng)ARES,并根據(jù)自己保存的SQN1驗證SQN2是否可以接受,如果可以接受,則執(zhí)行步驟605;如果判斷出SQN2不可以接受,則執(zhí)行步驟609。
第一模塊根據(jù)自己保存的SQN1驗證SQN2是否可以接受,可以是判斷SQN1和SQN2的差值是否在一定的范圍內(nèi),例如,是否(SQN1-SQN2)大于0,或者是否(SQN1-SQN2)大于0且小于256,等等。如果差值在所述范圍內(nèi),則判斷出SQN2可以接受,否則,判斷SQN2不可以接受。
步驟605,第一模塊判斷出對第二模塊鑒權(quán)通過,并根據(jù)SQN2更新SQN1,并返回所述鑒權(quán)響應(yīng)ARES;然后執(zhí)行步驟406;所述根據(jù)SQN2更新SQN1,可以是將SQN1的值設(shè)置為等于SQN2。
步驟606,第二模塊判斷鑒權(quán)響應(yīng)ARES是否與鑒權(quán)參數(shù)中的XRES一致,如果一致,則執(zhí)行步驟607,否則執(zhí)行步驟608。
步驟607,第二模塊對第一模塊鑒權(quán)通過,結(jié)束本次流程。在接收本次流程之前,第二模塊還可以對第一模塊返回鑒權(quán)成功信息。
步驟408,第二模塊對第一模塊鑒權(quán)不通過,結(jié)束本次流程。在接收本次流程之前,第二模塊還可以對第一模塊返回鑒權(quán)失敗信息。
步驟609,第一模塊根據(jù)SQN1并根據(jù)SK1和接收到的RAND等進行計算得到一個同步鑒權(quán)編碼MAC-S,向第二模塊發(fā)送同步請求消息,消息中包括SQN1和MAC-S,以及ARES的校驗碼,然后執(zhí)行步驟610。所述ARES的校驗碼可以是ARES本身,也可以是ARES的一部分,例如是ARES中的某些位,簡單地,可以是ARES的前幾位或后幾位。
步驟610,第二模塊判斷ARES的校驗碼與鑒權(quán)參數(shù)中XRES是否一致,如果不一致則執(zhí)行步驟611,如果一致則執(zhí)行步驟612。
所述ARES的校驗碼和相應(yīng)的所述XRES一致可以是ARES的校驗碼和XRES相同,例如ARES的校驗碼是ARES本身;也可以是ARES的校驗碼和XRES中相應(yīng)的某些位相同,例如ARES的校驗碼是ARES相應(yīng)的某些位,或簡單地是ARES的前幾位或后幾位。
步驟611,第二模塊判斷出同步請求消息非法,即該同步請求消息可能來自于非法模塊,然后,結(jié)束本次流程。
步驟613,第二模塊判斷出同步請求消息合法,并對同步請求消息進行完整性驗證,也即對MAC-S進行一致性驗證,如果一致性驗證通過,則執(zhí)行步驟614,否則,執(zhí)行步驟615。
第二模塊根據(jù)自己保存的SK2、RAND和接收的SQN1,按照和第一模塊計算MAC-S一致的方法進行計算,得到一個計算結(jié)果,并比較自己計算得到的結(jié)果和接收自第一模塊的MAC-S是否一致,例如是否相同,如果一致,則通過對MAC-S的一致性驗證,否則,對MAC-S的一致性驗證不通過。
步驟614,第二模塊根據(jù)SQN1更新SQN2,結(jié)束本次流程。在結(jié)束本次流程之前,第二模塊還可以向第一模塊返回“同步請求消息合法”信息??梢岳斫?,實際當(dāng)中,還可以通過該消息攜帶其它信息。
所述根據(jù)SQN1更新SQN2,可以是將SQN2的值設(shè)置為等于SQN1,或者根據(jù)SQN1產(chǎn)生一個新值來代替SQN2本身的值;或在將SQN2的值設(shè)置為等于SQN1之后,重新根據(jù)SQN2產(chǎn)生一個新值來代替SQN2本身的值。根據(jù)SQN1或SQN2產(chǎn)生一個新值可以是對SQN1或SQN2增加一個隨機增量,比如增加一個1到256之間的隨機數(shù)來得到所述新值。實際當(dāng)中,可以通過隨機數(shù)發(fā)生器來產(chǎn)生1到256之間的隨機數(shù)。
步驟615,第二模塊判斷出MAC-S與SQN1不一致,意味著SQN1不可信,SQN1和MAC-S中有一個被篡改,然后結(jié)束本次流程。在結(jié)束本次流程之前,第二模塊還可以向第一模塊返回“同步請求消息非法”信息。
SQN1的初始值為可以為0或一個隨機數(shù),相應(yīng)的SQN2初始值是大于SQN1的任意數(shù)。
在上述具體實施方式
或?qū)嵤├?,第一模塊再計算同步鑒權(quán)編碼MAC-S時,可以不使用隨機數(shù)參與運算,相應(yīng)的,第二模塊驗證該MAC-S的一致性時,也不使用隨機數(shù)參與運算。不過,這樣會降低第一同步密鑰SK1的安全性,是針對本發(fā)明的一種改劣實現(xiàn),因此,這里不再詳細羅列這種改劣實現(xiàn)方法的具體實施步驟。
上述具體實施方式
或?qū)嵤├?,在第一模塊中,第一鑒權(quán)密鑰AK1和第一同步密鑰SK1可以相同,也即,第一鑒權(quán)密鑰AK1和第一同步密鑰SK1可以是同一個密鑰;相應(yīng)地,在第二模塊中,第二鑒權(quán)密鑰AK2和第二同步密鑰SK2也可以相同,也即,第二鑒權(quán)密鑰AK2和第二同步密鑰SK2也可以是同一個密鑰。
文中所有根據(jù)幾個值產(chǎn)生或計算出某一個值的計算都可以是摘要計算或加密計算或解密計算。參見《應(yīng)用密碼學(xué)》一書,也可以是使用業(yè)界公知的一些算法來進行。至于采用何種算法,根據(jù)具體應(yīng)用而定。
可以理解,以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種同步攻擊防護方法,應(yīng)用于3G網(wǎng)絡(luò)中終端與網(wǎng)絡(luò)間的鑒權(quán),其特征在于,所述方法至少包括以下步驟a.HLR/AUC產(chǎn)生隨機數(shù)RAND,根據(jù)隨機數(shù)、第二鑒權(quán)密鑰產(chǎn)生期望響應(yīng)XRES,加密密鑰CK、完整性密鑰IK,并根據(jù)隨機數(shù)、鑒權(quán)密鑰、鑒權(quán)管理域AMF和第二序列號SQNHE生成消息鑒權(quán)編碼MAC-A,根據(jù)第二序列號、鑒權(quán)管理域和消息鑒權(quán)編碼產(chǎn)生鑒權(quán)標(biāo)記AUTN,將所述隨機數(shù)、期望響應(yīng),加密密鑰、完整性密鑰和鑒權(quán)標(biāo)記作為鑒權(quán)五元組發(fā)送給MSC/VLR;b.MSC/VLR將所述隨機數(shù)、鑒權(quán)標(biāo)記發(fā)送給終端;c.終端根據(jù)第一鑒權(quán)密鑰和接收到的隨機數(shù)、接收到的AUTN中的第二序列號以及鑒權(quán)管理域?qū)邮盏降腁UTN中的消息鑒權(quán)編碼進行一致性驗證,并在驗證通過后,根據(jù)第一鑒權(quán)密鑰和所述隨機數(shù)生成鑒權(quán)響應(yīng)ARES;d.終端根據(jù)第一序列號SQNMS判斷第二序列號是否可以接受,并在第二序列號不可接收時,根據(jù)第一鑒權(quán)密鑰、第一序列號,接收的AUTN中的AMF和所述隨機數(shù)生成同步鑒權(quán)編碼MAC-S,根據(jù)MAC-S和SQNMS產(chǎn)生同步標(biāo)記AUTS,對MSC/VLR發(fā)送同步請求消息且附上所述同步標(biāo)記以及所述鑒權(quán)響應(yīng)的校驗碼;e.MSC/VLR在接收到所述同步請求消息時,根據(jù)期望響應(yīng)判斷所述鑒權(quán)響應(yīng)的校驗碼的合法性,如果不合法則判斷出所述再同請求消息非法并結(jié)束相關(guān)處理;否則,MSC/VLR向HLR/AUC發(fā)送同步請求消息,并附上所述同步標(biāo)記和對應(yīng)鑒權(quán)五元組中的隨機數(shù);f.HLR/AUC根據(jù)第二鑒權(quán)密鑰判斷所述同步請求消息的完整性,并根據(jù)所述同步請求消息的完整性作相關(guān)處理。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟c中還包括當(dāng)終端對消息鑒權(quán)編碼的一致性驗證未通過時,判斷對網(wǎng)絡(luò)側(cè)MSC/VLR鑒權(quán)失敗,向MSC/VLR發(fā)送鑒權(quán)失敗信息,并結(jié)束相關(guān)處理。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟d中還包括終端判斷出第二序列號可以接受時,根據(jù)所述第二序列號更新第一序列號,且對MSC/VLR發(fā)送所述鑒權(quán)響應(yīng);MSC/VLR判斷所述鑒權(quán)響應(yīng)和期望響應(yīng)是否一致,如果一致,判斷對終端的鑒權(quán)通過,并結(jié)束相應(yīng)處理,否則,判斷對終端的鑒權(quán)不通過,并結(jié)束相應(yīng)處理。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述HLR/AUC根據(jù)第二鑒權(quán)密鑰判斷所述同步請求消息的完整性是指,HLR/AUC根據(jù)第二鑒權(quán)密鑰、所述鑒權(quán)管理域、所述隨機數(shù)以及所述同步標(biāo)記中第一序列號采用和終端計算所述同步鑒權(quán)編碼一致的算法進行計算,得到一個計算結(jié)果,比較所述計算結(jié)果和所述同步標(biāo)記中同步鑒權(quán)編碼是否相同,如果相同,則判斷出所述同步請求消息完整,否則,判斷出所述同步請求消息不完整。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,在步驟f中,HLR/AUC判斷出所述同步請求消息不完整時,結(jié)束相關(guān)處理,否則,根據(jù)第一序列號更新第二序列號,產(chǎn)生新的鑒權(quán)五元組并發(fā)送至少一個新鑒權(quán)五元組給MSC/VLR用于鑒權(quán)。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述根據(jù)所述第一序列號更新第二序列號是指將第二序列號設(shè)置為與第一序列號相等,或者是將第二序列號設(shè)置為與第一序列號相等后,再將第二序列號增加一個固定不變的或固定變化的或隨機變化的增量數(shù)值。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟c中,終端對所述消息鑒權(quán)編碼進行一致性驗證進一步是終端根據(jù)第一鑒權(quán)密鑰、鑒權(quán)管理域、所述隨機數(shù)和第二序列號采用和HLR/AUC產(chǎn)生消息鑒權(quán)編碼一致的方法產(chǎn)生一個運算結(jié)果,比較所述運算結(jié)果和所述消息鑒權(quán)編碼是否一致,如果一致,則對所述消息鑒權(quán)編碼的一致性驗證通過,否則,對所述消息鑒權(quán)編碼的一致性驗證不通過。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟d中,所述終端根據(jù)第一序列號判斷第二序列號是否可以接受進一步是判斷第二序列號和第一序列號的差值是否在一定的范圍內(nèi),如果是,則判斷出第二序列號可接受,否則,判斷出第二序列號不可以接受。
9.根據(jù)權(quán)利要求1所述的方法,所述鑒權(quán)響應(yīng)的校驗碼是鑒權(quán)響應(yīng)本身,或者是鑒權(quán)響應(yīng)中相應(yīng)的某些位,對應(yīng)地步驟e中根據(jù)期望響應(yīng)判斷所述鑒權(quán)響應(yīng)的校驗碼的合法性是指判斷鑒權(quán)響應(yīng)的校驗碼是否和期望響應(yīng)相同,或者判斷鑒權(quán)響應(yīng)的校驗碼是否和期望響應(yīng)中相應(yīng)的某些位相同,如果是,則判斷所述鑒權(quán)響應(yīng)的校驗碼合法,否則,判斷所述鑒權(quán)響應(yīng)的校驗碼非法。
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟a中進一步包括更新第二序列號的步驟;所述更新第二序列號可以是將第二序列號增加一個固定不變的或固定變化的或隨機變化的增量數(shù)值。
11.一種鑒權(quán)方法,用于可相互通信的模塊之間的鑒權(quán),所述模塊至少包括可鑒權(quán)及產(chǎn)生鑒權(quán)響應(yīng)的第一模塊,所述第一模塊中保存了第一鑒權(quán)密鑰、第一同步密鑰和第一序列號,可用于產(chǎn)生鑒權(quán)參數(shù)、執(zhí)行同步處理的第二模塊,所述第二模塊中對應(yīng)保存了第二鑒權(quán)密鑰、第二同步密鑰和第二序列號,以及可執(zhí)行鑒權(quán)驗證的第三模塊,所述方法至少包括以下步驟a.第二模塊產(chǎn)生隨機數(shù),根據(jù)隨機數(shù)、第二鑒權(quán)密鑰產(chǎn)生期望響應(yīng),并根據(jù)隨機數(shù)、第二鑒權(quán)密鑰和第二序列號生成消息鑒權(quán)編碼,將所述隨機數(shù)、第二序列號、期望響應(yīng)和生成的消息鑒權(quán)編碼發(fā)送給第三模塊;b.第三模塊將所述隨機數(shù)、第二序列號和消息鑒權(quán)編碼發(fā)送給第一模塊;c.第一模塊根據(jù)第一鑒權(quán)密鑰和所述隨機數(shù)以及第二序列號對所述消息鑒權(quán)編碼進行一致性驗證,并在驗證通過后,根據(jù)第一鑒權(quán)密鑰和所述隨機數(shù)生成鑒權(quán)響應(yīng);d.第一模塊根據(jù)第一序列號判斷第二序列號是否可以接受,并在第二序列號不可接收時,根據(jù)第一同步密鑰、第一序列號和所述隨機數(shù)生成同步鑒權(quán)編碼,對第三模塊發(fā)送同步請求消息且附上所述同步鑒權(quán)編碼、第一序列號以及所述鑒權(quán)響應(yīng)的校驗碼;e.第三模塊在接收到所述同步請求消息時,根據(jù)期望響應(yīng)判斷所述鑒權(quán)響應(yīng)的校驗碼的合法性,如果不合法則判斷出所述再同請求消息非法并結(jié)束相關(guān)處理;否則,第三模塊向第二模塊發(fā)送同步請求消息;f.第二模塊根據(jù)第二同步密鑰判斷所述同步請求消息的完整性,并根據(jù)所述同步請求消息的完整性作相關(guān)處理。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述步驟c中還包括當(dāng)?shù)谝荒K對消息鑒權(quán)編碼的一致性驗證未通過時,判斷對第三模塊鑒權(quán)失敗,并結(jié)束相關(guān)處理。
13.根據(jù)權(quán)利要求12所述的方法,其特征在于,步驟c中第一模塊在所述結(jié)束相關(guān)處理前,進一步包括第一模塊對第三模塊發(fā)送鑒權(quán)失敗信息。
14.根據(jù)權(quán)利要求11所述的方法,其特征在于,步驟d中還包括第一模塊判斷出第二序列號可以接受時,根據(jù)所述第二序列號更新第一序列號,且對第三模塊發(fā)送所述鑒權(quán)響應(yīng);第三模塊判斷所述鑒權(quán)響應(yīng)和期望響應(yīng)是否一致,如果一致,判斷對第一模塊的鑒權(quán)通過,并結(jié)束相應(yīng)處理,否則,判斷對第一模塊鑒權(quán)不通過,并結(jié)束相應(yīng)處理。
15.根據(jù)權(quán)利要求11所述的方法,其特征在于,步驟e中,第三模塊向第二模塊發(fā)送同步請求消息時,附上所述隨機數(shù),同步鑒權(quán)編碼和第一序列號。
16.根據(jù)權(quán)利要求11所述的方法,其特征在于,步驟a中,第二模塊在將所述隨機數(shù)、第二序列號和生成的消息鑒權(quán)編碼發(fā)送給第三模塊時,保存了所述隨機數(shù);步驟e中,第三模塊向第二模塊發(fā)送同步請求消息時,附上所述同步鑒權(quán)編碼和第一序列號。
17.根據(jù)權(quán)利要求15或16所述的方法,其特征在于,所述第二模塊根據(jù)第二同步密鑰判斷所述同步請求消息的完整性是指,第二模塊根據(jù)第二同步密鑰、所述隨機數(shù)以及第一序列號采用和第一模塊計算所述同步鑒權(quán)編碼一致的算法進行計算,得到一個計算結(jié)果,比較所述計算結(jié)果和同步鑒權(quán)編碼是否相同,如果相同,則判斷出所述同步請求消息完整,否則,判斷出所述同步請求消息不完整。
18.根據(jù)權(quán)利要求11所述的方法,其特征在于,在步驟f中,第二模塊判斷出所述同步請求消息不完整時,結(jié)束相關(guān)處理,否則,根據(jù)第一序列號更新第二序列號。
19.根據(jù)權(quán)利要求18所述的方法,其特征在于,所述根據(jù)所述第一序列號更新第二序列號是指將第二序列號設(shè)置為與第一序列號相等,或者是將第二序列號設(shè)置為與第一序列號相等后,再將第二序列號增加一個固定不變的或固定變化的或隨機變化的增量數(shù)值。
20.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述步驟c中,第一模塊對所述消息鑒權(quán)編碼進行一致性驗證進一步是第一模塊根據(jù)第一鑒權(quán)密鑰、所述隨機數(shù)和第二序列號采用和第二模塊根據(jù)所述隨機數(shù)、第二鑒權(quán)密鑰和第二序列號產(chǎn)生消息鑒權(quán)編碼一致的方法產(chǎn)生一個運算結(jié)果,比較所述運算結(jié)果和所述消息鑒權(quán)編碼是否一致,如果一致,則對所述消息鑒權(quán)編碼的一致性驗證通過,否則,對所述消息鑒權(quán)編碼的一致性驗證不通過。
21.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述步驟d中,第一模塊根據(jù)第一序列號判斷第二序列號是否可以接受進一步是判斷第二序列號和第一序列號的差值是否在一定的范圍內(nèi),如果是,則判斷出第二序列號可接受,否則,判斷出第二序列號不可以接受。
22.根據(jù)權(quán)利要求11所述的方法,所述鑒權(quán)響應(yīng)的校驗碼是鑒權(quán)響應(yīng)本身,或者是鑒權(quán)響應(yīng)中相應(yīng)的某些位,對應(yīng)地步驟e中根據(jù)期望響應(yīng)判斷所述鑒權(quán)響應(yīng)的校驗碼的合法性是指判斷鑒權(quán)響應(yīng)的校驗碼是否和期望響應(yīng)相同,或者判斷鑒權(quán)響應(yīng)的校驗碼是否和期望響應(yīng)中相應(yīng)的某些位相同,如果是,則判斷所述鑒權(quán)響應(yīng)的校驗碼合法,否則,判斷所述鑒權(quán)響應(yīng)的校驗碼非法。
23.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述步驟a中進一步包括更新第二序列號的步驟;所述更新第二序列號可以是將第二序列號增加一個固定不變的或固定變化的或隨機變化的增量數(shù)值。
24.根據(jù)權(quán)利要求11所述的方法,其特征在于,在第一模塊中,第一鑒權(quán)密鑰和第一同步密鑰可以是同一個密鑰;相應(yīng)地,在第二模塊中,第二鑒權(quán)密鑰和第二同步密鑰也可以是同一個密鑰。
25.一種鑒權(quán)方法,用于可相互通信的模塊之間的鑒權(quán),所述模塊至少包括可鑒權(quán)及產(chǎn)生鑒權(quán)響應(yīng)的第一模塊,所述第一模塊中保存了第一鑒權(quán)密鑰、第一同步密鑰和第一序列號,可用于產(chǎn)生鑒權(quán)參數(shù)、執(zhí)行鑒權(quán)驗證和執(zhí)行同步處理的第二模塊,所述第二模塊中對應(yīng)保存了第二鑒權(quán)密鑰、第二同步密鑰和第二序列號,所述方法至少包括以下步驟a.第二模塊產(chǎn)生隨機數(shù),根據(jù)隨機數(shù)、第二鑒權(quán)密鑰產(chǎn)生期望響應(yīng),并根據(jù)隨機數(shù)、第二鑒權(quán)密鑰和第二序列號生成消息鑒權(quán)編碼;將所述隨機數(shù)、第二序列號和消息鑒權(quán)編碼發(fā)送給第一模塊;b.第一模塊根據(jù)第一鑒權(quán)密鑰和所述隨機數(shù)以及第二序列號對所述消息鑒權(quán)編碼進行一致性驗證,并在驗證通過后,根據(jù)第一鑒權(quán)密鑰和所述隨機數(shù)生成鑒權(quán)響應(yīng);c.第一模塊根據(jù)第一序列號判斷第二序列號是否可以接受,并在第二序列號不可接收時,根據(jù)第一同步密鑰、第一序列號和所述隨機數(shù)生成同步鑒權(quán)編碼,對第二模塊發(fā)送同步請求消息且附上所述同步鑒權(quán)編碼、第一序列號以及所述鑒權(quán)響應(yīng)的校驗碼;d.第二模塊在接收到所述同步請求消息時,根據(jù)期望響應(yīng)判斷所述鑒權(quán)響應(yīng)的校驗碼的合法性,如果不合法則判斷出所述再同請求消息非法并結(jié)束相關(guān)處理;否則,根據(jù)第二同步密鑰判斷所述同步請求消息的完整性,并根據(jù)所述同步請求消息的完整性作相關(guān)處理。
26.根據(jù)權(quán)利要求25所述的方法,其特征在于,所述步驟b中還包括當(dāng)?shù)谝荒K對消息鑒權(quán)編碼的一致性驗證未通過時,判斷對第二模塊鑒權(quán)失敗,并結(jié)束相關(guān)處理。
27.根據(jù)權(quán)利要求26所述的方法,其特征在于,步驟b中第一模塊在所述結(jié)束相關(guān)處理前,進一步包括第一模塊對第二模塊發(fā)送鑒權(quán)失敗信息。
28.根據(jù)權(quán)利要求25所述的方法,其特征在于,步驟c中還包括第一模塊判斷出第二序列號可以接受時,根據(jù)所述第二序列號更新第一序列號,且對第二模塊發(fā)送所述鑒權(quán)響應(yīng);第二模塊判斷所述鑒權(quán)響應(yīng)和期望響應(yīng)是否一致,如果一致,判斷對第一模塊的鑒權(quán)通過,并結(jié)束相應(yīng)處理,否則,判斷對第一模塊鑒權(quán)不通過,并結(jié)束相應(yīng)處理。
29.根據(jù)權(quán)利要求25所述的方法,其特征在于,在步驟d中,所述第二模塊根據(jù)第二同步密鑰判斷所述同步請求消息的完整性是指,第二模塊根據(jù)第二同步密鑰、所述隨機數(shù)以及第一序列號采用和第一模塊計算所述同步鑒權(quán)編碼一致的算法進行計算,得到一個計算結(jié)果,比較所述計算結(jié)果和所述同步鑒權(quán)編碼是否相同,如果相同,則判斷出所述同步請求消息完整,否則,判斷出所述同步請求消息不完整。
30.根據(jù)權(quán)利要求25所述的方法,其特征在于,在步驟d中,第二模塊判斷出所述同步請求消息不完整時,結(jié)束相關(guān)處理,否則,根據(jù)第一序列號更新第二序列號。
31.根據(jù)權(quán)利要求30所述的方法,其特征在于,所述根據(jù)所述第一序列號更新第二序列號是指將第二序列號設(shè)置為與第一序列號相等,或者是將第二序列號設(shè)置為與第一序列號相等后,再將第二序列號增加一個固定不變的或固定變化的或隨機變化的增量數(shù)值。
32.根據(jù)權(quán)利要求25所述的方法,其特征在于,所述步驟b中,第一模塊對所述消息鑒權(quán)編碼進行一致性驗證進一步是第一模塊根據(jù)第一鑒權(quán)密鑰、所述隨機數(shù)和第二序列號采用和第二模塊根據(jù)所述隨機數(shù)、第二鑒權(quán)密鑰和第二序列號產(chǎn)生消息鑒權(quán)編碼一致的方法產(chǎn)生一個運算結(jié)果,比較所述運算結(jié)果和所述消息鑒權(quán)編碼是否一致,如果一致,則對所述消息鑒權(quán)編碼的一致性驗證通過,否則,對所述消息鑒權(quán)編碼的一致性驗證不通過。
33.根據(jù)權(quán)利要求25所述的方法,其特征在于,所述步驟c中,第一模塊根據(jù)第一序列號判斷第二序列號是否可以接受進一步是判斷第二序列號和第一序列號的差值是否在一定的范圍內(nèi),如果是,則判斷出第二序列號可接受,否則,判斷出第二序列號不可以接受。
34.根據(jù)權(quán)利要求25所述的方法,所述鑒權(quán)響應(yīng)的校驗碼是鑒權(quán)響應(yīng)本身,或者是鑒權(quán)響應(yīng)中相應(yīng)的某些位,對應(yīng)地步驟d中根據(jù)期望響應(yīng)判斷所述鑒權(quán)響應(yīng)的校驗碼的合法性是指判斷鑒權(quán)響應(yīng)的校驗碼是否和期望響應(yīng)相同,或者判斷鑒權(quán)響應(yīng)的校驗碼是否和期望響應(yīng)中相應(yīng)的某些位相同,如果是,則判斷所述鑒權(quán)響應(yīng)的校驗碼合法,否則,判斷所述鑒權(quán)響應(yīng)的校驗碼非法。
35.根據(jù)權(quán)利要求25所述的方法,其特征在于,所述步驟a中進一步包括更新第二序列號的步驟;所述更新第二序列號可以是將第二序列號增加一個固定不變的或固定變化的或隨機變化的增量數(shù)值。
36.根據(jù)權(quán)利要求25所述的方法,其特征在于,在第一模塊中,第一鑒權(quán)密鑰和第一同步密鑰可以是同一個密鑰;相應(yīng)地,在第二模塊中,第二鑒權(quán)密鑰和第二同步密鑰也可以是同一個密鑰。
全文摘要
本發(fā)明公開了一種同步攻擊防護方法,應(yīng)用于3G網(wǎng)絡(luò)中終端與網(wǎng)絡(luò)間的鑒權(quán),該方法包括,終端向網(wǎng)絡(luò)發(fā)送再同步請求命令時,附上再同步標(biāo)記以及鑒權(quán)響應(yīng);網(wǎng)絡(luò)側(cè)在接收到所述再同步請求命令時,由MSC/VLR先根據(jù)所述鑒權(quán)響應(yīng)判斷所述再同步請求命令的合法性,如果不合法則直接判斷出所述再同步請求命令來自非法用戶,否則,MSC/VLR將再同步請求命令發(fā)送給網(wǎng)絡(luò)側(cè)HLR/AUC,HLR/AUC對所述再同步請求命令進行完整性驗證。因此,網(wǎng)絡(luò)側(cè)接收到來自非法用戶的再同步請求命令時,MSC/VLR根據(jù)所述鑒權(quán)響應(yīng)即可判斷出,而不必再耗費HLR/AUC的資源對來自非法用戶的再同步請求命令進行完整性驗證,進而達到避免非法用戶利用再同步請求命令攻擊網(wǎng)絡(luò)的效果。
文檔編號H04W12/06GK1859712SQ20051003635
公開日2006年11月8日 申請日期2005年8月2日 優(yōu)先權(quán)日2005年8月2日
發(fā)明者王正偉 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1