关于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.
作者:machi
出处:https://www.cnblogs.com/machi12/p/16521057.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!