鉴权过程

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

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

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

AS层安全模式过程

MME通过KASMEK_{ASME}KASME​生成KeNBK_{eNB}KeNB​并把该值发送给eNB。eNB基于KeNBK_{eNB}KeNB​,根据选定的算法生成kRRCintk_{RRCint}kRRCint​、kRRCenck_{RRCenc}kRRCenc​、kUPenck_{UPenc}kUPenc​分别用于RRC消息加密、完保以及用户面数据加密。然后,eNB对SMC消息进行完保,发送给UE。

UE用KASMEK_{ASME}KASME​生成KeNBK_{eNB}KeNB​,根据SMC指示的算法生成kRRCintk_{RRCint}kRRCint​、kRRCenck_{RRCenc}kRRCenc​、kUPenck_{UPenc}kUPenc​,并对SMC消息进行完整性校验(生成X-MAC,与SMC携带的MAC-I作对比),若校验通过,则发送完保并加密的SMC完成消息给eNB。

初始接入

KeNBK_{eNB}KeNB​与KASMEK_{ASME}KASME​以及{NH,NCC}对的关系如下图所示:

初始建立时,KeNBK_{eNB}KeNB​直接由KASMEK_{ASME}KASME​导出,这个KeNBK_{eNB}KeNB​与NCC=0的虚拟NH相关联,MME在初始连接建立时,计算NCC=1对应的NH,并保存{NH,NCC}对,但不将其发送给eNB。eNB收到初始建立请求,保存其中的KeNBK_{eNB}KeNB​,并将NCC设置为0,eNB此时不知道NH值。在UE侧,此时使用NCC=0对应的NH及生成的KeNBK_{eNB}KeNB​,而推导NCC=1的相关参数在第一次切换时才执行。

eNB内切换

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

X2切换

源eNB通过垂直衍生方式(有未使用的{NH,NCC}对)或水平衍生方式(没有为使用的{NH,NCC})来生成KeNB∗K_{eNB}*KeNB​∗,并把{KeNB∗K_{eNB}*KeNB​∗,NCC}发送给目标eNB,目标eNB把KeNB∗K_{eNB}*KeNB​∗作为KeNBK_{eNB}KeNB​使用,并把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计算出KeNBK_{eNB}KeNB​,并把NCC值通过HandOver Command消息发送给UE。

LTE各场景下的密钥处理相关推荐

  1. 多云场景下,程序员该如何管理云凭据?

    作者| Alexey Ledenev 翻译 | 天道酬勤,责编 | Carol 出品 | CSDN云计算(ID:CSDNcloud) 随着企业与各种云提供商合作,多云场景已经变得十分常见. 在谷歌Ku ...

  2. 数据库审计系统在加密传输场景下的应用(SinoDB)

    1.  简介 在这个万物互联的时代,任何一家企业的发展都离不开数据,数据是每一个互联网企业的核心资产.在互联网安全事故频发的今天,如何保护企业的数据资产安全,避免客户隐私泄露,是每一家企业都重点关注和 ...

  3. 数据库审计系统在加密传输场景下的应用-SinoDB

    1.  简介 在这个万物互联的时代,任何一家企业的发展都离不开数据,数据是每一个互联网企业的核心资产.在互联网安全事故频发的今天,如何保护企业的数据资产安全,避免客户隐私泄露,是每一家企业都重点关注和 ...

  4. 阿里云的内容识别技术可以实现哪些场景下的智能化应用?

    阿里云的内容识别技术可以实现哪些场景下的智能化应用? [本文由阿里云代理商[聚搜云]撰写] 随着人工智能技术的快速发展,阿里云借助自身的技术和资源优势,开发了一种名为"内容识别"的 ...

  5. 关于 URLLC场景下的 the Short Blocklength Regime

    关于 the Short Blocklength Regime URLLC场景要求高可靠低延迟通信,其在QoS和包大小要求方面与传统实时通信业务有很大区别,举个例子: 传统VoIP业务: 最大排队时延 ...

  6. 移远模组完成高铁场景下5G实网测试,下行速率达到1.3Gbps

    "5G+智慧高铁"正成为智慧出行的趋势之一,不但能提高管理效率,乘客也可通过5G享受到更快的网速,在旅途中也不耽误工作.学习和娱乐. 然而在高速移动场景下,通信设备的性能面临着一系 ...

  7. 多云和混合云场景下的 API 管理:挑战与选择

    作者张超,API7 Cloud 产品负责人,Apache APISIX PMC 成员. 原文链接 一.多云和混合云 如今微服务已经成为最流行的一种软件架构,人们通过自己对业务的理解,和科学方法(比如领 ...

  8. 案例研究丨神策数据在多项目、多网络场景下使用JumpServer堡垒机

    神策数据(Sensors Data),全称为神策网络科技(北京)有限公司,是国内专业的大数据分析和营销科技服务提供商,为企业提供神策营销云.神策分析云.神策数据根基平台三大产品方案,并通过全渠道的数据 ...

  9. 关于std::string 在 并发场景下 __grow_by_and_replace free was not allocated 的异常问题

    使用string时发现了一些坑. 我们知道stl 容器并不是线程安全的,所以在使用它们的过程中往往需要一些同步机制来保证并发场景下的同步更新. 应该踩的坑还是一个不拉的踩了进去,所以还是记录一下吧. ...

最新文章

  1. 第一个晶体管是如何工作的?
  2. python随机产生10个不同的两位数_python解决两位数加减法快速出题问题
  3. 讲解Linux服务器被黑解决方法
  4. 2019可信云云计算开源产业大会:腾讯云TStack获多云管理认证及多项殊荣
  5. Mocha 和 Chai 入门初探
  6. 阿里巴巴开源的Excel操作神器!
  7. c语言字符加密向后四位_Base64加密?它只是一种编码算法,切勿用来加密
  8. EVENT:10218 dump uba of applied undo
  9. 麦克纳姆轮全向移动机器人速度空间分析
  10. testng_TestNG @工厂注释
  11. spyder python_spyder python2.7下载
  12. iOS13 Scene Delegate详解
  13. 【crossbeam系列】3 crossbeam-deque:work-stealing算法
  14. 柔光混合模式android,滤色与柔光两种图层混合模式的理解和应用实例
  15. python+tkinter+threading制作多线程简易音乐播放器(自动播放,上一曲,下一曲,播放,暂停,实时显示歌曲名并能自动切换歌曲的功能)
  16. Mac电脑使用:Mac电脑如何用自带的Safari浏览器,一键翻译英文网页为中文网页
  17. apr 移植android平台,omap3530移植android4.0
  18. steam同乐无法连接远程计算机,Steam远程同乐功能怎么用 Steam远程同乐功能使用教程...
  19. python+IDM实现快速批量化下载 (解决IDM批量化下载文件类型出现Error问题)
  20. 如何让我们的人生,拥有更多的可能性?

热门文章

  1. [Python爬虫] Selenium+Phantomjs动态获取CSDN下载资源信息和评论
  2. Swift之深入解析Xcode13对Swift对象生命周期的优化
  3. Python3 - 时间处理与定时任务
  4. python正则表达式函数match()和search()的区别详解
  5. 11.2.2 jQuery选择器
  6. 并发编程——线程——锁
  7. 深度学习——02、深度学习入门——经典卷积神经网络架构实例——RNN
  8. TensorFlow错误:TypeError: __init__() got an unexpected keyword argument 'serialized_options'
  9. 新手入门机器学习十大算法
  10. 【Qt】New Features in Qt 5.15