5GS的雙連接安全和互操作安全學(xué)習(xí)筆記_第1頁(yè)
5GS的雙連接安全和互操作安全學(xué)習(xí)筆記_第2頁(yè)
5GS的雙連接安全和互操作安全學(xué)習(xí)筆記_第3頁(yè)
5GS的雙連接安全和互操作安全學(xué)習(xí)筆記_第4頁(yè)
5GS的雙連接安全和互操作安全學(xué)習(xí)筆記_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

5GS的雙連接安全

5GS還很遙遠(yuǎn),但3GPP文檔也很長(zhǎng),別說(shuō)通讀一遍,打開(kāi)都要些勇氣。我決定“分而治之”,拆成小塊來(lái)學(xué)。這里和大家分享的,就是其中一小塊——3GPPTS33.501(Securityarchitectureandproceduresfor5Gsystem)的6.10章節(jié),5GS的DualConnectivity,即5GS的雙連接安全。

DC(DualConnectivity)是UE在RRC連接態(tài)的一種工作模式(OperationMode),UE同時(shí)配置MCG(MasterCellGroup)和SCG(SecondaryCellGroup),以提升用戶(hù)的體驗(yàn)速率。UE同時(shí)和兩個(gè)基站“連接”,一個(gè)稱(chēng)為MN(MasterNode),另一個(gè)稱(chēng)為SN(SecondaryNode)。UE和CN(EPC或5GC)只和MN建立控制面連接(RRC連接和S1AP/NGAP連接),SN和MN通過(guò)Xx(X2或Xn)接口連接,為UE提供(Uu)用戶(hù)面資源(如果忽略SRB3和SplitSRB)。DC是3GPP在R12引入的技術(shù),最初MN和SN都是eNB。為了盡早利用NR優(yōu)勢(shì),3GPP在R15引入MR-DC,即Multi-RATDualConnectivity。MR-DC可視為DC的“泛化”(generalization),MN和SN可以是不同基站類(lèi)型(eNB、ng-eNB或gNB)。后來(lái),3GPP把MR-DC重新定義為Multi-RadioDualConnectivity,將NR-NRDC(MN和SN都是gNB)也納入MR-DC的范疇。

5GS的雙連接,這里限定為MR-DCwith5GC(不包括EN-DC),MN和SN均為NG-RAN,即gNB或ng-eNB。根據(jù)NG-RAN的不同組合,MR-DCwith5GC包括三種類(lèi)型:1、NGEN-DC(NG-RANE-UTRA-NRDualConnectivity),MN為ng-eNB,SN為gNB;2、NE-DC(NR-E-UTRADualConnectivity),MN為gNB,SN為ng-eNB;3、NR-DC(NR-NRDualConnectivity),MN為gNB,SN為gNB。MR-DC就不展開(kāi)了,詳見(jiàn)3GPPTS37.340,或參考《MR-DC是什么鬼?》系列。在5GS中,接入的數(shù)據(jù)保護(hù)包括加密保護(hù)和完全性保護(hù)(包含重放保護(hù))。NAS保護(hù)在NAS層實(shí)現(xiàn),RRC保護(hù)和UP保護(hù)在PDCP實(shí)現(xiàn)。UE和網(wǎng)絡(luò)(AMF或NG-RAN)的NAS實(shí)體或PDCP實(shí)體使用相同的輸入密鑰(NAS密鑰或AS密鑰),相同的輸入?yún)?shù)(BEARER、COUNT、DIRECTION、LENGTH、MESSAGE)和相同的保護(hù)算法(加密算法或完整性算法),獲得相同的輸出(KEYSTREAM或MAC),實(shí)現(xiàn)加密保護(hù)或完整性保護(hù),詳見(jiàn)3GPPTS33.501的6.4、6.5、6.6章節(jié),或參考《5GS的數(shù)據(jù)保護(hù)》。

DC有什么影響呢?

對(duì)NAS保護(hù)來(lái)說(shuō),沒(méi)什么影響。無(wú)論UE是否處于DC模式,NAS實(shí)體只在A(yíng)MF和UE上,按照原有方式保護(hù)即可。對(duì)AS保護(hù)來(lái)說(shuō),如果SRB和DRB的PDCP實(shí)體還在MN上,也沒(méi)什么影響。如果SNRRC消息通過(guò)Xn接口傳遞給MN,封裝在MNRRC消息(CombinedMN/SNRRCMessage)中發(fā)送給UE,也是由MN的PDCP實(shí)體實(shí)現(xiàn)保護(hù)(SN不提供保護(hù))。同樣道理,SplitSRB(SRB1或SRB2)盡管占用SCG資源,但PDCP實(shí)體還在MN上,保護(hù)方式也保持不變。我們要重點(diǎn)分析的,是PDCP實(shí)體在SN上的DRB和SRB。

在UE進(jìn)入DC模式之前,SRB(SRB1和SRB2)和DRB的PDCP實(shí)體都在(準(zhǔn))MN上,在UE進(jìn)入DC模式之后,部分DRB的PDCP實(shí)體可能“遷移”(offload)到SN(SNTerminatedBearer)。同時(shí),SN還可能建立SRB3(PDCP實(shí)體在SN,且SN類(lèi)型為gNB),部分SNRRC消息(SCG的測(cè)量任務(wù)和測(cè)量報(bào)告)可能通過(guò)SN的Uu接口傳送。那么,這些數(shù)據(jù)如何保護(hù)呢?

