5G NR如何实现切换期间安全性
在LTE中,通过SMC过程在初始接入期间激活AS安全。在安全激活之后,通过切换过程执行AS安全密钥刷新。此外,切换过程总是导致AS安全密钥刷新。
从安全性的角度来看,在以下情况下触发安全密钥刷新:
Case1:实际移交时
Case2:在COUNT包装时
Case3:DRB ID用完时
Case4:从MME收到新的KeNB后(NAS SMC后)
通常,对于Case1,执行小区间切换。对于Case2-4,执行小区内切换。
根据规范,基于对应的目标小区的物理小区ID和频率EARFCN-DL,从旧KeNB/NH导出KeNB*(新KeNB)。
在LTE中,对于包括小区内/eNB内切换的任何切换,执行安全密钥刷新。此外,密钥刷新要求重置/重新建立L2实体。二级实体重置/重建将对数据传输产生重大影响,特别是对于高吞吐量服务。
NR中的“切换”可能不适用于每个移动性事件,例如,在一个gNB内改变波束或TRP可以被认为是一种不影响PDCP/RRC的较低层移动性。
从LTE中吸取教训,如果安全密钥在移动性时没有被刷新(至少在小区内/gNB内移动性的情况下是可行的),则L2实体不需要被重置/重新建立。可以减少对数据传输的影响。
这意味着可以在没有密钥刷新的情况下执行gNB内移动性,但是密钥刷新不需要是移动性过程,即可以存在用于密钥刷新的单独过程,该过程不类似于切换,并且不会导致数据中断。
这将避免由于L2重置而导致数据中断的可能性。然而,它们将在几个领域引入一些新的复杂性:
小区或服务节点身份与密钥推导的关系
在密钥刷新期间使用哪个密钥存在歧义
保证与下层网络节点相互认证所需的潜在机制
gNB内的连锁攻击
密钥刷新总是在切换时完成的另一个原因是,安全密钥刷新涉及到目标小区ID。使用目标小区ID的初衷是使用不同的参数来为每个切换导出不同的密钥。然而,该意图可以通过例如使用随机值来实现,就像DC中的S-KeNB推导一样。
在LTE中,通过切换执行密钥刷新的主要原因是切换可以避免混淆周期问题,即由于异步重新配置,接收机不知道在混淆周期期间新密钥或旧密钥中的哪一个用于接收的PDPC PDU。然而,代价是数据传输中断。在NR中,为了实现0ms中断,可以在混淆期间同时使用新的和旧的安全密钥,关键是如何识别哪个密钥用于PDCP PDU。
新旧安全密钥的同时使用是UMTS中一个众所周知的复杂性来源,在NR中需要谨慎处理,以避免引起类似的问题。然而,如果要在钥匙更换期间实现0 ms中断,这似乎是不可避免的后果。另一种方法是解释切换不会导致数据中断,但key刷新会产生不期望的、反直觉的结果。
在LTE中,切换期间的密钥刷新提供了相互认证的机会。如果目标eNB不是合法节点,则它不能正确地生成新密钥。如果密钥刷新与切换分离,则存在这样的可能性,即如果伪TRP能够获得具有真实gNB的服务中的UE,则伪TRP可以通过继续使用旧密钥并且从不触发密钥刷新来保持UE的服务。(然而,它必须以某种方式获得先前的密钥。考虑到这一点,以及是否可以容易地强制执行较低层移动性的问题,这种情况可能不现实。)
如果在gNB内移动性时密钥未更改,则存在链接攻击的风险,例如在源TRP上的业务受到损害的情况下。只要gNB不更新密钥,攻击者就可以继续解密或伪造目标TRP的业务。如果再加上缺乏相互认证,这是一个特别严重的弱点,因为它可能会让一个受威胁的TRP强制切换到一个假的TRP,然后该TRP可能会继续使用现有的密钥来给人一种合法服务的印象。然而,它只影响同一PDCP锚点下的不同TRP,因此它可能不会被视为重大威胁,因为它取决于最初破坏在PDCP处终止的安全性。
对于无连接传输,似乎有两种情况(即空闲状态和“INACTIVE”状态)可以执行数据传输。对于空闲状态,gNB没有UE的上下文。在这种情况下,gNB所能做的非常有限。期望不应用RAN安全性,并且如果需要,CN负责数据安全性,例如在UP-GW中。对于INACTIVE状态,并且不确定所发送的数据分组是否携带UE ID信息。