当前位置: 首页 > news >正文

5G 网络中的双向认证机制解析

一、5G 网络中的双向认证机制解析

在 5G 核心网中,双向认证是指UE(用户设备)与网络互相验证对方身份的过程。这一机制通过多层次的安全协议和密钥交换,确保通信双方的合法性,防止中间人攻击和身份伪造。

1. UE 存储的关键信息

UE 作为用户终端,存储以下核心安全信息:

  • 长期密钥(K):用户签约的根密钥,与运营商网络(UDM)共享,存储于 USIM 卡或 eSIM 中。
  • OP/OPc:
    • OP(Operator Key):运营商定义的固定密钥,用于生成 OPc。
    • OPc(Operator Key Confidential):由 OP 和 K 派生的机密密钥,实际用于认证计算,提高安全性。
  • 安全能力参数:支持的加密算法(如 128 - GCM)、完整性保护算法(如 128 - HMAC - SHA256)等。
  • 临时身份标识:如 SUCI(Subscriber Concealed Identifier),用于替代明文 SUPI(永久用户标识符),保护用户隐私。

2. UDM 存储的关键信息

UDM 作为核心网的数据管理中心,存储以下信息:

  • 用户签约数据:包括长期密钥 K、OP/OPc、认证方法配置(如 5G AKA)。
  • 认证向量(AV):动态生成的认证参数,包含:
  • RAND(随机数):用于挑战 UE 的随机值。
  • *XRES(预期响应)**:基于 K 和 RAND 计算的预期结果,用于验证 UE。
  • AUTN(认证令牌):用于 UE 验证网络的合法性。
  • Kausf:由 K 派生的根密钥,用于后续密钥层级的生成。
  • 用户安全上下文:记录 UE 的认证状态、密钥使用情况等。

3. 双向认证的详细流程

双向认证通过5G AKA(Authentication and Key Agreement)协议实现,具体步骤如下:

  • 步骤 1:注册请求与 SUCI 传输
    • UE 向 AMF 发送注册请求,携带 SUCI(替代明文 SUPI)和安全能力信息。
  • 步骤 2:AMF 向 AUSF 请求认证数据
    • AMF 通过 N12 接口将 SUCI 发送至 AUSF,请求生成认证向量。
  • 步骤 3:AUSF 与 UDM 交互生成 AV
    • AUSF 通过 N13 接口将 SUCI 发送至 UDM。
    • UDM 解析 SUCI 获取 SUPI,检索用户签约数据(K、OPc)。
      • UDM 生成随机数 RAND,并基于 K 和 OPc 计算:
      • XRES = f2 (K, RAND)**:预期响应。
      • AUTN = f1 (K, RAND) + SQN(序列号):认证令牌,包含网络身份信息。
    • Kausf = f5(K, RAND)**:派生根密钥。
      UDM 将 AV(RAND、XRES
      、AUTN、Kausf)返回给 AUSF。
  • 步骤 4:AUSF 向 AMF 发送认证参数
    • AUSF 保留 Kausf,将 RAND 和 AUTN 通过 AMF 发送给 UE。
  • 步骤 5:UE 验证网络合法性(双向认证核心)
    • UE 使用存储的 K 和 OPc 计算:
      • XMAC = f1(K, RAND):预期的消息认证码。
http://www.xdnf.cn/news/747361.html

相关文章:

  • 跟单业务和量化交易业务所涉及到的设计模式
  • CP2K 软件介绍与使用指南
  • 34、请求处理-【源码分析】-Model、Map原理
  • MySQL访问控制与账号管理:原理、技术与最佳实践
  • switch-case判断
  • 【PostgreSQL 02】PostgreSQL数据类型革命:JSON、数组与地理信息让你的应用飞起来
  • 若依框架定制化服务搭建
  • 开源是什么?我们为什么要开源?
  • gtsam正确的安装姿势
  • 每日八股文5.31
  • Windows上用FFmpeg推流及拉流的流程概览
  • 操作系统学习(八)——同步
  • 【python深度学习】Day 41 简单CNN
  • STM32F103通过Zigbee实现多分用户向主用户发送信息
  • LeetCode Hot100 (贪心)
  • VS Code / Cursor 将默认终端设置为 CMD 完整指南
  • 算法打卡12天
  • Leetcode LCR 187. 破冰游戏
  • cuda_fp8.h错误
  • Python 中Vector类的格式化实现,重点拆解其超球面坐标系的设计精髓
  • C# 面向对象特性
  • 吉林第三届全国龙舟邀请赛(大安站)激情开赛
  • 打卡day41
  • Kanass入门教程- 事项管理
  • 科普:Linux `su` 切换用户后出现 `$` 提示符,如何排查和解决?
  • 山东大学软件学院项目实训-基于大模型的模拟面试系统-面试官和面试记录的分享功能(2)
  • InfluxDB 高级函数详解:DERIVATIVE、INTEGRAL、SPREAD、HISTOGRAM 与 DIFFERENCE
  • [SC]SystemC在CPU/GPU验证中的应用(五)
  • 22睿抗省赛真题
  • DAY41