SN需要?jiǎng)?chuàng)建“自己”的AS安全上下文,包含“自己”的AS密鑰(KRRCint、KRRCenc、KUPint和KUPenc),以保護(hù)在上述DRB和SRB(SRB3)傳送的數(shù)據(jù)(UP數(shù)據(jù)和SNRRC消息)。和MN相同,SN的AS安全上下文也有一個(gè)根密鑰,即KSN。顯然,KSN來(lái)自于MN——在控制面上,MN是SN的唯一出路……

SN只能抱MN大腿了??!

MN由KMN衍生KSN,通過(guò)Xn接口傳遞給SN。KMN和KSN是什么類(lèi)型,取決于DC類(lèi)型。更具體的:在NGEN-DC中,KMN為KeNB,KSN為S-KgNB;在NE-DC中,KMN為KgNB,KSN為S-KeNB;在NR-DC中,KMN為KgNB,KSN為S-KgNB。SN獲得KSN后,由KSN衍生SN的AS密鑰(KRRCint、KRRCenc、KUPint和KUPenc)。因而,SN安全上下文和MN安全上下文存在關(guān)聯(lián),MN總是由當(dāng)前KMN衍生KSN,這為避免KSN重復(fù)提供了條件。如果MN變更,KMN也會(huì)變更(詳見(jiàn)3GPPTS33.501的6.9.2章節(jié),或參考《5GS的前向安全》),KSN隨之變更。如果MN不變,SN變更,為了由相同的KMN衍生不同的KSN,MN將KMN和一個(gè)計(jì)數(shù)器關(guān)聯(lián),其數(shù)值作為衍生KSN的輸入?yún)?shù)。這個(gè)計(jì)數(shù)器稱(chēng)為SNCounter。

在衍生KSN的KDF(KeyDerivationFunction)中,F(xiàn)C為0x79,P0為SNCounter(KDF在5GS中的應(yīng)用,詳見(jiàn)3GPPTS33.501的6.2.2章節(jié),或參考《5GS的密鑰衍生》)。SNCounter長(zhǎng)度為16Bit,初始值為0。如果MN第一次添加SN,MN由當(dāng)前KMN和SNCounter=0衍生KSN,SNCounter加1。后續(xù)MN每次衍生KSN,SNCounter都加1——由于SNCounter總是“新鮮”的,KSN也總是“新鮮”的。如果KMN不變,無(wú)論MN添加(和釋放)多少次SN,SN相同還是不同,SNCounter都不會(huì)重置為0,總是單調(diào)增加。

SNCounter不傳遞給SN,KSN是MN衍生的,SNCounter對(duì)SN沒(méi)有用。事實(shí)上,SN連KSN都不太想保留——SN由KSN衍生AS密鑰后,可以就將KSN刪除。這和SEAF的行為相似,SEAF由KSEAF衍生KAMF后,就將KSEAF刪除。SN和SEAF這么“忘本”,是為了降低上游密鑰(KMN或KAUSF)暴露的風(fēng)險(xiǎn)。

MN將SNCounter(SK-counter)傳遞給UE,UE才可以獲得(和MN/SN)相同的KSN。這里還有一個(gè)小問(wèn)題,MN和SN知道PDCP實(shí)體在哪一側(cè),但UE是無(wú)法區(qū)分的,特別是在MR-DCwith5GC中,所有PDCP實(shí)體都用NRPDCP(3GPPTS38.323)。因而,在RRC重配中,網(wǎng)絡(luò)還要通過(guò)keyToUse告知UE,各個(gè)DRB用KMN(MasterKey)保護(hù),還是用KSN(SecondaryKey)保護(hù)。SRB沒(méi)有這個(gè)困惑,SRB1和SRB2總是用KMN保護(hù)(無(wú)論是否SplitSRB,PDCP實(shí)體總是在MN側(cè)),SRB3總是用KSN保護(hù)(PDCP實(shí)體總是在SN側(cè))。

在SNADDITION中,MN由KMN和SNCounter(第一次添加SN時(shí)取值為0)衍生KSN,通過(guò)SNADDITIONREQUEST(Xn-C消息中KSN稱(chēng)為S-NG-RANnodeSecurityKey)傳遞給SN。SN返回SNADDITIONREQUESTACKNOWLEDGE后,MN將SNCounter通過(guò)RRCConnectionReconfiguration(MNRRC消息有完整性保護(hù)和重放保護(hù),攻擊者無(wú)法修改或重放SNCounter)傳遞給UE,并告知UE哪些DRB使用KSN。UE由(本地的)KMN和(接收的)SNCounter衍生KSN——理論上,應(yīng)該和SN獲得的KSN相同。SN的密鑰來(lái)自MN,但在算法上,SN還有一點(diǎn)自主權(quán)。MN將UE安全能力通過(guò)SNADDITIONREQUEST傳遞給SN,SN選擇本地配置優(yōu)先級(jí)最高,且UE支持的AS算法(可以不同于MN選擇的AS算法),通過(guò)SNADDITIONREQUESTACKNOWLEDGE返回,MN通過(guò)RRCConnectionReconfiguration傳遞給UE。對(duì)于使用KSN保護(hù)的DRB和SRB,UE使用SN選擇的AS算法衍生(SN側(cè)的)AS密鑰——理論上,應(yīng)該和SN衍生的AS密鑰相同。另外,MN將從SMF獲得的UP安全策略(UPsecuritypolicy)傳遞給SN,SN指示UE是否對(duì)DRB開(kāi)啟加密保護(hù)和(或)完整性保護(hù)。對(duì)于SplitPDUSession——部分DRB終結(jié)于MN,部分DRB終結(jié)于SN的PDUSession,MN應(yīng)保證所有DRB同時(shí)開(kāi)啟(激活),或同時(shí)關(guān)閉(去激活)保護(hù)——為了實(shí)現(xiàn)這個(gè)目標(biāo),對(duì)于某個(gè)PDUSession,如果MN將部分DRB的PDCP實(shí)體“遷移”到SN,應(yīng)將MN對(duì)UP保護(hù)的決定(開(kāi)啟或關(guān)閉)傳遞給SN,SN參照?qǐng)?zhí)行。

