LTE各场景下的密钥处理

鉴权过程

MME把IMSI、SNID(服务网络标识)、Network Type(服务网络类型)传给HSS,HSS生成鉴权向量:{RAND(随机数)、AUTN(鉴权令牌)、XRES、 K A S M E K_{ASME} }并发送给MME。

MME把{AUTN、RAND、 K S I A S M E KSI_{ASME} }通过鉴权请求消息发送给UE。UE首先核实收到的AUTN的AMF(鉴权管理域),验证通过则生成RES,在此过程中,UE计算除了CK、IK,然后由 K S I A S M E KSI_{ASME} 、SNID一起通过KDF计算出了 K A S M E K_{ASME}

UE通过鉴权响应消息发送上一步中的RES给MME,MME检验RES与XRES是否一致,一致则鉴权成功。

AS层安全模式过程

MME通过 K A S M E K_{ASME} 生成 K e N B K_{eNB} 并把该值发送给eNB。eNB基于 K e N B K_{eNB} ,根据选定的算法生成 k R R C i n t k_{RRCint} k R R C e n c k_{RRCenc} k U P e n c k_{UPenc} 分别用于RRC消息加密、完保以及用户面数据加密。然后,eNB对SMC消息进行完保,发送给UE。

UE用 K A S M E K_{ASME} 生成 K e N B K_{eNB} ,根据SMC指示的算法生成 k R R C i n t k_{RRCint} k R R C e n c k_{RRCenc} k U P e n c k_{UPenc} ,并对SMC消息进行完整性校验(生成X-MAC,与SMC携带的MAC-I作对比),若校验通过,则发送完保并加密的SMC完成消息给eNB。

初始接入

K e N B K_{eNB} K A S M E K_{ASME} 以及{NH,NCC}对的关系如下图所示:
在这里插入图片描述
初始建立时, K e N B K_{eNB} 直接由 K A S M E K_{ASME} 导出,这个 K e N B K_{eNB} 与NCC=0的虚拟NH相关联,MME在初始连接建立时,计算NCC=1对应的NH,并保存{NH,NCC}对,但不将其发送给eNB。eNB收到初始建立请求,保存其中的 K e N B K_{eNB} ,并将NCC设置为0,eNB此时不知道NH值。在UE侧,此时使用NCC=0对应的NH及生成的 K e N B K_{eNB} ,而推导NCC=1的相关参数在第一次切换时才执行。

eNB内切换

eNB使用目标小区的PCI、EARFCN-DL以及另一个参数来生成密钥 K e N B K_{eNB}* ,其中的另一个参数按如下原则选择:eNB保存有新的未使用的{HN,HCC}对时使用NH(垂直衍生方式),没有未使用的{NH,NCC}对时使用当前的 K e N B K_{eNB} (水平衍生方式)。切换完成后,eNB把 K e N B K_{eNB}* 作为 K e N B K_{eNB} 使用。

X2切换

源eNB通过垂直衍生方式(有未使用的{NH,NCC}对)或水平衍生方式(没有为使用的{NH,NCC})来生成 K e N B K_{eNB}* ,并把{ K e N B K_{eNB}* ,NCC}发送给目标eNB,目标eNB把 K e N B K_{eNB}* 作为 K e N B K_{eNB} 使用,并把NCC通过HandOver Command消息发送给UE。目标eNB完成与UE的切换过程后,发送S1 PATH SWITCH REQUEST消息给MME,MME给NCC加1,并计算NH,通过S1 PATH SWITCH ACKNOWLEDGE消息,把新的{NH,NCC}对发送给目标eNB,目标eNB可以保存下来供下次切换使用,也可以发起一次小区内切换立即使用。

S1切换

收到HANDOVER REQUIRED消息,MME给NCC加1,并计算新的NH。然后,MME通过HANDOVER REQUEST消息把新的{NH,NCC}对发送给目标eNB,目标eNB通过新的{NH,NCC}对,以及目标小区的PCI和EARFCN-DL计算出 K e N B K_{eNB} ,并把NCC值通过HandOver Command消息发送给UE。

发布了13 篇原创文章 · 获赞 30 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/littleBird_2/article/details/89187099