5G注册流程详解(10)

398 阅读7分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

相关文章会在公众号同步更新。公众号:5G通信大家学

持续更新的相关5G内容都是直接根据3GPP整理,保证更新内容的准确性,避免通过二手,甚至多手的资料,以讹传讹误导网友。

///////////

1.1.2.9.4 5G NAS安全模式的启用

new AMF对UE成功鉴权后,如果第5步中由于完整性检查失败导致获取UE context不成功,此时需要重新执行第4步(Namf_Communication_UEContextTransfer),从old AMF获取UE context,此时请求消息携带的原因值为:"MOBI_REG_UE_VALIDATED"。old AMF收到消息后,发现是该原因值,则不进行完整性检查直接返回完整UE Context(包括PDU Session信息)。

在本步骤上半部分的叙述中,AUSF和AMF均鉴权成功后,AMF才会收到锚点密钥Kseaf和SUPI。从上面的密钥推导图可以看出来,AMF会从Kseaf推导出Kamf(Kamf保存在5G NAS security context中),之后再推导出NAS层、RRC层及UP(用户面)的加密和完整性保护密钥。

我们先来看NAS层加密和完整性功能的开启过程。RRC层加密和完整性功能的开启我们在核心网信令交互完成后发送给UE注册结果时再进行讨论。

在UE鉴权流程完成之后,AMF拿到了密钥,完成了AMF中5G NAS security context 的创建,下一步需要完成UE中5G NAS security context 的创建,两侧安全上下文全部创建完成后之后,UE和AMF之间的加密和完整性保护才能激活。5G NAS security context参数保存在USIM卡中,如果USIM中没有对应的保存文件,则要保存在ME的非易失性的存储器中。

注:

UE的鉴权流程场景可以创建5G NAS security context,在N1间切换、N1和S1间的切换场景也可以完成5G NAS security context的创建。5G NAS security context包括KAMF及相关的密钥标识、UE security capabilities、上下行NAS COUNT值。

1.1.2.9.4.1 NAS消息完整性保护要点说明

我们先来看一下5G NAS消息的完整性保护相关的要点:

l  如果UE本地没有5G NAS security context的情况,UE执行注册流程时,发送的Registration Request消息可以不进行加密和完整性保护。只要UE本地存在有效的5G NAS security context,3GPP规范强制要求UE对NAS消息进行完整性保护。

l  当发送的NAS消息既需要加密又需要执行完整性保护时,NAS消息首先进行加密,之后加密的NAS消息和NAS序列号一起进行完整性保护,计算MAC;

l  NAS消息可以只进行完整性保护而不加密。未加密的NAS消息和NAS序列号一起进行完整性保护,计算MAC;

l  当UE处于5GMM-IDLE模式要建立NAS信令连接时,如果本地有有效的5G NAS security context时,发送初始NAS消息时,会包含NAS key set identifier IE (其中含有ngKSI值),用于指示当前使用的用于进行NAS完整性保护的5G NAS security context。AMF收到初始NAS消息时会检查其中包含的ngKSI值指向的AMF本地的5G NAS security context是否可用,并验证NAS消息的MAC。如果验证成功,则AMF和UE之间可以进行安全的NAS消息交互。

l  如果选择5G-IA0(空算法,即:"null integrity protection algorithm",相当于没有进行完整性保护)作为完整性保护的算法,在NAS消息的安全头(Security header type)指示为完整性保护消息,则NAS消息的接收方仍然认为该消息是完整性保护的消息。如果NAS消息使用5G-EA0(即:"null ciphering algorithm" )算法加密,在NAS消息的安全头部指示为加密保护消息,则仍然认为NAS消息是加密的。

1.1.2.9.4.2 NAS消息的加密要点说明

下面再看一下UE发送Registration Request消息时,是否有5G NAS security context在消息加密方面的要点。在3GPP文档中,该部分内容有两个名词:cleartext和non-cleartext,经过前后对比,cleartext理解为“允许明码发送”,non-cleartext理解为“需要加密发送”比较合适。

l  UE没有有效的5G NAS security context

则只能发送包含cleartext IE初始NAS消息(即:只包含在第1步中介绍的允许明文发送的字段)。也就是说发送的Registration Request消息不包含NAS message container IE。在本步中,完成UE鉴权流程后,会将完整的Registration Request消息(包含cleartext和non-cleartext的内容)包含在NAS SECURITY MODE COMPLETE消息中的NAS message container IE中重新发送。如果UE没有non-cleartext发送的内容,则NAS SECURITY MODE COMPLETE消息的NAS message container IE中只包含cleartext内容。

l  UE有有效的5G NAS security context

A.      如果UE有需要non-cleartext发送的信息,则需要将cleartext和non-cleartext的内容完整包含在Registration Request的NAS message container IE中,并将该NAS message container IE进行加密。之后发送Registration Request消息,该消息包含cleartext和non-cleartext内容的NAS message container IE(即:包含完整的注册请求消息)。

注:

本步涉及的初始NAS消息有三种:REGISTRATION REQUEST,SERVICE REQUEST,CONTROL PLANE SERVICE REQUEST。每种消息类型包含的可以cleartext发送的IE都不一样,具体参见:TS 24.501。物联网应用场景中,CONTROL PLANE SERVICE REQUEST发送会涉及CIoT small data container IE的处理,需要注意。

B.            如果UE没有non-cleartext发送的信息,则不包含NAS message container IE。

需要注意的是上面的规则适用于UE发起的第一条初始NAS消息,如果是UE收到NAS Security Mode Command后,包含在NAS Security Mode Complete消息里的NAS message container IE中完整的Registration Request消息是不需要加密的。(详见TS 24.501 Clause 5.4.2.3)

注:****

如果UE具有5G NAS security context,但是其中包含的加密算法为:5G-EA0。此时,当UE在5GMM-IDLE状态选择了一个不同于以前注册的PLMN时,UE会放弃该5G NAS security context不使用。

AMF在收到这些包含[NAS message container] IE的初始NAS消息,会优先处理NAS message container IE中的内容。由于NAS message container IE是加密保护的,如果AMF本地没有UE的有效上下文,或者从old AMF得到的UE上下文中的安全参数无法解密,或者old AMF完整性检查失败等等,只要任何一步出现问题都会触发AMF和AUSF之间的UE鉴权流程。

注:**** * 在第1步流程中我们的疑问,在本步骤的学习中得到了解答。以前觉得学明白了,在细致整理的时候仍然会发现一些未知的问题。5G系统之所以在NAS消息Registration Request中又包含了一个[NAS message container],主要是因为5G系统支持初始消息的保护。*

从现网跟踪到的信令来看,信令内容[NAS message container]中既包含cleartext的部分,又包含non-cleartext部分,即[NAS message container]中包含完整的注册消息的全部字段。而Registration Request这条NAS消息[NAS message container]外部只包含cleartext部分,与[NAS message container]中部分内容是重复的。

网络是否开启加密由AMF配置决定,如果不开启加密功能,AMF会在所有UE的5G NAS security context 指示采用"null ciphering algorithm" 5G-EA0算法。

当建立起N1 NAS安全交互的信令连接后,UE会开启NAS消息的加密和解密功能。之后除非明确定义,在N1 NAS信令连接释放或者执行S1切换之前,UE会将所有发送的NAS消息加密。AMF除了NAS SECURITY MODE COMMAND消息,也会在N1 NAS信令连接释放或者执行S1切换之前开启加密和解密功能。

一旦在AMF和UE间开启了NAS消息加密,NAS消息的接收方会丢弃所有未加密的NAS消息。