UP完整性保護(hù)相對(duì)復(fù)雜一些。原因是ng-eNB不支持UP完整性保護(hù)。如果UP安全策略指示為“required”:在NGEN-DC中,MN(ng-eNB)應(yīng)拒絕PDUSession建立;在NE-DC中,如果MN(gNB)決定開(kāi)啟UP完整性保護(hù),不能將同一PDUSession的DRB“遷移”到SN(ng-eNB);在NR-DC中,MN決定MN終結(jié)的PDUSession是否開(kāi)啟UP完整性保護(hù),SN決定SN終結(jié)的PDUSession是否開(kāi)啟UP完整性保護(hù)。

如果UP安全策略指示為“preferred”:在NGEN-DC中,MN(ng-eNB)和SN總是關(guān)閉UP完整性保護(hù),在NE-DC中,如果MN(gNB)對(duì)PDUSession的任一DRB開(kāi)啟完整性保護(hù),MN不能將同一PDUSession的DRB“遷移”到SN(ng-eNB),反之,如果MN關(guān)閉則可以“遷移”,但SN不可以開(kāi)啟UP完整性保護(hù)。如果UP安全策略指示為“notneeded”,那就簡(jiǎn)單了,MN和SN都消停吧。

在5GS中,如果UP完整性保護(hù)沒(méi)有開(kāi)啟,NG-RAN可以通過(guò)CounterCheck流程(參考3GPPTS33.401或3GPPTS33.501)監(jiān)測(cè)是否存在“man-in-the-middle”攻擊。NG-RAN向UE發(fā)送CounterCheck,包含各個(gè)DRB的PDCPCOUNT(包括上行和下行)的高位(MSB),UE接收后和本地進(jìn)行比對(duì),向NG-RAN返回CounterCheckResponse。如果CounterCheckResponse沒(méi)有包含PDCPCOUNT,表示一切正常。如果CounterCheckResponse包含某些DRB的PDCPCount,表示存在異常,NG-RAN可以釋放對(duì)應(yīng)的DRB,并向AMF或網(wǎng)管報(bào)告。在5GS的雙連接中,如果DRB的PDCP實(shí)體“遷移”到SN,SN也可以通過(guò)MN觸發(fā)CounterCheck流程——SN向MN發(fā)送S-NG-RANnodeCounterCheck,包括DRBID和期望的PDCPCOUNT,MN再向UE發(fā)送CounterCheck。不過(guò),SN發(fā)送完就沒(méi)啥事了,也不期望MN返回什么。對(duì)于MN終結(jié)的DRB,MN也可能會(huì)發(fā)送RRCCheck,MN收到的CounterCheckResponse,可能包含MN終結(jié)和SN終結(jié)的DRB,最好是啥都沒(méi)有了。

沒(méi)消息就是好消息啊。

如果MN釋放SN,或SN變更(SNRelease或SNChange),(Old)SN和UE之間的DRB和SRB(SRB3)會(huì)釋放,用于保護(hù)DRB和SRB的(SN)AS密鑰也會(huì)刪除。相似的,在N2Handover或XnHandover中,OldSN的AS密鑰會(huì)刪除——留著也沒(méi)用,targetMN總會(huì)從sourceAMF(N2Handover)或sourceng-RAN(XnHandover)獲得新的KMN(參考《5GS的前向安全》),衍生新的KSN,SN(無(wú)論是否變更)由新的KSN衍生新的(SN)AS密鑰。

即使MN沒(méi)有變更(N2Handover或XnHandover)或SN沒(méi)有變更(SNChange),MN和SN也可能觸發(fā)KSN更新,避免SN的NEA(加密保護(hù))或NIA(完整性保護(hù))生成重復(fù)的KEYSTREAM或MAC。NEA和NIA輸入包括KEY、BEARER、COUNT、DIRECTION和LENGTH(適用于NEA),只要輸入不重復(fù),輸出就不會(huì)重復(fù)。

首先,避免KEY重復(fù)。SN由KSN和AS算法(AlgorithmIdentity和AlgorithmTypeDistinguisher)衍生AS密鑰,因而,KSN也不能重復(fù)(KDF輸入沒(méi)有新鮮因子)。再往前推,MN由KMN和SNCounter衍生KSN,如果KMN保持不變,SNCounter是KDF的新鮮因子,因而,如果SNCounter翻轉(zhuǎn)(WrapAround),MN就不能衍生新的KSN了——MN通過(guò)Intra-CellHandover更新KMN,相應(yīng)的,SNCounter重置為0。

