一種鑑權方法及相應的信息傳遞方法
2023-06-03 01:22:31 1
專利名稱:一種鑑權方法及相應的信息傳遞方法
技術領域:
本發明涉及通信安全技術,具體涉及一種鑑權方法及相應的信息傳遞方法。
背景技術:
通常情況下,相互通信的一端比如第一模塊,向另外一端比如第二模塊傳遞信息時,一般是在第二模塊建立了對第一模塊的可信任的連接後才進行的,也即該連接為第二模塊對第一模塊鑑權通過後建立的連接,通過這種連接,第一模塊可以向第二模塊傳遞相關信息時,第二模塊可以判斷出所傳遞信息的有效性。但是,在某些時候,通信雙方還沒有建立有效的通信連接之前,一方需要向另外一方傳遞重要信息時,就沒有有效的辦法來解決。比如說,用於通信雙方相互鑑權的密鑰因為某種原因失去了同步,變得不再一致,從而導致正常的相互鑑權無法通過,因而,也無法建立有效的互信連接,此時,通信的一方例如第一模塊需要告訴另外一方例如第二模塊,需要重新同步鑑權密鑰,這時,所述通信的第一模塊如何將需要同步鑑權密鑰的信息傳送給第二模塊,以及第二模塊接收到第一模塊的需要同步鑑權密鑰的信息後,怎麼能夠相信這是真的,而不是一個攻擊者發起的攻擊行為呢?還例如,在未來的通信網絡中,隨著業務的豐富、網絡功能的擴展,對終端與網絡間或兩個通信模塊之間通信安全的要求也相應提高,而信息傳遞量的幾何級遞增,則要求具有更加安全與便捷的信息傳遞方式。
先以現有的3G鑑權為例,對現有的鑑權方法和信息傳遞方法簡單介紹一下,現有有3G網絡中的鑑權是由MS(終端)、MSC/VLR(移動交換中心/訪問位置寄存器)或SGSN(GPRS業務服務節點)、HLR/AUC(歸屬位置寄存器/鑑權中心)協同工作完成,SIM卡或USIM卡上保存了一鑑權密鑰KI,HLR/AUC也存有與用戶SIM卡或USIM卡上的KI一致的鑑權密鑰KI。由MS和AUC分別根據各自的鑑權密鑰KI計算出相應鑑權參數,再由MSC/VLR比較雙方的計算結果,完成網絡對MS合法性的驗證。該過程中包括終端對網絡的鑑權,終端對網絡的鑑權失敗時,會給網絡反饋「鑑權失敗」的消息。
上述終端向網絡發送信息的是未經過網絡鑑權的,這種終端向網絡發送信息的方式用於返回「鑑權失敗」類的信息時可能不致導致嚴重的安全問題,但在某些應用場合,終端向網絡發送信息時網絡若不能對終端鑑權就會存在嚴重的安全問題。
例如,在一些涉及密鑰設置與更新的情況下終端向網絡發送信息若不經過網絡的鑑權,將存在嚴重的安全隱患。按照現有技術,可通過USSD或簡訊息的方式將信息傳遞給網絡側,這種信息傳遞方式因會引起鑑權流程,能解決信息傳遞的安全問題,但對信令資源消耗較大。
綜上所述,如何在不增加現有通信協議、信令資源和運營成本的基礎上,方便地傳遞信息,且保障通信的安全性是一個值得解決的問題。
發明內容
有鑑於此,本發明要解決技術問題是提供一種鑑權方法及相應的信息傳遞方法,使得不需要增加現有通信協議、信令或鑑權參數和營運成本,即可方便地從終端向網絡側傳遞信息且保障終端和網絡通信的安全性,也可方便安全地實現通信模塊之間的鑑權與信息傳遞。特別地,在終端與網絡建立連接之前,例如在鑑權的過程中,向網絡傳送有效信息。
為解決上述問題,本發明提供了一種信息傳遞方法,用於3G網絡中終端向網絡傳遞信息,所述方法包括以下步驟a.終端用約定的特定值代替SQNMS產生再同步標記AUTS,對網絡發送再同步請求命令且附上所述再同步標記AUTS;
b.網絡側在接收到所述再同步請求命令並判斷出所述再同步標記AUTS中的SQNMS為所述約定的特定值時,執行所述約定的特定值對應的操作。
優選地,所述方法還包括,在步驟a之前終端對網絡側發送可引起鑑權流程的命令或請求,網絡側接收到所述命令或請求時對終端發起鑑權請求且附上產生的相應的鑑權參數,相應地,在步驟a中,終端接收所述鑑權參數並在向網絡側發送再同步請求命令前根據所述鑑權參數對網絡進行鑑權。
優選地,所述步驟a之前終端對網絡側發送可引起鑑權流程的命令或請求可以是位置更新請求或業務請求。
優選地,所述鑑權參數包括隨機數RAND和鑑權標記AUTN,相應的,在步驟a中所述對網絡進行鑑權是根據RAND和AUTN對網絡鑑權。
優選地,根據RAND和AUTN對網絡鑑權是指判斷AUTN是否滿足一致性要求,如果不滿足,則對網絡鑑權失敗。
優選地,判斷出AUTN滿足一致性要求後,進一步判斷SQNHE是否在可接受的範圍內,如果是,則確認對網絡鑑權通過,用所述約定的特定值代替SQNMS產生再同步標記AUTS,否則,直接根據SQNMS產生再同步標記AUTS。
優選地,步驟b還包括判斷AUTS是否合法。
優選地,所述步驟b中判斷出SQNMS為所述約定的特定值後進一步判斷AUTS是否合法,若合法則執行對應的約定內容。
優選地,所述步驟b中判斷出AUTS合法後進一步判斷SQNMS是否為所述約定的特定值,若是則執行對應的約定內容,否則,根據SQNMS更新SQNHE。
優選地,所述約定的特定值是指約定某一範圍內的值或某個或多個具體值。
優選地,所述執行約定內容可以是執行密鑰更新、執行鑑權算法更新、執行防盜驗證、取消防盜驗證、獲得相關信息和返回特殊操作執行結果信息中一個或多個。
為解決上述問題,本發明同時提供了一種鑑權方法,用於通信網絡中終端與網絡間的鑑權,所述方法包括以下步驟a.網絡側產生隨機數,並根據隨機數、終端的鑑權密鑰和序列號生成鑑權元組,發送給終端;b.終端根據自身保存的鑑權密鑰對所述鑑權元組進行一致性驗證,並根據自身保存的序列號判斷來自網絡的序列號是否可接受,判斷出對所述鑑權元組的一致性驗證通過,且所述來自網絡的序列號可接受時,對網絡鑑權通過,並用約定的特定值代替終端保存的序列號生成再同步標記,向網絡發送再同步請求且附上所述再同步標記;c.網絡在接收到所述再同步請求,判斷出所述再同步標記中的所述序列號為所述約定的特定值時,執行約定的對應操作。
優選地,所述方法還包括在步驟a之前,終端對網絡側發送可引起鑑權流程的命令或請求,所述命令或請求可以是位置更新請求或業務請求。
優選地,所述步驟b中還包括,當終端判斷出對來自網絡的所述鑑權元組一致性驗證通過但來自網絡的序列號不屬於可接受的範圍時,直接根據終端保存的序列號生成再同步標記,向網絡發送再同步請求且附上所述再同步標記。
優選地,所述步驟b中還包括,當終端判斷出對來自網絡的所述鑑權元組一致性驗證未通過時,則向網絡發送鑑權失敗信息。
優選地,所述步驟b中還包括,終端判斷出對所述鑑權元組的一致性驗證通過,且所述來自網絡的序列號可接受時,根據所述來自網絡側的序列號更新終端側保存的序列號。
優選地,所述步驟c中還包括網絡側對所述再同步標記進行合法性判斷。
優選地,所述步驟c可以進一步是判斷出所述來自終端的序列號為所述約定的特定值後進一步判斷再同步標記是否合法,若合法則執行對應的約定內容;優選地,所述步驟c可以進一步是判斷出再同步標記合法後進一步判斷所述來自終端的序列號是否為所述約定的特定值,若是則執行對應的約定內容,否則,根據所述來自終端的序列號更新網絡側保存的序列號。
優選地,所述約定的特定值是指約定某一範圍內的值或某個或多個具體值。
優選地,所述執行約定內容可以是執行密鑰更新、執行鑑權算法更新、執行防盜驗證、取消防盜驗證、獲得相關信息和返回特殊操作執行結果信息中一個或多個。
本發明還提供了另外一種鑑權方法,用於可相互通信的模塊之間的鑑權,所述模塊至少包括保存了第一鑑權密鑰、第一同步密鑰和第一序列號的第一模塊,以及保存了第二鑑權密鑰、第二同步密鑰和第二序列號的第二模塊,其特徵在於,所述方法至少包括以下步驟a.第二模塊產生隨機數,並根據隨機數、第二鑑權密鑰和第二序列號生成消息鑑權編碼,將所述隨機數、第二序列號和生成的消息鑑權編碼發送給第一模塊;b.第一模塊根據第一鑑權密鑰和所述隨機數以及第二序列號對所述消息鑑權編碼進行一致性驗證,並根據第一序列號判斷第二序列號是否可接受,判斷出對所述消息鑑權編碼的一致性驗證通過,且第二序列號可接受時,對第二模塊的鑑權通過,並用約定的特定值代替第一序列號和所述隨機數以及第一同步密鑰生成再同步鑑權編碼,向第二模塊發送再同步請求且附上所述再同步鑑權編碼和代替第一序列號的所述約定的特定值;c.第二模塊在接收到所述再同步請求,判斷出來自第一模塊的第一序列號為所述約定的特定值時,執行約定的對應操作。
優選地,所述步驟b中所述用約定的特定值代替第一序列號和第一同步密鑰生成再同步鑑權編碼進一步是用約定的特定值代替第一序列號和所述隨機數以及第一同步密鑰生成再同步鑑權編碼。
優選地,所述步驟b中還包括,第一模塊判斷出對所述消息鑑權編碼的一致性驗證通過,且第二序列號可接受時,根據所述第二序列號更新第一序列號。
優選地,當第一模塊判斷出對所述消息鑑權編碼的一致性驗證通過但第二序列號不屬於可接受的範圍時,直接根據終第一序列號和所述隨機數以及第一同步密鑰生成再同步鑑權編碼,向網絡發送再同步請求且附上所述再同步鑑權編碼和第一序列號。
優選地,所述步驟b中還包括,當第一模塊判斷出對所述消息鑑權編碼的一致性驗證未通過時,則向第二模塊發送鑑權失敗信息。
優選地,所述步驟b中,第一模塊對所述消息鑑權編碼進行一致性驗證進一步是第一模塊根據第一鑑權密鑰、所述隨機數和第二序列號採用和第二模塊根據所述隨機數、第二鑑權密鑰和第二序列號產生消息鑑權編碼一致的方法產生一個運算結果,比較自己產生的運算結果和所述消息鑑權編碼是否一致,如果一致,則對所述消息鑑權編碼的一致性驗證通過,否則,對所述消息鑑權編碼的一致性驗證不通過。
優選地,所述步驟b中,第一模塊判斷第二序列號是否可接受進一步是判斷第二序列號和第一序列號的差值是否在一定的範圍內,如果是,則判斷出第二序列號可接受,否則,判斷出第二序列號不可以接受。
優選地,所述步驟c中還包括第二模塊對所述再同步鑑權編碼進行合法性判斷。
優選地,所述步驟c可以進一步是判斷出所述來自第一模塊的第一序列號為所述約定的特定值後進一步判斷再同步鑑權編碼是否合法,若合法則執行對應的約定內容;優選地,所述步驟c可以進一步是判斷出來自第一模塊的再同步鑑權編碼合法後進一步判斷所述第一序列號是否為所述約定的特定值,若是則執行對應的約定內容,否則,根據所述第一序列號更新保存的第二序列號。
優選地,所述步驟c進一步包括判斷出來自第一模塊的再同步鑑權編碼非法後,返回失敗信息。
優選地,所述步驟c中第二模塊對所述再同步鑑權編碼進行合法性判斷進一步是第二模塊根據第二同步密鑰、所述隨機數和第一序列號採用和第一模塊根據所述隨機數、第一同步密鑰和第一序列號產生再同步鑑權編碼一致的方法產生一個運算結果,比較自己產生的運算結果和所述再同步鑑權編碼是否一致,如果一致,則判斷出再同步鑑權編碼合法,否則,判斷出再同步鑑權編碼非法。
優選地,所述約定的特定值是指約定某一範圍內的值或某個或多個具體值。
優選地,所述執行約定內容可以是執行密鑰更新、執行鑑權算法更新、獲得相關信息和返回特殊操作執行結果信息中一個或多個。
本發明終端向網絡傳遞信息的方法不需增加或改變現有的信令資源或鑑權參數,方便地實現終端與網絡側的鑑權與信息傳遞且保障網絡安全性,也可方便安全地實現兩個通信模塊之間鑑權和信息傳遞。
圖1是本發明的具體實施方式
一的流程圖。
圖2是本發明的具體實施方式
一的第一實施例的流程圖。
圖3是本發明的具體實施方式
一的第二實施例的流程圖。
圖4是本發明的具體實施方式
二的第一實施例中,第一模塊需要向第二模塊傳送特定的信息時的主流程。
圖5是本發明的具體實施方式
二的第一實施例中,第一模塊不需要向第二模塊傳送特定的信息時的主流程。
圖6是本發明的具體實施方式
二的第一實施例中,第二模塊執行同步處理的子流程。
圖7是本發明的具體實施方式
二的第二實施例中,第二模塊執行同步處理的子流程。
具體實施例方式
本發明終端向網絡側傳遞信息的方法利用3G網絡鑑權流程中的已有參數來實現,不需增加信令資源。
為了更好地理解本發明,先簡單介紹一下現有的第三代移動通信系統中的鑑權流程,在移動終端中保存國際移動用戶標識IMSI、鑑權密鑰KI和序列號SQNMS,網絡側的HLR/AUC中針對該移動終端對應保存IMSI、KI和序列號SQNHE,以用於移動終端和網絡相互鑑權。
3G通信系統的現有鑑權流程主要為HLR/AUC產生隨機數RAND,根據隨機數RAND和KI產生期望響應XRES、加密密鑰CK、完整性密鑰IK;根據隨機數RAND、序列號SQNHE、鑑權密鑰KI和鑑權管理域AMF產生出MAC-A,根據MAC-A,SQNHE、AK和AMF得到鑑權標記AUTN(Authentication Token)。由RAND和XRES、CK、IK和AUTN組成鑑權五元組,將該五元組發送給MSC/VLR保存。當然,實際當中,HLR/AUC是應MSC/VLR的請求才將產生的相應的一個或多個五元組發送給MSC/VLR的。鑑權時,MSC/VLR將對應五元組中RAND和AUTN發送給終端,終端根據自己保存的KI驗證AUTN的一致性,如果一致性驗證不通過,則向MSC/VLR返回鑑權失敗信息;若一致性驗證通過,則判斷SQNHE是否屬於可接受的範圍若屬於,則終端判斷出對網絡鑑權通過,終端向MSC/VLR返回終端自己產生的鑑權響應,並根據AUTN中的SQNHE更新SQNMS,MSC/VLR比較終端返回的鑑權響應和對應五元組中的XRES是否一致來判斷終端的合法性;若判斷出SQNHE不屬於可接受範圍,則根據SQNMS產生再同步標記AUTS(Resynchronisation Token),對網絡側MSC/VLR返回再同步請求或同步失敗(Synchronisation failure)消息,同時附上產生的再同步標記AUTS,也即消息中包含AUTS。網絡側MSC/VLR接收到再同步標記AUTS時,將AUTS和對應五元組中的RAND發送給HLR/AUC,HLR/AUC根據對應保存的KI和接收到的RAND,判斷AUTS的合法性,如果不合法,則HLR/AUC向MSC/VLR返回AUTS不合法信息;如果判斷出AUTS合法,則HLR/AUC根據AUTS中的SQNMS更新SQNHE,並產生一個新的鑑權五元組發送給MSC/VLR,MSC/VLR接收到新的五元組後,刪除對應的舊的五元組。關於鑑權流程,可以參照3GPP規範。
可見在3G通信系統的現有鑑權流程中,SQNMS主要用於判斷AUTN中SQNHE是否是最新的或SQNHE是否在可接受範圍內,以及更新SQNHE時使用。
本發明通過改進措施,提供一種改進的鑑權方法和信息傳遞方法,使得在終端對網絡側鑑權通過即終端根據自己保存的KI對AUTN的一致性驗證通過並且AUTN中的SQNHE在可接受範圍內的情況下,也產生再同步標記和發送再同步請求命令,並利用終端向網絡側發送的再同步請求命令和所附的再同步標記AUTS中的SQNMS來向網絡側傳遞信息。本發明中終端對網絡側鑑權通過後,用約定的特定值代替SQNMS產生再同步標記AUTS,向網絡側發送同步請求命令並附上該再同步標記,網絡側接收到所述同步請求命令時,判斷AUTS中SQNMS是否為約定的特定值,若是,則執行約定的內容;否則按正常同步處理流程處理,即根據SQNMS更新SQNHE並作後續處理。網絡側在判斷AUTS中SQNMS是否為約定的特定值之前,還可以進一步執行對終端的鑑權和對SQNMS的完整性驗證,從而判斷AUTS的合法性。本發明的方法既充分利用了現有鑑權參數方便地對網絡傳遞信息,又利用了網絡側處理再同步請求命令時的鑑權步驟提高了終端對網絡傳遞信息的安全性和完整性。
本發明提供的鑑權方法和相應的信息傳遞方法並不僅應用於終端與網絡間的鑑權與信息傳遞,還可用於任何可相互通信的兩模塊之間的鑑權及信息傳遞,例如Wimax,……等無線通信網絡間的模塊,或者是有線通信網絡間的模塊。
下面結合附圖對本發明的具體實施方式
進行詳細的說明首先,通過具體實施方式
一對本發明提供的方法在移動通信中的實施與應用予以說明,請參閱圖1,圖1為本發明具體實施方式
一的流程圖。
在步驟101中,終端向網絡側發起位置更新請求。
本步驟也可以是向網絡側發起業務請求。實際當中可以是終端發送的任何可以引起網絡側對終端進行鑑權的消息。
步驟102,網絡側接收到該位置更新請求後將產生的鑑權元組中的相應鑑權參數發送給終端。本發明中網絡側實際也可以只產生所述相應鑑權參數。
所述鑑權元組可以包括隨機數RAND、期望響應XRES、加密密鑰CK、完整性密鑰IK和鑑權標記AUTN(Authentication Token)。
所述相應鑑權參數包括RAND和AUTN。
產生鑑權元組時,HLR/AUC用隨機數發生器產生的RAND和自身保存的鑑權密鑰KI分別計算出XRES、CK、IK。還根據RAND、KI、序列號SQNHE、鑑權管理域AMF產生AUTN。
所述鑑權標記AUTN長16位元組,包括以下內容1)SQNHE^AK,也即用AK加密了的SQNHE,其中序列號SQNHE與匿名密鑰AK分別長6位元組,SQNHE指保存在網絡側的SQN,以區別於保存在終端的SQNMS;當需要對SQNHE進行加密時,HLR/AUC根據RAND和KI產生AK,使用AK對SQNHE作異或運算,從而加密SQNHE;當不需要對SQNHE進行加密時,AK=0;2)鑑權管理域AMF長2位元組。3)消息鑑權編碼MAC-A長8位元組;MAC-A用於驗證RAND、SQNHE、AMF的數據完整性,用於終端對HLR/AUC進行鑑權。HLR/AUC根據RAND、SQNHE、KI和AMF計算出AUTN中的消息鑑權編碼MAC-A。
這樣,由RAND、AUTN、XRES、CK、IK等組成了鑑權五元組。本發明中,終端在向網絡側傳遞信息時,只需用到其中的RAND和AUTN。
HLR/AUC產生了鑑權五元組後將相應的國際移動用戶識別碼IMSI和鑑權五元組RAND、CK、IK、XRES和AUTN發送給MSC/VLR。MSC/VLR為電路域設備,對於分組域的網絡,對應的設備可以為SGSN。鑑權時,網絡側的MSC/VLR將接收自HLR/AUC的鑑權元組中的隨機數RAND和鑑權標記AUTN傳送給終端MS。
步驟103,終端MS接收到網絡側發送的相應鑑權參數即隨機數RAND和鑑權標記AUTN並判斷出對網絡側鑑權通過後,用約定的特定值代替SQNMS產生再同步標記AUTS,向網絡發起再同步請求命令,並附上再同步標記AUTS。這裡,向網絡發起再同步請求命令,並附上再同步標記AUTS,也即,向網絡側發送同步失敗消息,消息中包含了AUTS。
所述再同步標記AUTS包括以下內容1)SQNMS^AK,也即用AK加密了的SQNMS,其中序列號SQNMS與匿名密鑰AK分別長6位元組,SQNMS指保存在終端側的SQN,以區別於保存在網絡側的SQNHE;當需要對SQNMS進行加密時,終端根據RAND和KI產生AK,使用AK對SQNMS作異或運算,從而加密SQNMS;當不需要對SQNMS進行加密時,AK=0;2)消息鑑權編碼MAC-S長8位元組;MAC-S用於驗證RAND、SQNMS的數據完整性,用於HLR/AUC對終端進行鑑權,也即,用於HLR/AUC驗證AUTS的合法性。一般的,終端根據自己的SQNMS、KI和接收到的RAND以及AMF等計算得到MAC-S,再根據SQNMS、AK和MAC-S產生再同步標記AUTS具體地說,終端根據接收到的RAND與自身保存的鑑權密鑰KI和接收到的AUTN中的SQNHE以及AMF採用與HLR/AUC計算AUTN中MAC-A一致的算法計算出MAC-A,然後進行一致性驗證,即,比較自己計算得到的MAC-A與接收到的AUTN中的MAC-A是否一致,例如是否相同,若不一致,則向MSC/VLR返回鑑權失敗信息;若一致則判斷SQNHE是否屬於可接受的範圍若屬於,則終端判斷出對網絡側的鑑權通過;若判斷出SQNHE不屬於可接受範圍,則根據SQNMS產生再同步標記AUTS,即,根據SQNMS、KI和接收到的RAND以及AMF等計算得到MAC-S,再根據SQNMS、AK和MAC-S產生再同步標記AUTS,對網絡側MSC/VLR返回再同步請求命令或同步失敗(Synchronisation failure)消息,同時附上產生的再同步標記AUTS。
終端對網絡側鑑權通過後,用約定的特定值代替SQNMS並根據自己的KI和接收到的RAND以及AMF等計算得到MAC-S,再用約定的特定值代替SQNMS並根據AK和MAC-S產生再同步標記AUTS,向網絡側發送再同步請求命令並附上所述再同步標記AUTS,或者向網絡側發送同步失敗消息,並在該消息中包含AUTS。至於具體產生過程,以及產生時使用的算法可參照3GPP規範。
步驟104,網絡側接收到再同步請求命令後,判斷出再同步標記AUTS中的SQNMS為約定的特定值時,執行對應約定的內容,也即執行對應操作。
終端和網絡側預先約定網絡側在接收到終端的再同步請求命令後,如果判斷出SQNMS為約定的特定值時,則根據該特定值執行對應的約定內容,也即執行對應操作。所述執行對應約定的內容可以是執行密鑰更新、執行鑑權算法更新、執行防盜驗證、取消防盜驗證、獲得相關信息和返回特殊操作執行結果信息等等操作中的一個或者多個。所述獲得相關信息可以是根據SQNMS的值獲得終端是否具備某種能力,例如是否支持GPS定位功能,是否支持行動支付等等,所述特殊操作可以是響應鑑權管理域AMF不同值進行相應處理的執行結果,也可以是根據某種配置進行初始化操作執行結果,也可以是移動終端漫遊時,根據當前位置區或者運營商對移動終端進行了特殊初始化操作執行結果,等等。
在步驟104中,還可以包括判斷AUTS合法性步驟。
也即,在判斷再同步標記AUTS中的SQNMS是否為約定的特定值之前,可以進一步包括判斷AUTS合法性步驟。具體地說,網絡側的MSC/VLR接收到終端返回的再同步標記AUTS時,將AUTS和對應五元組中的RAND一併發送給HLR/AUC,HLR/AUC先根據RAND、KI、SQMMS和AMF等採用與終端一致的算法計算得出MAC-S,再將之與接收到的AUTS中的MAC-S比較,若一致,判斷出AUTS合法,否則,判斷出AUTS非法。HLR/AUC判斷AUTS非法時,向MSC/VLR返回AUTS不合法的消息。HLR/AUC判斷AUTS合法時,進一步判斷SQNMS是否為約定的特定值,若為約定的特定值則執行約定的內容。否則,即不為約定的特定值時按正常同步流程處理,即根據SQNMS更新SQNHE,並作後續處理。關於正常同步流程處理可以參照3GPP規範。
或者在判斷再同步標記AUTS中的SQNMS為約定的特定值之後,並在執行對應約定的內容之前,可以進一步包括判斷AUTS合法性步驟。
具體地說,網絡側的MSC/VLR接收到終端返回的再同步標記AUTS時,將AUTS和對應五元組中的RAND一併發送給HLR/AUC,HLR/AUC判斷出SQNMS為所述約定的特定值後,先根據RAND、KI、SQMMS和AMF等採用與終端一致的算法計算得出MAC-S,再將之與接收到的AUTS中的MAC-S比較,若一致,判斷出AUTS合法,否則,判斷出AUTS非法。HLR/AUC判斷AUTS非法時,向MSC/VLR返回AUTS不合法的消息。HLR/AUC判斷AUTS合法時,執行所述約定的內容。HLR/AUC判斷出SQNMS不是所述約定的特定值時,按正常同步流程處理,即判斷AUTS合法時,根據SQNMS更新SQNHE,並作後續處理;判斷AUTS非法時,向MSC/VLR返回AUTS不合法的消息。關於正常同步流程處理可以參照3GPP規範。
在步驟103中,產生MAC-S時,也可根據RAND、KI、SQNMS計算產生,即,不再根據AMF,對應地在步驟104中,網絡側驗證MAC-S合法性時,也根據RAND、KI、SQNMS來驗證,而不再根據AMF來進行。
請參閱圖2,圖2為所示本發明具體實施方式
一的第一實施例,本實施例中將對終端使用本發明的方法通知網絡側密鑰更新的過程予以說明,以便更好地理解本發明。
在步驟201,終端向網絡發起位置更新請求;本步驟也可以是向網絡側發起業務請求。實際當中可以是終端發送的任何可以引起網絡側對終端進行鑑權的消息。
在步驟202,網絡側接收到所述請求後,通過對終端發送鑑權請求,將產生的對應該終端的鑑權元組中的相應的鑑權參數發送給終端。
具體地說,HLR/AUC根據隨機數發生器產生隨機數RAND,根據RAND和鑑權密鑰KI分別計算出期望響應XRES、加密密鑰CK、完整性密鑰IK。根據隨機數RAND、序列號SQNHE、鑑權密鑰KI和AMF計算產生出消息鑑權編碼MAC-A,再根據MAC-A、SQNHE、匿名密鑰AK及鑑權管理域AMF產生AUTN。這裡,當需要對SQNHE進行加密時,HLR/AUC根據RAND和KI產生AK,使用AK對SQNHE作異或運算,從而加密SQNHE;當不需要對SQNHE進行加密時,AK=0;然後HLR/AUC將RAND、AUTN、XRES、CK和IK組成的五元組和對應的IMSI一起發送給MSC/VLR。鑑權時,MSC/VLR向終端發起鑑權請求,並同時將五元組中相應的鑑權參數RAND和AUTN發送給終端。
實際應用中,不產生期望響應XRES、加密密鑰CK及完整性密鑰IK也不影響本發明的實現。可視為對本實施例的變形。
步驟203,終端接收到鑑權請求時,先對網絡進行鑑權,判斷鑑權是否通過。
具體地說,終端接收到來自網絡側的隨機數RAND和鑑權標記AUTN時,根據接收到的RAND、自身保存的KI和接收到的AUTN中的SQNHE以及AMF採用與HLR/AUC計算AUTN中MAC-A一致的算法生成MAC-A,然後終端將自身生成的MAC-A與網絡側生成的MAC-A比較,若不一致,則認為對網絡的鑑權未通過,執行步驟204;若一致,則執行步驟205。
步驟204中,終端向網絡返回「鑑權失敗」的信息,然後結束本次流程。
步驟205,終端判斷SQNHE是否在可接受範圍內,如果是,則判斷出對網絡鑑權通過,並執行步驟206,否則,判斷出同步失敗,並執行步驟207。
步驟206,終端用約定的特定值代替SQNMS產生再同步標記AUTS,對網絡發起再同步請求命令,並附上再同步標記AUTS。具體地說,終端用約定的特定值代替SQNMS並根據自己的KI和接收到的RAND以及AMF等計算得到MAC-S,再用約定的特定值代替SQNMS並根據AK和MAC-S產生再同步標記AUTS,向網絡側發送再同步請求命令並附上所述再同步標記AUTS。也即,向MSC/VLR發送同步失敗消息,該同步失敗消息中包含了AUTS。該約定的特定值對應的約定內容,也即網絡側識別到該約定的特定值時執行的內容為「產生新的鑑權密鑰」;在本步驟中還包括終端根據RAND和KI產生新的鑑權密鑰。然後執行步驟208。
步驟206,終端可以進一步根據SQNHE更新保存的SQNMS。
步驟207,終端直接根據SQNMS產生再同步標記AUTS,對網絡發起再同步請求命令,並附上再同步標記AUTS。具體地說,終端根據自己的KI、SQNMS和接收到的RAND以及AMF等計算得到MAC-S,再根據SQNMS、AK和MAC-S產生再同步標記AUTS,然後對網絡側發起再同步請求命令,並附上該再同步標記AUTS。也即,向MSC/VLR發送同步失敗消息,該同步失敗消息中包含了AUTS。然後執行步驟208。
步驟208,網絡側接收到再同步請求命令時,根據對應五元組中的RAND、保存的KI、接收到的AUTS中的SQNMS和AMF等採用與終端意一致的算法計算得到MAC-S,然後通過比較自身產生的MAC-S與接收到的AUTS中的MAC-S是否一致來對終端鑑權,若MAC-S值比較一致則認為鑑權通過,即認為AUTS合法,然後執行步驟209;否則,認為AUTS非法,執行步驟212;具體地說,網絡側的MSC/VLR接收到終端返回的再同步標記AUTS時,將AUTS和對應五元組中的RAND一併發送給HLR/AUC,HLR/AUC先根據接收到RAND、AUTS中的SQNMS、自己保存的KI和AMF等採用與終端一致的算法計算得出MAC-S,再將之與接收到的AUTS中的MAC-S比較,若一致,判斷出AUTS合法,否則,判斷出AUTS非法。需要說明的是,如果AUTS中SQNMS根據AK進行了加密,HLR/AUC可以根據RAND和KI產生AK來解密SQNMS密文,得到SQNMS明文。由於這是3GPP協議規範內容,因此,這裡不對其進行詳細敘述。
步驟209,網絡側HLR/AUC判斷AUTS中的SQNMS是否為約定的特定值。如果為約定的特定值則執行步驟210;如果不為約定的特定值則執行步驟211;步驟210,網絡側執行約定的特定值對應的約定內容,即執行鑑權密鑰更新動作,也就是HLR/AUC根據RAND和KI採用與終端一致的算法產生新的鑑權密鑰,然後結束本次信息傳遞流程。
步驟211,HLR/AUC根據SQNMS的值更新SQNHE,然後結束本次信息傳遞流程。
步驟212,網絡側返回失敗信息;然後結束本次信息傳遞流程。
對本發明而言,在步驟206以及207中,實際中產生MAC-S時,不使用AMF也不影響本方法的實現,即也可僅根據RAND、KI、SQNMS計算產生,至於具體算法可參照3GPP規範。當然,若終端如此操作時,在步驟208中,網絡側也應採取與終端一致的參數和算法來生成MAC-S對終端鑑權,這樣的改變應視為對本實施例的變形,應屬於本發明的保護範圍。
本實施例中,步驟208和209,及其以後步驟,網絡側接收到再同步請求命令時,網絡側HLR/AUC可以先判斷AUTS中的SQNMS是否為約定的特定值,如果不是,則按照正常的同步流程處理,而不是直接執行步驟211,否則,即,判斷出AUTS中的SQNMS為約定的特定值時,進一步判斷AUTS的合法性,並在判斷出AUTS合法後執行步驟210,在判斷出AUTS非法後執行步驟212。
請參閱圖3,圖3所示為本發明具體實施方式
一的第二實施例,本實施例中相對於上述第一實施例,網絡側接收到再同步請求命令時,網絡側HLR/AUC可以先判斷AUTS中的SQNMS是否為約定的特定值,後判斷AUTS的合法性,如下在步驟301,終端向網絡發起位置更新請求;在步驟302,網絡側接收到所述請求後,通過對終端發送鑑權請求,將產生的對應該終端的鑑權元組中的相應的鑑權參數發送給終端。
具體地說,HLR/AUC根據隨機數發生器產生隨機數RAND,根據RAND和鑑權密鑰KI分別計算出期望響應XRES、加密密鑰CK、完整性密鑰IK。根據隨機數RAND、序列號SQNHE、鑑權密鑰KI和AMF計算產生出消息鑑權編碼MAC-A,再根據MAC-A、SQNHE、匿名密鑰AK及鑑權管理域AMF產生AUTN。這裡,當需要對SQNHE進行加密時,HLR/AUC根據RAND和KI產生AK,使用AK對SQNHE作異或運算,從而加密SQNHE;當不需要對SQNHE進行加密時,AK=0;然後HLR/AUC將RAND、AUTN、XRES、CK和IK組成的五元組和對應的IMSI一起發送給MSC/VLR。鑑權時,MSC/VLR向終端發起鑑權請求,並同時將五元組中相應的鑑權參數RAND和AUTN發送給終端。
實際應用中,不產生期望響應XRES、加密密鑰CK及完整性密鑰IK也不影響本發明的實現。可視為對本實施例的變形。
步驟303,終端接收到鑑權請求時,先對網絡進行鑑權,判斷鑑權是否通過。
具體地說,終端接收到來自網絡側的隨機數RAND和鑑權標記AUTN時,根據接收到的RAND、自身保存的KI和接收到的AUTN中的SQNHE以及AMF採用與HLR/AUC計算AUTN中MAC-A一致的算法生成MAC-A,然後終端將自身生成的MAC-A與網絡側生成的MAC-A比較,若不一致,則認為對網絡的鑑權未通過,執行步驟304;若一致,則執行步驟305。
步驟304中,終端向網絡返回「鑑權失敗」的信息,然後結束本次流程。
步驟305,終端判斷SQNHE是否在可接受範圍內,如果是,則判斷出對網絡鑑權通過,並執行步驟306,否則,判斷出同步失敗,並執行步驟307。
步驟306,終端用約定的特定值代替SQNMS產生再同步標記AUTS,對網絡發起再同步請求命令,並附上再同步標記AUTS。具體地說,終端用約定的特定值代替SQNMS並根據自己的KI和接收到的RAND以及AMF等計算得到MAC-S,再用約定的特定值代替SQNMS並根據AK和MAC-S產生再同步標記AUTS,向網絡側發送再同步請求命令並附上所述再同步標記AUTS。也即,向MSC/VLR發送同步失敗消息,該同步失敗消息中包含了AUTS。該約定的特定值對應的約定內容,也即網絡側識別到該約定的特定值時執行的內容為「產生新的鑑權密鑰」;在本步驟中還包括終端根據RAND和KI產生新的鑑權密鑰。然後執行步驟308。
步驟306,終端可以進一步根據SQNHE更新保存的SQNMS。
步驟307,終端直接根據SQNMS產生再同步標記AUTS,對網絡發起再同步請求命令,並附上再同步標記AUTS。具體地說,終端根據自己的KI、SQNMS和接收到的RAND以及AMF等計算得到MAC-S,再根據SQNMS、AK和MAC-S產生再同步標記AUTS,然後對網絡側發起再同步請求命令,並附上該再同步標記AUTS。也即,向MSC/VLR發送同步失敗消息,該同步失敗消息中包含了AUTS。然後執行步驟308。
步驟308,網絡側接收到再同步請求命令時,網絡側HLR/AUC判斷AUTS中的SQNMS是否為約定的特定值。如果為約定的特定值則執行步驟309;如果不為約定的特定值則執行步驟310;需要說明的是,如果AUTS中SQNMS根據AK進行了加密,HLR/AUC可以根據RAND和KI產生AK來解密SQNMS密文,得到SQNMS明文。由於這是3GPP協議規範內容,因此,這裡不對其進行詳細敘述。
步驟309,網絡側根據對應五元組中的RAND、保存的KI、接收到的AUTS中的SQNMS和AMF等採用與終端一致的算法計算得到MAC-S,然後通過比較自身產生的MAC-S與接收到的AUTS中的MAC-S是否一致來對終端鑑權,若MAC-S值比較一致則認為鑑權通過,即認為AUTS合法,然後執行步驟311;否則,認為AUTS非法,執行步驟313;具體地說,網絡側的MSC/VLR接收到終端返回的再同步標記AUTS時,將AUTS和對應五元組中的RAND一併發送給HLR/AUC,HLR/AUC先根據接收到RAND、AUTS中的SQNMS、自己保存的KI和AMF等採用與終端一致的算法計算得出MAC-S,再將之與接收到的AUTS中的MAC-S比較,若一致,判斷出AUTS合法,否則,判斷出AUTS非法。
步驟311,網絡側執行約定的特定值對應的約定內容,即執行鑑權密鑰更新動作,也就是HLR/AUC根據RAND和KI採用與終端一致的算法產生新的鑑權密鑰,然後結束本次信息傳遞流程。
步驟310,網絡側根據對應五元組中的RAND、保存的KI、接收到的AUTS中的SQNMS和AMF等採用與終端意一致的算法計算得到MAC-S,然後通過比較自身產生的MAC-S與接收到的AUTS中的MAC-S是否一致來對終端鑑權,若MAC-S值比較一致則認為鑑權通過,即認為AUTS合法,然後執行步驟312;否則,認為AUTS非法,執行步驟313;具體地說,網絡側的MSC/VLR接收到終端返回的再同步標記AUTS時,將AUTS和對應五元組中的RAND一併發送給HLR/AUC,HLR/AUC先根據接收到RAND、AUTS中的SQNMS、自己保存的KI和AMF等採用與終端一致的算法計算得出MAC-S,再將之與接收到的AUTS中的MAC-S比較,若一致,判斷出AUTS合法,否則,判斷出AUTS非法。
步驟312,HLR/AUC根據SQNMS的值更新SQNHE,然後結束本次信息傳遞流程。
步驟313,網絡側返回失敗信息;然後結束本次信息傳遞流程。
對本發明而言,在步驟306以及307中,實際中產生MAC-S時,不使用AMF也不影響本方法的實現,即也可僅根據RAND、KI、SQNMS計算產生,至於具體算法可參照3GPP規範。當然,若終端如此操作時,在步驟309或310中,網絡側也應採取與終端一致的參數和算法來生成MAC-S對終端鑑權,這樣的改變應視為對本實施例的變形,應屬於本發明的保護範圍。
上述實施方式和實施例中,說明了對於SQNMS是否為約定的特定值的判斷,以及對於AUTS的合法性判斷,其順序可以調換,一般情況下,調換判斷順序並不影響到實施效果。但值得注意的是,在先判斷SQNMS是否為約定的特定值,後判斷AUTS的合法性的情況下,HLR/AUC在判斷出SQNMS為約定的特定值後,可以根據SQNMS的特定值來進一步確定判斷AUTS合法性時使用的判斷處理方式,比如,使用何種算法或參數來執行判斷,等等。因此,先判斷SQNMS是否為約定的特定值,後判斷AUTS的合法性的情況可以使得本方法具有更強的擴展性。
本發明所述的方法,不只可用於向網絡側傳送密鑰更新請求信息,還可以向HLR/AUC傳送更新鑑權算法的請求信息,還可以向網絡側傳送終端是否執行防盜驗證和取消防盜驗證信息,以及向HLR/AUC傳送終端是否支持變換SQN驗證參數和設置限制IK和CK的有效時間的閾值等等。
對於HLR/AUC發起密鑰更新的情況下,終端可以利用本發明方法向HLR/AUC返回密鑰更新是否成功的信息。
實際當中,可以設定SQNMS的某些值可以用作約定的特定值,比如,設定SQNMS小於256範圍內的值作為可以用作約定的特定值,顯然,這樣SQNMS用於判斷AUTN是否可以接受的初始值應該大於等於256,當然,也可以設置某一個值,比如1024為可以用作約定的特定值。還可以同時設定SQNMS在某一範圍內的值和某些特定值作為可以用作約定的特定值,例如可以同時設定SQNMS小於256範圍內的值和1024、2048兩個特定值作為可以用作約定的特定值。例如,約定將SQNMS=128表示為終端向HLR/AUC傳送請求更新鑑權密鑰的信息,將SQNMS=12表示為終端向HLR/AUC傳送終端設置防盜驗證的信息,將SQNMS=13表示為終端向HLR/AUC傳送終端取消防盜驗證的信息,將SQNMS=1023表示為終端向HLR/AUC傳送密鑰更新成功的信息,將SQNMS=1024表示為終端向HLR/AUC傳送密鑰更新失敗的信息。
上述MSC/VLR為電路域設備,對於分組域的網絡,對應的MSC/VLR設備為SGSN,因此本發明可以等同應用於分組域。
上述各個具體實施方式
或實施例中,終端和HLR/AUC產生新鑑權密鑰可以是使用成熟的摘要算法,相應摘要算法可以參見《應用密碼學》一書或相關的算法論文或報告;當然,產生新密鑰時,也可以使用3GPP協議中提到的由隨機數RAND和鑑權密鑰KI產生加密密鑰CK或完整性密鑰IK的算法來進行。
上述各個具體實施方式
或實施例中,終端對於AUTN一致性驗證,對於SQNHE是否屬於可接受範圍的判斷,HLR/AUC對於AUTS合法性的驗證,以及HLR/AUC產生鑑權元組時,對於SQNHE的更新;產生鑑權元組的算法,以及產生AUTS的算法,等等,可以參見3GPP相關協議,由於是公知技術,這裡不再贅述。
下面對本發明的具體實施方式
二進行介紹,通過具體實施方式
二對本發明在兩個通信模塊間的實施及應用予以說明,所述模塊包括第一模塊和第二模塊,在第一模塊中保存第一鑑權密鑰AK1和第一同步密鑰SK1,在第二模塊對應地保存第二鑑權密鑰AK2和第二同步密鑰SK2;在第一模塊中保存第一序列號SQN1,在第二模塊中保存第二序列號SQN2。
鑑權時,第二模塊將產生的鑑權參數信息發送給第一模塊,所述鑑權參數信息包括一個隨機數RAND,SQN2和一個消息鑑權編碼MAC-A;實際當中,第二模塊產生鑑權參數信息時,首先產生一個隨機數RAND,比如,第二模塊設置一個隨機數發生器,通過隨機數發生器產生該隨機數RAND,然後根據隨機數RAND、SQN2和AK2進行計算,得到消息鑑權編碼MAC-A;第一模塊對接收自第二模塊的鑑權參數信息進行一致性驗證,也即,對MAC-A進行一致性驗證,這裡是根據AK1和接收自第二模塊的RAND以及SQN2,按照和第二模塊計算MAC-A一致的方法進行計算,得到一個計算結果,並比較自己計算得到的結果和接收自第二模塊的MAC-A是否一致,如果不一致,則對MAC-A的一致性驗證不通過,判斷出對第二模塊鑑權不通過。如果MAC-A的一致性驗證通過,則第一模塊根據自己保存的SQN1驗證SQN2是否可以接受,如果可以接受,則判斷出對第二模塊鑑權通過,並根據SQN2更新SQN1;如果判斷SQN2不可以接受,則第一模塊根據RAND、SQN1和SK1進行計算得到一個再同步鑑權編碼MAC-S,向第二模塊發送再同步消息,消息中包括SQN1和MAC-S。第二模塊驗證第一模塊的再同步消息的合法性,也即驗證再同步鑑權編碼MAC-S的合法性,這裡是根據自己保存的SK2、RAND和接收自第一模塊的SQN1,按照和第一模塊計算MAC-S一致的方法進行計算,得到一個計算結果,並比較自己計算得到的結果和接收自第一模塊的MAC-S是否一致,如果一致,則判斷出第一模塊的再同步消息合法,並根據SQN1更新SQN2;如果不一致,則判斷出第一模塊的再同步消息非法。這裡,第二模塊驗證MAC-S一致性時,需要用到RAND,第二模塊可以事先在產生鑑權參數之後保存了對應的RAND,也可以是由第一模塊將該RAND回送給第二模塊,需要注意的是,由第一模塊將該RAND回送給第二模塊的做法降低了本方法的安全性,例如,可能受到消息重放的攻擊。
上述第一模塊根據SQN2更新SQN1,可以是將SQN1的值設置為等於SQN2。
上述第二模塊根據SQN1更新SQN2,可以是將SQN2的值設置為等於SQN1,或者根據SQN1產生一個新值來代替SQN2本身的值;或在將SQN2的值設置為等於SQN1之後,重新根據SQN2產生一個新值來代替SQN2本身的值。根據SQN1或SQN2產生一個新值可以是對SQN1或SQN2增加一個隨機增量,比如增加一個1到256之間的隨機數來得到所述新值。實際當中,可以通過隨機數發生器來產生1到256之間的隨機數。
上述第一模塊根據自己保存的SQN1驗證SQN2是否可以接受,可以是判斷SQN1和SQN2的差值是否在一定的範圍內,例如,是否(SQN1-SQN2)大於0,或者是否(SQN1-SQN2)大於0且小於256,等等。如果差值在所述範圍內,則判斷出SQN2可以接受,否則,判斷SQN2不可以接受。
上述計算MAC-A和MAC-S值的計算可以是已知的摘要計算,也可以是使用業界公知的一些算法來進行。
上述第二模塊更新SQN2以後,可以重新開始上述鑑權流程,即第二模塊產生一個隨機數RAND,比如,第二模塊通過設置的隨機數發生器產生該隨機數RAND。第二模塊根據隨機數RAND、SQN2和AK2進行計算,得到一個消息鑑權編碼MAC-A,並將RAND、SQN2和MAC-A發送給第一模塊,第一模塊進行相應處理,等等。
第一模塊和第二模塊預先約定第二模塊在接收到第一模塊的再同步消息後,如果判斷出SQN1為約定的特定值時,則根據該特定值執行對應的約定內容,也即執行對應操作。
根據約定,第一模塊可以向第二模塊傳送特定的信息,使第二模塊根據特定信息執行對應的特定操作。
第一模塊可以和第二模塊預先約定第二模塊在接收到第一模塊的再同步消息後,如果判斷出SQN1為約定的特定值時,則根據該特定值執行對應的約定內容,也即執行對應操作。所述執行對應約定的內容可以是執行密鑰更新、執行鑑權算法更新、獲得相關信息和返回特殊操作執行結果信息等等操作中的一個或者多個。所述獲得相關信息可以是獲得第一模塊是否具備某種能力,例如,根據SQN1的值獲得第一模塊是否支持GPS定位功能,是否支持行動支付等等,所述特殊操作可以第一模塊執行的一些特定操作,例如根據某種配置進行初始化操作執行結果,等等。
請參閱圖4,為本發明具體實施方式
二的第一實施例中,第一模塊需要向第二模塊傳送特定的信息時的主流程在步驟402,鑑權時,第二模塊將產生的鑑權參數信息發送給第一模塊。
所述鑑權參數信息包括一個隨機數RAND,SQN2和一個消息鑑權編碼MAC-A;實際當中,第二模塊產生鑑權參數時,首先產生一個隨機數RAND,比如,第二模塊通過設置的隨機數發生器產生該隨機數RAND,然後根據隨機數RAND、SQN2和AK2進行計算,得到一個消息鑑權編碼MAC-A,並將RAND、SQN2和MAC-A作為要發送給第一模塊的鑑權參數;在步驟403,第一模塊對接收自第二模塊的消息進行一致性驗證,也即,根據AK1和接收自第二模塊的RAND以及SQN2,按照和第二模塊計算MAC-A一致的方法進行計算,得到一個計算結果,並比較自己計算得到的結果和接收的MAC-A是否一致,如果不一致,則判斷出對第二模塊鑑權不通過。如果一致性驗證通過,則執行步驟404。
在步驟404,第一模塊根據自己保存的SQN1驗證SQN2是否可以接受,如果可以接受,則判斷出對第二模塊鑑權通過,並根據SQN2更新SQN1,執行步驟405;否則,如果判斷SQN2不可以接受,則執行步驟406。
在步驟405,第一模塊用約定的特定值代替SQN1並根據自己的SK1和接收到的RAND等進行計算得到一個再同步鑑權編碼MAC-S,向第二模塊發送再同步消息,消息中包括代替SQN1的所述約定的特定值和MAC-S,第二模塊接收到再同步消息後進入執行同步處理的子流程。
在步驟406,第一模塊根據RAND、SQN1和SK1進行計算得到一個消息鑑權編碼MAC-S,第一模塊向第二模塊發送再同步消息,消息中包括SQN1和MAC-S,第二模塊接收到再同步消息後進入執行同步處理的子流程。
上述步驟404第一模塊根據自己保存的SQN1驗證SQN2是否可以接受,可以是判斷SQN1和SQN2的差值是否在一定的範圍內,例如,是否(SQN1-SQN2)大於0,或者是否(SQN1-SQN2)大於0且小於256,等等。如果差值在所述範圍內,則判斷出SQN2可以接受,否則,判斷SQN2不可以接受。
請參閱圖5,為本發明具體實施方式
二的第一實施例中,第一模塊不需要向第二模塊傳送特定的信息時的主流程在步驟502,鑑權時,第二模塊將產生的鑑權參數信息發送給第一模塊。
所述鑑權參數信息包括一個隨機數RAND,SQN2和一個消息鑑權編碼MAC-A;實際當中,第二模塊產生鑑權參數時,首先產生一個隨機數RAND,比如,第二模塊通過設置的隨機數發生器產生該隨機數RAND,第二模塊根據隨機數RAND、SQN2和AK2進行計算,得到一個消息鑑權編碼MAC-A,並將RAND、SQN2和MAC-A作為要發送給第一模塊的鑑權參數;在步驟503,第一模塊對接收自第二模塊的消息進行一致性驗證,也即,根據AK1和接收自第二模塊的RAND以及SQN2,按照和第二模塊計算MAC-A一致的方法進行計算,得到一個計算結果,並比較自己計算得到的結果和接收的MAC-A是否一致,如果不一致,則判斷出對第二模塊鑑權不通過。如果一致性驗證通過,則執行步驟504。
在步驟504,第一模塊根據自己保存的SQN1驗證SQN2是否可以接受,如果可以接受,則判斷出對第二模塊鑑權通過,執行步驟506,即根據SQN2更新SQN1,並結束流程;否則,如果判斷SQN2不可以接受,則執行步驟505。
在步驟505,第一模塊根據RAND、SQN1和SK1進行計算得到一個消息鑑權編碼MAC-S,第一模塊向第二模塊發送再同步消息,消息中包括SQN1和MAC-S,第二模塊接收到再同步消息後進入執行同步處理的子流程。
上述步驟504第一模塊根據自己保存的SQN1驗證SQN2是否可以接受,可以是判斷SQN1和SQN2的差值是否在一定的範圍內,例如,是否(SQN1-SQN2)大於0,或者是否(SQN1-SQN2)大於0且小於256,等等。如果差值在所述範圍內,則判斷出SQN2可以接受,否則,判斷SQN2不可以接受。
請參閱圖6,為本發明具體實施方式
二的第一實施例中的第二模塊執行同步處理的子流程在步驟601,第二模塊驗證第一模塊的再同步消息的合法性,如果第一模塊的再同步消息合法則執行步驟602,如果第一模塊的再同步消息非法則執行步驟603,即返回同步失敗信息,結束流程。
在步驟602,第二模塊判斷再同步消息中SQN1是否為約定的特定值,如果不是,則執行步驟604;如果是,則執行步驟605。
在步驟604,根據SQN1更新SQN2,結束流程。
在步驟605,第二模塊執行對應約定的內容,也即執行對應操作。實際當中,可以預先約定第二模塊在接收到第一模塊的再同步消息後,如果判斷出再同步消息中SQN1為約定的特定值時,則根據該特定值執行對應的約定內容,也即執行對應操作。然後,結束流程。
請一併參閱本發明的圖4、圖5及圖7,為本發明的具體實施方式
二的第二實施例,與上述第一實施例的區別在於第一實施例中第二模塊執行同步處理的子流程時,先進行再同步消息的合法性判斷,而後進行再同步消息中SQN1是否為約定的特定值的判斷。在本實施例中,先判斷再同步消息中SQN1是否為約定的特定值,而後進行再同步消息的合法性判斷,如圖7所示在步驟701,第二模塊驗證第一模塊的再同步消息中SQN1是否為約定的特定值,如果是,則執行步驟702,否則,執行步驟703。
在步驟702,第二模塊驗證第一模塊的再同步消息的合法性,如果第一模塊的再同步消息合法則執行步驟704,如果第一模塊的再同步消息非法,則執行步驟706。
在步驟703,第二模塊驗證第一模塊的再同步消息的合法性,如果第一模塊的再同步消息合法則執行步驟705,否則,如果第一模塊的再同步消息非法,則執行步驟706。
在步驟704,第二模塊執行對應約定的內容,也即執行對應操作。實際當中,可以預先約定B模塊在接收到A模塊的再同步消息後,如果判斷出再同步消息中SQN1為約定的特定值時,則根據該特定值執行對應的約定內容,也即執行對應操作。然後結束流程。
在步驟705,根據SQN1更新SQN2,然後結束流程。
步驟706,返回同步失敗信息,然後結束流程。
上述具體實施方式
二中,第二模塊執行同步處理的子流程時,第二模塊驗證第一模塊的再同步消息的合法性具體可以是,第二模塊根據自己保存的SK2、RAND和接收自第一模塊的SQN1,按照和第一模塊計算MAC-S一致的方法進行計算,得到一個計算結果,並比較自己計算得到的結果和接收自第一模塊的MAC-S是否一致,如果一致,則判斷出MAC-S合法,也即第一模塊的再同步消息合法;如果不一致,則判斷出MAC-S非法,也即第一模塊的再同步消息非法。這裡,第二模塊驗證MAC-S一致性時,需要用到RAND,第二模塊可以事先在產生鑑權參數之後保存了對應的RAND,也可以是由第一模塊將該RAND回送給第二模塊,當然,後者可能會存在一定的安全隱患,例如,可能受到消息重放的攻擊。
上述具體實施方式
或實施例中,說明了對於SQN1是否為約定的特定值的判斷,以及對於再同步消息的合法性判斷,其順序可以調換,一般情況下,調換判斷順序並不影響到實施效果。但值得注意的是,在具體實施方式
二的第二實施例中,即先判斷SQN1是否為約定的特定值,後判斷再同步消息的合法性的情況下,第二模塊在判斷出SQN1為約定的特定值後,可以根據SQN1的特定值來進一步確定判斷再同步消息合法性時所使用的判斷處理方式,比如,根據所述約定的特定值確定使用何種算法或採用哪些參數來執行所述對再同步消息的合法性判斷,等等。因此,先判斷SQN1是否為約定的特定值,後判斷再同步消息的合法性的情況可以使得本方法具有更強的擴展性。
上述具體實施方式
或實施例中,第一模塊再計算再同步鑑權編碼時,可以不使用隨機數參與運算,相應的,第二模塊驗證第一模塊的再同步消息的合法性時,也不使用隨機數參與運算。不過,這樣會降低第一同步密鑰的安全性,是針對本發明的一種改劣實現,因此,這裡不再詳細闡述這種改劣方法的具體實施步驟。
上述具體實施方式
或實施例中,在第一模塊中,第一鑑權密鑰AK1和第一同步密鑰SK1可以相同,也即,第一鑑權密鑰AK1和第一同步密鑰SK1可以是同一個密鑰;相應地,在第二模塊中,第二鑑權密鑰AK2和第二同步密鑰SK2也可以相同,也即,第二鑑權密鑰AK2和第二同步密鑰SK2也可以是同一個密鑰。
上述第二實施方式及相關實施例中,可以設定SQN1的某些值用作約定的特定值,比如,設定SQN1小於256範圍內的值作為可以用作約定的特定值,顯然,這樣SQN1用於判斷SQN2是否可以接受的初始值應該大於等於256。當然,也可以設置某一個值,比如1024為可以用作約定的特定值。還可以同時設定SQN1在某一範圍內的值和某些特定值作為可以用作約定的特定值,例如可以同時設定SQN1小於256範圍內的值和1024、2048兩個特定值作為可以用作約定的特定值。例如,約定將SQN1=128表示為向第二模塊傳送更新鑑權密鑰的信息,將SQN1=1023表示為向第二模塊傳送密鑰更新成功的信息,將SQN1=1024表示為向第二模塊傳送密鑰更新失敗的信息。
可以理解,以上所述僅為本發明的較佳實施例,並不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。
權利要求
1.一種信息傳遞方法,用於3G網絡中終端向網絡傳遞信息,其特徵在於,所述方法包括以下步驟a.終端用約定的特定值代替SQNMS產生再同步標記AUTS,對網絡發送再同步請求命令且附上所述再同步標記AUTS;b.網絡側在接收到所述再同步請求命令並判斷出所述再同步標記AUTS中的SQNMS為所述約定的特定值時,執行所述約定的特定值對應的操作。
2.根據權利要求1所述的方法,其特徵在於,所述方法還包括,在步驟a之前終端對網絡側發送可引起鑑權流程的命令或請求,網絡側接收到所述命令或請求時對終端發起鑑權請求且附上產生的相應的鑑權參數,相應地,在步驟a中,終端接收所述鑑權參數並在向網絡側發送再同步請求命令前根據所述鑑權參數對網絡進行鑑權。
3.根據權利要求2所述的方法,其特徵在於,所述步驟a之前終端對網絡側發送可引起鑑權流程的命令或請求可以是位置更新請求或業務請求。
4.根據權利要求2所述的方法,其特徵在於,所述鑑權參數包括隨機數RAND和鑑權標記AUTN,相應的,在步驟a中所述對網絡進行鑑權是根據RAND和AUTN對網絡鑑權。
5.根據權利要求4所述的方法,其特徵在於,根據RAND和AUTN對網絡鑑權是指判斷AUTN是否滿足一致性要求,如果不滿足,則對網絡鑑權失敗。
6.根據權利要求5所述的方法,其特徵在於,判斷出AUTN滿足一致性要求後,進一步判斷SQNHE是否在可接受的範圍內,如果是,則確認對網絡鑑權通過,用所述約定的特定值代替SQNMS產生再同步標記AUTS,否則,直接根據SQNMS產生再同步標記AUTS。
7.根據權利要求1所述的方法,其特徵在於,步驟b還包括判斷AUTS是否合法。
8.根據權利要求7所述的方法,其特徵在於,所述步驟b中判斷出SQNMS為所述約定的特定值後進一步判斷AUTS是否合法,若合法則執行對應的約定內容。
9.根據權利要求7所述的方法,其特徵在於,所述步驟b中判斷出AUTS合法後進一步判斷SQNMS是否為所述約定的特定值,若是則執行對應的約定內容,否則,根據SQNMS更新SQNHE。
10.根據權利要求1所述的方法,其特徵在於,所述約定的特定值是指約定某一範圍內的值或某個或多個具體值。
11.根據權利要求1所述的方法,其特徵在於,所述執行約定內容可以是執行密鑰更新、執行鑑權算法更新、執行防盜驗證、取消防盜驗證、獲得相關信息和返回特殊操作執行結果信息中一個或多個。
12.一種鑑權方法,用於通信網絡中終端與網絡間的鑑權,所述方法包括以下步驟a.網絡側產生隨機數,並根據隨機數、終端的鑑權密鑰和序列號生成鑑權元組,發送給終端;b.終端根據自身保存的鑑權密鑰對所述鑑權元組進行一致性驗證,並根據自身保存的序列號判斷來自網絡的序列號是否可接受,判斷出對所述鑑權元組的一致性驗證通過,且所述來自網絡的序列號可接受時,對網絡鑑權通過,並用約定的特定值代替終端保存的序列號生成再同步標記,向網絡發送再同步請求且附上所述再同步標記;c.網絡在接收到所述再同步請求,判斷出所述再同步標記中的所述序列號為所述約定的特定值時,執行約定的對應操作。
13.根據權利要求12所述的方法,其特徵在於,所述方法還包括在步驟a之前,終端對網絡側發送可引起鑑權流程的命令或請求,所述命令或請求可以是位置更新請求或業務請求。
14.根據權利要求12所述的方法,其特徵在於,所述步驟b中還包括,當終端判斷出對來自網絡的所述鑑權元組一致性驗證通過但來自網絡的序列號不屬於可接受的範圍時,直接根據終端保存的序列號生成再同步標記,向網絡發送再同步請求且附上所述再同步標記。
15.根據權利要求12所述的方法,其特徵在於,所述步驟b中還包括,當終端判斷出對來自網絡的所述鑑權元組一致性驗證未通過時,則向網絡發送鑑權失敗信息。
16.根據權利要求12所述的方法,其特徵在於,所述步驟b中還包括,終端判斷出對所述鑑權元組的一致性驗證通過,且所述來自網絡的序列號可接受時,根據所述來自網絡側的序列號更新終端側保存的序列號。
17.根據權利要求12所述的方法,其特徵在於,所述步驟c中還包括網絡側對所述再同步標記進行合法性判斷。
18.根據權利要求17所述的方法,其特徵在於,所述步驟c可以進一步是判斷出所述來自終端的序列號為所述約定的特定值後進一步判斷再同步標記是否合法,若合法則執行對應的約定內容。
19.根據權利要求17所述的方法,其特徵在於,所述步驟c可以進一步是判斷出再同步標記合法後進一步判斷所述來自終端的序列號是否為所述約定的特定值,若是則執行對應的約定內容,否則,根據所述來自終端的序列號更新網絡側保存的序列號。
20.根據權利要求12到19中任一項所述的方法,其特徵在於,所述約定的特定值是指約定某一範圍內的值或某個或多個具體值。
21.根據權利要求12到19中任一項所述的方法,其特徵在於,所述執行約定內容可以是執行密鑰更新、執行鑑權算法更新、執行防盜驗證、取消防盜驗證、獲得相關信息和返回特殊操作執行結果信息中一個或多個。
22.一種鑑權方法,用於可相互通信的模塊之間的鑑權,所述模塊至少包括保存了第一鑑權密鑰、第一同步密鑰和第一序列號的第一模塊,以及保存了第二鑑權密鑰、第二同步密鑰和第二序列號的第二模塊,其特徵在於,所述方法至少包括以下步驟a.第二模塊產生隨機數,並根據隨機數、第二鑑權密鑰和第二序列號生成消息鑑權編碼,將所述隨機數、第二序列號和生成的消息鑑權編碼發送給第一模塊;b.第一模塊根據第一鑑權密鑰和所述隨機數以及第二序列號對所述消息鑑權編碼進行一致性驗證,並根據第一序列號判斷第二序列號是否可接受,判斷出對所述消息鑑權編碼的一致性驗證通過,且第二序列號可接受時,對第二模塊的鑑權通過,並用約定的特定值代替第一序列號和所述隨機數以及第一同步密鑰生成再同步鑑權編碼,向第二模塊發送再同步請求且附上所述再同步鑑權編碼和代替第一序列號的所述約定的特定值;c.第二模塊在接收到所述再同步請求,判斷出來自第一模塊的第一序列號為所述約定的特定值時,執行約定的對應操作。
23.根據權利要求22所述的方法,其特徵在於,所述步驟b中所述用約定的特定值代替第一序列號和第一同步密鑰生成再同步鑑權編碼進一步是用約定的特定值代替第一序列號和所述隨機數以及第一同步密鑰生成再同步鑑權編碼。
24.根據權利要求23所述的方法,其特徵在於,所述步驟b中還包括,第一模塊判斷出對所述消息鑑權編碼的一致性驗證通過,且第二序列號可接受時,根據所述第二序列號更新第一序列號。
25.根據權利要求23所述的方法,其特徵在於,所述步驟b中還包括,當第一模塊判斷出對所述消息鑑權編碼的一致性驗證通過但第二序列號不屬於可接受的範圍時,直接根據終第一序列號和所述隨機數以及第一同步密鑰生成再同步鑑權編碼,向網絡發送再同步請求且附上所述再同步鑑權編碼和第一序列號。
26.根據權利要求23所述的方法,其特徵在於,所述步驟b中還包括,當第一模塊判斷出對所述消息鑑權編碼的一致性驗證未通過時,則向第二模塊發送鑑權失敗信息。
27.根據權利要求23所述的方法,其特徵在於,所述步驟b中,第一模塊對所述消息鑑權編碼進行一致性驗證進一步是第一模塊根據第一鑑權密鑰、所述隨機數和第二序列號採用和第二模塊根據所述隨機數、第二鑑權密鑰和第二序列號產生消息鑑權編碼一致的方法產生一個運算結果,比較自己產生的運算結果和所述消息鑑權編碼是否一致,如果一致,則對所述消息鑑權編碼的一致性驗證通過,否則,對所述消息鑑權編碼的一致性驗證不通過。
28.根據權利要求23所述的方法,其特徵在於,所述步驟b中,第一模塊判斷第二序列號是否可接受進一步是判斷第二序列號和第一序列號的差值是否在一定的範圍內,如果是,則判斷出第二序列號可接受,否則,判斷出第二序列號不可以接受。
29.根據權利要求23所述的方法,其特徵在於,所述步驟c中還包括第二模塊對所述再同步鑑權編碼進行合法性判斷。
30.根據權利要求29所述的方法,其特徵在於,所述步驟c可以進一步是判斷出所述來自第一模塊的第一序列號為所述約定的特定值後進一步判斷再同步鑑權編碼是否合法,若合法則執行對應的約定內容;
31.根據權利要求29所述的方法,其特徵在於,所述步驟c可以進一步是判斷出來自第一模塊的再同步鑑權編碼合法後進一步判斷所述第一序列號是否為所述約定的特定值,若是則執行對應的約定內容,否則,根據所述第一序列號更新保存的第二序列號。
32.根據權利要求29所述的方法,其特徵在於,所述步驟c進一步包括判斷出來自第一模塊的再同步鑑權編碼非法後,返回失敗信息。
33.根據權利要求30到32中任一項所述的方法,其特徵在於,所述步驟c中第二模塊對所述再同步鑑權編碼進行合法性判斷進一步是第二模塊根據第二同步密鑰、所述隨機數和第一序列號採用和第一模塊根據所述隨機數、第一同步密鑰和第一序列號產生再同步鑑權編碼一致的方法產生一個運算結果,比較自己產生的運算結果和所述再同步鑑權編碼是否一致,如果一致,則判斷出再同步鑑權編碼合法,否則,判斷出再同步鑑權編碼非法。
34.根據權利要求22中所述的方法,其特徵在於,所述約定的特定值是指約定某一範圍內的值或某個或多個具體值。
35.根據權利要求22中所述的方法,其特徵在於,所述執行約定內容可以是執行密鑰更新、執行鑑權算法更新、獲得相關信息和返回特殊操作執行結果信息中一個或多個。
全文摘要
本發明公開了一種鑑權方法及相應的信息傳遞方法,該信息傳遞方法包括終端和網絡側預先約定網絡側判斷出SQNMS為約定的特定值時執行對應的約定內容,所述方法至少包括以下步驟a.終端用所述特定值代替SQNMS產生再同步標記AUTS,對網絡發送再同步請求命令且附上所述再同步標記AUTS;b.網絡側在接收到所述再同步請求命令並判斷出所述再同步標記AUTS中的SQNMS為所述約定的特定值時,執行所述約定內容。本發明終端向網絡傳遞信息的方法不需增加或改變現有的信令資源或鑑權參數,方便地從終端向網絡側傳遞信息且保障網絡安全性。
文檔編號H04W12/00GK1859729SQ200510085888
公開日2006年11月8日 申請日期2005年7月7日 優先權日2005年6月4日
發明者王正偉, 孔傑 申請人:華為技術有限公司