在 5G 系统里,一个终端要"上网"必须先通过主认证(Primary Authentication,5G AKA / EAP-AKA')——这是终端与运营商网络(归属 UDM/ARPF/AUSF)之间的身份确认。但在企业专网、行业切片、第三方数据网络(DN)接入场景下,仅凭运营商域的认证远远不够:数据网络的归属方往往不信任运营商的 SIM 凭证,需要用自己的凭证库再"验一次身"。这就是 3GPP 定义的二次认证(Secondary Authentication)——在 PDU 会话建立期间,由外部 DN-AAA 服务器通过 EAP(可扩展认证协议) 框架对 UE 进行一次额外的、面向具体数据网络的鉴权与授权。
本文依据 TS 33.501(5G 安全架构)条款 11.1、TS 23.502(5G 系统流程)条款 4.3.2.3、TS 23.501 条款 5.6.6 以及 NAS 层 TS 24.501 的 IE 定义,对该机制进行全链拆解。
二次认证解决的是一个信任域不重合的问题。下表把两个认证维度区分清楚:
| 维度 | 主认证(Primary) | 二次认证(Secondary) |
|---|---|---|
| 标准 | TS 33.501 §6 | TS 33.501 §11.1 |
| 凭证域 | 运营商 USIM / 5G 凭证 | 数据网络 DN 凭证(NAI + 密钥/证书) |
| 鉴权方 | AUSF + ARPF(UDM) | 外部 DN-AAA 服务器 |
| 触发时机 | 注册流程(Registration) | PDU 会话建立(或之后重认证) |
| 协议框架 | 5G AKA / EAP-AKA'(改进版) | 通用 EAP(EAP-AKA'、EAP-TLS 等) |
| Authenticator | AMF(服务网络) | SMF(会话管理功能) |
| 产生密钥 | KAMF → 接入层密钥 | EAP MSK/EMSK(面向 DN) |
| 典型场景 | 接入运营商网络 | 企业专网、垂直行业、IoT、第三方 DN |
设计意图有三点值得强调:
理解二次认证的关键,是搞清楚 EAP 消息在各 NF 之间怎么被搬运。AMF 在这里只是 NAS 透传,真正扮演 EAP Authenticator 角色的是 SMF,而 EAP 消息从 SMF 到 DN-AAA 的最后一段由 UPF 中继。
flowchart TD
UE["UE<br/>(EAP Peer)"] -->|"N1 NAS SM<br/>(PDU Estb Req + EAP)"| AMF["AMF<br/>(NAS 透传)"]
AMF -->|"Nsmf_PDUSession_*<br/>(N1 SM 容器)"| SMF["SMF<br/>(EAP Authenticator)"]
SMF -->|"N4 会话"| UPF["UPF<br/>(EAP 中继/转发)"]
UPF -->|"EAP/Identity<br/>(RADIUS 或 Diameter)"| DNAAA["DN-AAA 服务器<br/>(EAP Server)"]
SMF -.->|"获取订阅<br/>(SUCI/SUPI, DNN)"| UDM[("UDM")]
DNAAA -.->|"授权数据<br/>(QoS/AMBR/IP)"| SMF
classDef sec fill:#e8f4f8,stroke:#2b6cb0,stroke-width:2px;
class UE,DNAAA sec;
几点说明:
下图依据 TS 33.501 §11.1.2 图 11.1.2-1(基于 TS 23.502 §4.2.2.2.2、§4.3.2.2.1、§4.3.2.3),以非漫游(单 SMF)为主线,给出 19 步完整流程:
sequenceDiagram
autonumber
participant UE
participant AMF
participant SMF as SMF<br/>(Authenticator)
participant UPF
participant DNAAA as DN-AAA
participant UDM
Note over UE,AMF: 步骤1-3:主认证 + NAS 安全上下文(TS 23.502 §4.2.2.2.2)
UE->>AMF: 注册 / 5G AKA 主认证(建立 NAS 安全)
Note over UE,SMF: 步骤4-6:PDU 会话建立请求
UE->>AMF: PDU Session Establishment Request<br/>(N1 SM容器, DNN, S-NSSAI, PDU Session ID)<br/>[可选: SM PDU DN Request Container IE = NAI]
AMF->>SMF: Nsmf_PDUSession_CreateSMContext Request<br/>(N1 SM容器, SUPI, DNN, S-NSSAI)
SMF->>UDM: Nudm_SDM_Get(订阅数据)
UDM-->>SMF: 订阅数据(是否需二次认证)
Note over SMF: 步骤7:SMF 判定是否需要二次认证<br/>若该UE已对同DN/AAA认证过可跳过8-15
SMF->>UPF: 建立/选择 N4 会话(步骤8/11)
SMF->>DNAAA: 通知 GPSI + UE IP(或MAC)
Note over UE,DNAAA: 步骤9-13:EAP 交互(核心)
opt 未在步骤4携带NAI
SMF-->>UE: EAP Request/Identity(经NAS)
UE->>SMF: EAP Response/Identity(NAI格式)
end
SMF->>UPF: 转发 DN-specific identity(EAP Response/Identity)
UPF->>DNAAA: EAP Response/Identity(RADIUS/Diameter)
loop 按 EAP 方法(EAP-AKA' / EAP-TLS)
DNAAA-->>UE: EAP Request(挑战,经UPF→SMF→NAS)
UE-->>DNAAA: EAP Response(应答)
end
Note over DNAAA: 步骤14:认证成功
DNAAA-->>SMF: EAP Success + 授权数据(QoS/AMBR等, TS23.501 §5.6.6)
Note over SMF: 步骤15:SMF 缓存认证结果<br/>(DN-ID + DNN 或 AAA Server ID)
Note over SMF,UE: 步骤16-19:继续 PDU 会话建立
SMF->>UPF: N4 Session Modification
SMF-->>AMF: Namf_Communication_N1N2MessageTransfer<br/>(PDU Estb Accept + EAP Success)
AMF-->>UE: PDU Session Establishment Accept + EAP Success
SM PDU DN Request Container IE(TS 24.501)。该 IE 携带数据网络特定的身份,必须符合 NAI(Network Access Identifier)格式(如 [email protected])。若 UE 在此主动携带 NAI,可省去步骤 9–10 的两次往返——这是协议刻意留给 UE 的优化点。EAP Success 是认证成功的标志;SMF 把 DN-specific ID + DNN(或 AAA Server ID)写入缓存清单(本地或 UDM)。EAP Success 最终随 PDU Session Establishment Accept 经 N1 下发给 UE,整个二次认证闭环。EAP 在 NAS 层是被"层层套娃"的。下图展示 SM PDU DN Request Container IE 的内部结构与 EAP 消息的封装路径:
flowchart TD
A["NAS 消息(受NAS安全保护)"] --> B["N1 SM 容器"]
B --> C["PDU Session Establishment Request"]
C --> D["IE: SM PDU DN Request Container<br/>(TS 24.501)"]
D --> E1["DN-specific Identity(NAI)<br/>username@realm"]
D --> E2["Port Info(可选)"]
C -.->|"认证阶段"| F["IE: EAP message<br/>(承载 EAP Request/Response/Success)"]
F --> G["EAP Code / Identifier / Length"]
G --> H["EAP Type(13=EAP-AKA', 13'/TLS, …)"]
H --> I["EAP 方法载荷"]
style D fill:#fef3c7,stroke:#d97706,stroke-width:2px;
style F fill:#dbeafe,stroke:#2563eb,stroke-width:2px;
| IE / 参数 | 所在消息 | TS 出处 | 作用 |
|---|---|---|---|
SM PDU DN Request Container |
PDU Session Establishment Request | TS 24.501 | 携带 DN-specific 身份(NAI),决定认证对象 |
| DN-specific Identity(NAI) | 上述 IE 内 | TS 33.501 §11.1.2 step10 | user@realm 格式,realm 用于 SMF 选 DN-AAA |
EAP message IE |
NAS SM 消息(双向) | TS 24.501 | 承载 EAP Request/Response/Success/Failure |
| GPSI | SMF→DN-AAA(步骤8) | TS 23.501 §5.6.6 | 公网标识,便于 DN 侧关联用户 |
| UE IP / MAC | SMF→DN-AAA(步骤8) | TS 23.501 §5.6.6 | 地址绑定授权(IP 型带 IP,Ethernet 型带 MAC) |
| 授权数据 | DN-AAA→SMF(EAP Success 后) | TS 23.501 §5.6.6 | Session-AMBR、QoS 限制、会话时长 |
DNN + S-NSSAI |
CreateSMContext | TS 23.502 §4.3.2.2.1 | 触发条件:判断是否对该 DN 做二次认证 |
二次认证不是一次性事件。TS 33.501 §11.1.3(Re-Authentication) 与 §11.1.4(Revocation 撤销) 赋予了它会话全生命周期的动态性:
stateDiagram-v2
[*] --> PendingAuth: PDU Estb Request(SMF判定需认证)
PendingAuth --> InProgress: 发起 EAP(步骤8起)
InProgress --> Authorized: 收到 EAP Success(步骤14)
InProgress --> Rejected: EAP Failure / 超时
Rejected --> [*]: SM-NAS 拒绝, PDU会话不建立
Authorized --> Authorized: 重认证(§11.1.3)<br/>DN-AAA或SMF触发EAP Re-auth
Authorized --> Released: 撤销(§11.1.4)<br/>DN-AAA→SMF→PDU Release(TS23.502 §4.3.4)
Authorized --> [*]: 正常 PDU 会话释放
二次认证的密钥体系与主认证完全隔离:
KAMF 派生出接入层密钥 KgNB,用于空口(Uu)用户面/控制面加密与完整性——与 DN 密钥无关。这种"两套密钥、互不污染"的设计,使得即使 DN-AAA 被攻破,也无法反推出运营商主认证密钥;反之亦然。
在 Wireshark 中(结合 pcap-analyzer 思路),二次认证的识别特征:
NAS-5GS > PDU session establishment request 中出现 SM PDU DN request container IE 或随后出现 EAP message IE(而非直接进入会话接受)。PFCP > Session Establishment Request,且伴随 EAP 转发相关字段。PDU session establishment accept 之前出现了多条 N1 EAP 交互,即可确认触发了二次认证。@realm 与 SMF 本地 DN-AAA 路由表不匹配 → 找不到 AAA 服务器,认证超时。EAP Failure。排错思路:自顶向下分层定位——先看 N1 是否带 SM PDU DN Request Container 确认触发,再看 N4 是否建立,最后查 RADIUS/Diameter 是否往返闭合。
| EAP 方法 | 标准 | 凭证来源 | 适用场景 | 优劣 |
|---|---|---|---|---|
| EAP-AKA' | RFC 9048 / TS 33.501 | USIM(复用主认证凭证) | 与运营商关系紧密的 DN、SNPN | 复用 USIM,免额外证书;但要求 DN-AAA 可触达鉴权向量 |
| EAP-TLS | RFC 5216 | 客户端/服务器证书 | 企业专网、强安全垂直行业 | 双向证书认证,安全性高;需 PKI 部署与证书生命周期管理 |
| EAP-TTLS / PEAP | RFC 5281 / 草案 | 用户名口令(隧道内) | 过渡期、轻量接入 | 部署简单;安全性弱于 TLS |
| 运营商自定义 | — | 自定义 | 特定垂直 | 灵活;互操作性差 |
Q1:二次认证是强制流程吗? A:不是。是否触发由 SMF 根据订阅数据(UDM)与本地策略判断——只有访问特定 DNN(如企业专网)且订阅要求时才执行。普通公网 DNN 通常不触发。
Q2:UE 必须在步骤 4 携带 NAI 吗?
A:可选。携带可省去步骤 9–10 两次往返(优化);不携带则由 SMF 主动发 EAP Request/Identity 索取。
Q3:二次认证失败会怎样?
A:SMF 通过 SM-NAS 信令拒绝该 PDU 会话建立请求(EAP Failure),会话不建立;已建立的会话若被撤销则触发 PDU Session Release。
Q4:SMF 与 DN-AAA 之间用什么协议? A:经 UPF 中继,承载于 RADIUS(RFC 2865/2869)或 Diameter,接口定义见 TS 29.561(5G 与 DN 互通,Stage 3)。
Q5:二次认证产生的密钥会保护空口用户面吗?
A:不会。空口保护仍由主认证派生的 KgNB 承担;二次认证的 MSK/EMSK 面向 DN,两套密钥体系相互隔离。
本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护,聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