如果MN為同一SN增加新的DRB,但從上次KSN更新后,DRBID已經(jīng)分配完畢(空間耗盡),如果分配重復(fù)的DRBID,就會(huì)出現(xiàn)輸入BEARER(DRBID)重復(fù)。此時(shí),MN將SNCounter加1,衍生新的KSN,通過(guò)SNModification(MNInitiated)更新KSN。相似的,如果SN發(fā)現(xiàn)SCG的DRB(或SRB)的(uplink或downlink)PDCPCOUNT(HFN||PDCPSN)即將翻轉(zhuǎn)(COUNT重復(fù)),通過(guò)SN觸發(fā)SNModification(SNInitiatedwithMNinvolvement)更新KSN。通過(guò)MN觸發(fā)的SNModification更新KSN,過(guò)程和SNAddition相似(參考前面的示圖)。通過(guò)SN觸發(fā)的SNModification更新KSN,SN向MN發(fā)送SNMODIFICATIONREQUIRED,并攜帶KeyChangeIndication(Xn-C消息中為S-NG-RANnodekeyupdaterequired,包含在PDCPChangeIndication中),表示請(qǐng)求更新KSN,MN將SNCounter加1,衍生新的KSN,通過(guò)SNModification更新KSN,后面部分和MN觸發(fā)的SNModification相同。在安全方面,MR-DCwith5GC和EN-DC差不太多,區(qū)別主要是,MR-DCwith5GC的MN和SN都是NG-RAN,需要考慮SplitPDUSession和UP安全策略(包括UP完整性保護(hù))的影響。5GS的互操作安全5GS還很遙遠(yuǎn),但3GPP文檔也很長(zhǎng),別說(shuō)通讀一遍,打開(kāi)都要些勇氣。我決定“分而治之”,拆成小塊來(lái)學(xué)。這里和大家分享的,就是其中一小塊——3GPPTS33.501(Securityarchitectureandproceduresfor5Gsystem)的8章節(jié),5GS的SecurityofInterworking,即5GS的互操作安全。

所謂5GS的“互操作”,就是UE從EPS進(jìn)入5GS,或從5GS進(jìn)入EPS。5GS的“互操作”只涉及EPS(4G),和更早的UMTS(3G)等沒(méi)有什么關(guān)系

5GS連EPS都有些瞧不上,其它系統(tǒng)更別提了,那些“過(guò)時(shí)的”玩意兒,就別來(lái)套近乎了。根據(jù)UE的狀態(tài),5GS的“互操作”分為IdleModeMobility(空閑態(tài))和Handover(連接態(tài)),結(jié)合UE的移動(dòng)方向,共有四種組合場(chǎng)景:<1>從EPS到5GS的IdleModeMobility(Registration);<2>從5GS到EPS的IdleModeMobility(TAU);<3>從5GS到EPS的Handover;<4>從EPS到5GS的Handover。EPS和5GS就像兩個(gè)世界,UE從EPS進(jìn)入5GS,或從5GS進(jìn)入EPS,都得使用目標(biāo)系統(tǒng)的安全上下文,所謂“入鄉(xiāng)隨俗”嘛。安全上下文從哪兒來(lái),就和很多因素相關(guān)了,比如說(shuō),UE的“注冊(cè)模式”——UE可能工作在“單注冊(cè)”模式(SingleRegistrationMode)也可能工作在“雙注冊(cè)”模式(DualRegistrationMode)。

如果UE工作在“雙注冊(cè)”模式,UE維護(hù)兩個(gè)獨(dú)立的安全上下文,分別用于EPS和5GS——大家井水不犯河水哈。如果目標(biāo)系統(tǒng)是EPS,UE和網(wǎng)絡(luò)使用EPS安全上下文,遵循EPS的安全機(jī)制(3GPPTS33.401);如果目標(biāo)系統(tǒng)是5GS,UE和網(wǎng)絡(luò)使用5GS安全上下文,遵循5GS的安全機(jī)制(3GPPTS33.501)。

如果UE工作在“單注冊(cè)”模式,要看AMF和MME之間是否存在N26接口。如果網(wǎng)絡(luò)支持沒(méi)有N26接口的互操作:如果UE從5GS進(jìn)入EPS,并且存在“current”的EPSNAS安全上下文,則使用這個(gè)EPS安全上下文;如果UE從EPS進(jìn)入5GS,并且存在“current”的5GNAS安全上下文,則使用這個(gè)5G安全上下文。如果UE沒(méi)有“current”的NAS安全上下文——協(xié)議沒(méi)有說(shuō)明,大概只能執(zhí)行AKA(EPSAKA或5GAKA/EAP-AKA')重新生成吧。

協(xié)議描述的重點(diǎn),是UE工作在“單注冊(cè)”模式,且存在N26接口的場(chǎng)景。AMF和MME在N26接口傳遞UE信息,特別是EPS安全上下文——對(duì)比鮮明的,無(wú)論在哪種場(chǎng)景中,N26接口都不會(huì)傳遞5G安全上下文。個(gè)人理解,這有兩個(gè)原因:第一,AMF永遠(yuǎn)不會(huì)向5GS以外的實(shí)體傳送5G安全參數(shù),MME自然也不例外(MME:NND,主要就是針對(duì)我吧);第二,MME作為L(zhǎng)egacy(老古董)網(wǎng)元,AMF不能指望MME實(shí)現(xiàn)安全上下文的映射(相似的,EPS和UMTS之間的互操作,MME也不能指望SGSN)。AMF和MME在N26接口傳遞EPS安全上下文,是因?yàn)椋琔E在目標(biāo)系統(tǒng)使用的安全上下文,大多數(shù)時(shí)候是映射安全上下文(mappedsecuritycontext)。也就是說(shuō),UE從EPS進(jìn)入5GS,使用的5G安全上下文是從EPS安全上下文“映射”來(lái)的;而UE從5GS進(jìn)入EPS,使用的EPS安全上下文是從5GS安全上下文“映射”來(lái)的。不過(guò),無(wú)論UE如何移動(dòng),負(fù)責(zé)實(shí)現(xiàn)“映射”(Mapping)的永遠(yuǎn)是AMF(而不是MME)——引用“隔壁老李”的話(huà),就是:WithGreatPowerComesGreatResponsibility…

