EAP-AKA 与 EAP-AKA' 移动网络认证协议详解:从 3GPP AKA 到 5G 安全增强

协议详解 · 2026-10-25

概述

EAP-AKA(Extensible Authentication Protocol Method for 3rd Generation Authentication and Key Agreement)是 IETF 定义的 EAP 认证方法之一,最初规范于 RFC 4187。该协议由 3GPP 开发,将 UMTS 的 AKA(Authentication and Key Agreement)机制封装到 EAP 框架中,使移动终端能够通过 WiFi、以太网等非 3G 网络进行认证。

随着 4G/5G 网络的部署,EAP-AKA 暴露出一些安全性问题。2021 年发布的 RFC 9048 定义了 EAP-AKA'(EAP-AKA Prime),作为 EAP-AKA 的改进版本,支持 4G 和 5G 部署,并提供更强的安全保证。

EAP-AKA 系列的核心设计目标:

  • 复用现有移动网络基础设施:直接利用 USIM(UMTS Subscriber Identity Module)中的密钥和算法
  • 支持身份隐私:通过 pseudonym 临时标识符隐藏 IMSI
  • 快速重认证:减少反复与 HSS/AuC 通信的开销
  • 网络名称绑定(EAP-AKA' 新增):防止密钥泄露后被其他网络滥用

AKA 认证向量

AKA 机制的核心是认证向量(Authentication Vector),由归属网络的 AuC(Authentication Center)生成并分发给 EAP-AKA 服务器:

CODE
认证向量 = (RAND, AUTN, XRES, CK, IK)
字段长度用途
RAND128 位随机挑战数
AUTN128 位网络认证令牌
XRES64-128 位期望的响应值
CK128 位加密密钥
IK128 位完整性密钥
AUTN 的结构包含序列号(SQN)和 MAC-A(消息认证码),用于抵抗重放攻击和中间人攻击。具体计算公式定义在 3GPP TS 33.102 中。

完整认证流程

EAP-AKA 的完整认证步骤

第 1 步:身份获取

EAP 请求方(Peer)向服务器发送身份标识。支持三种身份类型:

身份类型说明
IMSI永久用户标识(明文暴露风险)
Pseudonym临时标识符,由服务器分发生成
Fast Re-authentication Identity快速重认证专用标识
第 2 步:挑战-响应认证

服务器发送 EAP-Request/AKA-Challenge 消息:

CODE
AT_RAND: 随机挑战数(128 位)
AT_AUTN: 网络认证令牌(128 位)
AT_MAC: 消息认证码(覆盖上述属性)

终端(USIM)验证 AUTN:

  • 检查序列号 SQN 是否在合法窗口内
  • 计算 MAC-S 并与 AT_MAC 比对
  • 验证通过则返回 RES 和派生密钥
第 3 步:密钥派生

从 CK、IK 派生出 EAP 密钥材料:

CODE
Master Session Key (MSK) = KDF(IK || CK, "EAP-AKA", ...)
Extended MSK (EMSK) = 扩展密钥材料

这些密钥可用于后续的上层安全协商(如 TLS 会话密钥)。

EAP-AKA' 的改进

EAP-AKA'(RFC 9048)在 EAP-AKA 基础上做了以下关键改进:

1. 网络名称绑定(Network Name Binding)

EAP-AKA' 引入 AT_KDF 和 AT_KDF_INPUT 属性,将派生密钥与访问网络的名称绑定:

CODE
CK' = KDF(CK, network_name, ...)
IK' = KDF(IK, network_name, ...)

这防止了密钥泄露后被其他网络(恶意的或竞争对手的)滥用的风险。

2. 哈希算法升级

属性EAP-AKAEAP-AKA'
哈希函数SHA-1 / HMAC-SHA-1SHA-256 / HMAC-SHA-256
MAC 长度64 位(HMAC-SHA-1 截断)256 位(HMAC-SHA-256)
3. 5G 标识适配

EAP-AKA' 支持 5G 引入的新标识符格式,包括:

  • 5G:@ 格式的 NAI
  • SUPI(Subscription Permanent Identifier)的多种格式处理
  • 基于 3GPP TS 33.501 和 TS 23.003 的标识管理

身份隐私保护

EAP-AKA 提供可选的身份隐私机制,避免每次认证都暴露 IMSI:

  • Pseudonym 机制:服务器定期向终端发送加密的伪名
  • Fast Re-authentication:使用派生身份进行快速重认证,无需再次联系 AuC
伪名的加密使用 CK 和 IK,确保只有合法终端能够解密。

EAP-AKA' 的隐私增强:

  • 改进了伪名和快速重认证标识的生成要求
  • 在 5G 场景下,确保隐私友好的标识不会泄露可追踪的永久标识

快速重认证

当终端在短时间内重新接入时,EAP-AKA 支持快速重认证(Fast Re-authentication):

特性完整认证快速重认证
与 AuC 交互是否
认证向量来源HSS/AuC本地缓存
时间开销高(网络往返)低(本地计算)
安全性高中等(依赖之前的安全上下文)
快速重认证使用独立的派生密钥,不与完整认证共享密钥材料。

EAP-AKA' 的改进:明确定义了快速重认证场景下的会话标识符和导出参数,确保与完整认证的一致性。

安全性分析

EAP-AKA 已知风险

  • 同步问题:序列号不同步会导致认证失败,需通过 AUTS 机制恢复
  • 重放攻击:AUTN 中的 MAC 值防止重放,但需确保序列号更新机制正确
  • 中间人攻击:如果攻击者能够拦截并重放认证向量,可能绕过认证
  • 密钥泄露扩散:CK/IK 可能被分发给拜访网络的节点,存在泄露风险

EAP-AKA' 的安全增强

根据 RFC 9048,EAP-AKA' 提供了以下安全改进:

安全属性EAP-AKAEAP-AKA'
抵抗降级攻击弱通过 AT_BIDDING 属性防御
密钥绑定无绑定到网络名称
哈希强度SHA-1(已知弱点)SHA-256
MAC 长度64 位128 位或更长
5G 兼容不支持原生支持
降级攻击防护:EAP-AKA' 通过 AT_BIDDING 属性防止中间人将 EAP-AKA' 降级为 EAP-AKA。双方会在握手过程中交换能力列表,如果发现对方都支持更强算法但被降级,应中止认证。

5G 部署适配

EAP-AKA' 是 5G 非公开网络(NPN)和公共网络漫游的主要认证机制之一:

CODE
5G EAP-AKA' 认证流程要点:
1. UE 发送包含 5G-NAI 的 EAP-Response/Identity
2. AMF(访问和管理功能)转发给 5GC(5G 核心网)
3. AUSF(认证服务器功能)查询 UDM(统一数据管理)获取认证向量
4. EAP-AKA' 完成双向认证和密钥协商
5. 派生的 5G 密钥用于 NAS 和 RRC 层加密

关键 3GPP 标准引用:

  • TS 33.501:5G 安全架构
  • TS 33.402:3GPP 安全架构中的 EAP 应用
  • TS 23.003:编号、寻址和维护

国密场景下的适配

EAP-AKA 和 EAP-AKA' 都基于 3GPP 国际标准,使用国际算法(Milenage、TUAK)。在国密场景中,可考虑以下替代或补充方案:

  • SM2 身份认证:使用 SM2 数字签名替代 AKA 挑战-响应
  • GM/T 0127-2023:移动终端密码模块接口规范
  • 国密 TLS 扩展:结合 GM/T 0024 的客户端认证机制
对于同时面向国内和国际用户的系统,可采用双认证策略:国内用户走国密方案,国际漫游用户走 EAP-AKA'。

相关实践

参考