NR 5G 安全与秘钥简述

基本说明

适用于连接到5GC安全的NR:
1、对于用户数据(DRB),加密提供用户数据机密性,完整性保护提供用户数据完整性;
2、对于RRC信令(SRB),加密提供信令数据机密性和完整性保护信令数据完整性;
注意: 除了始终配置完整性保护的RRC信令之外,可选地配置加密和完整性保护。 可以为每个DRB配置加密和完整性保护,但是属于用户面安全执行信息指示需要UP完整性保护的PDU会话的所有DRB配置有完整性保护。
3、对于密钥管理和数据处理,任何实体处理明文都应受到保护,免受物理攻击并位于安全的环境中;
4、gNB(AS)密钥以密码方式与5GC(NAS)密钥分开;
5、使用单独的AS和NAS级别安全模式命令(SMC)过程;
6、序列号(COUNT)用作加密和完整性保护的输入,并且给定的序列号必须仅对相同方向上的相同无线承载上的给定密钥(除了相同的重传)使用一次。

密钥的组织和派生如下:
1、AMF的关键:

  • K_AMF 是来自K SEAF 的ME和SEAF衍生的密钥。

2、NAS信令的密钥:

  • K_NASint 是来自K_AMF 的ME和AMF导出的密钥,其仅用于通过特定完整性算法保护NAS信令;
  • K_NASenc 是来自K_AMF 的ME和AMF导出的密钥,其仅用于通过特定加密算法保护NAS信令。

3、gNB的关键:

  • K_GNB 是来自K_AMF 的ME和AMF衍生的密钥。 当执行水平或垂直密钥导出时,由ME和源gNB进一步导出K_GNB 。

4、UP流量的关键:

  • K_UPENC 是由ME和gNB从K GNB 导出的密钥,其仅用于通过特定加密算法保护ME和gNB之间的UP业务;
  • K_UPint 是由ME和来自K的TF GNB 导出的密钥,其仅用于利用特定完整性算法来保护ME和gNB之间的UP业务。

5、RRC信令的密钥:

  • K_RRCint 是来自K GNB 的ME和gNB导出的密钥,其仅用于利用特定完整性算法来保护RRC信令;
  • K_RRCenc 是由ME和来自K GNB 的gNB导出的密钥,其仅用于利用特定加密算法保护RRC信令。

6、中级密钥:

  • NH是由ME和AMF派生的密钥,用于提供前向安全性。
  • K_GNB *是在执行水平或垂直密钥导出时由ME和gNB导出的密钥。

主认证启用UE和网络之间的相互认证,并提供称为的锚键K_SEAF 。 从K_SEAF 开始,在例如主认证或NAS密钥重新键控和密钥刷新事件期间创建K_AMF 。 基于K_AMF ,然后在运行成功的NAS SMC流程时导出K_NASint 和K_NASenc 。

秘钥派生说明