能力越大,責(zé)任越大啊。

“映射”的關(guān)鍵,是NAS安全上下文的根密鑰,即KAMF和KASME。如果從EPS安全上下文映射為5G安全上下文,AMF由KASME衍生KAMF',作為映射5G安全上下文的KAMF;如果從5G安全上下文映射為EPS安全上下文,AMF由KAMF衍生KASME',作為映射EPS安全上下文的KASME。映射安全上下文的KSI取值保持不變(newngKSI=oldeKSI,neweKSI=oldngKSI),類(lèi)型置為“mapped”。因?yàn)橛成涓荑€是新啟用的,映射安全上下文的NASCOUNT置為0。KDF(KeyDerivationFunction)在5GS的應(yīng)用可參考《5GS的密鑰衍生》。

更具體的…

如果AMF從EPS安全上下文映射為5G安全上下文:<1>在IdleModeMobility(Registration)中,AMF由KASME和EPSNASUPLINKCOUNT衍生KAMF'(KDF的FC為0x75);在Handover中,AMF由KASME和(EPS)NH衍生KAMF'(KDF的FC為0x76),詳見(jiàn)3GPPTS33.501的附錄A.15。<2>KAMF'作為映射安全上下文的KAMF,ngKSI取值和KASME對(duì)應(yīng)的eKSI相同,類(lèi)型置為“mapped”。<3>映射5G安全上下文的5GNASCOUNT置為0。NH(NextHop)的定義可參考《5GS的前向安全》。如果AMF從5G安全上下文映射為EPS安全上下文:<1>在IdleModeMobility(TAU)中,AMF由KAMF和5GNASUPLINKCOUNT衍生KASME'(KDF的FC為0x73);在Handover中,AMF由KAMF和5GNASDOWNLINKCOUNT衍生KASME'(KDF的FC為0x74),詳見(jiàn)3GPPTS33.501的附錄A.14。<2>KASME'作為映射安全上下文的KASME,eKSI取值和KAMF對(duì)應(yīng)的ngKSI相同,類(lèi)型置為“mapped”。<3>映射EPS安全上下文的EPSNASCOUNT置為0。

UE在目標(biāo)系統(tǒng)使用的AS安全上下文,也有根密鑰,即5GS的KNG-RAN(KgNB或Kng-eNB)或EPS的KeNB。從EPS到5GS的IdleModeMobility中,AMF由KAMF'和5GNASUPLINKCOUNT(=0)衍生KgNB,從5GS到EPS的IdleModeMobility中,MME由KASME'和EPSNASUPLINKCOUNT(=0)衍生KeNB。(以上是映射場(chǎng)景,先忽略原生場(chǎng)景)

系統(tǒng)間的Handover相對(duì)復(fù)雜,和系統(tǒng)內(nèi)的N2Handover(5GS)或S1Handover(EPS)相似,又略有不同。從5GS到EPS的Handover中,sourceAMF由KASME'和UPLINKNASCOUNT(=2^32-1)衍生NH0(初始KeNB),再由NH0衍生NH1和NH2。sourceAMF將{NH2,NCC=2}傳遞給targetMME,再傳遞給targeteNB。targeteNB由NH(NH2)水平衍生KeNB*,作為KeNB使用。從EPS到5GS的Handover中,sourceMME由KASME衍生新的(EPS)NH。SourceMME將新的{NH,NCC}傳遞給targetAMF,但targetAMF沒(méi)有傳遞給targetng-RAN(gNB或ng-eNB),由KASME和(EPS)NH衍生KAMF'。TargetAMF由KAMF'和UPLINKNASCOUNT(=2^32-1)衍生(5GS)NH0(初始KeNB),將{NH0,NCC=0}傳遞給targetNG-RAN。targetNG-RAN由(5GS)NH(NH0)水平衍生KNG-RAN*,作為KNG-RAN(KgNB或Kng-eNB)使用。簡(jiǎn)單的說(shuō),targetAMF將EPS的NH攔截了,用于衍生KAMF',另外生成了5GS的NH給targetNG-RAN使用。

在安全算法方面,通常由目標(biāo)系統(tǒng)選擇。比如說(shuō),UE從EPS進(jìn)入5GS,在IdleModeMobility中,AMF通過(guò)NASSMC向UE指示選擇的5GNAS算法,詳見(jiàn)3GPPTS33.501的8.2章節(jié);在Handover中,AMF通過(guò)NAS容器向UE指示選擇的5GNAS算法,詳見(jiàn)3GPPTS33.501的8.4章節(jié)。(可參考《5GS的安全模式》)

UE從5GS進(jìn)入EPS,又不太一樣。在(此前的)5GS鑒權(quán)流程之后,AMF通過(guò)5GS的NASSMC指示UE,網(wǎng)絡(luò)選擇的EPSNAS算法——也就是說(shuō),在互操作之前,AMF和UE已經(jīng)保存“未來(lái)”使用的EPSNAS算法,UE從5GS進(jìn)入EPS,網(wǎng)絡(luò)不用再指示UE選擇的EPSNAS算法——如果MME非要變更(咽不下這口氣),IdleModeMobility可以通過(guò)EPS的NASSMC實(shí)現(xiàn)(Handover就忍了,可以切換后再變更)。相對(duì)來(lái)說(shuō),AS算法自主性強(qiáng)一些,大概是基站更具有多樣性吧(什么貨色都有啊…)。

