关于5G Handover中自己的一些理解
时间:2022/07/26
一. 基于Xn接口的5G内切换流程图
二. 对于上述流程中自己的一些疑惑和给出的解释
疑惑:
为什么在UE侧进行垂直密钥派生时需要先派生出新的NH,然后利用新的NH来派生K_gNB*,也就是说,为什么UE侧和SRAN侧的HN值是不同的?
解释:
首先需要说明的是,由于NH是由密钥K_AMF派生出来的,所以其派生只能出现在UE侧和CN侧,因为RAN并没有密钥K_AMF,所以RAN每次都要从CN侧得到新派生的NH。当UE和CN初始连接建立成功之后,UE侧和CN侧都产生了与NCC=1相关联的NH值,但是根据3GPP如下标准规定:
[TS 33.501, Sec. 6.9.2.1.1]: “Since the AMF does not send the NH
value to gNB/ng-eNB at the initial connection setup, the NH value
associated with the NCC value one cannot be used in the next Xn
handover or the next intra-gNB/intra-ng-eNB-CU handover, for the
next Xn handover or the next intra-gNB-CU/intra-ng-eNB handover
the horizontal key derivation will apply.”
在初始连接建立时,AMF不会向RAN发送与NCC=1相关联的NH值,这也就导致在RAN第一次派生会话密钥K_gNB*时没有NH值可以使用,所以在初始建立之后的第一个会话密钥K_gNB*派生时只能使用水平密钥派生,这种密钥派生方式是不能保证前向安全性的。综合前面的来看,第一次派生K_gNB*时UE和RAN使用的都是水平密钥派生,在双方派生完之后,CN在收到TRAN发送来的PDU-Session-ID之后就会派生出新的NH值(每一次派生新的NH,NCC都需要加一,其实NCC就是与NH值绑定的计数器),然后就将该NH值发送给TRAN,需要注意的是,这里NH值是与NCC=2相绑定的,也就是是说,在第一次切换之后,TRAN中NH值与NCC=2相绑定,但是UE侧由于使用的是水平密钥派生,此时并不会派生出新的NH值,UE此时的NH值是与NCC=1相绑定的,从这时开始,RAN的NCC值总是比UE大一,所以UE在之后进行垂直密钥派生时总是要先派生出新的NH值,然后用新的NH来派生出K_gNB*。
参考文献:
Peltonen A, Sasse R, Basin D. A comprehensive formal analysis of 5G handover[C]//Proceedings of the 14th ACM Conference on Security and Privacy in Wireless and Mobile Networks. 2021: 1-12.