首页 › security › 5G切片NSSAA认证授权拆解

5G 网络切片专属认证与授权(NSSAA)信令全链拆解

一、为什么需要"第二把锁"——NSSAA 的本质

在 5G 主认证(5G-AKA / EAP-AKA')完成之后,UE 已经被证明是某个 PLMN 的合法签约用户,AMF 也已经下发 Allowed NSSAI,看上去 UE 似乎"拿到了全部钥匙"。但对于企业专网切片、第三方行业切片、SNPN(独立非公开网络)而言,主认证只回答了一个问题——"你是运营商的签约用户吗?"——它并没有回答切片真正关心的那个问题:"你被授权使用我这个切片/企业内网吗?"

NSSAA(Network Slice-Specific Authentication and Authorization,网络切片专属认证与授权)就是为这道"第二道闸门"设计的。它自 3GPP Rel-16 引入(TS 33.501 Clause 16、TS 23.502 4.2.9),并在 Rel-17 与 SNPN 接入认证融合增强(TS 29.526)。其核心思想是:把某个 S-NSSAI 的鉴权决策权,交给切片归属的 AAA-S(AAA Server)——也就是企业/行业自己的认证服务器,由它用 EAP 框架对 UE 做一次独立的、方法可定制(EAP-AKA'、EAP-TLS、EAP-TTLS 等)的认证与授权。

这套机制带来的工程价值有三点:

  1. 解耦:PLMN 运营商无需持有企业切片的用户凭据(证书、密码),凭据归属企业 AAA-S,符合垂直行业的安全合规边界。
  2. 细粒度:授权结果可以携带该切片可用的 DNN 列表、单网络切片重认证周期等授权数据,做到"按切片放行"。
  3. 生命周期完整:覆盖认证、重认证、吊销三个状态,AAA-S 可随时收回切片访问权。

二、关键网元与 NSSAAF——Rel-16/17 的新角色

很多早期资料把 AUSF 描述成 NSSAA 的 EAP 代理,这是不准确的。从 Rel-16 起,3GPP 定义了一个独立的网络功能 NSSAAF(Network Slice-Specific Authentication and Authorization Function),专门承担"5GC 与切片 AAA 之间的桥梁"职责。其服务接口 Nnssaaf 由 TS 29.526(Stage 3)定义。

网元 角色 关键行为
UE EAP 对等端 收发 EAP 报文(封装在 NAS 专属消息中)
AMF 协调者 识别需 NSSAA 的 S-NSSAI、维护 Pending NSSAI、触发/接收 NSSAAF 结果
UDM 签约存储 每个 S-NSSAI 带 nssaaIndicator 标志
NSSAAF EAP 中继+策略锚点 在 AMF 与 AAA-S 之间转发 EAP,并保存授权结果
AAA-S 真正的鉴权者 切片归属 AAA,执行 EAP 方法、判定成功/失败

NSSAAF 与 AUSF 的本质区别:AUSF 绑定于主认证(HSS/UDM 凭据、KAUSF 密钥派生),而 NSSAAF 与主密钥体系完全无关,它只做"EAP 透传 + 结果记录",因此可以被企业域、SNPN 域复用而不污染主认证密钥层级。

三、完整信令时序图(TS 23.502 §4.2.9.2)

下图描绘了一次完整的初始注册中触发 NSSAA 的端到端流程,包括 EAP 挑战往返、Pending→Allowed 的状态跃迁:

sequenceDiagram
    autonumber
    participant UE
    participant AMF
    participant UDM
    participant NSSAAF
    participant AAA-S

    Note over UE,AAA-S: 阶段0:主认证已完成(5G-AKA),UE 已获安全上下文
    UE->>AMF: Registration Request<br/>(Requested NSSAI 含需NSSAA的S-NSSAI)
    AMF->>UDM: Nudm_SDM_Get (SUPI, 切片签约)
    UDM-->>AMF: 订阅数据 (S-NSSAI + nssaaIndicator=true)
    Note right of AMF: 将该S-NSSAI放入 Pending NSSAI
    AMF->>NSSAAF: Nnssaaf_NSSAA_Authenticate<br/>(SUPI, S-NSSAI, EAP-Response/Identity, 路由信息, GPSI)
    NSSAAF->>AAA-S: 转发EAP (Diameter/RADIUS)
    loop EAP挑战往返(多次)
        AAA-S-->>NSSAAF: EAP-Request (挑战)
        NSSAAF-->>AMF: Nnssaaf_NSSAA_Authenticate Response (EAP)
        AMF->>UE: NAS: NETWORK SLICE-SPECIFIC<br/>AUTHENTICATION COMMAND (S-NSSAI,EAP)
        UE-->>AMF: NAS: NETWORK SLICE-SPECIFIC<br/>AUTHENTICATION COMPLETE (EAP)
        AMF->>NSSAAF: Nnssaaf_NSSAA_Authenticate (EAP)
        NSSAAF->>AAA-S: 转发EAP
    end
    AAA-S-->>NSSAAF: EAP-Success + Authorization Data<br/>(允许DNN、重认证周期)
    NSSAAF-->>AMF: 结果=SUCCESS, Authorization Data, Re-auth Period
    Note right of AMF: S-NSSAI: Pending → Allowed NSSAI
    AMF-->>UE: Registration Accept (Allowed NSSAI 含该切片)

时序图中有几个常被忽略但极其关键的细节:

四、关键 IE 结构剖析

下图把"Nnssaaf_NSSAA_Authenticate 请求体"和"NAS 封装消息"的 IE 结构并列展示,这是排错时最容易出问题的两层封装:

flowchart LR
    subgraph A[Nnssaaf_NSSAA_Authenticate Request Body]
        A1["SUPI"]:::ie
        A2["S-NSSAI (切片标识)"]:::ie
        A3["EAP Packet (来自UE)"]:::ie
        A4["AAA路由指示<br/>(选AAA-S)"]:::ie
        A5["GPSI (可选)"]:::ie
    end
    subgraph B[NAS: NSSAA COMMAND/COMPLETE]
        B1["扩展协议头EPH"]:::ie
        B2["S-NSSAI IE"]:::ie
        B3["EAP Message IE"]:::ie
    end
    A3 -. "同一EAP报文" .-> B3
    A2 -. "同一S-NSSAI" .-> B2
    classDef ie fill:#e8f4f8,stroke:#2b7a8b,stroke-width:1px;
IE 名称 所在消息 作用 排错关注点
S-NSSAI Request / NAS 消息 标识当前认证哪个切片(SST+SD) SD 是否与 UDM 签约一致
EAP message NAS 消息 携带 EAP-Request/Response 抓包看 EAP Code/Type 是否符合预期方法
nssaaIndicator UDM 订阅数据 触发 AMF 走 NSSAA 该标志未置位则 AMF 不会触发
AAA routing Request 选路到正确 AAA-S 路由错误会超时
Authorization Data Response 允许的 DNN、SSC、重认证周期 切片通了但 DNN 不匹配仍无法建会话
Re-auth Period Response 下次重认证时间 到期前 AAA-S 会主动发起重认证

五、Pending / Allowed / Revoked 三态转换

切片授权是有状态的,AMF 内部对每个 S-NSSAI 维护一个有限状态机。理解这个状态机,是定位"切片时通时不通"类故障的钥匙:

stateDiagram-v2
    [*] --> Pending: 注册请求该切片<br/>nssaaIndicator=true
    Pending --> Allowed: NSSAA成功<br/>(EAP-Success)
    Pending --> Rejected: NSSAA失败/超时<br/>(EAP-Failure)
    Allowed --> Pending: AAA-S发起重认证<br/>(Re-Auth Notification)
    Allowed --> Revoked: AAA-S吊销<br/>(Revocation Notification)
    Revoked --> [*]: AMF移除切片<br/>UCU下发+释放PDU会话
    Rejected --> Pending: UE重新发起

吊销(Revocation)是最具破坏性的状态迁移:AAA-S 一旦判定不可信,会经 NSSAAF 向 AMF 发 Revocation Notification(TS 29.526),AMF 必须:① 把该 S-NSSAI 从 Allowed NSSAI 移除;② 通过 UE CONFIGURATION UPDATE COMMAND 下发新的 Allowed NSSAI;③ 释放所有归属该切片的 PDU 会话(触发 SMF 执行 PDU Session Release)。这意味着一个企业用户的证书被吊销,业务会立即被切断,而无需等用户主动去注册。

六、设计意图:为什么是 EAP、为什么是独立 NF

这套机制并非随意拼接,每一处都对应一个安全工程目标:

七、与 Secondary Authentication 的对比

很多人把 NSSAA 与"二次认证(Secondary Authentication,TS 33.501 §13)"混淆。两者都用 EAP,但作用域完全不同:

维度 NSSAA(切片级) Secondary Auth(PDU会话级)
粒度 每个 S-NSSAI 每个 PDU 会话 / DNN
触发时机 注册阶段 PDU 会话建立阶段
鉴权服务器 AAA-S(切片归属) DN-AAA(数据网归属)
影响面 改变 Allowed NSSAI 改变该会话是否接入数据网
触发网元 AMF SMF
Stage 3 规范 TS 29.526(Nnssaaf) TS 29.525(Nssaaf for SMF/DN-AAA)

简言之:NSSAA 决定"能不能进这个切片",Secondary Auth 决定"进切片后能不能连这个 DNN",二者可叠加。

八、实战:抓包识别与故障排查

如何在抓包中识别 NSSAA 流程(TShark 过滤示例):

典型故障与定位思路:

  1. 切片一直 Pending、注册超时:查 AAA-S 是否可达、路由指示是否正确、EAP 方法是否与终端预置匹配(如终端只装了 EAP-TLS 根证书,AAA 却要求 EAP-TTLS)。
  2. EAP-Success 但仍建不了切片会话:检查 Authorization Data 中允许 DNN 是否与终端请求一致,常见是 SD 配错导致授权数据为空集。
  3. 业务突然中断、UCU 下发:基本可锁定为 Revocation,查 NSSAAF 日志的 Revocation Notification 时间戳,回溯 AAA-S 吊销原因。
  4. 重认证风暴:Re-auth Period 设得过短或 AAA-S 反复触发,需在企业 AAA 侧调整周期。

九、常见问题

Q1:NSSAA 与主认证 5G-AKA 的密钥有关系吗? A:没有。NSSAA 走独立的 EAP 流程,其密钥材料(如 EAP-AKA' 派生的 K_ext 或 EAP-TLS 的会话密钥)仅用于该切片的会话级保护,不参与 5G 主密钥层级(K→KSEAF→KAMF)的派生。这是隔离设计的直接体现。

Q2:UE 怎么知道一个切片需要 NSSAA? A:UE 在注册时不一定知道。是 AMF 从 UDM 取到 nssaaIndicator=true 后,主动发起 NSSAA;UE 只需响应 NAS 层的 NETWORK SLICE-SPECIFIC AUTHENTICATION 消息。对 UE 而言,EAP 方法(如 EAP-TLS 证书)需提前预置。

Q3:漫游场景下 NSSAA 怎么走? A:NSSAAF 通常部署在 VPLMN(拜访地),负责中继;AAA-S 位于切片归属的 HPLMN 或企业域。中间可能经过 AAA-P(AAA 代理),路由由 NSSAAF 的选路配置与 UDM 提供的归属信息共同决定。

Q4:NSSAA 失败时 UE 会怎样? A:该 S-NSSAI 进入 Rejected 状态,AMF 下发的 Allowed NSSAI 不含该切片。UE 主注册仍成功(除非该切片是默认切片且无替代),仅无法使用该切片业务。UE 可在退避后重新请求。

Q5:NSAC(切片准入控制)和 NSSAA 是一回事吗? A:不是。NSSAA 解决"你是否有权用这个切片"(身份+授权),NSAC(Rel-17,TS 23.502)解决"这个切片还能不能容纳更多 UE"(容量准入)。两者互补:先 NSSAA 鉴权,再 NSAC 看配额。

参考来源

  1. 3GPP TS 33.501 V18.7.0 — 5G Security architecture, Clause 16 & Annex X — NSSAA 安全流程与密钥处理
  2. 3GPP TS 23.502 V17.x — §4.2.9 Network Slice-Specific Authentication and Authorization — 端到端信令流程 Stage 2
  3. 3GPP TS 29.526 — NSSAAF Services; Stage 3 — Nnssaaf 服务操作与消息定义
  4. 3GPP TS 24.501 §5.4.7 — Network slice-specific authentication and authorization procedure — NAS 层 COMMAND/COMPLETE 消息与 IE
  5. 3GPP — Network Slicing Security for 5G and 5G Advanced Systems — NSSAA/NSAC 概念综述

本文由「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 等场景全覆盖。

51学通信知识星球海报-扫码加入