NAS安全上下文的根密鑰(KAMF'或KASME')和NAS算法確定,AMF或MME就可以衍生NAS密鑰(KNASint和KNASenc)。AS安全上下文的根密鑰(KNG-RAN*或KeNB*)和AS算法確定,NG-RAN或eNB就可以衍生AS密鑰(KRRCint、KRRCenc、KUPint和KUPenc)。UE按照相同方式衍生NAS密鑰和AS密鑰。EPS的密鑰詳見(jiàn)3GPPTS33.401的附錄A.7;5GS的密鑰詳見(jiàn)3GPPTS33.501的附錄A.8,或參考《5GS的密鑰體系》和《5GS的密鑰衍生》。網(wǎng)絡(luò)和UE有了算法和密鑰,就可以對(duì)NAS消息、RRC消息和UP數(shù)據(jù)進(jìn)行保護(hù),可參考《5GS的數(shù)據(jù)保護(hù)》。一切都齊活兒了,再來(lái)看四個(gè)場(chǎng)景的信令流程。

場(chǎng)景1:從EPS到5GS的Registration

1、UE處于空閑態(tài),從EPS進(jìn)入5GS,向AMF發(fā)送RegistrationRequest。UE需要先解決一個(gè)小問(wèn)題——UE只有oldMME分配的(EPS)GUTI,格式和5GGUTI不同,如果直接發(fā)給AMF,AMF不認(rèn)識(shí)啊。因而,UE先將GUTI映射為5GGUTI,指示為“映射”類(lèi)型。GUTI映射關(guān)系如下圖所示:可見(jiàn),映射5GGUTI只是樣子變了,但依然包含oldMME的信息,AMF將5GGUTI還原為GUTI,就可以用GUMMEI查詢(xún)DNS,獲得oldMME的N26接口地址,向oldMME請(qǐng)求UE的EPS上下文,包括KASME。

UE需要解決的另一個(gè)問(wèn)題,是證實(shí)自己的身份(隊(duì)長(zhǎng),別開(kāi)槍?zhuān)。駝tAMF只能觸發(fā)AKA流程(可參考《5GS的鑒權(quán)流程》)。如果UE有原生(native)5G安全上下文,對(duì)RegistrationRequest進(jìn)行(5GS)完整性保護(hù),AMF可通過(guò)完整性校驗(yàn)確認(rèn)UE身份——如果UE沒(méi)有5G安全上下文,RegistrationRequest無(wú)法保護(hù),但UE有EPS安全上下文,可對(duì)RegistrationRequest包含的TAURequest進(jìn)行(EPS)完整性保護(hù),AMF將TAURequest傳遞給oldMME,oldMME可通過(guò)完整性校驗(yàn)確認(rèn)UE身份,就像UE直接向oldMME發(fā)送TAURequest一樣。以下假定UE沒(méi)有原生5G安全上下文。2、AMF由映射5GGUTI還原為(EPS)GUTI,使用GUMMEI構(gòu)造FQDN查詢(xún)DNS,獲得oldMME的N26接口地址。3、AMF向oldMME發(fā)送ContextRequest,攜帶RegistrationRequest包含的TAURequest。4、oldMME對(duì)TAURequest進(jìn)行完整性校驗(yàn)。5、如果校驗(yàn)通過(guò),oldMME向AMF發(fā)送ContextResponse,攜帶UE上下文,包括KASME。

6、AMF由KASME和EPSNASUPLINKCOUNT衍生KAMF'(KDF的FC為0x75)。KAMF'作為映射安全上下文的KAMF,ngKSI取值和KASME對(duì)應(yīng)的eKSI相同,類(lèi)型置為“mapped”。映射5G安全上下文的5GNASCOUNT置為0。7、AMF激活映射5GNAS安全上下文,選擇NAS算法,由KAMF'衍生NAS密鑰,向UE發(fā)送NASSMC,攜帶ngKSI和NAS算法標(biāo)識(shí),并進(jìn)行完整性保護(hù)。

8、UE發(fā)現(xiàn)ngKSI類(lèi)型為“映射”,按照和AMF相同的方式,由eKSI(ngKSI)對(duì)應(yīng)的KASME和EPSNASUPLINKCOUNT衍生KAMF',和收到的ngKSI關(guān)聯(lián),映射5G安全上下文的5GNASCOUNT置為0。9、UE由KAMF'衍生NAS密鑰,對(duì)NASSMC進(jìn)行完整性校驗(yàn)——如果通過(guò),UE向AMF發(fā)送NASSMP。10、AMF向UE發(fā)送RegistrationAccept,并使用新的NAS安全上下文保護(hù)。

如果UE有原生5GNAS安全上下文——RegistrationRequest攜帶(此前UE訪(fǎng)問(wèn)5GS時(shí)AMF分配的)5GGUTI和ngKSI,并進(jìn)行(5GS)完整性保護(hù)。如果AMF有5GGUTI和ngKSI指示的5GNAS安全上下文,對(duì)RegistrationRequest進(jìn)行(5GS)完整性校驗(yàn)——如果通過(guò),AMF丟棄從oldMME獲得的EPS安全參數(shù)——5GS安全性高于EPS,AMF更傾向于自己校驗(yàn)。畢竟,你(MME)辦事……

我(AMF)不放心呀!

