5G系统在UE注册阶段通过5G-AKA或EAP-AKA'完成主认证(Primary Authentication),其本质是验证"UE与USIM是否合法、属于哪个运营商网络",并在UE与5GC之间建立NAS/AS安全上下文。但主认证解决的是网络层接入凭证的合法性,并不能回答一个更细粒度的问题:这个已经被5GC接纳的UE,是否有权接入某一个特定的数据网络(DN)?
典型的现实场景包括:
3GPP为此在TS 23.502 clause 4.3.2.3定义了独立的"PDU Session建立期间由DN-AAA Server执行的二次授权/认证"流程,并在TS 33.501 clause 6.3给出安全要求。它的核心定位是:可选、独立、EAP承载、由SMF按需触发。理解这条流程,是把握5G"网络即服务、数据网即客户"商业模式下鉴权边界的关键。
二次认证在网络架构中的逻辑位置如下图所示。SMF是整个流程的EAP Authenticator(认证者),UE是EAP Peer(被认证者),DN-AAA Server是EAP Server(最终鉴权决策点)。三者之间通过EAP消息容器透明承载,鉴权结果决定PDU Session的最终建立或拒绝。
flowchart TD
UE["UE<br/>(EAP Peer)"]
AMF["AMF<br/>(N1 NAS中继)"]
SMF["SMF<br/>(EAP Authenticator<br/>+ DN-AAA Proxy)"]
UPF["UPF<br/>(透明中继)"]
DNAAA["DN-AAA Server<br/>(EAP Server)"]
UE -->|"N1 NAS<br/>(EAP message容器)"| AMF
AMF -->|"Nsmf_PDUSession_*"| SMF
SMF -->|"N4 会话<br/>TS 29.561"| UPF
UPF -->|"透明转发"| DNAAA
style SMF fill:#e1f5ff,stroke:#0277bd,stroke-width:2px
style DNAAA fill:#fff4e1,stroke:#e65100,stroke-width:2px
SMF何时决定触发二次认证?依据TS 23.502 clause 4.3.2.3 Step 0,触发源有三:
(DNN, S-NSSAI)组合标记了"需要二次认证";SMF识别DN-AAA Server的依据同样在Step 0中明确:本地配置,或UE提供的DN-specific identity(该identity记录在SM PDU DN Request Container内,或出现在PDU Session Authentication Complete消息的EAP message中,定义见TS 24.501)。
一个关键架构细节:DN-AAA Server的物理位置决定了消息路径。当DN-AAA位于5GC外部时,SMF必须经UPF透明中继(Step 1要求先建立N4 session作为承载管道,TS 29.561定义此信令封装);当DN-AAA位于5GC内部、SMF可直接寻址时,UPF被旁路——规范NOTE 2明确:此时Step 1跳过,Step 2/3a/3f/4/6不经UPF执行。这是排错时第一条要核实的拓扑事实。
下图是TS 23.502 Figure 4.3.2.3-1的完整时序还原,覆盖非漫游、LBO与Home Routed漫游三种部署(HR场景下流程中的SMF即H-SMF)。
sequenceDiagram
autonumber
participant UE
participant AMF
participant SMF as SMF<br/>(H-SMF if HR)
participant UPF
participant AAA as DN-AAA Server
UE->>AMF: PDU Session Establishment Request<br/>(含SM PDU DN Request Container)
AMF->>SMF: Nsmf_PDUSession_CreateSMContext
Note over SMF: Step0: 判定需二次认证<br/>识别DN-AAA Server
opt 无可用N4承载管道
SMF->>UPF: Step1: N4 Session Establishment
UPF-->>SMF: N4响应
end
SMF->>UPF: Step2: 认证请求(含DN-specific identity, GPSI)
UPF->>AAA: 透明转发(TS 29.561)
AAA-->>UPF: Step3a: Authentication/Authorization消息
UPF-->>SMF: 透明转发
SMF->>AMF: Step3b: Namf_Communication_N1N2MessageTransfer<br/>(DN Request Container→N1 SM)
AMF->>UE: Step3c: PDU Session Authentication Command<br/>(EAP Request/AKA'-Challenge)
UE-->>AMF: Step3d: PDU Session Authentication Complete/Command<br/>(EAP Response)
AMF->>SMF: Step3e: Nsmf_PDUSession_UpdateSMContext<br/>(携带DN Request Container)
SMF->>UPF: Step3f: 转发认证消息至DN-AAA
UPF->>AAA: 透明转发
Note over UE,AAA: Step3 可多轮循环直到DN-AAA确认成功
AAA-->>UPF: Step4: 成功 + DN Authorization Data<br/>+ SM PDU DN Response Container<br/>+ 可选UE IP/N6路由信息
UPF-->>SMF: 透明转发
Note over SMF: Step5: 继续并完成PDU Session建立
SMF->>AMF: PDU Session Establishment Accept
AMF->>UE: 下发最终结果
下面逐步拆解每条消息的关键Information Element。
Step 0 — SMF判定阶段。这是逻辑步骤,不产生独立信令。SMF依据前面列出的三种触发源决定是否启动。这里有一个易被忽视的IE:DN-specific identity。它由UE在请求中携带,是DN-AAA用于定位该用户在自身数据库中凭据记录的主键。其编码格式定义在TS 24.501的SM PDU DN Request Container中。
Step 1 — N4会话建立(条件触发)。仅当SMF需要UPF作为承载管道、且尚无可用N4 session时执行。N4会话在这里被赋予一个额外用途:除了传统的用户面QoS/转发规则下发,它还要承载SMF↔DN-AAA之间的鉴权信令。这一点在排错时很关键——若N4会话建立失败,二次认证将无法进行,但根因往往被误判为"UPF故障"。
Step 2 — SMF发起认证。消息内携带的核心IE:
| IE名称 | 含义 | 来源规范 |
|---|---|---|
| DN-specific identity | UE在DN中的标识 | TS 24.501 / TS 33.501 |
| GPSI(Generic Public Subscription Identifier) | UE的外部业务标识,DN-AAA可据此关联业务 | 订阅数据/UDM |
| SUPI(可选) | 经映射后提供 | TS 23.501 |
Step 3a/3f — DN-AAA与UE之间EAP消息的双向穿梭。这是整个流程最"动态"的部分。规范NOTE明确:Step 3的循环次数取决于所用机制。以EAP-AKA'为例,典型为1轮(1个Challenge-Response),但若使用EAP-TLS(证书)、EAP-PEAP等多轮交互方法,循环可达多次。每轮EAP消息都封装在以下NAS SM消息之一中:
PDU Session Authentication Command(TS 24.501)——内含EAP message IE,承载EAP Request;PDU Session Authentication Complete或PDU Session Authentication Command——内含EAP message IE,承载EAP Response。Step 3b/3c/3d/3e — N1 NAS消息的转接。这一段揭示了SMF与UE之间EAP消息的实际承载路径:SMF不直接寻址UE,必须经AMF中转。非漫游/LBO场景用Namf_Communication_N1N2MessageTransfer;Home Routed漫游场景中,H-SMF先经Nsmf_PDUSession_Update请求V-SMF代为转发,V-SMF再调Namf_Communication_N1N2MessageTransfer,且H-SMF需额外携带H-SMF SM Context ID以串起跨PLMN上下文。
Step 4 — DN-AAA确认与授权数据下发。成功后DN-AAA可返回多个高价值IE:
| IE名称 | 作用 | 后续用途 |
|---|---|---|
| SM PDU DN Response Container | 显式指示认证/授权成功 | UE侧状态确认 |
| DN Authorization Data | 数据网授权信息 | 含DN Authorization Profile Index |
| UE IP地址 / IPv6 Prefix | 由DN-AAA分配UE地址 | 替代SMF本地分配 |
| N6 traffic routing信息 | 指定UE业务如何路由至DN | clause 5.6.7 |
| IP/MAC地址通知请求 | DN-AAA要求后续获知UE分配结果 | 会话建立后回填 |
其中DN Authorization Profile Index最为关键。SMF拿到它后,会向PCF发起策略获取,由PCF据此下发专属PCC规则(TS 23.503 clause 6.3/6.4)。这意味着二次认证不仅是"准入控制",还会直接影响该PDU Session的QoS与计费策略——这是它区别于简单AAA的一大设计亮点。
Step 5 — 流程收尾。PDU Session Establishment继续走完标准4.3.2.2流程的剩余步骤(SMF选UPF、N4会话、IP分配、下发Accept)。认证成功后,SMF与DN-AAA之间维持一个session,用于后续可能的授权更新与IP地址/MAC回填通知。
UE与DN-AAA之间的EAP交互,全部被装进NAS SM层的一个容器里。下图展示这条容器的嵌套结构:
flowchart TB
subgraph NAS["5G NAS (N1) 消息"]
direction TB
MSG["PDU Session Authentication Command<br/>或 PDU Session Authentication Complete"]
MSG --> SMHDR["SM Header<br/>(PDU Session ID, PTI)"]
MSG --> EAPIE["EAP message IE<br/>(TS 24.501)"]
end
subgraph EAP["EAP message 内容 (RFC 3748)"]
direction TB
E1["Code: 1=Request / 2=Response<br/>3=Success / 4=Failure"]
E2["Identifier (1字节匹配ID)"]
E3["Length (2字节)"]
E4["Type (仅Request/Response)"]
E4 --> E5["Type=50 → EAP-AKA'<br/>RFC 9048"]
end
subgraph AKA["EAP-AKA' 子类型 (Type=50)"]
direction TB
A1["Subtype: 1=AKA'-Challenge<br/>2=AKA'-Authentication-Reject<br/>3=Sync-Failure ..."]
A2["AT_RAND, AT_AUTN<br/>(来自认证向量)"]
A3["AT_MAC (消息认证码)"]
A4["AT_KDF, AT_KDF_INPUT<br/>(密钥衍生参数)"]
end
E5 --> AKA
style EAPIE fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px
style A3 fill:#fff3e0,stroke:#e65100
这个嵌套结构解释了为什么抓包工程师必须逐层解码:先剥NAS SM,再剥EAP,再剥EAP-AKA',才能看到AT_RAND/AT_AUTN/AT_MAC这些真正的鉴权素材。其中AT_KDF与AT_KDF_INPUT是EAP-AKA'相对EAP-AKA最重要的安全增强——它通过将"接入网身份绑定字符串"喂入KDF,使得衍生密钥与具体的接入技术强绑定,防止密钥在不同接入技术间被跨用(这是经典EAP-AKA的已知缺陷,EAP-AKA'专门修补)。
二次认证的密钥体系与主认证完全独立,这是TS 33.501的核心安全原则。理解这一点要回答两个问题:密钥从哪来?衍生到哪去?
凭据来源(TS 33.501)分两类:
| 凭据类型 | 说明 | 典型用途 |
|---|---|---|
| Generic USIM credentials for secondary authentication (GUSSI) | 复用USIM的K,由UDM/ARPF生成二次认证向量 | 运营商自有数据网,无需额外发卡 |
| Default UE credentials for secondary authentication | 设备默认凭据,独立于USIM | UE Onboarding、初始配置(DCS作为DN-AAA) |
对GUSSI场景,DN-AAA Server(或其背后的UDM)使用与主认证相同的根密钥K,但通过独立的认证向量生成路径(AV推导过程使用不同的AMF分离位和序列号SQN域),确保二次认证的RAND/AUTN不与主认证的认证向量冲突。EAP-AKA'的最终主密钥MK由CK' || IK'经KDF衍生,其中CK' || IK'从认证向量得到。
密钥去向: EAP成功后产生MSK(Master Session Key),其衍生子密钥不用于5G空口保护(那是K_AMF/K_gNB的职责),而是供DN层使用——例如建立UE到DN的IPsec隧道、或应用层会话密钥。这条"密钥隔离"设计使得即便DN-AAA被攻破,也无法反推5G接入层安全;反之亦然。
下方的状态机刻画了SMF视角下二次认证的生命周期:
stateDiagram-v2
[*] --> 待决策: 收到PDU建立请求
待决策 --> 跳过: 订阅/策略不要求二次认证
待决策 --> 触发认证: 标记需二次认证<br/>识别DN-AAA
跳过 --> PDU建立完成
触发认证 --> 凭证交换中: 发出首轮EAP
凭证交换中 --> 凭证交换中: 多轮EAP Challenge-Response
凭证交换中 --> 认证成功: DN-AAA Success
凭证交换中 --> 认证失败: Reject / 超时
认证失败 --> PDU建立拒绝: 返回Reject cause
认证成功 --> 应用授权: 解析DN Authorization Data
应用授权 --> PDU建立完成: 取PCC规则/分配IP
PDU建立完成 --> [*]
PDU建立拒绝 --> [*]
为避免概念混淆,下表将二次认证与几个常被并列讨论的机制做精确区分。
| 维度 | 5G主认证 (5G-AKA/EAP-AKA') | PDU会话二次认证 (DN-AAA) | 网络切片特定认证 (NSSAA) | 非可信非3GPP接入认证 (N3IWF/EAP-AKA') |
|---|---|---|---|---|
| 规范 | TS 33.501 §6.1 | TS 23.502 §4.3.2.3 / TS 33.501 §6.3 | TS 23.502 §4.3.2.2.2步 | TS 23.502 §4.12 |
| 触发时机 | 注册 | PDU Session建立 | PDU Session建立(绑定切片) | 经非3GPP接入注册 |
| 鉴权主体 | AUSF+UDM/ARPF | DN-AAA Server | NSSAAF+切片AAA | AUSF+N3IWF |
| 独立凭据 | USIM K | 可复用USIM或独立 | 独立切片凭据 | USIM K |
| 结果影响 | 全局安全上下文 | 该PDU Session准入+QoS | 切片接入许可 | 非3GPP链路密钥 |
这张表能帮助工程师在排查时快速定位"卡在哪一层鉴权"——很多故障被错误归因到主认证,实际是二次认证或NSSAA未通过。
如何在抓包中识别这条流程。使用Wireshark/TShark解5G NAS报文时,识别序列如下:
PDU Session Authentication Command(消息类型0x39)或PDU Session Authentication Complete(0x3A)即可确认二次认证正在发生;Code=1/2, Type=50即EAP-AKA';若Type=13则是EAP-TLS;1为AKA'-Challenge,携带AT_RAND/AT_AUTN/AT_MAC;EAP Success(Code=3)或EAP Failure(Code=4)。一条TShark快速过滤示例:
tshark -r capture.pcap -Y "5gs.sm.msg_type==57 || 5gs.sm.msg_type==58 || eap.code"
常见故障点与排查思路:
| 故障现象 | 可能根因 | 排查方向 |
|---|---|---|
| PDU建立卡在认证阶段无响应 | DN-AAA不可达,N4承载管道未建立 | 查N4 Session Establishment是否成功;查SMF→UPF→DN-AAA路由 |
| UE收到Authentication Reject | DN-specific identity在DN-AAA无匹配记录 | 核对UE携带的SM PDU DN Request Container中的identity |
| EAP方法不匹配导致超时 | UE与DN-AAA协商的EAP Type不一致 | 抓包比对双方EAP Type支持列表;检查SMF本地策略配置的EAP方法 |
| 认证成功但QoS策略异常 | DN Authorization Profile Index未正确传到PCF | 查SMF→PCF的PCC规则请求是否携带该Index |
| Home Routed漫游下鉴权中断 | H-SMF SM Context ID缺失或V-SMF未正确转发 | 查Nsmf_PDUSession_Update中Context ID字段 |
| 多轮EAP后仍失败 | SQN失步(AKA'的AUTN校验失败) | DN-AAA/UDM侧重置SQN,或触发Re-synchronization |
sbiSecondaryAuth),SMF可直接经服务化接口寻址DN-AAA功能,省去UPF中继,时延更低。部分厂商将此能力下沉为独立NF;排错时要先确认现网走的是哪一派——这决定了日志该去哪个网元找。
R18在二次认证方向上的增强主要集中在两点。其一,SBI化进一步深化,使二次认证与5GC原生服务化架构更一致,减少对传统AAA协议栈的依赖,便于云原生部署。其二,与网络切片特定认证(NSSAA)的协同更明确——当一个PDU Session同时关联了需要切片认证的S-NSSAI和需要DN认证的DNN时,两者的执行顺序与上下文传递在R18得到了更清晰的规范,避免鉴权状态机冲突。此外,对物联网终端的轻量化EAP方法支持也有所扩展,以适应CIoT场景的低开销需求。
回顾这条流程,有几处设计值得反复体会。第一,SMF被选为Authenticator而非AMF,因为二次认证是会话级而非注册级语义,与会话生命周期强绑定,由SMF掌舵最自然。第二,EAP消息在NAS中透明承载,意味着5GC对EAP的具体内容"不解释、只搬运",这赋予DN-AAA选用任意EAP方法的自由度,是协议分层解耦的典范。第三,UPF兼做承载管道这一"复用"而非"新增网元"的取舍,体现了3GPP在功能扩展与架构稳定性之间的平衡——代价是排错链路更长。第四,DN Authorization Profile Index回灌PCF,把"准入控制"与"策略下发"打通,让二次认证的价值从"能不能进"升级为"进来后享受什么待遇"。
Q1: 二次认证和主认证可以同时进行吗? A: 不可以。二次认证在主认证成功、UE已注册并建立安全上下文之后的PDU Session建立阶段才触发,二者严格串行。主认证未完成根本不会产生PDU Session建立请求,也就无从触发二次认证。
Q2: 二次认证失败会怎样?
A: SMF将拒绝该PDU Session的建立,向UE返回PDU Session Establishment Reject,并在cause值中指示失败原因(如#27 Missing or unknown DNN或专门的二次认证失败码)。已分配的部分资源将被回滚释放。
Q3: EAP-AKA'二次认证与主认证用的EAP-AKA'有什么区别? A: 协议机制相同(都是RFC 9048),但作用域与密钥独立:主认证的EAP-AKA'由AUSF主导,密钥进入5G接入层KDF链;二次认证的EAP-AKA'由DN-AAA主导,密钥仅供DN层使用。两者使用不同的认证向量,即便都源自同一个USIM K,也通过AMF分离位和SQN域隔离。
Q4: DN-AAA Server必须部署在5GC外部吗? A: 不是。规范明确支持两种部署:外部部署时SMF经UPF透明中继;当DN-AAA位于5GC内部、SMF可直接寻址时,UPF被旁路(Step 1跳过)。R17起的SBI方案进一步支持SMF直接以服务化方式寻址DN-AAA功能。
Q5: 如果UE不携带SM PDU DN Request Container会怎样? A: 若订阅或策略要求该DNN必须二次认证,而UE未提供DN Request Container(即未声明DN-specific identity),SMF仍可基于本地配置识别DN-AAA Server并启动流程;但若认证过程中UE始终无法提供有效identity,最终将因DN-AAA无法匹配用户而认证失败,导致PDU Session建立被拒。
本文由「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 等场景全覆盖。
