專利名稱:一種受控的密鑰更新方法
技術領域:
本發(fā)明涉及通信安全技術,具體涉及一種受控的鑒權密鑰更新方法。
背景技術:
現有的第三代移動通信系統(tǒng)中的鑒權流程,在移動終端中保存國際移動用戶標識IMSI、鑒權密鑰KI和序列號SQNMS,HLR/AUC中針對該移動終端對應保存IMSI、KI和序列號SQNHE,以用于移動終端和網絡相互鑒權。
3G通信系統(tǒng)的現有鑒權流程主要為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組成鑒權五元組,將該五元組發(fā)送給MSC/VLR保存。當然,實際當中,HLR/AUC是應MSC/VLR的請求才將產生的相應的一個或多個五元組發(fā)送給MSC/VLR的。鑒權時,MSC/VLR將對應五元組中RAND和AUTN發(fā)送給終端,終端根據自己保存的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發(fā)送給HLR/AUC,HLR/AUC根據對應保存的KI和接收到的RAND,判斷AUTS的合法性,如果不合法,則HLR/AUC向MSC/VLR返回AUTS不合法信息;如果判斷出AUTS合法,則HLR/AUC根據AUTS中的SQNMS更新SQNHE,并產生一個新的鑒權五元組發(fā)送給MSC/VLR,MSC/VLR接收到新的五元組后,刪除對應的舊的五元組并利用新五元組重新對終端鑒權。
終端通過比較自己保存的SQNMS和AUTN中的SQNHE是否滿足預定的條件來判斷SQNHE是否可以接受,該預定條件可以是SQNHE和SQNMS的差值在一個預定范圍內,例如,是否(SQNHE-SQNMS)大于0,或者是否(SQNHE-SQNMS)大于0且小于256。如果SQNHE和SQNMS的差值在所述預定范圍內,則判斷出SQNHE是可接受的;否則判斷出SQNHE是不可接受的。
關于3G鑒權流程的詳細內容,可以參照3GPP規(guī)范,為了突出本發(fā)明重點,本文不對其進行詳細闡述。
在現實當中,存在用戶卡克隆現象,這種現象不但給合法用戶帶來損失,還會影響到運營商的服務質量。后來有人發(fā)現,通過不斷地更新用戶卡的鑒權密鑰,可以避免或發(fā)現合法用戶卡被克隆。例如,有一種通過假同步更新鑒權密鑰的方法,通過在產生同步標記時,使用特定值替代SQNMS來進行,使得網絡側HLR/AUC可以根據該特定值判斷同步請求為一個假同步,即是一個要更新鑒權密鑰的同步,不是要更新SQNHE的同步,因此,HLR/AUC和用戶卡可以完成更新鑒權密鑰的協商,從而完成鑒權密鑰的更新。根據這種方法,通過鑒權密鑰更新,可以有效地防止合法用戶卡和克隆用戶卡同時使用的情況出現。例如,合法用戶卡通過更新鑒權密鑰,可以使得克隆用戶卡無法通過鑒權,從而不能繼續(xù)使用。但是,克隆用戶卡在合法用戶卡更新鑒權密鑰之前,即克隆用戶卡與合法用戶卡所持有的鑒權密鑰還是相同的時候,克隆用戶卡搶先發(fā)起了更新鑒權密鑰的協商流程,這樣,保存在HLR/AUC中的鑒權密鑰與克隆用戶卡中的鑒權密鑰得到同步更新,合法用戶卡里的鑒權密鑰由于沒有跟著更新,反而變成無效鑒權密鑰了,從而,使得合法用戶卡不能使用。雖然,這個時候,合法用戶發(fā)現自己的用戶卡不能用時,可意思到用戶卡被人克隆了,并可以到營業(yè)廳通過更改HLR/AUC中的鑒權密鑰,同時刷新自己用戶卡的鑒權密鑰使得HLR/AUC中的鑒權密鑰和自己用戶卡的鑒權密鑰再次保持一致,從而使得合法用戶卡可以繼續(xù)使用,非法克隆用戶卡無法再繼續(xù)使用,但是,這個處理過程還是會給用戶帶來麻煩,同時也會增加營業(yè)廳工作人員的工作量。
因此,如何有效地控制鑒權密鑰的更新,使得克隆用戶卡無法實現有效的鑒權密鑰更新,是一個值得研究的問題。
發(fā)明內容
有鑒于此,本發(fā)明要解決技術問題是提供一種受控的密鑰更新方法,通過該方法可以限制非法用戶使用非法克隆的用戶卡更新鑒權密鑰,進而防止非法用戶通過克隆用戶卡更新了鑒權密鑰而導致合法用戶卡不能繼續(xù)使用的情況出現。
本發(fā)明提供的解決上述問題的技術方案為提供一種受控的密鑰更新方法,應用3G通信網絡中,其特征在于,所述方法包括,在網絡側設置用于控制鑒權密鑰更新的控制參數a.終端對網絡側一致性驗證通過后,根據自身的鑒權密鑰、接收的隨機數、自己保存的或用戶輸入的控制參數并用特定值替代終端序列號來生成再同步標記,對網絡側發(fā)送再同步請求命令,附上所述再同步標記;b.網絡側接收到所述再同步請求命令,判斷出終端序列號為特定值時,根據設置的所述控制參數、隨機數、網絡側的鑒權密鑰對所述再同步標記進行一致性驗證,若通過驗證,則執(zhí)行密鑰更新,否則,執(zhí)行相關處理。
本發(fā)明提供的上述技術方案中,終端生成再同步標記時加入了控制參數,網絡側對再同步標記進行一致性驗證時也許根據控制參數,由此,非法用戶即使克隆了用戶卡也無法通過克隆的用戶卡更新鑒權密鑰,進而達到防止非法用戶通過非法克隆的用戶卡更新鑒權密鑰的目的。
優(yōu)選地,所述方法的步驟a中還包括終端根據終端保存的序列號判斷網絡側的序列號是否在可接受的范圍內。
優(yōu)選地,所述方法的步驟a中進一步包括終端對網絡側一致性驗證通過后,進一步根據終端保存的序列號判斷網絡側的序列號是否在可接受的范圍內,如果在,則根據自身的鑒權密鑰、接收的隨機數、所述自己保存的或用戶輸入的控制參數并用特定值替代終端序列號來生成再同步標記,對網絡側發(fā)送再同步請求命令,附上所述再同步標記;否則直接根據終端序列號、自身的鑒權密鑰、接收的隨機數來生成再同步標記,對網絡側發(fā)送再同步請求命令,附上所述再同步標記。
優(yōu)選地,所述方法的步驟b中進一步包括網絡側判斷出終端序列號不是特定值時,則根據隨機數、網絡側的鑒權密鑰對所述再同步標記進行一致性驗證,若通過則執(zhí)行同步處理,否則,執(zhí)行相應處理。
優(yōu)選地,所述方法中的所述執(zhí)行相應處理是指網絡側的HLR/AUC向MSC/VLR發(fā)送同步處理結果消息,消息中包括非法同步信息。
優(yōu)選地,所述方法的步驟a中對網絡側進行一致性驗證是指根據自己保存的鑒權密鑰和網絡側發(fā)送的隨機數對網絡側發(fā)送的鑒權標記進行一致性驗證。
優(yōu)選地,所述方法的步驟a中還包括終端對網絡側的一致性驗證未通過時,向網絡側返回鑒權失敗信息。
優(yōu)選地,所述方法中的所述終端包括用戶設備和用戶卡。
優(yōu)選地,所述方法中的所述自己保存的控制參數是指設置于用戶設備中的控制參數或者設置于用戶卡中的控制參數。
優(yōu)選地,所述方法中的所述控制參數可以是一個密碼;也可以一個終端的身份標識,也可以用戶自定義的一個任意值。
優(yōu)選地,所述方法中,終端和網絡側在產生了新的鑒權密鑰后,可以分別重新初始化終端保存的序列號和網絡側保存的序列號的值。
優(yōu)選地,所述方法中,所述特定值是一個指定的數值,或者是一個最高位字節(jié)或者某個指定字節(jié)或某些指定的位為指定值的任意數值。
圖1為本發(fā)明具體實施方式
的流程圖。
圖2是本發(fā)明的具體實施方式
的具體實施例一的流程圖。
圖3是本發(fā)明的具體實施方式
的具體實施例二的流程圖。
具體實施例方式
本發(fā)明受控的密鑰更新方法通過設置密鑰更新控制參數,通過協商密鑰更新的同步處理流程,終端將該控制參數信息上傳給網絡側HLR/AUC,HLR/AUC通過判斷再同步標記符是否包含有該控制參數信息來判斷是否執(zhí)行對應的鑒權密鑰更新操作。
首先,在HLR/AUC終端用戶的簽約數據里設置用于控制鑒權密鑰更新的控制參數。當終端需要和HLR/AUC協商更新鑒權密鑰時,可以利用現有的鑒權流程,通過擴展改造其中的同步處理流程,終端在產生再同步標記符時,引入自己保存的或用戶輸入的控制參數,相應地,HLR/AUC在驗證同步標記符的一致性時,也根據自己設置的控制參數來進行,這樣,當終端保存的或終端用戶輸入的控制參數和HLR/AUC設置的控制參數一致時,HLR/AUC在判斷同步標記符的一致性時才能夠通過,這樣,由于克隆用戶卡并不知道HLR/AUC中對應合法用戶卡設置的所述控制參數信息,因此,克隆用戶卡在與HLR/AUC協商更新鑒權密鑰時,其產生的同步標記符將無法通過HLR/AUC的一致性驗證,這樣,克隆用戶卡也即無法與HLR/AUC有效地協商鑒權密鑰的更新。
本發(fā)明對現有鑒權流程的更改僅限于用戶卡和HLR/AUC,也即,同步流程涉及到的中間設備,包括基站(NodeB)、基站控制器(RNC)和核心網設備(MSC)等都不需要作任何更改。因此,本發(fā)明相對于那些需要更改或增加協議流程,從而導致NodeB、RNC和MSC一個或多個需要更改的控制鑒權密鑰更新的方法更加容易實施。
本發(fā)明用于控制密鑰更新的所述控制參數可以是一個密碼,例如是一個用戶PIN碼(SPINSubscriber Personal Identification Number),也可以一個終端的身份標識,例如是終端的國際移動臺設備標識(IMEIInternationalMobile Station Equipment Identity),當然,也可以用戶自定義的一個任意值,例如,用戶的別名,用戶的頭像信息,或者是用戶的頭像數據的摘要信息,等等。
下面結合附圖對本發(fā)明的具體實施方式
進行詳細的說明首先,在HLR/AUC中對應終端用戶的簽約數據里設置用于控制鑒權密鑰更新的控制參數。用戶可以通過營業(yè)廳,或者通過營業(yè)廳提供的服務電話接口或服務網站,在HLR/AUC中自己的簽約數據里保存所述控制參數。所述終端包括用戶設備UE和用戶卡。所述用戶卡對于WCDMA系統(tǒng)來說,是指USIM(UMTS Subscriber identity module)。
在需要更新鑒權密鑰時,執(zhí)行如下流程請參閱圖1,圖1為本發(fā)明具體實施方式
的流程圖。
在步驟101中,終端向網絡側發(fā)起位置更新請求。
本步驟也可以是向網絡側發(fā)起業(yè)務請求。實際當中可以是終端發(fā)送的任何可以引起網絡側對終端進行鑒權的消息。
步驟102,網絡側MSC/VLR接收到該位置更新請求后將產生的鑒權元組中的相應鑒權參數發(fā)送給終端。
所述鑒權元組可以包括隨機數RAND、期望響應XRES、加密密鑰CK、完整性密鑰IK和鑒權標記AUTN(Authentication Token)。
所述相應鑒權參數包括RAND和AUTN。
產生鑒權元組時,HLR/AUC用隨機數發(fā)生器產生的RAND和自身保存的鑒權密鑰KI分別計算出XRES、CK、IK。還根據RAND、KI、序列號SQNHE、鑒權管理域AMF產生AUTN。
所述鑒權標記AUTN長16字節(jié),包括以下內容1)SQNHE^AK,也即用AK加密了的SQNHE,其中序列號SQNHE與匿名密鑰AK分別長6字節(jié),SQNHE指保存在網絡側的SQN,以區(qū)別于保存在終端的SQNMS;當需要對SQNHE進行加密時,HLR/AUC根據RAND和KI產生AK,使用AK對SQNHE作異或運算,從而加密SQNHE;當不需要對SQNHE進行加密時,AK=0;2)鑒權管理域AMF長2字節(jié)。3)消息鑒權編碼MAC-A長8字節(jié);MAC-A用于驗證RAND、SQNHE、AMF的數據完整性,用于終端對HLR/AUC進行鑒權。HLR/AUC根據RAND、SQNHE、KI和AMF計算出AUTN中的消息鑒權編碼MAC-A。
這樣,由RAND、AUTN、XRES、CK、IK等組成了鑒權五元組。
HLR/AUC產生了鑒權五元組后將相應的國際移動用戶識別碼IMSI和鑒權五元組RAND、CK、IK、XRES和AUTN發(fā)送給MSC/VLR。MSC/VLR為電路域設備,對于分組域的網絡,對應的設備可以為SGSN。鑒權時,網絡側的MSC/VLR將接收自HLR/AUC的鑒權元組中的隨機數RAND和鑒權標記AUTN傳送給終端MS。
步驟103,終端MS接收到MSC/VLR發(fā)送的相應鑒權參數即隨機數RAND和鑒權標記AUTN并判斷出對AUTN的一致性驗證通過后,根據RAND和KI進行計算,得到新鑒權密鑰NewKI;終端獲取控制參數,并根據所述控制參數,并用約定的特定值代替SQNMS來產生再同步標記AUTS,向網絡發(fā)起再同步請求命令,并附上再同步標記AUTS。這里,向網絡發(fā)起再同步請求命令,并附上再同步標記AUTS,也即,向網絡側發(fā)送同步失敗消息,消息中包含了AUTS。
需要說明的是,由于終端MS包括了用戶設備UE和用戶卡,實際當中,是UE接收所述鑒權請求,并將鑒權參數RAND和AUTN發(fā)送給用戶卡,用戶卡根據自己保存的KI來對接收到的AUTN進行一致性驗證。由于這是公知技術,因此,本發(fā)明不對這個細節(jié)進行贅述。
所述再同步標記AUTS包括以下內容1)SQNMS^AK,也即用AK加密了的SQNMS,其中序列號SQNMS與匿名密鑰AK分別長6字節(jié),SQNMS指保存在終端側的SQN,以區(qū)別于保存在網絡側的SQNHE;當需要對SQNMS進行加密時,終端根據RAND和KI產生AK,使用AK對SQNMS作異或運算,從而加密SQNMS;當不需要對SQNMS進行加密時,AK=0;2)消息鑒權編碼MAC-S長8字節(jié);MAC-S用于驗證RAND、SQNMS的數據完整性,也用于HLR/AUC對終端進行鑒權,也即,用于HLR/AUC驗證AUTS的合法性。在現有3GPP的鑒權流程中,終端根據自己的SQNMS、KI和接收到的RAND以及AMF等計算得到MAC-S,再根據SQNMS、AK和MAC-S產生再同步標記AUTS。在本發(fā)明的鑒權流程里,終端產生AUTS時,還額外根據了所述自己保存的或用戶輸入的控制參數。
具體地說,終端在接收到網絡側MSC/VLR發(fā)送的RAND和AUTN后,根據接收到的RAND與自身保存的鑒權密鑰KI和接收到的AUTN中的SQNHE以及AMF采用與HLR/AUC計算AUTN中MAC-A一致的算法進行計算得到一個計算結果,終端比較自己計算得到的計算結果與接收到的AUTN中的MAC-A是否一致,例如是否相同,若不一致,則向MSC/VLR返回鑒權失敗信息;若一致則用約定的特定值代替SQNMS來根據自己的KI、所述自己保存的或用戶輸入的控制參數和接收到的RAND以及AUTN中的AMF等計算得到MAC-S,再根據該特定值代替SQNMS來和AK以及MAC-S產生再同步標記AUTS,即用AK對該特定值進行加密,將密文和MAC-S組合來產生AUTS。終端產生了AUTS后向網絡側發(fā)送再同步請求命令并附上所述再同步標記AUTS,或者向網絡側發(fā)送同步失敗消息,并在該消息中包含AUTS。
終端產生MAC-S時,可以先用控制參數和KI進行摘要計算,得到一個計算結果Result1,再用Result1和所述特定值進行摘要計算,得到一個計算結果Result2,再用Result2和所述RAND進行摘要計算,得到一個計算結果Result3,再用Result3和所述AMF進行摘要計算,并將得到的計算結果作為MAC-S。
實際當中,由于按照現有3GPP規(guī)范,產生MAC-S可以完全在用戶卡中實現,因此,如果控制參數在用戶卡設備UE中設置時,在用戶卡需要根據控制參數計算MAC-S時,UE需要將控制參數傳送給用戶卡,例如,鑒權時,UE在將RAND和AUTN傳送給用戶卡的同時將所述控制參數也傳送給用戶卡;如果控制參數在用戶卡中設置時,在用戶卡需要根據控制參數計算MAC-S時,可以直接獲取自己保存的控制參數,UE就不需要將控制參數傳送給用戶卡。
當然,這里產生MAC-S的過程和采用的摘要算法,可以根據實際情況而定,關于具體產生AUTS過程,以及產生時使用的算法還可以參照3GPP相關規(guī)范,在此不再贅述。
所述終端獲取控制參數可以是,終端的UE對應保存控制參數,終端直接獲取UE保存的控制參數;也可以時用卡保存了控制參數,終端直接獲取用戶卡保存的控制參數;也可以是終端提示用戶卡輸入控制參數,終端根據用戶輸入獲取所述控制參數。
對于用戶卡產生MAC-S時,何時根據控制參數來進行,何時又不根據控制參數來進行,可以是由UE來決定。例如,對于控制參數保存在UE的情況,當鑒權時,UE將控制參數和RAND以AUTN傳送給用戶卡時,用戶卡產生MAC-S時,根據控制參數來進行;當鑒權時,UE僅僅將RAND和AUTN傳送給用戶卡,而沒有包括控制參數時,用戶卡產生MAC-S時,不再根據控制參數來進行。相應的,對于控制參數保存在用戶卡的情況,當鑒權時,UE將RAND和AUTN以及一個用于表示是否根據控制參數產生MAC-S的特殊標志傳送給用戶卡時,用戶卡產生MAC-S時,將根據特殊標志來決定是否根據控制參數來進行。一般的,UE可以周期性地決定進行鑒權密鑰的更新,也就是周期性地決定用戶卡根據控制參數來產生MAC-S。當然,也可以由用戶卡來決定何時進行鑒權密鑰的更新,也即何時根據控制參數來產生MAC-S,例如,在UE中保存控制參數,開機時,終端將該控制參數傳送給用戶卡,用戶卡保存該控制參數,并在需要進行鑒權密鑰更新時,根據該控制參數來產生MAC-S。用戶卡可以是根據鑒權標記中鑒權管理域AMF所設置的特殊值來決定需要進行鑒權密鑰的更新。
當UE和用戶卡都不保存控制參數時,可以是在需要根據控制參數產生MAC-S時,由UE提示用戶輸入控制參數,UE將用戶輸入的控制參數和RAND以AUTN一起傳送給用戶卡,或者單獨將控制參數傳送給用戶卡。將控制參數保存在終端的UE或者用卡里的好處是,不需要在每次更新鑒權密鑰時,都讓用戶輸入控制參數,這樣會具有更好的用戶體驗。
步驟104,MSC/VLR接收到再同步請求命令后,將對應本次鑒權的五元組中的RAND和接收自終端的AUTS發(fā)送給HLR/AUC;步驟105,HLR/AUC接收到再同步請求命令后,先從AUTS中解析出SQNMS,并在判斷出SQNMS為所述特定值時,根據自己保存的KI和設置的所述控制參數對AUTS進行一致性驗證,并在對AUTS的一致性驗證通過后,執(zhí)行步驟106,否則,執(zhí)行步驟107。
HLR/AUC根據自己保存的KI和設置的所述控制參數對AUTS進行一致性驗證是指HLR/AUC根據所述自己保存的KI、控制參數、AMF值、SQNMS和同步消息中的RAND采用與終端根據KI、控制參數、AMF、所述特定值和所述RAND產生MAC-S一致的算法進行計算,得到一個計算結果,比較自己計算得到的計算結果和同步消息中AUTS中的MAC-S是否一致,如果一致,則判斷出通過AUTS的一致性驗證,否則,判斷出對AUTS的一致性驗證通不過。
所述從AUTS中解析出SQNMS是指當SQNMS采用了加密模式,則HLR/AUC先根據KI和RAND計算出AK,用AK從AUTS中解密出SQNMS明文;當SQNMS采用了明文模式,即AK值設置為0的情況下,HLR/AUC從AUTS中直接得到SQNMS明文。可以參照3GPP相關規(guī)范。
步驟106,HLR/AUC根據KI和RAND按照終端計算新鑒權密鑰NewKI一致的方法進行計算得到新鑒權密鑰NewKI。更新鑒權密鑰之后,還可以產生新鑒權元組,并向MSC/VLR發(fā)送同步處理結果消息,在消息中包括新鑒權元組。
步驟107,HLR/AUC判斷出再同步消息非法,結束處理。在結束處理之前,還可以包括向MSC/VLR發(fā)送同步處理結果消息,并在消息中包括了非法同步信息。
上述步驟103中,終端產生新鑒權密鑰之前,還可以進一步包括判斷SQNHE是否在可接受范圍內的步驟,并在SQNHE可接受時,判斷出對網絡鑒權通過,終端根據SQNHE更新保存的SQNMS并執(zhí)行產生新鑒權密鑰等等的后續(xù)操作;否則,即,在SQNHE不可接受時,判斷出同步失敗,并執(zhí)行正常的同步處理流程,也即根據SQNMS產生再同步標記AUTS,即,根據SQNMS、KI和接收到的RAND以及AMF等計算得到MAC-S,再根據SQNMS、AK和MAC-S產生再同步標記AUTS,即用AK對SQNMS進行加密,將密文和MAC-S組合來產生AUTS。終端產生了AUTS后,對網絡側MSC返回再同步請求命令或同步失敗(Synchronisation failure)消息,同時附上產生的再同步標記AUTS。
終端和HLR/AUC預先約定HLR/AUC在接收到終端的再同步請求命令后,如果判斷出SQNMS為約定的特定值時,則執(zhí)行產生新鑒權密鑰NewKI的操作。當然,為了更新鑒權密鑰的協商的安全性,HLR/AUC還需要對再同步請求消息進行合法性驗證。
上述HLR/AUC接收到再同步請求命令后,判斷出SQNMS不是所述約定的特定值時,按正常同步流程處理,即判斷AUTS合法時,根據SQNMS更新SQNHE,并產生新的鑒權元組,向MSC/VLR返回同步處理結果消息,消息中包括新的鑒權元組;判斷AUTS非法時,向MSC/VLR返回同步處理結果消息,消息中包括非法同步信息。
MSC/VLR接收到同步處理結果消息后,仍然按照正常的同步處理流程進行相應處理。關于正常同步處理流程可以參照3GPP規(guī)范。
為了更好地展現本發(fā)明的思想和意義,以下將通過具體實施例來對本發(fā)明進行詳細闡述。
請參閱圖2,圖2所示為本發(fā)明具體實施方式
的具體實施例一,本實施例是使用本發(fā)明的受控密鑰更新方法進行鑒權密鑰更新控制的流程,在本實施例中,終端和HLR/AUC協商對鑒權密鑰進行有控制的更新,控制是通過在HLR/AUC中對應用戶的簽約數據里設置用于控制鑒權密鑰更新的的控制參數來進行的,相應的,本實施例中,還在終端的UE里對應保存了所述控制參數。本實施例還約定用特定值125表示需要更新鑒權密鑰,該特定值對應的約定內容,也即網絡側識別到該特定值時執(zhí)行的內容為“產生新的鑒權密鑰以便根據新的鑒權密鑰進行鑒權”。所述終端包括用戶設備UE和用戶卡。
在需要更新鑒權密鑰時,執(zhí)行如下流程在步驟201,終端向網絡發(fā)起位置更新請求;本步驟也可以是向網絡側發(fā)起業(yè)務請求。實際當中可以是終端發(fā)送的任何可以引起網絡側對終端進行鑒權的消息。
在步驟202,網絡側MSC/VLR接收到所述請求后,對終端進行鑒權,并通過對終端發(fā)送鑒權請求,將對應該終端的當前鑒權五元組中的鑒權參數RAND和AUTN發(fā)送給終端。
具體地說,HLR/AUC根據隨機數發(fā)生器產生隨機數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一起發(fā)送給MSC/VLR。HLR/AUC是在接收到MSC/VLR的請求鑒權五元組的請求后才將產生的鑒權元組發(fā)送給MSC/VLR的。更加詳細的細節(jié)請參見3GPP相關協議規(guī)定,由于是公知技術,這里不再贅述。
鑒權時,MSC/VLR向終端發(fā)起鑒權請求,并同時將五元組中的鑒權參數RAND和AUTN發(fā)送給終端。
步驟203,終端接收到鑒權請求時,先根據自己保存的KI對接收的AUTN進行一致性驗證,也即先根據自己保存的KI和所述RAND對AUTN進行一致性驗證,若驗證通過,則執(zhí)行步驟205,否則,執(zhí)行步驟204。
具體地說,終端接收到來自MSC/VLR的RAND和AUTN時,根據自身保存的KI、接收到的RAND和接收到的AUTN中的SQNHE以及AMF采用與HLR/AUC計算AUTN中MAC-A一致的算法生成MAC-A,然后終端對自身生成的MAC-A與AUTN中的MAC-A進行比較,若相等則判斷出對AUTN的一致性驗證通過,否則,判斷出對AUTN的一致性驗證不通過。
需要說明的是,由于終端MS包括了用戶設備UE和用戶卡,實際當中,是UE接收所述鑒權請求,并將鑒權參數RAND和AUTN發(fā)送給用戶卡,用戶卡根據自己保存的KI來對接收到的AUTN進行一致性驗證。
因此,實際當中,本步驟可以進一步是UE接收到鑒權請求時,將保存的控制參數和接收的RAND和AUTN傳送給用戶卡,用戶卡先根據自己保存的KI對接收的AUTN進行一致性驗證,也即先根據自己保存的KI和所述RAND對AUTN進行一致性驗證,若驗證通過,則執(zhí)行步驟205,否則,執(zhí)行步驟204。具體地說,用戶卡接收到來自UE的所述控制參數、RAND和AUTN時,根據自身保存的KI、接收到的RAND和接收到的AUTN中的SQNHE以及AMF采用與HLR/AUC計算AUTN中MAC-A一致的算法生成MAC-A,然后對自身生成的MAC-A與AUTN中的MAC-A進行比較,若相等則判斷出對AUTN的一致性驗證通過,否則,判斷出對AUTN的一致性驗證不通過。
步驟204中,終端向網絡返回“鑒權失敗”的信息,然后結束本次協商鑒權密鑰更新的流程。實際當中,可以是用戶卡將“鑒權失敗”的信息返回給UE,UE向網絡返回“鑒權失敗”的信息。
步驟205,終端判斷SQNHE是否在可接受范圍內,如果是,則判斷出對網絡鑒權通過,并執(zhí)行步驟207;否則,判斷出同步失敗,并執(zhí)行步驟206。
實際當中,可以是用戶卡判斷SQNHE是否在可接受范圍內,如果是,則判斷出對網絡鑒權通過,則執(zhí)行步驟207;否則,判斷出同步失敗,然后執(zhí)行步驟206。
步驟206,終端直接根據SQNMS產生再同步標記AUTS,對網絡發(fā)起再同步請求命令,并附上AUTS。然后執(zhí)行步驟208。具體地說,終端根據自己的KI、SQNMS和接收到的RAND以及AMF等計算得到MAC-S,再根據SQNMS、AK和MAC-S產生AUTS,然后對網絡側發(fā)起再同步請求命令,并附上該AUTS。也即,向MSC/VLR發(fā)送同步失敗消息,該同步失敗消息中包含了AUTS。實際當中,本步驟可以進一步是用戶卡直接根據SQNMS產生再同步標記AUTS,對網絡發(fā)起再同步請求命令,并附上AUTS。然后執(zhí)行步驟208。這里,是UE將用戶卡的同步請求命令轉發(fā)給網絡。
步驟207,終端根據SQNHE更新保存的SQNMS,根據RAND和KI產生新的鑒權密鑰NewKI;終端根據所述控制參數,并用約定的特定值125代替SQNMS來產生再同步標記AUTS,對網絡發(fā)起再同步請求命令,并附上再同步標記AUTS。然后執(zhí)行步驟208。具體地說,終端用特定值125代替SQNMS來根據自己保存的KI、控制參數和接收到的RAND以及AMF等計算得到MAC-S,再用AK對特定值125進行加密,將密文和MAC-S組合來產生AUTS。終端向網絡側發(fā)送再同步請求命令并附上該AUTS。也即,向MSC/VLR發(fā)送同步失敗消息,該同步失敗消息中包含了AUTS。實際當中,本步驟可以進一步是用戶卡根據UE保存的所述控制參數,并用約定的特定值125代替SQNMS來產生再同步標記AUTS,對網絡發(fā)起再同步請求命令,并附上再同步標記AUTS。然后執(zhí)行步驟208。這里,是UE將用戶卡的同步請求命令轉發(fā)給網絡。
由于MAC-S由用戶卡產生,因此,步驟203中,UE在將RAND和AUTN傳送給用戶卡時,將所述控制參數一同傳送給用戶卡。當然,一個改劣的設計可以是UE應用戶卡的相應請求將所述控制參數傳送給用戶卡。這里不對此進行贅述。
步驟208,網絡側的MSC/VLR接收到終端發(fā)送的同步失敗消息時,將消息中的AUTS和對應五元組中的RAND一并發(fā)送給HLR/AUC。然后執(zhí)行步驟209。
實際當中,網絡側的MSC/VLR接收到終端發(fā)送的同步失敗消息時,向HLR/AUC請求新鑒權元組,請求消息中包括了接收自終端的AUTS和對應鑒權五元組中的RAND。
步驟209,HLR/AUC判斷AUTS中的SQNMS是否為約定的特定值125。如果為特定值125則執(zhí)行步驟212;如果不為特定值125則執(zhí)行步驟210。
需要說明的是,如果AUTS中SQNMS根據AK進行了加密,HLR/AUC可以根據RAND和KI產生AK來解密SQNMS密文,得到SQNMS明文。由于這是3GPP協議規(guī)范內容,因此,這里不對其進行詳細敘述。
步驟210,HLR/AUC接收到MSC/VLR發(fā)送的AUTS和RAND時,根據KI對AUTS進行一致性驗證,即,根據AMF、保存的KI、接收到的RAND和AUTS中的SQNMS等采用與終端根據KI、SQNMS、RAND和AMF產生MAC-S一致的算法進行計算得到一個計算結果,然后比較自己計算得到的計算結果與接收到的AUTS中的MAC-S是否一致,若一致,則判斷出通過對AUTS的一致性驗證,然后執(zhí)行步驟211;否則,判斷出對AUTS的一致性驗證通不過,然后執(zhí)行步驟214;步驟211,HLR/AUC根據SQNMS的值更新SQNHE,產生新鑒權元組,向MSC/VLR發(fā)送同步處理結果消息,消息中包括了新鑒權元組。然后執(zhí)行步驟214。
步驟212,HLR/AUC接收到MSC/VLR發(fā)送的AUTS和RAND時,根據KI和控制參數對AUTS進行一致性驗證,即,根據AMF、保存的KI、控制參數、接收到的RAND和AUTS中的SQNMS等采用與終端根據KI、控制參數、RAND、所述特定值和AMF產生MAC-S一致的算法進行計算得到一個計算結果,然后比較自己計算得到的計算結果與接收到的AUTS中的MAC-S是否一致,若一致,則判斷出通過對AUTS的一致性驗證,然后執(zhí)行步驟213;否則,判斷出對AUTS的一致性驗證通不過,然后執(zhí)行步驟214;步驟213,HLR/AUC執(zhí)行特定值125對應的約定內容,即執(zhí)行鑒權密鑰更新動作,也就是根據RAND和KI采用與終端產生新鑒權密鑰一致的算法進行計算,產生新的鑒權密鑰NewKI,然后使用NewKI產生新鑒權元組,向MSC/VLR發(fā)送同步處理結果消息,消息中包括了新鑒權元組。
步驟214,向MSC/VLR發(fā)送同步處理結果消息,消息中包括了非法同步信息。
上述終端和HLR/AUC在產生了新的鑒權密鑰后,可以分別重新初始化SQNMS和SQNHE的值,比如,終端在步驟207并不根據SQNHE來更新保存的SQNMS,而是將SQNMS的值初始化為0;對應地,HLR/AUC在步驟213將SQNHE的值初始化為一個小于65536的隨機值。這樣,SQNHE的變換部分可以保留的較短即可實現正常的鑒權。因為,終端和HLR/AUC可以在SQNHE尚沒有遍歷所有變化時,就執(zhí)行鑒權密鑰更新,這樣,一樣可以保證終端對于網絡鑒權的合理性。
基于密鑰不斷更新所帶來的安全性增強,以及每次密鑰更新時對SQNMS和SQNHE的初始化,可以知道,實際需要的SQNMS和SQNHE的長度可以比原來設計協議時的規(guī)定的長度短。例如,原來規(guī)定SQN(泛指SQNMS、SQNHE)的長度為6字節(jié)48bit,在本發(fā)明中,SQN可以僅需要5字節(jié)40bit,為了保證鑒權認證以及密鑰協商時算法不需要因為SQN長度而改變,可以將5字節(jié)的SQN擴展為6字節(jié),擴展字節(jié)在SQN的高位,這樣,在根據計算MAC-A是,使用擴展了的SQNHE;在計算MAC-S時,使用擴展了的SQNMS;在根據SQNMS判斷SQNHE的新穎性時,也即根據SQNMS判斷SQNHE是否在可以接受范圍內時,仍然用沒有擴展的5字節(jié)的SQNMS來與沒有擴展的5字節(jié)的SQNHE進行比較,以判斷SQNHE是否被更新,也即SQNHE是否在可以接受范圍內。這里,多出來的擴展字節(jié)除了為了兼容原來的算法運算而參與了MAC-A和MAC-S的計算外,沒有其它意義,這樣,本發(fā)明就可以進一步使用這個擴展字節(jié)來表達其它信息。
本發(fā)明中,進一步包括,在利用特定值替代終端序列號SQNMS來生成再同步標記AUTS時,所述特定值是一個6字節(jié)的數字,其最高位字節(jié)為一個特定值,其它地位的5個字節(jié)為任意值。例如,在上述步驟207,終端根據所述控制參數,并用約定的特定值125代替SQNMS來產生再同步標記AUTS,可以是采用這樣的一個6字節(jié)的特殊值來代替SQNMS來產生所述的AUTS,這個特殊值的最高位的一個字節(jié)被設置為125或者其它某一特定值例如255,而后面低位的5個字節(jié)可以設置為任意值,例如,可以產生一個6字節(jié)的隨機數,將該隨機數的最高位的一個字節(jié)設置為125,而后,用這個改變了高位字節(jié)值的隨機數作為所述替代SQNMS來計算所述AUTS的特殊值。相應的,步驟209,HLR/AUC判斷AUTS中的SQNMS是否為約定的特定值125時,實際上是判斷SQNMS的高位字節(jié)值是否為125,而不再是判斷整個SQNMS的值是否為特定值125。顯然,這樣產生的特殊值具有更高的隨機性,因此,也就具有更高的安全性。
請參閱圖3,圖3所示為本發(fā)明具體實施方式
的具體實施例二,本實施例是使用本發(fā)明的受控密鑰更新方法進行鑒權密鑰更新控制的流程,在本實施例中,終端和HLR/AUC協商對鑒權密鑰進行有控制的更新,控制是通過在HLR/AUC中對應用戶的簽約數據里設置用于控制鑒權密鑰更新的的控制參數來進行的,相應的,本實施例中,還在終端的UE里對應保存了所述控制參數。本實施例還約定用最高位字節(jié)為125的任意數表示所述特定值,并用該特定值表示需要更新鑒權密鑰,該特定值對應的約定內容,也即網絡側識別到SQNMS的最高位字節(jié)為該125時執(zhí)行的內容為“產生新的鑒權密鑰以便根據新的鑒權密鑰進行鑒權”。所述終端包括用戶設備UE和用戶卡。
在需要更新鑒權密鑰時,執(zhí)行如下流程在步驟301,終端向網絡發(fā)起位置更新請求;本步驟也可以是向網絡側發(fā)起業(yè)務請求。實際當中可以是終端發(fā)送的任何可以引起網絡側對終端進行鑒權的消息。
在步驟302,網絡側MSC/VLR接收到所述請求后,對終端進行鑒權,并通過對終端發(fā)送鑒權請求,將對應該終端的當前鑒權五元組中的鑒權參數RAND和AUTN發(fā)送給終端。
具體地說,HLR/AUC根據隨機數發(fā)生器產生隨機數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一起發(fā)送給MSC/VLR。HLR/AUC是在接收到MSC/VLR的請求鑒權五元組的請求后才將產生的鑒權元組發(fā)送給MSC/VLR的。更加詳細的細節(jié)請參見3GPP相關協議規(guī)定,由于是公知技術,這里不再贅述。
鑒權時,MSC/VLR向終端發(fā)起鑒權請求,并同時將五元組中的鑒權參數RAND和AUTN發(fā)送給終端。
步驟303,終端接收到鑒權請求時,先根據自己保存的KI對接收的AUTN進行一致性驗證,也即先根據自己保存的KI和所述RAND對AUTN進行一致性驗證,若驗證通過,則執(zhí)行步驟305,否則,執(zhí)行步驟304。
具體地說,終端接收到來自MSC/VLR的RAND和AUTN時,根據自身保存的KI、接收到的RAND和接收到的AUTN中的SQNHE以及AMF采用與HLR/AUC計算AUTN中MAC-A一致的算法生成MAC-A,然后終端對自身生成的MAC-A與AUTN中的MAC-A進行比較,若相等則判斷出對AUTN的一致性驗證通過,否則,判斷出對AUTN的一致性驗證不通過。
需要說明的是,由于終端MS包括了用戶設備UE和用戶卡,實際當中,是UE接收所述鑒權請求,并將鑒權參數RAND和AUTN發(fā)送給用戶卡,用戶卡根據自己保存的KI來對接收到的AUTN進行一致性驗證。
因此,實際當中,本步驟可以進一步是UE接收到鑒權請求時,將保存的控制參數和接收的RAND和AUTN傳送給用戶卡,用戶卡先根據自己保存的KI對接收的AUTN進行一致性驗證,也即先根據自己保存的KI和所述RAND對AUTN進行一致性驗證,若驗證通過,則執(zhí)行步驟305,否則,執(zhí)行步驟304。具體地說,用戶卡接收到來自UE的所述控制參數、RAND和AUTN時,根據自身保存的KI、接收到的RAND和接收到的AUTN中的SQNHE以及AMF采用與HLR/AUC計算AUTN中MAC-A一致的算法生成MAC-A,然后對自身生成的MAC-A與AUTN中的MAC-A進行比較,若相等則判斷出對AUTN的一致性驗證通過,否則,判斷出對AUTN的一致性驗證不通過。
步驟304中,終端向網絡返回“鑒權失敗”的信息,然后結束本次協商鑒權密鑰更新的流程。實際當中,可以是用戶卡將“鑒權失敗”的信息返回給UE,UE向網絡返回“鑒權失敗”的信息。
步驟305,終端判斷SQNHE是否在可接受范圍內,如果是,則判斷出對網絡鑒權通過,并執(zhí)行步驟307;否則,判斷出同步失敗,并執(zhí)行步驟306。
實際當中,可以是用戶卡判斷SQNHE是否在可接受范圍內,如果是,則判斷出對網絡鑒權通過,然后執(zhí)行步驟307;否則,判斷出同步失敗,然后執(zhí)行步驟306。
步驟306,終端直接根據SQNMS產生再同步標記AUTS,對網絡發(fā)起再同步請求命令,并附上AUTS。然后執(zhí)行步驟308。具體地說,終端根據自己的KI、SQNMS和接收到的RAND以及AMF等計算得到MAC-S,再根據SQNMS、AK和MAC-S產生AUTS,然后對網絡側發(fā)起再同步請求命令,并附上該AUTS。也即,向MSC/VLR發(fā)送同步失敗消息,該同步失敗消息中包含了AUTS。實際當中,本步驟可以進一步是用戶卡直接根據SQNMS產生再同步標記AUTS,對網絡發(fā)起再同步請求命令,并附上AUTS。然后執(zhí)行步驟308。這里,是UE將用戶卡的同步請求命令轉發(fā)給網絡。
步驟307,終端將SQNMS的值初始化,例如設置為0,根據RAND和KI產生新的鑒權密鑰NewKI;終端產生一個任意數字,例如產生一個隨機數,將該任意數字的最高位字節(jié)設置為125,并將該最高位字節(jié)被設置為125的任意數作為一個特定值;而后,終端根據所述控制參數,并用產生的最高位字節(jié)為125的特定值代替SQNMS來產生再同步標記AUTS,對網絡發(fā)起再同步請求命令,并附上再同步標記AUTS。然后執(zhí)行步驟308。
具體地說,終端用產生的特定值代替SQNMS來根據自己保存的KI、控制參數和接收到的RAND以及AMF等計算得到MAC-S,再用AK對特定值進行加密,將密文和MAC-S組合來產生AUTS。終端向網絡側發(fā)送再同步請求命令并附上該AUTS。也即,向MSC/VLR發(fā)送同步失敗消息,該同步失敗消息中包含了AUTS。實際當中,本步驟可以進一步是用戶卡根據UE保存的所述控制參數,并用產生的特定值代替SQNMS來產生再同步標記AUTS,對網絡發(fā)起再同步請求命令,并附上再同步標記AUTS。然后執(zhí)行步驟308。這里,是UE將用戶卡的同步請求命令轉發(fā)給網絡。
由于MAC-S由用戶卡產生,因此,步驟303中,UE在將RAND和AUTN傳送給用戶卡時,將所述控制參數一同傳送給用戶卡。
步驟308,網絡側的MSC/VLR接收到終端發(fā)送的同步失敗消息時,將消息中的AUTS和對應五元組中的RAND一并發(fā)送給HLR/AUC。然后執(zhí)行步驟309。
實際當中,網絡側的MSC/VLR接收到終端發(fā)送的同步失敗消息時,向HLR/AUC請求新鑒權元組,請求消息中包括了接收自終端的AUTS和對應鑒權五元組中的RAND。
步驟309,HLR/AUC判斷AUTS中的SQNMS最高位的一個字節(jié)是否為125。如果為125則執(zhí)行步驟312;如果不為125則執(zhí)行步驟310。
需要說明的是,如果AUTS中SQNMS根據AK進行了加密,HLR/AUC可以根據RAND和KI產生AK來解密SQNMS密文,得到SQNMS明文。由于這是3GPP協議規(guī)范內容,因此,這里不對其進行詳細敘述。
步驟310,HLR/AUC接收到MSC/VLR發(fā)送的AUTS和RAND時,根據KI對AUTS進行一致性驗證,即,根據AMF、保存的KI、接收到的RAND和AUTS中的SQNMS等采用與終端根據KI、SQNMS、RAND和AMF產生MAC-S一致的算法進行計算得到一個計算結果,然后比較自己計算得到的計算結果與接收到的AUTS中的MAC-S是否一致,若一致,則判斷出通過對AUTS的一致性驗證,然后執(zhí)行步驟311;否則,判斷出對AUTS的一致性驗證通不過,然后執(zhí)行步驟314;步驟311,HLR/AUC根據SQNMS的值更新SQNHE,產生新鑒權元組,向MSC/VLR發(fā)送同步處理結果消息,消息中包括了新鑒權元組。然后執(zhí)行步驟314。
步驟312,HLR/AUC接收到MSC/VLR發(fā)送的AUTS和RAND時,根據KI和控制參數對AUTS進行一致性驗證,即,根據AMF、保存的KI、控制參數、接收到的RAND和AUTS中的SQNMS等采用與終端根據KI、控制參數、RAND、所述特定值和AMF產生MAC-S一致的算法進行計算得到一個計算結果,然后比較自己計算得到的計算結果與接收到的AUTS中的MAC-S是否一致,若一致,則判斷出通過對AUTS的一致性驗證,然后執(zhí)行步驟313;否則,判斷出對AUTS的一致性驗證通不過,然后執(zhí)行步驟314;步驟313,HLR/AUC執(zhí)行SQNMS的最高位的一個字節(jié)為125時對應的約定內容,即執(zhí)行鑒權密鑰更新動作,也就是根據RAND和KI采用與終端產生新鑒權密鑰一致的算法進行計算,產生新的鑒權密鑰NewKI,然后將SQNHE的值初始化,例如設置為一個小于65536的任意值,并使用NewKI產生新鑒權元組,向MSC/VLR發(fā)送同步處理結果消息,消息中包括了新鑒權元組。
步驟314,向MSC/VLR發(fā)送同步處理結果消息,消息中包括了非法同步信息。
可見,本發(fā)明中所述特定值,可以是一個指定的數值如長度為6字節(jié)或48bit的值為125的數值,或者是一個最高位字節(jié)為125的長度為48bit的任意數值,或者某個指定字節(jié)或某些指定的位為指定值的長度為48bit的任意數值。
上述MSC/VLR為電路域設備,對于分組域的網絡,對應的MSC/VLR設備為SGSN,因此本發(fā)明可以等同應用于分組域。
上述各個具體實施方式
或實施例中,終端和HLR/AUC產生新鑒權密鑰可以是使用成熟的摘要算法,相應摘要算法可以參見《應用密碼學》一書或相關的算法論文或報告;當然,產生新密鑰時,也可以使用3GPP協議中提到的由隨機數RAND和鑒權密鑰KI產生加密密鑰CK或完整性密鑰IK的算法來進行。
上述各個具體實施方式
或實施例中,終端對于AUTN一致性驗證,對于SQNHE是否屬于可接受范圍的判斷,HLR/AUC對于AUTS合法性的驗證,以及HLR/AUC產生鑒權元組時,對于SQNHE的更新;產生鑒權元組的算法,以及正常情況下的同步處理流程中產生AUTS的算法,等等,可以參見3GPP相關協議,由于是公知技術,這里不再贅述。
對于本發(fā)明中需要控制協商鑒權密鑰更新時在產生AUTS時,終端又額外根據了所述控制參數來產生MAC-S時,終端可以先用控制參數和KI進行摘要計算,得到一個計算結果Result1,再用Result1和所述特定值進行摘要計算,得到一個計算結果Result2,再用Result2和所述RAND進行摘要計算,得到一個計算結果Result3,再用Result3和所述AMF進行摘要計算,并將得到的計算結果作為MAC-S。相應的,HLR/AUC在判斷AUTS一致性時,根據AMF、保存的KI、設置的控制參數、接收到的RAND和AUTS中的SQNMS等進行計算得到一個計算結果的計算過程與使用的算法和終端產生MAC-S的過程與使用的算法一致。當然,這里產生MAC-S的過程和采用的摘要算法,可以根據實際情況而定,關于具體產生AUTS過程,以及產生時使用的算法還可以參照3GPP相關規(guī)范,在此不再贅述。
本發(fā)明用于控制密鑰更新的所述控制參數可以是一個密碼,例如是一個類似于用戶卡PIN碼的密碼,例如,可以是網絡側設置的用于用戶更改業(yè)務的用戶PIN碼SPIN;也可以一個終端的身份標識,例如是終端的IMEI;當然,也可以用戶自定義的一個任意值,例如,用戶的別名,用戶的頭像信息,或者是用戶的頭像數據的摘要信息,等等。
可以理解,以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
1.一種受控的密鑰更新方法,應用3G通信網絡中,其特征在于,所述方法包括,在網絡側設置用于控制鑒權密鑰更新的控制參數a.終端對網絡側一致性驗證通過后,根據自身的鑒權密鑰、接收的隨機數、自己保存的或用戶輸入的控制參數并用特定值替代終端序列號來生成再同步標記,對網絡側發(fā)送再同步請求命令,附上所述再同步標記;b.網絡側接收到所述再同步請求命令,判斷出終端序列號為特定值時,根據設置的所述控制參數、隨機數、網絡側的鑒權密鑰對所述再同步標記進行一致性驗證,若通過驗證,則執(zhí)行密鑰更新,否則,執(zhí)行相關處理。
2.根據權利要求1所述的方法,其特征在于步驟a中還包括終端根據終端保存的序列號判斷網絡側的序列號是否在可接受的范圍內。
3.根據權利要求2所述的方法,其特征在于步驟a中進一步包括終端對網絡側一致性驗證通過后,進一步根據終端保存的序列號判斷網絡側的序列號是否在可接受的范圍內,如果在,則根據自身的鑒權密鑰、接收的隨機數、所述自己保存的或用戶輸入的控制參數并用特定值替代終端序列號來生成再同步標記,對網絡側發(fā)送再同步請求命令,附上所述再同步標記;否則直接根據終端序列號、自身的鑒權密鑰、接收的隨機數來生成再同步標記,對網絡側發(fā)送再同步請求命令,附上所述再同步標記。
4.根據權利要求3所述的方法,其特征在于步驟b中進一步包括網絡側判斷出終端序列號不是特定值時,則根據隨機數、網絡側的鑒權密鑰對所述再同步標記進行一致性驗證,若通過則執(zhí)行同步處理,否則,執(zhí)行相應處理。
5.根據權利要求4所述的方法,其特征在于所述執(zhí)行相應處理是指網絡側的HLR/AUC向MSC/VLR發(fā)送同步處理結果消息,消息中包括非法同步信息。
6.根據權利要求1所述的方法,其特征在于步驟a中對網絡側進行一致性驗證是指根據自己保存的鑒權密鑰和網絡側發(fā)送的隨機數對網絡側發(fā)送的鑒權標記進行一致性驗證。
7.根據權利要求1所述的方法,其特征在于步驟a中還包括終端對網絡側的一致性驗證未通過時,向網絡側發(fā)送鑒權失敗信息。
8.根據權利要求1所述的方法,其特征在于所述終端包括用戶設備和用戶卡。
9.根據權利要求8所述的方法,其特征在于所述自己保存的控制參數是指設置于用戶設備中的控制參數或者設置于用戶卡中的控制參數。
10.根據權利要求1所述的方法,其特征在于所述控制參數可以是密碼,或終端的身份標識,或用戶自定義的任意值。
11.根據權利要求1所述的方法,其特征在于終端和網絡側在產生了新的鑒權密鑰后,可以分別重新初始化終端保存的序列號和網絡側保存的序列號的值。
12.根據權利要求1所述的方法,其特征在于所述特定值是一個指定的數值,或者是一個最高位字節(jié)或者某個指定字節(jié)或某些指定的位為指定值的任意數值。
全文摘要
本發(fā)明提供了一種受控的密鑰更新方法,應用3G通信網絡中,其特征在于,所述方法包括,在網絡側設置用于控制鑒權密鑰更新的控制參數a.終端對網絡側一致性驗證通過后,根據自身的鑒權密鑰、接收的隨機數、自己保存的或用戶輸入的控制參數并用特定值替代終端序列號來生成再同步標記,對網絡側發(fā)送再同步請求命令,附上所述再同步標記;b.網絡側接收到所述再同步請求命令,判斷出終端序列號為特定值時,根據設置的所述控制參數、隨機數、網絡側的鑒權密鑰對所述再同步標記進行一致性驗證,若通過驗證,則執(zhí)行密鑰更新,否則,執(zhí)行相關處理。本發(fā)明中,生成再同步標記時加入了控制參數,進而防止非法用戶通過非法克隆的用戶卡更新鑒權密鑰。
文檔編號H04Q7/38GK1859734SQ200510100290
公開日2006年11月8日 申請日期2005年10月10日 優(yōu)先權日2005年10月10日
發(fā)明者劉斐, 王正偉 申請人:華為技術有限公司