不過(guò),如果AMF沒(méi)有找到5G安全上下文,或完整性校驗(yàn)失敗,就只能退而求其次了。AMF將RegistrationRequest視為unprotected,觸發(fā)AKA(EAP-AKA'或5GAKA)流程,生成新的原生5G安全上下文,或者像前面描述那樣,從EPS安全上下文映射為5G安全上下文(AMF:還是覺(jué)得你最好……MME:滾!)。

如果UE使用原生5G安全上下文保護(hù)RegistrationRequest,并且AMF沿用這個(gè)5G安全上下文,AMF可跳過(guò)NASSMC,直接向UE發(fā)送RegistrationAccept??梢?jiàn),AMF激活的5G安全上下文有三種可能:1、已有的原生5G安全上下文(跳過(guò)NASSMC);2、AKA新建的原生5G安全上下文(通過(guò)NASSMC激活);3、從EPS安全上下文映射的5G安全上下文(通過(guò)NASSMC激活)。AMF使用激活的5G安全上下文保護(hù)RegistrationAccept。

如果AMF不使用已有的原生5G安全上下文(或沒(méi)有),由新的(原生或映射)KAMF(或KAMF')衍生KgNB(3GPPTS33.501的附錄A.9)——KDF的FC為0x6E,P0為最近的NASSMP的5GUPLINKNASCOUNT(=0),P1(accesstype)取值為0x01(即3GPPaccess)。如果UE收到ASSMC,按照和AMF相同的方式由新的KAMF衍生KgNB。

場(chǎng)景2:從5GS到EPS的TAU

1、UE處于空閑態(tài),從5GS進(jìn)入EPS,向MME發(fā)送TAURequest,包含映射(EPS)GUTI和UE的EPS安全能力。(EPS)GUTI由5GGUTI映射獲得,包含oldAMF的信息。盡管TAURequest是發(fā)送給MME的,UE依然“傲嬌”的使用5G安全上下文(NAS密鑰、NAS算法和5GNASUPLINKCOUNT)對(duì)TAURequest進(jìn)行保護(hù),生成NASMAC,就像在3GPP接入發(fā)送5GNAS消息一樣。2、MME使用映射(EPS)GUTI的GUMMEI,構(gòu)造FQDN查詢(xún)DNS,獲得oldAMF的N26接口地址。3、MME向oldAMF發(fā)送ContextRequest,攜帶TAURequest,包含eKSI(=ngKSI)、NASMAC和映射(EPS)GUTI。4、oldAMF對(duì)TAURequest進(jìn)行(5G)完整性校驗(yàn)——如果通過(guò),oldAMF由KAMF和5GNASUPLINKCOUNT衍生KASME'(KDF的FC為0x73)。KASME'作為映射安全上下文的KASME,eKSI取值和KAMF對(duì)應(yīng)的ngKSI相同,類(lèi)型置為“mapped”。映射EPS安全上下文的EPSNASCOUNT置為0。

5、oldAMF向MME發(fā)送ContextResponse,攜帶映射EPS安全上下文,并將EPSNAS算法設(shè)置為(此前)5GNASSMC指示UE的EPS算法。6、與此“同時(shí)”,UE按照和oldAMF相同的方式,從5G安全上下文映射為EPS安全上下文。7、MME對(duì)比收到的UE安全能力和本地配置的優(yōu)先級(jí)列表,決定是否選擇其他NAS算法。如果MME決定保持,跳過(guò)第8步~第10步。

8、如果MME選擇其他NAS算法,MME向UE發(fā)送NASSMC,指示MME選擇的NAS算法。MME由KASME'衍生NAS密鑰,對(duì)NASSMC進(jìn)行完整性保護(hù)。9、UE使用NASSMC指示的NAS算法衍生NAS密鑰,對(duì)NASSMC進(jìn)行完整性校驗(yàn)。10、如果校驗(yàn)通過(guò),UE向MME發(fā)送NASSMP,使用新的NAS安全上下文進(jìn)行保護(hù)。11、MME向UE發(fā)送TAUAccept。

場(chǎng)景3:從5GS到EPS的HO

假定UE在5GC注冊(cè)并處于連接態(tài),UE和AMF共享5G安全上下文——這個(gè)安全上下文可能是(此前)5GS的AKA產(chǎn)生的原生5G安全上下文,或是UE從EPS進(jìn)入5GS產(chǎn)生的映射5G安全上下文,anyway,就是UE和AMF當(dāng)前使用的5G安全上下文。

1、sourceNG-RAN向sourceAMF發(fā)送HANDOVERREQUIRED,包含UE的ID和UE安全能力。sourceAMF確認(rèn)UE的接入權(quán)限和安全能力,2、sourceAMF構(gòu)造包含映射EPS安全上下文的UE上下文,以提供給targetMME使用。SourceAMF由KAMF和5GNASDOWNLINKCOUNT衍生KASME'(KDF的FC為0x74),然后將5GNASDOWNLINKCOUNT加1。KASME'作為映射安全上下文的KASME,eKSI取值和KAMF對(duì)應(yīng)的ngKSI相同,類(lèi)型置為“mapped”。映射EPS安全上下文的EPSNASCOUNT置為0。

TargetMME將sourceAMF視為另一個(gè)MME,期待通過(guò)N26接口收到選擇的EPSNAS算法。SourceAMF將此前通過(guò)5GNASSMC指示UE的EPSNAS算法傳遞給targetMME,用于UE從5GS到EPS的Handover過(guò)程。如果targetMME希望選擇其他EPSNAS算法,只能在隨后的TAU流程中通過(guò)EPSNASSMC實(shí)現(xiàn)。

SourceAMF由KASME'和UPLINKNASCOUNT(=2^32-1)衍生初始KeNB(或臨時(shí)KeNB),即NH0。SourceAMF再由KASME'和NH0衍生NH1和NH2。由此,sourceAMF構(gòu)造了targeteNB衍生KeNB*的{NH2,NCC=2},將作為UE上下文的一部分傳遞給targetMME。NCC(NHChainCounter)的定義可參考《5GS的前向安全》。

3、sourceAMF向targetMME發(fā)送ForwardRelocationRequest,攜帶UE安全上下文,包括eKSI(ngKSI)、KASME'、EPSNASCOUNT、UE的EPS安全能力、sourceAMF指示的EPSNAS算法標(biāo)識(shí),也可能包含UE的NR安全能力。4、targetMME收到ForwardRelocationRequest后,根據(jù)sourceAMF指示的EPSNAS算法,由KASME'衍生NAS密鑰,向targeteNB發(fā)送HANDOVERREQUEST,攜帶從sourceAMF收到的UE的EPS安全能力和{NH2,NCC=2}。

5、targeteNB收到HANDOVERREQUEST后,由NH(NH2)水平衍生KeNB*,作為KeNB使用,選擇本地配置優(yōu)先級(jí)最高,且UE支持的AS算法,構(gòu)造targettosourcetransparentcontainer,包含收到的NCC(=2)和選擇的AS算法標(biāo)識(shí)。TargeteNB向targetMME發(fā)送HANDOVERREQUESTACK,攜帶targettosourcetransparentcontainer。6、targetMME向sourceAMF發(fā)送ForwardRelocationResponse,攜帶targettosourcetransparentcontainer。

7、sourceAMF向sourceNG-RAN發(fā)送HANDOVERCOMMAND,攜帶targettosourcetransparentcontainer,以及sourceAMF用于衍生KASME'的5GDOWNLINKNASCOUNT的8LSB(LeastSignificantBit)。8、sourceNG-RAN向UE發(fā)送HANDOVERCOMMAND,攜帶targettosourcetransparentcontainer和5GDOWNLINKNASCOUNT的8LSB。

UE收到HANDOVERCOMMAND后,根據(jù)收到的5GDOWNLINKNASCOUNT的8LSB和本地的5GDOWNLINKNASCOUNT估算完整的5GDOWNLINKNASCOUNT——當(dāng)然,應(yīng)該大于本地保存的數(shù)值。UE按照和sourceAMF相同的方式,由KAMF和(估算的)5GNASDOWNLINKCOUNT衍生KASME'(KDF的FC為0x74),將本地5GNASDOWNLINKCOUNT置為接收的(估算的)5GDOWNLINKNASCOUNT(和sourceAMF保持同步)。

9、UE按照和targetMME相同的方式,根據(jù)sourceAMF指示的EPSNAS算法,由KASME'衍生NAS密鑰——在HANDOVERCOMMAND中,網(wǎng)絡(luò)不需要再向UE指示EPSNAS算法,UE使用(此前的)5GNASSMC指示的EPSNAS算法即可。

UE按照和sourceAMF相同的方式,由KASME'和UPLINKNASCOUNT(=2^32-1)衍生初始KeNB,即NH0,再由KASME'和NH0衍生NH1和NH2。接著,UE按照和targeteNB相同的方式,由NH(NH2)水平衍生KeNB*,作為KeNB使用。最后,根據(jù)targeteNB選擇的AS算法,UE由KeNB*衍生AS密鑰。

10、UE向targeteNB發(fā)送HANDOVERCOMPLETE,使用新的AS安全上下文進(jìn)行保護(hù)。11、targeteNB向targetMME發(fā)送HANDOVERNOTIFY。

場(chǎng)景4:從EPS到5GS的HO

假定UE在EPC注冊(cè)并處于連接態(tài),UE和MME共享EPS安全上下文——這個(gè)安全上下文可能是(此前)EPS的AKA產(chǎn)生的原生EPS安全上下文,或是UE從5GS進(jìn)入EPS產(chǎn)生的映射EPS安全上下文,anyway,就是UE和MME當(dāng)前使用的EPS安全上下文。

1、sourceeNB向sourceMME發(fā)送HANDOVERREQUIRED,包含UE的ID和UE安全能力。sourceMME確認(rèn)UE的接入權(quán)限和安全能力。2、sourceMME由KASME衍生新的NH,選擇targetAMF,向targetAMF發(fā)送ForwardRelocationRequest,攜帶UE安全上下文,包括eKSI、KASME'、EPSNASCOUNT、UE的EPS安全能力、選擇的EPSNAS算法標(biāo)識(shí),新的{NH,NCC},也可能包含UE的NR安全能力。3、targetAMF收到ForwardRelocationRequest后,從EPS安全上下文映射為5G安全上下文。Target

AMF由KASME和收到的NH衍生KAMF'(KDF的FC為0x76)。KAMF'作為映射安全上下文的KAMF,ngKSI取值和KASME對(duì)應(yīng)的eKSI相同,類(lèi)型置為“mapped”。映射5G安全上下文的EPSNASCOUNT置為0。

TargetAMF選擇本地配置優(yōu)先級(jí)最高,且UE支持的NAS算法——如果targetAMF沒(méi)有從sourceMME獲得UE的NR安全能力,假設(shè)UE支持默認(rèn)能力集:NEA0、128-NEA1和128-NEA2(加密);128-NIA1和128-NIA2(完整性)。根據(jù)選擇的NAS算法,TargetAMF由KAMF'衍生NAS密鑰,同時(shí),targetAMF將從sourceMME收到的EPSNAS算法保存到映射5G安全上下文。

和場(chǎng)景3不同,sourceMME生成的(EPS)NH已經(jīng)用于衍生KAMF',targetAMF需要另外生成(5GS)NH——TargetAMF由KAMF'和UPLINKNASCOUNT(=2^32-1)衍生臨時(shí)KeNB,即NH0。TargetAMF構(gòu)造NASC(NASContai

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論