5G主认证(5G AKA / EAP-AKA')解决的是"你是谁"——它用USIM里的永久密钥K,在AUSF与UE之间完成一次全网级的身份验证,并派生出KSEAF→KAMF等密钥。但网络切片的商业场景颠覆了这个假设:一个工厂租用了一张"工业URLLC切片",一张"海量物联网切片",这些切片的凭证、策略、信任域全部归租户(垂直行业)所有,运营商并不掌握。仅靠UDM里"该用户是否订阅了某S-NSSAI"这一二元订阅检查,无法满足:
3GPP在TS 23.502 §4.2.9(Network Slice-Specific Authentication and Authorization,简称NSSAA,Rel-16引入)定义了这套"切片之上的第二把锁"。它的核心思想是:在主认证成功之后、针对每一个需要专属认证的S-NSSAI,再由AMF作为EAP认证器前端、经NSSAAF向切片租户的AAA-S发起一次独立的EAP认证,授权结果(Allowed/Rejected)以S-NSSAI粒度回写到UE的Allowed NSSAI。
flowchart TD
UE[UE] -- "N1 / NAS-TRANSPORT<br/>(承载EAP, 含S-NSSAI)" --> AMF[AMF<br/>EAP认证器前端]
AMF -- "Nnssaaf_NSSAA_Authenticate<br/>(EAP, GPSI, S-NSSAI)" --> NSSAAF[NSSAAF<br/>AAA协议互通]
NSSAAF -. "Nudm_UECM_Get<br/>(GPSI→AMF ID)" .-> UDM[(UDM)]
NSSAAF -- "AAA协议(EAP)<br/>非SBI参考点" --> AAAP[AAA-P<br/>可选代理]
AAAP --> AAAS[AAA-S<br/>切片租户域]
style AAAS fill:#fde2e2,stroke:#c0392b
style NSSAAF fill:#e3f2fd,stroke:#1976d2
style AMF fill:#e8f5e9,stroke:#388e3c
| 网元 | 角色 | 关键职责 |
|---|---|---|
| AMF | EAP认证器前端 | 触发NSSAA、用NAS TRANSPORT承载EAP、存储每个S-NSSAI的认证结果、更新Allowed/Rejected NSSAI |
| NSSAAF | AAA协议互通功能 | 负责把EAP消息转译/中继给AAA-S、按S-NSSAI选路AAA-S地址、处理AAA协议互通 |
| AAA-P | AAA代理(可选) | 当AAA-S属于第三方时,运营商部署的代理,隔离外网 |
| AAA-S | 切片租户AAA服务器 | 真正的认证决策方,评估UE的租户凭证 |
| UDM | 数据库 | 存储哪些S-NSSAI需要NSSAA、为每个S-NSSAI提供GPSI、供NSSAAF用GPSI反查AMF ID |
避坑提示:NSSAAF与外部AAA-S之间通过AAA协议(承载EAP,通常为Diameter或RADIUS,也可为厂商私有HTTP API)互通,3GPP未将其标准化为SBI参考点。不少资料误称为"N33"——N33实为NEF–AF接口,与NSSAAF无关。Rel-17又新增了AUSF–NSSAAF参考点,用于SNPN主认证与凭证远程下发场景,但标准切片二次认证路径里AUSF不在主链上。
该流程共19步。下面以"UE注册时请求了一个需要NSSAA的S-NSSAI"为背景,逐步拆解每个消息的Information Element。
sequenceDiagram
autonumber
participant UE
participant AMF
participant NSSAAF
participant AAAP as AAA-P(可选)
participant AAAS as AAA-S
Note over UE,AMF: 主认证(5G AKA)已成功, AMF发现Requested NSSAI中含需NSSAA的S-NSSAI
AMF->>UE: DL NAS TRANSPORT(EAP Identity Request, S-NSSAI=H-PLMN值)
UE->>AMF: UL NAS TRANSPORT(EAP Identity Response, S-NSSAI)
AMF->>NSSAAF: Nnssaaf_NSSAA_Authenticate(EAP-ID Resp, GPSI, S-NSSAI)
NSSAAF->>AAAP: 转发EAP(采用AAA-S支持的同一AAA协议)
AAAP->>AAAS: EAP Identity(GPSI+S-NSSAI)
Note over AAAS: AAA-S存储 GPSI↔EAP Identity 绑定,供后续撤销/重认证
loop 7~14: 一轮或多轮EAP消息交换(EAP-Request/Response, 如EAP-TLS握手)
AAAS-->>AAAP: EAP-Request(method)
AAAP-->>NSSAAF: EAP
NSSAAF-->>AMF: Nnssaaf_NSSAA_Authenticate Resp(EAP)
AMF-->>UE: DL NAS TRANSPORT(EAP)
UE-->>AMF: UL NAS TRANSPORT(EAP)
AMF-->>NSSAAF: Nnssaaf_NSSAA_Authenticate(EAP)
NSSAAF-->>AAAS: EAP
end
AAAS-->>AAAP: EAP-Success/Failure(GPSI, S-NSSAI)
AAAP-->>NSSAAF: AAA协议(EAP-Success/Failure, S-NSSAI, GPSI)
NSSAAF-->>AMF: Nnssaaf_NSSAA_Authenticate Resp(EAP-Success/Failure, S-NSSAI, GPSI)
AMF-->>UE: DL NAS TRANSPORT(EAP-Success/Failure)
Note over AMF: AMF按S-NSSAI存储EAP结果
AMF->>UE: [条件] UE Configuration Update(新Allowed NSSAI / Rejected S-NSSAIs)
Note over AMF: 若全部失败且无默认切片 → 网络发起去注册(§4.2.2.3.3)
(EAP Identity Response, GPSI, S-NSSAI)发给NSSAAF。GPSI替代SUPI——AAA-S永远看不到SUPI,这是隐私隔离的核心。(EAP-Success/Failure, S-NSSAI, GPSI)。| IE / 服务操作 | 方向 | 含义与设计要点 |
|---|---|---|
| GPSI | AMF→NSSAAF→AAA-S | 通用公共订阅标识,AAA-S侧UE身份;多GPSI时AMF任选其一;屏蔽SUPI |
| S-NSSAI(H-PLMN值) | NAS + Nnssaaf | 标识目标切片;必须是H-PLMN值以保证漫游一致性 |
| EAP message | NAS TRANSPORT + Nnssaaf | 实际认证载荷;方法由租户决定 |
| Nnssaaf_NSSAA_Authenticate | AMF↔NSSAAF | 主认证的服务操作(TS 29.526 §5.2),Request/Response双向 |
| Nnssaaf_NSSAA_Re-AuthNotification | NSSAAF→AMF | AAA-S发起重认证时的回调通知 |
| Nnssaaf_NSSAA_RevocationNotification | NSSAAF→AMF | AAA-S发起撤销时的回调通知 |
| Nudm_UECM_Get(GPSI) | NSSAAF→UDM | 网络发起流程中,用GPSI反查当前服务AMF ID |
| Mapping Of Allowed NSSAI | AMF内部 | 判断该S-NSSAI是否已在某接入上被授权 |
"一次性认证"无法支撑动态授权。NSSAA定义了两个网络发起(network-initiated)流程,均由AAA-S主动发起,走的是"先用GPSI经UDM定位AMF、再回调AMF"的逆向路径。
sequenceDiagram
autonumber
participant AAAS as AAA-S
participant AAAP as AAA-P(可选)
participant NSSAAF
participant UDM
participant AMF
participant UE
Note over AAAS: 14: AAA-S决定撤销某UE对某S-NSSAI的授权
AAAS->>AAAP: AAA Revoke-Auth Request(S-NSSAI, GPSI)
AAAP->>NSSAAF: 转发
NSSAAF->>UDM: Nudm_UECM_Get(GPSI)
UDM-->>NSSAAF: AMF ID(可能两个接入两个AMF)
NSSAAF-->>AAAP: ACK
NSSAAF->>AMF: Nnssaaf_NSSAA_RevocationNotification(GPSI, S-NSSAI)
Note over AMF: 若该S-NSSAI在Mapping Of Allowed NSSAI中
AMF->>UE: UE Configuration Update(从Allowed NSSAI移除该S-NSSAI, 新增Rejected)
Note over AMF: 若有该切片的PDU会话 → 触发PDU Session Release(§4.3.4)
Note over AMF: 若Allowed NSSAI为空且无默认切片 → 网络发起去注册(§4.2.2.3.3)
重认证(§4.2.9.3)与撤销前4步几乎同构(AAA协议消息换成Re-Auth Request,回调换成Nnssaaf_NSSAA_Re-AuthNotification),区别在第5步:重认证会让AMF重新走一遍§4.2.9.2主流程;若该S-NSSAI仅在非3GPP接入且UE在该接入CM-IDLE,AMF将其标记为pending,等UE回到CM-CONNECTED再发起。撤销则直接回收授权。
stateDiagram-v2
[*] --> NotAuthenticated
NotAuthenticated --> Pending: AMF发起NSSAA(§4.2.9.2)
Pending --> Authenticated: EAP-Success
Pending --> Failed: EAP-Failure
Authenticated --> Pending: AAA-S触发重认证(§4.2.9.3)
Authenticated --> Revoked: AAA-S触发撤销(§4.2.9.4)
Failed --> Pending: 下次注册重新请求
Revoked --> [*]: S-NSSAI移出Allowed NSSAI
nas-5gs && (nas_5gs.message_id == 0x67 || nas_5gs.message_id == 0x68) 即UL/DL NAS TRANSPORT(0x67/0x68,具体值见TS 24.501 §9.7消息表)。展开payload container可见eap(EAP-Request/Response/Success/Failure)与S-NSSAI IE——这是NSSAA与主认证EAP最直观的区别:主认证的EAP在Authentication Request/Response里,NSSAA的EAP在NAS TRANSPORT里且带S-NSSAI。/nnssaaf-nssaa/v1/{ueId}/authentications,JSON体含eapPayload、snssai、gpsi。| 现象 | 根因 | 排查方向 |
|---|---|---|
| UE始终拿不到目标切片 | UDM未给该S-NSSAI标记"需NSSAA",或未配GPSI | 查UDM订阅数据中S-NSSAI的NSSAA指示与GPSI列表 |
| NSSAA超时、切片被拒 | NSSAAF按S-NSSAI选路到错误的AAA-S地址,或AAA-S不可达 | 查NSSAAF本地AAA-S地址映射表与AAA-S连通性 |
| EAP-Failure | 租户凭证不匹配/证书过期(EAP-TLS) | 在AAA-S侧看凭证库;AMF侧看EAP method |
| 漫游下取不到切片 | AMF用了本地映射S-NSSAI而非H-PLMN值 | 核对NAS TRANSPORT与Nnssaaf中S-NSSAI取值 |
| 撤销后业务未断 | AMF未触发PDU Session Release | 确认§4.2.9.4步骤对已建PDU会话的处理 |
| ## 七、对比:主认证 vs 切片专属认证 |
| 维度 | 主认证 5G AKA/EAP-AKA' | 切片专属认证 NSSAA |
|---|---|---|
| 标准 | TS 33.501 §6 | TS 23.502 §4.2.9 / TS 33.501 §16 |
| 凭证 | USIM永久密钥K(订阅) | 租户自定(EAP-TLS证书/EAP-AKA'等) |
| 决策方 | AUSF+UDM(H-PLMN) | AAA-S(切片租户域) |
| UE标识 | SUPI/SUCI | GPSI |
| EAP承载 | Authentication Request/Response NAS | DL/UL NAS TRANSPORT(TS 24.501 §5.4.7) |
| 5GC功能 | AUSF | NSSAAF(AMF为EAP认证器前端) |
| 产物 | KSEAF→KAMF密钥派生 | S-NSSAI粒度Allowed/Rejected状态 |
| 生命周期 | 注册时单次+周期 | 单次 + AAA-S可主动重认证/撤销 |
Q1:NSSAA和主认证的EAP-AKA'有什么区别? A:主认证EAP-AKA'用USIM密钥、在Authentication Request/Response NAS消息中承载、产物是密钥;NSSAA是主认证之后针对特定S-NSSAI的第二次EAP认证,用租户凭证、在NAS TRANSPORT中承载、产物是切片授权状态。二者是叠加关系,不是替代。
Q2:为什么用GPSI而不是SUPI面向AAA-S? A:AAA-S属于第三方租户域,不应感知5G永久身份。GPSI是专为外部暴露设计的标识,AAA-S侧存储GPSI↔EAP Identity绑定即可完成认证与后续撤销,SUPI始终留在运营商域内。
Q3:一个UE请求多个需要NSSAA的切片,会串行还是并行? A:可并行。TS 23.502明确支持对多个S-NSSAI并行执行NSSAA,某一切片失败不影响其它已成功切片,授权结果以S-NSSAI粒度独立维护。
Q4:AAA-S撤销授权后,已经建立的PDU会话会怎样? A:AMF在§4.2.9.4中检查Mapping Of Allowed NSSAI,移除该S-NSSAI并发起UE Configuration Update;若存在该切片的PDU会话,AMF会触发PDU Session Release(§4.3.4);若Allowed NSSAI因此为空且无默认切片,则网络发起去注册(§4.2.2.3.3)。
Q5:漫游场景下NSSAA在归属网还是拜访网执行? A:以H-PLMN语义执行。NAS TRANSPORT与Nnssaaf中携带的必须是H-PLMN的S-NSSAI值而非本地映射值,AAA-S由归属侧/租户部署,保证漫游下授权决策的一致性。
本文由「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 等场景全覆盖。
