本文已参与「新人创作礼」活动,一起开启掘金创作之路。
相关文章会在公众号同步更新。公众号:5G通信大家学
持续更新的相关5G内容都是直接根据3GPP整理,保证更新内容的准确性,避免通过二手,甚至多手的资料,以讹传讹误导网友。
///////////
1.1.2.9.4.3 5G初始NAS消息保护机制
对于UE发送的Registration Request,如果没有进行完整性保护(UE本地没有5G NAS security context场景),AMF会继续处理该NAS消息。如果Registration Request消息进行了保护,但是使用AMF本地5G NAS security context执行MAC完整性校验失败或者无法校验时,AMF仍然会处理Registration Request消息。这样就保证了不论UE移动到何处,发送的注册请求是否有保护或者保护的密钥参数不对,AMF都会处理Registration Request消息,尽可能为UE提供网络服务。
Step 1:如果UE发送初始NAS消息给AMF。如果UE没有NAS Security context,初始NAS消息值包含cleartext IE,如:SUCI或者GUTI、UE security capabilities、ngKSI等。如果UE有NAS Security context,初始NAS消息会包含cleartext和non-cleartext信息,加密部分的信息在NAS container中。因为UE有NAS安全上下文,所以发送的消息是经过加密和完整性保护的。如果NAS消息被保护了,且AMF具有相同的安全上下文(如:UE在同一AMF再次注册的场景),Step 2到4可以忽略,此时AMF可以解密使用NAS container中完整的初始NAS消息。
Step 2:如果AMF本地和之前注册的AMF(old AMF)中没有找到安全上下文或者完整性检查失败,AMF会触发UE鉴权流程Step 2b。如果从old AMF获取到UE context,其中的安全参数可以解密NAS container中的内容,则Step2b到4可以忽略。
Step 3:如果UE鉴权成功,AMF会发送NAS Security Mode Command消息给UE。如果UE之前发送的初始NAS消息无法使用(如:NAS container无法解密或者完整性校验不通过等)。AMF会设置标记,要求在UE发送的NAS Security Mode Complete消息中包含完整的初始NAS消息。
Step4:UE发送NAS Security Mode Complete消息给AMF,该消息是加密并完整性保护的消息。
Step 5:AMF发送初始NAS消息的回复,该消息是加密及完整性保护的。
1.1.2.9.4.4 5G NAS安全模式的开启
1a. AMF在发送NAS Security Mode Command 消息之前,首先激活NAS完整性保护功能。
1b. AMF通过发送NAS Security Mode Command消息启动NAS安全模式控制流程(NAS security mode control procedure),并开启定时器T3560。AMF重置下行NAS COUNT计数器(用于推导密钥及完整性保护的输入参数),并使用它进行NAS SECURITY MODE COMMAND消息的完整性保护。AMF发送NAS Security Mode Command 消息不进行加密,但是需要使用该消息中的ngKSI指示的Kamf进行完整性保护,并设置security header type为"integrity protected with new 5G NAS security context"。
如果之前的Registration Request消息由于AMF中完整性校验失败或者解密NAS message container IE不成功,AMF会在NAS Security Mode Command消息中包含Additional 5G security information IE,并设置RINMR比特位为:"Retransmission of the initial NAS message requested",请求UE在发送NAS Security Mode Complete消息时包含完整的Registration Request消息。Security Mode Command消息的定义如下图:
重点IE介绍:
- Security header type
NAS消息保护性说明。其中:0011用于NAS Security Mode Command消息。0100用于NAS Security Mode Complete消息。
- Selected NAS security algorithms
指示网络选择的加密和完整性保护算法。UE发送的Registration Request消息中UE security capability IE包含UE支持的算法,AMF根据UE和自身的支持情况选择合适的加密算法。
- ngKSI
用于识别5G NAS Security Context中的Kamf。
- Replayed UE security capabilities/ Replayed S1 UE security capabilities
UE发送的Registration Request消息中的UE security capability IE,AMF会原封带回。如果UE发现与自己发送的不一致,则会发送SECURITY MODE REJECT消息,携带原因值:#23 UE security capabilities mismatch。
- IMEISV request
AMF请求获取UE的IMEISV。
- Selected EPS NAS security algorithms
如果网络支持N26接口,并且UE在Registration Request消息中5GMM capability IE设置了S1 mode比特为"S1 mode supported",则AMF会选择EPS使用的NAS安全算法,用于UE移动到EPS时使用。AMF会将该参数保存在UE Security context中,N2接口的切换或者空闲模式下的移动更新,该参数会被传递到目标AMF。
- Additional 5G security information
该参数包含RINMR(是否需要重传初始NAS消息。)和HDP(是否需要推导Kamf)两个重要选项。在移动性注册、周期性注册或者同一PLMN的多注册(3GPP access或non-3GPP access)场景下,需要包含Kamf推导标识。
- ABBA
降级攻击保护参数。
1c. AMF在发送完NAS Security Mode Command消息后,激活上行NAS解密功能。
2a. UE验证NAS Security Mode Command消息,包括验证UE发送的UE security capabilities是否遭到修改及使用NAS Security Mode Command消息中ngKSI指示的Kamf,推导密钥及选择的算法进行完整性校验。
如果HDP设置了K_AMF_change_flag ,UE需要推导新的KAMF并设置NAS COUNTs为0。
如果UE验证NAS Security Mode Command消息成功,UE使用ngKSI指示的安全上下文启动NAS消息的加密和完整性保护功能。
2b. UE发送经过加密和完整性保护的NAS NAS Security Mode Complete消息给AMF。消息中可能携带PEI、IMEISV及重传的完整初始NAS消息Registration Request。如果重新推导了Kamf,AMF会设置NAS COUNT为0。
如果UE验证NAS Security Mode Command消息不成功,会回复Security Mode Reject 消息。Security Mode Reject消息及后续的NAS消息仍然会使用之前的5G NAS security context进行加密和完整性保护。如果之前不存在5G NAS security context,NAS Security Mode Reject消息不进行保护。
如果UE发送Security Mode Reject消息后NAS COUNT溢出,则UE会直接释放NAS连接,而不发送Security Mode Reject。
1d. AMF使用在NAS Security Mode Command消息中选择的加密和完整性保护算法和密钥解密,以及校验 NAS Security Mode Complete 消息。AMF收到NAS Security Mode Complete 消息后开启NAS消息的下行加密,并停止计时器T3560。
至此,UE和AMF完成了NAS消息加密和完整性保护功能激活。
一旦UE和AMF之间完成了加密和完整性保护功能激活,所有没有通过完整性检查的NAS消息都会被丢弃,不进行处理。
5G注册过程的鉴权和安全性保护方面到这就介绍完了。在切换过程中也会涉及到安全方面的内容,在详解切换流程时在进行分析。
UE鉴权成功之后,此时还要重新执行第4步和第5步,即章节1.1.2.4和1.1.2.5,重新获取UE的Context。如果new AMF获取到了UE Context,此时new AMF会判断自己能否为UE提供服务,如果不能则需要进行AMF重选流程。如果new AMF没有获取到UE Context,则需要根据SUPI选择UDM,下载切片选择数据,判断自己能否为UE提供服务,如果不能为UE提供服务,则执行AMF重选流程。