5G注册流程分级详解(鉴权)(Step9续)

***   欢迎转发,转发请注明出处。相关更新会在公众号同步更新,敬请关注。公众号:5G通信大家学    ***

目录

9. 鉴权流程(续)

(1)NAS消息完整性保护要点说明

(2)NAS消息的加密要点说明

(3)5G初始NAS消息保护机制

(4)5G NAS安全模式的开启


9. 鉴权流程(续)

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值。

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

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

  1. 如果UE本地没有5G NAS security context的情况,UE执行注册流程时,发送的Registration Request消息可以不进行加密和完整性保护。只要UE本地存在有效的5G NAS security context,3GPP规范强制要求UE对NAS消息进行完整性保护。
  2. 当发送的NAS消息既需要加密又需要执行完整性保护时,NAS消息首先进行加密,之后加密后的NAS消息和NAS序列号一起进行完整性保护,计算MAC;
  3. NAS消息可以只进行完整性保护而不加密。未加密的NAS消息和NAS序列号一起进行完整性保护,计算MAC;
  4. 当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消息交互。
  5. 如果选择5G-IA0(空算法,即:"null integrity protection algorithm",相当于没有进行完整性保护)作为完整性保护的算法,在NAS消息的安全头(Security header type)指示为完整性保护消息,则NAS消息的接收方仍然认为该消息是完整性保护的消息。如果NAS消息使用5G-EA0(即:"null ciphering algorithm" )算法加密,在NAS消息的安全头部指示为加密保护消息,则仍然认为NAS消息是加密的。

2NAS消息的加密要点说明

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

  1. 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内容。

  1. UE有有效的5G NAS security context
  1. 如果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的处理,需要注意。

  1. 如果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消息。

35G初始NAS消息保护机制

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d1eW91MTI1,size_16,color_FFFFFF,t_70

对于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消息的回复,该消息是加密及完整性保护的。

45G NAS安全模式的开启

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d1eW91MTI1,size_16,color_FFFFFF,t_70

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消息的定义如下图:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d1eW91MTI1,size_16,color_FFFFFF,t_70

重点IE介绍:

- Security header type

NAS消息保护性说明。其中:0011用于NAS Security Mode Command消息。0100用于NAS Security Mode Complete消息。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d1eW91MTI1,size_16,color_FFFFFF,t_70

- 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推导标识。

2021031412252434.png

- ABBA

降级攻击保护参数。

注:

百度百科上的降级保护内容,供参阅:降级攻击(Downgrade attack)是一种对计算机系统或通讯协议的攻击。在降级攻击中,攻击者故意使系统放弃新式、安全性高的工作方式(如加密连接),反而使用为向下兼容而准备的老式、安全性差的工作方式(如明文通讯)。例如,在OpenSSL中曾经存在一个缺陷,从而使攻击者能够让SSL/TLS服务器与客户端创建老版本TLS连接,尽管双方事实上支持新版本。这样的攻击是最常见的降级攻击。

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。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d1eW91MTI1,size_16,color_FFFFFF,t_70

如果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注册过程的鉴权和安全性保护方面到这就介绍完了。在切换过程中也会涉及到安全方面的内容,在详解切换流程时在进行分析。

我在写详解流程的过程中,也在逐渐的深入。之前学习的时候觉得已经学明白了,但是在整理成该文档的时候,仍然会发现很多疑问。如有疑问和错误,请大家关注公众号:“5G通信大家学”,随时回复,共同学习5G。

后续流程,留待下回分解  ......

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南山耕夫

你的鼓励是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值