每当需要在UE和gNB之间建立初始AS安全性上下文时,AMF和UE导出K GNB 和下一跳参数(NH)。 K_GNB 和NH衍生自K_AMF 。 NH链路计数器(NCC)与每个K_GNB 和NH参数相关联。 每个K_GNB 与NCC相关联,该NCC对应于从其得到的NH值。 在初始设置时,K_GNB 直接从K_AMF 导出,然后被认为与NCC值等于零的虚拟NH参数相关联。 在初始设置时,导出的NH值与NCC值1相关联。 在切换上,将在UE和目标gNB之间使用的K GNB 的基础(称为K_GNB *)来自当前活动的K_GNB 或来自NH参数。 如果K GNB *是从当前活动的K_GNB 导出的,则这被称为水平密钥导出,并且向UE指示不增加的NCC。 如果K_GNB *是从NH参数导出的,则推导被称为垂直密钥导出,并且向UE指示NCC增加。 最后,K_RRCint ,K_RRCenc ,K_UPint 和K_UPENC 是在衍生出新的K_GNB 后基于K_GNB 衍生的。 如下图所示:
5G密钥派生
利用这种密钥推导,具有与UE共享的K_GNB 的知识的gNB不能计算在相同UE和先前gNB之间已经使用的任何先前的K_GNB ,因此提供后向安全性。 类似地,与UE共享的具有K_GNB 知识的gNB不能预测在n次或更多次切换之后将在相同UE和另一gNB之间使用的任何未来K GNB (因为NH参数仅是可由UE和AMF计算)。
AS SMC过程用于RRC和UP安全算法协商和RRC安全激活。 当要在gNB中建立AS安全性上下文时,AMF将UE 5G安全性能力发送给gNB。 gNB从其配置的列表中选择具有最高优先级的加密算法,并且还存在于UE 5G安全能力中。 gNB还从其配置的列表中选择具有最高优先级的完整性算法,并且还存在于UE 5G安全性能力中。 所选择的算法在AS SMC中向UE指示,并且该消息是完整性保护的。 在发送AS SMC消息之后,gNB处的RRC下行链路加密(加密)开始。 在从UE接收并成功验证完整性保护的AS安全模式完成消息之后,gNB处的RRC上行链路解密(解密)开始。 UE通过验证接收到的消息的完整性来验证来自gNB的AS SMC消息的有效性。 在发送AS安全模式完成消息之后,UE处的RRC上行链路加密(加密)开始。 UE的RRC下行链路解密(解密)应在接收并成功验证AS SMC消息之后开始。用于添加DRB的RRC连接重新配置过程应仅在作为AS SMC过程的一部分激活RRC安全性之后执行。
完整性保护的DRB的最大支持数据速率是在NAS层指示的UE能力,具有64kbps的最小值和UE支持的最高数据速率的最大值。 在完整性检查失败的情况下(即,错误或丢失MAC-1),接收的PDCP实体应丢弃相关的PDU。
K_GNB ,K_RRC-ENC ,K_RRC-INT ,K_UP-ENC 和K_UP-INT 可以进行密钥刷新,当PDCP COUNT即将重新使用时,可以由gNB启动。相同的无线承载标识和相同的K_GNB 。 K_GNB ,K_RRC-ENC ,K_RRC-INT ,K_UP-ENC 和K_UP-INT 也可以进行密钥重键,当5G AS安全上下文不同时,可以由AMF启动。当前有效的一个应被激活。

安全终端点安全终端点

状态变化和流动

作为一般原理,在RRC_IDLE到RRC_CONNECTED转换时,生成RRC保护密钥和UP保护密钥,同时假设用于NAS保护的密钥以及更高层密钥已经可用。 这些更高层密钥可能已经由于AKA运行而建立,或者由于在切换或空闲模式移动期间从另一个AMF的传输而建立。
在RRC_CONNECTED到RRC_IDLE转换时,gNB删除它为该UE存储的密钥,使得仅需要在AMF中维持空闲模式UE的状
态信息。 还假设gNB不再存储关于相应UE的状态信息并从其存储器中删除当前密钥。 特别是,在连接到空闲
转换时:

  • gNB和UE删除NH,K_RRCint ,K_RRCenc ,K_UPint 和K_UPENC 以及相关的NCC;
  • AMF和UE保持存储K_AMF ,K_NASint 和K_NASenc 。

在具有垂直密钥导出的切换上,NH在其被用作目标gNB中的K_GNB 之前进一步绑定到目标PCI及其频率ARFCN-DL。
在具有水平密钥导出的切换上,当前活动的K_GNB 在其被用作目标gNB中的K_GNB 之前进一步绑定到目标PCI及其频率ARFCN-DL。
在gNB-CU内切换期间不需要改变AS安全算法。 如果UE在gNB-CU内切换期间没有接收到新的AS安全算法的指示,则UE将继续使用与切换之前相同的算法。

发布了44 篇原创文章 · 获赞 46 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/baidu_41616132/article/details/90372435