本文已参与「新人创作礼」活动,一起开启掘金创作之路。
相关文章会在公众号同步更新。公众号:5G通信大家学
持续更新的相关5G内容都是直接根据3GPP整理,保证更新内容的准确性,避免通过二手,甚至多手的资料,以讹传讹误导网友。
///////////
1.1.2.20.2 RRC层(AS层)加密和完整性保护的启用
gNG收到该消息后,除了保存相关字段信息外,还需要根据消息中的密钥参数执行RRC层的安全。RRC层的安全启用和NAS层的加密和完整性保护启用步骤略有差异。具体步骤详解如下:
从上图可以看出来,RRC层的加密是在AS Security Mode Command和AS Security Mode Complete之后激活的。而NAS层在NAS Security Mode Complete消息中就启用了加密和完整性保护。
AS Security Mode Command消息承载在SRB1上,消息的详细定义如下
AS Security Mode Command消息的定义中,我们需要重点关注的是securityAlgorithmConfig,其中配置有RRC层的安全算法信息,nia0、nea0同样为空算法:如下:
RRC层使用的密钥是由UE和gNB根据KgNB推导出来的,不是由AMF推导出来发送给gNB的。在RRC层只是选择使用的算法。
AS Security Mode Complete消息的定义比较简单,没有什么需要关注的信息。
需要注意的是,如果UE验证AS Security Mode Command失败,会返回不经过任何保护的security mode failure消息。
1.1.2.20.3 RRC层UECapabilityEnquiry
该步骤的执行前提是激活了AS安全保护,如果未激活是无法执行该流程的。
如果UE在CM-IDLE状态改变了UE Radio Capability信息,在发送移动性Registration Request消息中的5GS update type IE中设置“UE radio capability update needed”标记,AMF收到该消息后会删除AMF保存的UE无线能力信息。同样,在使用SUCI的初始注册或者从old AMF中没有得到UE无线能力信息,在AMF发送给gNB的INITIAL CONTEXT SETUP REQUEST消息中就不能包含UE Radio Capability IE。此时就会触发gNB执行UECapabilityEnquiry流程获取UE的无线能力。
另外,在第6步或者第11步中Identity Request消息的发送流程中,N2接口的Downlink NAS Tranport消息中包含UE Capability Info Request IE,如果设置为"requested",在AS安全保护启动后,也会执行该步骤获取UE无线能力。
说到这里各位同学会不会觉得有点乱,到底什么时候执行?具体在什么时候执行要看情况,可选的信令流程就是这样,一定要明白触发条件。只要满足了触发条件就会执行。以注册过程为例,如果UE使用SUCI发起注册流程,则第6步不会执行获取SUCI,也就是gNB不会收到第一条Downlink NAS Tranport消息,那么接下来gNB收到第一条Downlink NAS Tranport消息的可能是第11步获取UE的PEI,此时就会携带UE Capability Info Request IE设置为:request。因为如果UE携带SUCI注册,AMF中肯定不会有UE Radio Capability信息。但是此时gNB还没有激活AS安全,无法发起UECapabilityEnquiry流程,只能挂起该操作,等到gNB收到INITIAL CONTEXT SETUP REQUEST激活了AS安全后,才会发起获取UE无线能力的流程。
1.1.2.20.4 RRC层UECapabilityInformation
UE的无线能力信息比较大,如果超过了PDCP层的最大支持,会启用RRC层消息的分段传输功能。
1.1.2.20.5 N2消息:UE RADIO CAPABILITY INFO INDICATION
gNB将获取到的最新的UE Capability Information通过UE RADIO CAPABILITY INFO INDICATION消息发送给AMF,AMF收到后会替换本地为该UE保存的无线能力信息。UE RADIO CAPABILITY INFO INDICATION消息的定义如下:
1.1.2.20.6 RRCReconfiguration
该消息用于在空口上传递Registration Accept消息,用于UE处于RRC_CONNECTED状态时,更新RRC连接、刷新RRC连接使用的密钥参数等。该消息承载在SRB1或者SRB3上。RRCReconfiguration消息的部分定义如下:
其中:dedicatedNAS-MessageList用于传递UE和AMF之间的NAS信令;后面的sk-counter参数用于UE进行RRC层的密钥推导。
注:
在本步骤中为什么使用了RRCReconfiguration而不是DLInformationTransfer来传递Registration Accept消息呢?
这两条消息都是UE在RRC_CONNECTED状态使用的消息,NAS层消息都可以承载在这两条消息中传递。之所以在初始注册时使用了RRCReconfiguration是因为要修改RRC连接的配置,启用AS层的保护功能。如果本步骤RRC不需要修改RRC的配置,只是传递NAS消息,则使用DLInformationTransfer来传递Registration Accept消息。
*从第一步Registration Request步骤中介绍的DLInformationTransfer定义可以看到该消息专门就是用于传递NAS消息的,没有别的功能。gNB在发送下行NAS消息时首先根据当前情况,看是否RRC层有需要修改的参数,如果有则构造RRCReconfiguration消息,此时NAS层的消息只是顺带发送给UE的,这样就节省了一条空口消息,gNB不用单独再构造一条DLInformationTransfer消息下发NAS消息。 *
1.1.2.20.6 RRCReconfigurationComplete
RRCReconfiguration消息的回复消息为RRCReconfigurationComplete。因为对Registration Accept消息的确认不是必须的,所以在RRCReconfigurationComplete消息中没有定义传递NAS消息的IE,这里不进行详细介绍。
1.1.2.20.7 INITIAL CONTEXT SETUP RESPONSE
对INITIAL CONTEXT SETUP REQUEST消息的确认,如果没有PDU Session的建立和更新,只用来确认消息。