專利名稱:切換過程中密鑰生成方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及密鑰生成技術(shù),尤其涉及一種切換過程中密鑰生成方法及系統(tǒng)。
背景技術(shù):
第三代合作伙伴計劃(3GPP,3rd Generation Partnership Project)演進的分組系統(tǒng)(EPS,Evolved Packet System)是由演進的通用地面無線接入網(wǎng)絡(luò)(E-UTRAN,EvolvedUniversal Terrestrial Radio Access Network)和 EPS 核心網(wǎng)(Evolved Packet Core)組成。E-UTRAN由基站設(shè)備-演進節(jié)點B(eNB,Evolved Node B)和核心網(wǎng)設(shè)備-移動性管理實體(MME, Mobility Management Entity)組成。用戶設(shè)備(UE, User Equipment)通過無線空中接口與eNB進行通信,并且通過eNB與MME進行通信。長期演進(LTE, Long Term Evolution)系統(tǒng)的通信協(xié)議架構(gòu)中,協(xié)議層被分成了接入層(AS,Access Stratum)和非接入層(NAS,Non Access Stratum)。EPS 系統(tǒng)設(shè)計了雙層安全保護機制,即EPS系統(tǒng)要求AS和NAS分別使用不同的安全密鑰。UE 和 MME 之間通過鑒權(quán)與密鑰協(xié)商(AKA, Authentication and Key Agreement)過程后,協(xié)商出根密鑰Kasme。UE和MME分別保存根密鑰Kasme,并且通過Kasme分別演進出AS安全密鑰和NAS安全密鑰。E-UTRAN的切換過程支持eNB之間(Inter-eNB)和無線接入之間(Inter-RAT)的切換。Inter-RAT切換由SI接口切換信令過程支持;Inter-eNB切換由SI或X2接口切換信令過程支持。通常系統(tǒng)使用X2接口執(zhí)行eNB之間的切換?,F(xiàn)有的最新切換過程中密鑰生成和分發(fā)過程具體如下:初始過程時,UE向MME發(fā)送一個初始NAS消息,發(fā)起ECM-1DLE態(tài)到ECM-C0NNECTED態(tài)的轉(zhuǎn)換,MME初始NAS消息中包含更新的NAS COUNT和根據(jù)自身的Kasme所生成的密鑰KeNB。MME 初始化下一跳變計數(shù)器(NCC, Next hop Chaining Counter)值為 0。MME利用初始產(chǎn)生的KeNB和自身保存的Kasme產(chǎn)生出下一跳變參數(shù)(NH,Next HopParameter),并且更新NCC值為I。MME將產(chǎn)生的NH和更新的NCC值綁定在一起,為{NH,NCC = 1}對,并保存{NH,NCC = 1}。MME將KeNB發(fā)送給eNB,eNB使用從MME處接收到的KeNB為初始密鑰。eNB發(fā)送AS安全模式命令給UE,UE使用NAS uplink COUNT值和自身保存的Kasme來推導(dǎo)KeNB。第一次X2切換時,源eNB根據(jù)KeNB計算出KeNB*,并將{KeNB*,NCC = 0}發(fā)送給目標(biāo)eNB。目標(biāo)eNB將NCC = O發(fā)送給UE’ UE用自身的NCC值和目標(biāo)eNB的NCC值比較,保證自身更新的KeNB與目標(biāo)eNB保持一致。MME更新NCC值,并利用舊的NH和Kasme計算新的NH,將{NH,NCC = 1}對更新為{NH,NCC = 2}對。MME將{NH,NCC = 2}對發(fā)送給目標(biāo)eNB,目標(biāo)eNB保存接收到的{NH,NCC}對。第二次X2切換時,源eNB根據(jù)自身保存的NH計算出KeNB*,并將{KeNB*,NCC =2}發(fā)送給目標(biāo)eNB。目標(biāo)eNB將NCC = 2發(fā)送給UE,UE將自身的NCC值與目標(biāo)eNB的NCC值進行比較,保證自身更新的KeNB與目標(biāo)eNB保持一致。MME更新NCC值,并利用舊的NH和 Kasme 計算新的 NH,將{NH,NCC = 2}對更新為{NH,NCC = 3}對。MME 將{NH,NCC = 3}對發(fā)送給目標(biāo)eNB,目標(biāo)eNB保存接收到的{NH,NCC}對。上述方案中第一次X2切換時的密鑰生成和分發(fā)過程與非第一次X2切換時的密鑰生成和分發(fā)過程不一致,造成了額外的資源損耗。上述方案中源eNB推導(dǎo)出目標(biāo)eNB的密鑰KeNB,并將其發(fā)送給目標(biāo)eNB。源eNB可以推導(dǎo)出UE下一跳變時的密鑰KeNB,這可能會被利用,從而造成通信系統(tǒng)的安全隱患。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種切換過程中密鑰生成方法及系統(tǒng),能避免由基站確定UE切換過程中的下一跳變的密鑰KeNB,保證了通信系統(tǒng)的安全性。為達到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的:一種切換過程中密鑰生成方法,包括:在UE切換過程中,網(wǎng)絡(luò)側(cè)使用NH生成下一跳變的密鑰KeNB ;其中,所述網(wǎng)絡(luò)側(cè)生成的NH不通知基站。優(yōu)選地,所述方法還包括:所述網(wǎng)絡(luò)側(cè)和所述UE側(cè)各自使用目標(biāo)基站所通知的下一跳變計數(shù)器NCC值同步下一跳變的密鑰KeNB ;所述網(wǎng)絡(luò)側(cè)將所生成的下一跳變的密鑰KeNB通知目標(biāo)基站。 優(yōu)選地,所述使用NH生成下一跳變的密鑰KeNB,為:使用NH、目標(biāo)基站的小區(qū)標(biāo)識和目標(biāo)通用地面無線接入UTRA下行載頻號生成下一跳變的密鑰KeNB。優(yōu)選地,所述方法還包括:初始下一跳變的密鑰KeNB由所述網(wǎng)絡(luò)側(cè)根據(jù)根密鑰Kasme和非接入層上行鏈路計數(shù)器NAS UL COUNT值生成;所述網(wǎng)絡(luò)側(cè)根據(jù)根密鑰Kasme和KeNB初始化NH。優(yōu)選地,所述方法還包括:目標(biāo)基站將接收自源基站的下一跳變計數(shù)器NCC值以及所述目標(biāo)基站選擇的加密和完整性保護算法通過源基站通知所述UE ;所述UE確定與當(dāng)前接收的NCC值對應(yīng)的NH,并根據(jù)所確定的NH生成新的下一跳變的密鑰KeNB,再根據(jù)所述新的下一跳變的密鑰KeNB分別生成用戶面和信令面的加解密密鑰和完整性密鑰。優(yōu)選地,所述方法還包括:接收到所述UE的切換確認(rèn)后,目標(biāo)基站將接收自源基站的NCC值通知所述網(wǎng)絡(luò)側(cè);所述網(wǎng)絡(luò)側(cè)確定與當(dāng)前接收的NCC值對應(yīng)的NH,并根據(jù)所確定的NH生成新的下一跳變的密鑰KeNB,并將所述新的下一跳變的密鑰KeNB通知目標(biāo)基站;目標(biāo)基站根據(jù)所接收到的下一跳變的密鑰KeNB分別生成用戶面和信令面的加解密密鑰和完整性密鑰。優(yōu)選地,所述網(wǎng)絡(luò)側(cè)為移動性管理單元MME。優(yōu)選地,所述方法還包括:
源MME確定接收自源基站的NCC值對應(yīng)的NH,并向目標(biāo)MME發(fā)送所接收的NCC值及其對應(yīng)的NH ;目標(biāo)MME根據(jù)所接收的NH生成下一跳變的密鑰KeNB,并使NCC值加一,將所述下一跳變的密鑰KeNB和加一后的NCC值通知目標(biāo)基站;目標(biāo)基站選擇加密和完整性算法,并將加密和完整性算法以及所接收的NCC值通過目標(biāo)MME、源MME以及源基站通知所述UE ;所述UE確定與當(dāng)前接收的NCC值對應(yīng)的NH,并根據(jù)所確定的NH生成新的下一跳變的密鑰KeNB。一種切換過程中密鑰生成系統(tǒng),包括MME、基站和UE,其中:在UE切換過程中,MME使用NH生成下一跳變的密鑰KeNB ;其中,MME生成的NH不通知基站。優(yōu)選地,所述MME和所述UE側(cè)各自使用目標(biāo)基站所通知的NCC值同步下一跳變的密鑰KeNB ;以及,所述MME將所生成的下一跳變的密鑰KeNB通知目標(biāo)基站。 優(yōu)選地,所述UE以及MME,使用NH、目標(biāo)基站的小區(qū)標(biāo)識和目標(biāo)UTRA下行載頻號生成下一跳變的密鑰KeNB。優(yōu)選地,所述MME進一步用于,根據(jù)根密鑰Kasme和NAS UL COUNT值生成初始下一跳變的密鑰KeNB ;并根密鑰Kasme和KeNB初始化NH。優(yōu)選地,目標(biāo)基站用于,將接收自源基站的NCC值以及所述目標(biāo)基站選擇的加密和完整性保護算法通過源基站通知所述UE ;所述UE用于,確定與當(dāng)前接收的NCC值對應(yīng)的NH,并根據(jù)所確定的NH生成新的KeNB,再根據(jù)所述新的KeNB生成加解密密鑰和完整性密鑰。優(yōu)選地,目標(biāo)基站用于,接收到所述UE的切換確認(rèn)后,將接收自源基站的NCC值通知所述MME ;以及,根據(jù)接收自所述MME的KeNB生成加解密密鑰和完整性密鑰;所述MME用于,確定與當(dāng)前接收的NCC值對應(yīng)的NH,并根據(jù)所確定的NH生成新的KeNB,并將所述新的KeNB通知目標(biāo)基站。優(yōu)選地,源MME用于,確定接收自源基站的NCC值對應(yīng)的NH,并向目標(biāo)MME發(fā)送所接收的NCC值及其對應(yīng)的NH ;目標(biāo)MME用于,根據(jù)所接收的NH生成KeNB,并使NCC值加一,將所述KeNB和加一后的NCC值通知目標(biāo)基站;目標(biāo)基站用于,選擇加密和完整性算法,并將加密和完整性算法以及所接收的NCC值通過目標(biāo)MME、源MME以及源基站通知所述UE ;所述UE用于,確定與當(dāng)前接收的NCC值對應(yīng)的NH,并根據(jù)所確定的NH生成新的KeNB。本發(fā)明中,UE切換過程中,UE及MME使用NH生成下一跳變的密鑰KeNB ;并且,MME所生成的NH不再通知給基站。這樣,由于基站不能獲取NH,因此不能生成下一跳變的密鑰KeNB,避免了非法獲取下一跳變的密鑰KeNB的可能性,保證了前向安全性。本發(fā)明大大提升了通信系統(tǒng)的安全性。
圖1為本發(fā)明實施例的長期演進系統(tǒng)中eNB之間的X2切換過程中密鑰生成流程圖;圖2為本發(fā)明實施例的第一次切換為X2切換過程的密鑰生成流程圖;圖3為本發(fā)明實施例的UE、eNB和MME已存在安全上下文情況下的X2切換過程中密鑰生成流程圖;圖4為本發(fā)明實施例的SI切換中密鑰生成流程圖。
具體實施例方式本發(fā)明的基本思想為:在X2切換過程中,源eNB不再為目標(biāo)eNB推導(dǎo)出下一跳變的密鑰,源eNB只為目標(biāo)eNB提供下一跳變計數(shù)器NCC值。目標(biāo)eNB使用NCC值令UE和MME兩實體內(nèi)的NH保持同步,從而使UE和MME內(nèi)保存相同的KeNB。目標(biāo)eNB使用NCC值向MME申請與UE相同的KeNB,從而保持自身的KeNB和UE的KeNB保持一致。切換過程中,NH不再離開MME,eNB無法獲得NH,eNB也沒有能力推導(dǎo)出NH(計算NH必須擁有Kasme),所以源eNB無法獲得下一跳變中目標(biāo)eNB的KeNB,解決了前向安全問題。為使本發(fā)明的目的,技術(shù)方案和優(yōu)點更加清楚明白,以下舉實施例并參照附圖,對本發(fā)明進一步詳細(xì)說明。圖1為本發(fā)明實施例的長期演進系統(tǒng)中eNB之間的X2切換過程中密鑰生成流程圖,如圖1所示,本發(fā)明實施例中,LTE基站eNB之間的X2切換過程中密鑰生成與分發(fā)流程具體包括以下步驟:步驟101,初始過程中,MME不發(fā)送NH給源eNB,MME僅發(fā)送NCC值給源eNB。這里,初始過程是指在X2切換發(fā)生之前,在源eNB內(nèi)建立AS安全上下文的過程。在源eNB發(fā)生X2切換之前,源eNB內(nèi)已經(jīng)存在了 AS安全上下文,建立此安全上下文的過程可以是初始的連接請求(如附著請求、跟蹤區(qū)更新(TAU)請求等)、Intra-eNB切換、X2切換、SI切換或Inter-RAT切換等。在這些過程中,MME發(fā)送給eNB的AS安全上下文中不包括{NH,NCC}對,MME僅發(fā)送NCC值給源eNB。 步驟102,源eNB向目標(biāo)eNB發(fā)起X2切換請求,即源eNB向目標(biāo)eNB發(fā)送X2切換請求消息,其中,該X2切換請求消息中包含NCC值。此處,NCC值是在步驟101中MME發(fā)送給源eNB的NCC值。步驟103,目標(biāo)eNB將NCC值發(fā)送給UE和MME,UE和MME通過此NCC值同步NH,并使用該NH生成同樣的KeNB。目標(biāo)eNB通過源eNB在切換命令中將NCC值通知給UE’UE將從目標(biāo)eNB處得到的NCC值和自身保存的NCC值進行比較,利用從目標(biāo)eNB處得到的NCC值和自身保存的NCC值之間的差值進行NH的同步。這里,所謂的同步是指,一般UE中存儲的NCC值要小于網(wǎng)絡(luò)側(cè)通知的NCC值,需要使用網(wǎng)絡(luò)側(cè)通知的NCC值生成KeNB。目標(biāo)eNB在路徑轉(zhuǎn)換請求中將NCC值通知給MME,MME將從目標(biāo)eNB處得到的NCC值和自身保存的NCC值進行比較,利用從目標(biāo)eNB處得到的NCC值和自身保存的NCC值之間的差值進行NH的同步。一般來說,本發(fā)明中在MME中保存的NCC值和從目標(biāo)eNB處得到的NCC值應(yīng)該是相等的。本步驟能夠保證UE處和MME處有相同的{NH,NCC}對。UE在生成KeNB之后,利用該KeNB分別生成數(shù)據(jù)及信令用的RRC/UP加解密密鑰和完整性密鑰。步驟104,MME將利用同步的NH生成KeNB,該KeNB與UE中保存的KeNB保持一致。MME將該KeNB承載于路徑轉(zhuǎn)換請求應(yīng)答消息中,發(fā)送給目標(biāo)eNB。目標(biāo)eNB利用該KeNB分別生成數(shù)據(jù)及信令用的RRC/UP加解密密鑰和完整性密鑰。RRC/UP加解密密鑰和完整性密鑰和UE中推導(dǎo)的RRC/UP加解密密鑰和完整性密鑰保持一致。圖2為本發(fā)明實施例的第一次切換為X2切換過程的密鑰生成流程圖,圖2是在建立起初始連接后,與UE建立起連接的eNB決定發(fā)起的第一次切換,這里,第一次切換過程就是X2切換過程。如圖2所示,本實施例是該X2切換過程中密鑰生成與密鑰分發(fā)的完整流程,具體包括以下步驟:步驟200,在UE和MME內(nèi)建立起初始化AS安全上下文,其目的是初始化NH。MME通過SlAP初始化上下文建立請求消息將NCC值發(fā)送給源eNB ;UE初始化{NH,NCC}對,并初始化KeNB。步驟200中,在MME內(nèi)建立起初始AS安全,具體為,MME根據(jù)Kasme和NAS上行鏈路計數(shù)器推導(dǎo)出KeNB,KeNB = KDF (Kasme,NAS UL COUNT)。NAS UL COUNT為初始連接請求中的NAS上行鏈路計數(shù)器;如果在AS SMC過程之前有認(rèn)證密鑰協(xié)商(AKA)過程,那么NASUL COUNT為AKA過程中的NAS上行鏈路計數(shù)器。KDF表示密鑰算法,具體的,是將Kasme及NAS UL COUNT所對應(yīng)的信息順序排列,作為密鑰。步驟200中,初始化NH,具體為,MME在獲得KeNB之后,根據(jù)Kasme和KeNB計算出NH,并令NCC值加1,此時NCC = I。MME保存最新的{NH,NCC}對。步驟200中,MME將NCC值發(fā)送給eNB,具體為,MME向eNB發(fā)送SlAP初始上下文建立請求消息,其中,NCC值承載于SI AP初始上下文建立請求消息中,由MME發(fā)送給eNB。eNB為X2切換過程中的源eNB。MME不發(fā)送NH給eNB。步驟200中,MME將NCC值發(fā)送給eNB,具體為,eNB在接收到由MME發(fā)送的NCC值后,將NCC值保存。步驟200中,UE初始化{NH,NCC}對,并初始化KeNB,具體為,eNB和UE之間建立起無線承載,UE初始化NCC = O ;初始化下一跳變密鑰為NH = void ;并且根據(jù)Kasme和NAS上行鏈路計數(shù)器推導(dǎo)出 KeNB,KeNB = KDF(Kasme, NAS UL COUNT)。步驟201,UE向源eNB發(fā)送測量報告。源eNB通過測量報告決定向目標(biāo)eNB發(fā)起一次X2切換。步驟202,源eNB向目標(biāo)eNB發(fā)送切換請求,源eNB在切換請求中將自身保存的下一跳變計數(shù)器NCC值發(fā)送給目標(biāo)eNB。此實施例中源eNB所保存的NCC = I。此步驟中源eNB還將源eNB的當(dāng)前AS安全上下文、UE的安全能力轉(zhuǎn)發(fā)給目標(biāo)eNB。步驟203,目標(biāo)eNB在接收到源eNB的切換請求消息后,保存接收到的NCC值。NCC=I。目標(biāo)eNB還根據(jù)接收到的UE安全能力選擇RRC/UP加密和完整性保護算法。步驟204,目標(biāo)eNB向源eNB方式切換請求應(yīng)答消息,切換請求應(yīng)答消息中包括一個傳輸容器,傳輸容器中包括目標(biāo)eNB所保存的NCC值、目標(biāo)eNB所選擇的加密和完整性保護算法標(biāo)識(EIA、EEA)等。步驟205,源eNB向UE發(fā)送切換命令,切換命令中包括了步驟204的從目標(biāo)eNB中接收到的傳輸容器。源eNB使用當(dāng)前的AS安全上下文對消息進行加密和完整性保護。
步驟206,UE在接收到源eNB發(fā)送的切換命令后,使用當(dāng)前的AS安全上下文對消息進行解密和完整性驗證。UE提取出其中的NCC值。UE將從源eNB接收到的NCC值和自身所保存的NCC值進行比較。UE根據(jù)從源eNB接收到的NCC值和自身所保存的NCC值之間的差值,將自身的{NH,NCC}對同步到接收到的NCC值所對應(yīng)的{NH,NCC}對。UE保存此次同步產(chǎn)生的{NH,NCC}對。步驟207,UE在同步了 NH后,利用該NH計算得到KeNB。計算方法為KeNB* =KDF(NH,PCI,EARFCN_DL),PCI為目標(biāo)eNB的小區(qū)標(biāo)識,EARFCN_DL目標(biāo)E-UTRA下行載頻號,UE可以測量得到目標(biāo)PCI和目標(biāo)EARFCN_DL ;然后利用KeNB*更新KeNB,KeNB = KeNB*。UE根據(jù)接收到的EEA、EIA以及自身更新的KeNB計算出數(shù)據(jù)及信令用的RRC/UP加解密密鑰和完整性密鑰,并替換當(dāng)前的AS安全上下文。步驟208,UE發(fā)送切換確認(rèn)消息給目標(biāo)eNB。此消息被UE的當(dāng)前AS安全上下文所保護,UE當(dāng)前的AS安全上下文已經(jīng)在步驟207中被更新。步驟209,目標(biāo)eNB發(fā)送路徑轉(zhuǎn)換請求消息給MME。其中目標(biāo)eNB將自身所保存的NCC值通知給MME。NCC值與UE在步驟206中接收到的NCC值相同;目標(biāo)eNB還將其PCI和EARFCN_DL發(fā)送給MME,用于推導(dǎo)KeNB*。步驟210,MME在接收到來自于目標(biāo)eNB的路徑轉(zhuǎn)換消息后,提取出其中的NCC值。MME將接收到的NCC值與自身所保存的NCC值進行比較,若相同,MME將取出與此NCC值關(guān)聯(lián)的{NH,NCC}對中的NH ;若不同,MME將計算出與接收到的NCC值相關(guān)聯(lián)的NH。本發(fā)明中,能保證MME中保存的NCC值大于等于從目標(biāo)eNB處接收到的NCC值,MME保存有與該NCC值所關(guān)聯(lián)的NH。步驟211,MME在同步了 NH后,利用該NH計算得到KeNB。計算方法為KeNB* =KDF (NH, PCI,EARFCN_DL),這里,PCI 和 EARFCN_DL 是目標(biāo) eNB 的 PCI 和 EARFCN_DL ;然后利用 KeNB* 更新 KeNB,KeNB = KeNB*。步驟212,MME在計算出KeNB后,將計算下一跳變的{NH,NCC}對。首先將NCC值加I ;其次計算NH,NH = KDF (NH_old, Kasme),其中,NH_old為MME中保存的前次NH。此新計算出的{NH,NCC}對將用于下一次跳變的密鑰更新。步驟213,MME向目標(biāo)eNB發(fā)送路徑轉(zhuǎn)換請求應(yīng)答消息,該路徑轉(zhuǎn)換請求應(yīng)答消息中攜帶有新的NCC值和步驟211所計算的KeNB。NCC值將用于下一跳變的UE和MME之間的NH同步;KeNB與UE中保存的KeNB保持一致。KeNB將被目標(biāo)eNB用于產(chǎn)生數(shù)據(jù)及信令用的RRC/UP加解密密鑰和完整性密鑰。步驟214,目標(biāo)eNB將保存新的NCC值,并使用KeNB和自身所選擇的EEA、EIA計算出RRC/UP加解密密鑰和完整性密鑰。目標(biāo)eNB將使用新生成的AS安全上下文對步驟208中所接收到的切換確認(rèn)消息進行解密和完整性驗證。步驟215,目標(biāo)eNB發(fā)送釋放資源消息給源eNB。源eNB在接收到來自于目標(biāo)eNB的釋放資源消息后,將刪除所有的與UE有關(guān)的AS安全上下文。圖3為本發(fā)明實施例的UE、eNB和MME已存在安全上下文情況下的X2切換過程中密鑰生成流程圖,圖3是在進行X2切換之前,UE和源eNB已有了 AS安全上下文,MME也有了部分AS安全上下文。這些安全上下文是由之前的UE、eNB、MME之間信令交互產(chǎn)生的,這些信令交互可能是之前的初始連接過程、切換過程等。本實施例是在UE、eNB和MME均已存在安全上下文情況下的X2切換過程中密鑰生成與密鑰分發(fā)的完整流程,具體包括以下步驟:在UE發(fā)起測量報告以前,UE保存有{NH,NCC}對,記為NCC_UE ;源eNB處存在NCC值,記為NCC_eNB ;MME保存的{NH,NCC}對,記為NCC_MME。之前的信令交互過程能夠保證NCC_UE小于等于NCC_eNB ;并且NCC_eNB小于等于NCC_MME。步驟301,UE向源eNB發(fā)送測量報告。源eNB通過測量報告決定向目標(biāo)eNB發(fā)起一次X2切換。步驟302,源eNB向目標(biāo)eNB發(fā)送切換請求消息,該切換請求消息中攜帶有源eNB保存的NCC_eNB。此步驟中源eNB還將源eNB的當(dāng)前AS安全上下文、UE的安全能力轉(zhuǎn)發(fā)給目標(biāo)eNB。步驟303,目標(biāo)eNB在接收到源eNB的切換請求消息后,保存接收到的NCC_eNB。目標(biāo)eNB還根據(jù)接收到的UE安全能力選擇RRC/UP加密和完整性保護算法。步驟304,目標(biāo)eNB向源eNB發(fā)送切換請求應(yīng)答消息,切換請求應(yīng)答消息中包括一個傳輸容器,傳輸容器中包括目標(biāo)NCC_eNB、目標(biāo)eNB所選擇的加密和完整性保護算法標(biāo)識(EIA、EEA)等。步驟305,源eNB向UE發(fā)送切換命令,切換命令中包括了步驟204中的從目標(biāo)eNB中接收到的傳輸容器。步驟306,UE在接收到源eNB發(fā)送的切換命令后,使用當(dāng)前的AS安全上下文對消息進行解密和完整性驗證。UE提取出其中的NCC值。UE將從源eNB接收到的NCC值和自身所保存的NCC值進行比較。UE根據(jù)從源eNB接收到的NCC值和自身所保存的NCC值之間的差值,將自身的{NH,NCC}對同步到接收到的NCC值所對應(yīng)的{NH,NCC}對。UE保存此次同步產(chǎn)生的{NH,NCC}對。步驟307,UE在同步了 NH后,利用該NH計算得到KeNB。計算方法為KeNB* =KDF (NH, PCI,EARFCN_DL);然后利用 KeNB* 更新 KeNB,KeNB = KeNB*。步驟308,UE發(fā)送切換確認(rèn)消息給目標(biāo)eNB。步驟309,目標(biāo)eNB發(fā)送路徑轉(zhuǎn)換請求消息給MME。其中目標(biāo)eNB將自身所保存的NCC_eNB通知給MME ;目標(biāo)eNB將其PCI和EARFCN_DL通知給MME。步驟310,MME在接收到來自于目標(biāo)eNB的路徑轉(zhuǎn)換消息后,提取該路徑轉(zhuǎn)換消息中攜帶的NCC_eNB。MME將NCC_eNB與自身所保存的NCC_MME進行比較,若相同,MME取出與此NCC_MME關(guān)聯(lián)的{NH,NCC}對中的NH ;若不同,MME將計算出與接收到的NCC_eNB相關(guān)聯(lián)的NH。步驟311,MME在同步了 NH后,利用該NH計算得到KeNB。計算方法為KeNB* =KDF (NH, PCI,EARFCN_DL),其中,PCI 和 EARFCN_DL 為目標(biāo) eNB 的 PCI 和 EARFCN_DL ;然后利用 KeNB* 更新 KeNB,KeNB = KeNB*。步驟312,MME在計算出KeNB后,將計算下一跳變的{NH,NCC}對。首先將NCC值加I ;其次計算NH,NH = KDF (NH_oId, Kasme)。此新計算出的{NH,NCC}對將用于下一次跳變的密鑰更新。
步驟313,MME向目標(biāo)eNB發(fā)送路徑轉(zhuǎn)換請求應(yīng)答消息,其中附帶新的NCC值和步驟311所計算出的KeNB。NCC值將用于下一跳變的UE和MME之間的NH同步;KeNB和UE中保存的KeNB保持一致。KeNB將被目標(biāo)eNB用于產(chǎn)生數(shù)據(jù)及信令用的RRC/UP加解密密鑰和完整性密鑰。步驟314,目標(biāo)eNB將保存新的NCC值,并使用KeNB和自身所選擇的EEA、EIA計算出數(shù)據(jù)及信令用的RRC/UP加解密密鑰和完整性密鑰。目標(biāo)eNB將使用新生成的AS安全上下文對步驟308中所接收到的切換確認(rèn)消息進行解密和完整性驗證。步驟315,目標(biāo)eNB發(fā)送釋放資源消息給源eNB。源eNB在接收到來自于目標(biāo)eNB的釋放資源消息后,將刪除所有的與UE有關(guān)的AS安全上下文。從上可以看出,圖2所示密鑰生成過程只是附圖3所示過程的一個特例,無論是第一次進行的切換就是X2切換的過程,還是X2切換發(fā)生在UE和eNB中已存在AS安全上下文的情況下,本發(fā)明都能夠使X2切換過程的流程保持一致,并且保證了前向安全。圖4為本發(fā)明實施例的SI切換中密鑰生成流程圖,圖4是一次SI切換中密鑰生成和密鑰分發(fā)流程,其中,為了保證X2切換過程中的前向安全,在SI切換過程中也有必要使得eNB無法獲得NH,使源eNB不具備推導(dǎo)目標(biāo)eNB的KeNB的能力,具體包括以下步驟:步驟401,UE向源eNB發(fā)測量報告。此時UE、源eNB、源MME中保持有UE的AS安全上下文。步驟402,源eNB向源MME發(fā)起切換需求,切換需求相關(guān)消息中包括源eNB所保存的NCC值。步驟403,源MME根據(jù)從源eNB接收到的NCC值同步{NH,NCC}對。源MME向目標(biāo)MME發(fā)送轉(zhuǎn)發(fā)重定位請求消息,以將同步后的{NH,NCC}對和Kasme、eKSI發(fā)送給目標(biāo)MME。步驟404,目標(biāo)MME首先根據(jù)接收到的{NH,NCC}對計算出KeNB,然后將NCC值加1,計算出新的{NH,NCC}對。新的{NH,NCC}對用于下一跳變密鑰的生成。步驟405,目標(biāo)MME向目標(biāo)eNB發(fā)送切換請求消息。該切換請求消息中包括步驟404中所計算出的KeNB和新的NCC值。目標(biāo)MME不發(fā)送NH給目標(biāo)eNB。步驟406,目標(biāo)eNB將選擇加密和完整性保護算法,將選擇好的加密和完整性保護算法標(biāo)識和NCC值承載于切換請求應(yīng)答消息中,并發(fā)送給目標(biāo)MME。步驟407,目標(biāo)MME轉(zhuǎn)發(fā)重定位響應(yīng)消息給源MME,該重定位響應(yīng)消息中包括目標(biāo)eNB中所保存的NCC值、加密和完整性保護算法標(biāo)識。步驟408,源MME向源eNB發(fā)切換命令,其中包括目標(biāo)eNB中所保存的NCC值、加密和完整性保護算法標(biāo)識。步驟409,源eNB向UE發(fā)切換命令,其中包括目標(biāo)eNB中所保存的NCC值、加密和完整性保護算法標(biāo)識。步驟410,UE根據(jù)從源eNB處接收到的NCC值同步{NH,NCC}對,并利用同步好的NH計算出KeNB。UE根據(jù)接收到的加密和完整性保護算法標(biāo)識以及KeNB計算出數(shù)據(jù)及信令用的加解密密鑰和完整性密鑰。步驟411,UE向目標(biāo)eNB發(fā)送切換確認(rèn)消息。UE和目標(biāo)eNB之間建立起AS安全。本發(fā)明還記載了一種切換過程中密鑰生成系統(tǒng),包括MME、基站和UE,其中:在UE切換過程中,MME使用NH生成下一跳變的密鑰KeNB ;其中,MME生成的NH不通知基站。其中,上述MME和上述UE側(cè)各自使用目標(biāo)基站所通知的NCC值同步下一跳變的密鑰KeNB ;以及,所述MME將所生成的下一跳變的密鑰KeNB通知目標(biāo)基站。上述UE以及MME,使用NH、目標(biāo)基站的小區(qū)標(biāo)識和目標(biāo)通用地面無線接入UTRA下行載頻號生成下一跳變的密鑰KeNB。上述MME進一步用于,根據(jù)根密鑰Kasme和NAS UL COUNT值生成初始下一跳變的密鑰KeNB ;并根密鑰Kasme和KeNB初始化NH。優(yōu)選地,目標(biāo)基站用于,將接收自源基站的NCC值以及所述目標(biāo)基站選擇的加密和完整性保護算法通過源基站通知所述UE ;所述UE用于,確定與當(dāng)前接收的NCC值對應(yīng)的NH,并根據(jù)所確定的NH生成新的KeNB,再根據(jù)所述新的KeNB生成加解密密鑰和完整性密鑰。 優(yōu)選地,目標(biāo)基站用于,接收到所述UE的切換確認(rèn)后,將接收自源基站的NCC值通知所述MME ;以及,根據(jù)接收自所述MME的KeNB生成加解密密鑰和完整性密鑰;所述MME用于,確定與當(dāng)前接收的NCC值對應(yīng)的NH,并根據(jù)所確定的NH生成新的KeNB,并將所述新的KeNB通知目標(biāo)基站?;蛘撸瑑?yōu)選地,源MME用于,確定接收自源基站的NCC值對應(yīng)的NH,并向目標(biāo)MME發(fā)送所接收的NCC值及其對應(yīng)的NH ;目標(biāo)MME用于,根據(jù)所接收的NH生成KeNB,并使NCC值加一,將所述KeNB和加一后的NCC值通知目標(biāo)基站;目標(biāo)基站用于,選擇加密和完整性算法,并將加密和完整性算法以及所接收的NCC值通過目標(biāo)MME、源MME以及源基站通知所述UE ;所述UE用于,確定與當(dāng)前接收的NCC值對應(yīng)的NH,并根據(jù)所確定的NH生成新的KeNB。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本示例切換過程中密鑰生成系統(tǒng)中的各網(wǎng)元的功能可參見前述圖1至圖4的相關(guān)描述而理解。本發(fā)明切換過程中密鑰生成系統(tǒng)是在現(xiàn)有的網(wǎng)絡(luò)結(jié)構(gòu)基礎(chǔ)上,只是對相應(yīng)的網(wǎng)元功能進行了改進而已,網(wǎng)絡(luò)結(jié)構(gòu)仍可參見現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)而理解。以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。
權(quán)利要求
1.一種切換過程中密鑰生成方法,其特征在于,所述方法包括: 在用戶設(shè)備UE切換過程中,網(wǎng)絡(luò)側(cè)使用下一跳變參數(shù)NH生成下一跳變的密鑰KeNB ;其中,所述網(wǎng)絡(luò)側(cè)生成的NH不通知基站。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 所述網(wǎng)絡(luò)側(cè)和所述UE側(cè)各自使用目標(biāo)基站所通知的下一跳變計數(shù)器NCC值同步下一跳變的密鑰KeNB ;所述網(wǎng)絡(luò)側(cè)將所生成的下一跳變的密鑰KeNB通知目標(biāo)基站。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述使用NH生成下一跳變的密鑰KeNB,為: 使用NH、目標(biāo)基站的小區(qū)標(biāo)識和目標(biāo)通用地面無線接入UTRA下行載頻號生成下一跳變的密鑰KeNB。
4.根據(jù)權(quán)利要求1至3中任一項所述的方法,其特征在于,所述方法還包括: 初始下一跳變的密鑰KeNB由所述網(wǎng)絡(luò)側(cè)根據(jù)根密鑰Kasme和非接入層上行鏈路計數(shù)器NAS UL COUNT值生成;所述網(wǎng)絡(luò)側(cè)根據(jù)根密鑰Kasme和KeNB初始化NH。
5.根據(jù)權(quán)利要求1至3中任一項所述的方法,其特征在于,所述方法還包括: 目標(biāo)基站將接收自源基站的下一跳變計數(shù)器NCC值以及所述目標(biāo)基站選擇的加密和完整性保護算法通過源 基站通知所述UE ; 所述UE確定與當(dāng)前接收的NCC值對應(yīng)的NH,并根據(jù)所確定的NH生成新的下一跳變的密鑰KeNB,再根據(jù)所述新的下一跳變的密鑰KeNB分別生成用戶面和信令面的加解密密鑰和完整性密鑰。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法還包括: 接收到所述UE的切換確認(rèn)后,目標(biāo)基站將接收自源基站的NCC值通知所述網(wǎng)絡(luò)側(cè);所述網(wǎng)絡(luò)側(cè)確定與當(dāng)前接收的NCC值對應(yīng)的NH,并根據(jù)所確定的NH生成新的下一跳變的密鑰KeNB,并將所述新的下一跳變的密鑰KeNB通知目標(biāo)基站; 目標(biāo)基站根據(jù)所接收到的下一跳變的密鑰KeNB分別生成用戶面和信令面的加解密密鑰和完整性密鑰。
7.根據(jù)權(quán)利要求1至6任一項所述的方法,其特征在于,所述網(wǎng)絡(luò)側(cè)為移動性管理單元MME0
8.根據(jù)權(quán)利要求1至3中任一項所述的方法,其特征在于,所述方法還包括: 源MME確定接收自源基站的NCC值對應(yīng)的NH,并向目標(biāo)MME發(fā)送所接收的NCC值及其對應(yīng)的NH ; 目標(biāo)MME根據(jù)所接收的NH生成下一跳變的密鑰KeNB,并使NCC值加一,將所述下一跳變的密鑰KeNB和加一后的NCC值通知目標(biāo)基站; 目標(biāo)基站選擇加密和完整性算法,并將加密和完整性算法以及所接收的NCC值通過目標(biāo)MME、源MME以及源基站通知所述UE ; 所述UE確定與當(dāng)前接收的NCC值對應(yīng)的NH,并根據(jù)所確定的NH生成新的下一跳變的密鑰KeNB。
9.一種切換過程中密鑰生成系統(tǒng),包括MME、基站和UE,其特征在于: 在UE切換過程中,MME使用NH生成下一跳變的密鑰KeNB ;其中,MME生成的NH不通知基站O
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于: 所述MME和所述UE側(cè)各自使用目標(biāo)基站所通知的NCC值同步下一跳變的密鑰KeNB ;以及,所述MME將所生成的下一跳變的密鑰KeNB通知目標(biāo)基站。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,所述UE以及MME,使用NH、目標(biāo)基站的小區(qū)標(biāo)識和目標(biāo)UTRA下行載頻號生成下一跳變的密鑰KeNB。
12.根據(jù)權(quán)利要求9至11中任一項所述的系統(tǒng),其特征在于: 所述MME進一步用于,根據(jù)根密鑰Kasme和NAS UL COUNT值生成初始下一跳變的密鑰KeNB ;并根密鑰Kasme和KeNB初始化NH。
13.根據(jù)權(quán)利要求9至11中任一項所述的系統(tǒng),其特征在于: 目標(biāo)基站用于,將接收自源基站的NCC值以及所述目標(biāo)基站選擇的加密和完整性保護算法通過源基站通知所述UE ; 所述UE用于,確定與當(dāng)前接收的NCC值對應(yīng)的NH,并根據(jù)所確定的NH生成新的KeNB,再根據(jù)所述新的KeNB生成加解密密鑰和完整性密鑰。
14.根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在于: 目標(biāo)基站用于,接收到所述UE的切換確認(rèn)后,將接收自源基站的NCC值通知所述MME ;以及,根據(jù)接收自所述MME的KeNB生成加解密密鑰和完整性密鑰; 所述MME用于,確定與當(dāng)前接收的NCC值對應(yīng)的NH,并根據(jù)所確定的NH生成新的KeNB,并將所述新的KeNB通知目標(biāo)基站。
15.根據(jù)權(quán)利要求9至11中任一項所述的系統(tǒng),其特征在于: 源MME用于,確定接收自源基站的NCC值對應(yīng)的NH,并向目標(biāo)MME發(fā)送所接收的NCC值及其對應(yīng)的NH ; 目標(biāo)MME用于,根據(jù)所接收的NH生成KeNB,并使NCC值加一,將所述KeNB和加一后的NCC值通知目標(biāo)基站; 目標(biāo)基站用于,選擇加密和完整性算法,并將加密和完整性算法以及所接收的NCC值通過目標(biāo)MME、源MME以及源基站通知所述UE ; 所述UE用于,確定與當(dāng)前接收的NCC值對應(yīng)的NH,并根據(jù)所確定的NH生成新的KeNB。
全文摘要
本發(fā)明公開了一種切換過程中密鑰生成方法及系統(tǒng),所述方法包括在UE切換過程中,網(wǎng)絡(luò)側(cè)使用下一跳變參數(shù)NH生成下一跳變的密鑰KeNB;其中,網(wǎng)絡(luò)側(cè)生成的NH不通知基站;所述網(wǎng)絡(luò)側(cè)和所述UE側(cè)各自使用目標(biāo)基站所通知的下一跳變計數(shù)器NCC值同步下一跳變的密鑰KeNB;所述網(wǎng)絡(luò)側(cè)將所生成的下一跳變的密鑰KeNB通知目標(biāo)基站。由于基站不能獲取NH,因此不能生成下一跳變的密鑰KeNB,避免了非法獲取下一跳變的密鑰KeNB的可能性,保證了前向安全性。本發(fā)明大大提升了通信系統(tǒng)的安全性。
文檔編號H04W12/04GK103139771SQ20111038264
公開日2013年6月5日 申請日期2011年11月25日 優(yōu)先權(quán)日2011年11月25日
發(fā)明者曹嵐健, 余萬濤 申請人:中興通訊股份有限公司