<!-- title: 5G漫游SEPP的N32-PRINS安全机制全链拆解 -->
<!-- domain: security -->

# 5G漫游SEPP的N32-PRINS安全机制全链拆解

## 一、为什么5G漫游必须引入SEPP：从Diameter信令到SBI的安全断层

5G核心网全面服务化（Service Based Architecture, SBI），所有NF之间的交互都基于HTTP/2 + JSON。这一变革在网内带来了便利，但在**跨PLMN漫游（inter-PLMN roaming）**场景下却制造了一个前所未有的安全难题：4G时代漫游信令走的是Diameter协议，经由IPX（IP eXchange）网络的DRA/DSC节点中转，传统做法是网络域安全（NDS/IP）+ IPSec隧道做逐跳保护；而5G漫游信令是HTTP/2，需要穿越多个**漫游中介（Roaming Intermediary, RI / IPX Provider）**。

问题随之而来：

1. **端到端TLS会"屏蔽"IPX中间商**。漫游产业链依赖IPX提供商完成路由、改号、计费、号段翻译等功能。如果vSEPP（拜访侧）和hSEPP（归属侧）之间直接建立端到端TLS隧道，IPX节点只能看到密文，无法读取路由必需字段，整个商业漫游模型就崩溃了。
2. **但明文裸传又是灾难**。5G认证向量（RAND/AUTN/XRES\*）、KAUSF、SUPI、用户的认证响应等敏感数据若暴露给任意IPX节点，等同于把"网络钥匙"交给不可信第三方。
3. **RI还可能篡改信令**。比如IPX要往HTTP消息里塞入计费头、运营商间路由信息，这种"合法修改"必须被认证，否则就成了攻击者篡改的温床。

3GPP SA3工作组给出的答案是**SEPP（Security Edge Protection Proxy）**，定义在TS 33.501第13章。SEPP是部署在PLMN边界的非透明安全代理，它不解决"是否加密"的问题，而是解决**"对谁加密、加密到什么粒度、如何认证中间商修改"**的问题。其核心机制就是本文要拆解的**PRINS（PRotocol for N32 Interconnect Security）**——这是5G相比4G在漫游安全上最根本的架构升级。

## 二、SEPP架构与N32双接口设计

SEPP在拓扑上位于每个PLMN的边界，所有跨运营商的NF服务信令都必须经由本侧SEPP出网、对端SEPP入网。两个SEPP之间的逻辑接口统称为**N32**，被刻意拆成两条职责不同的逻辑链路：

| 接口 | 全称 | 承载内容 | 传输保护 |
|------|------|----------|----------|
| **N32-c** | N32-context | 安全能力协商、密钥与参数交换、保护策略下发 | 始终基于双向认证TLS（TS 33.501 13.1.2） |
| **N32-f** | N32-forwarding | 真正的NF服务信令（HTTP/2请求/响应，如AMF→UDM） | 由N32-c协商选定的模式保护：PRINS或TLS |

这个"控制面（N32-c）+转发面（N32-f）"分离的设计是理解整个机制的关键：**先在N32-c上"谈判"好怎么保护，再在N32-f上"执行"保护**。N32-c像两个PLMN之间的"安全外交官"，N32-f则是运送实际货物的"加密货柜通道"。

```mermaid
graph TD
    subgraph VPLMN[拜访PLMN V-PLMN]
        vNF[vNF 如AMF/SMF]
        vSEPP[vSEPP]
        vNF -->|N32 / HTTP-2 同网内| vSEPP
    end
    subgraph HPLMN[归属PLMN H-PLMN]
        hSEPP[hSEPP]
        hNF[hNF 如UDM/AUSF]
        hSEPP -->|N32 / HTTP-2 同网内| hNF
    end
    vSEPP -->|N32-c: 能力/密钥/策略协商 TLS| RI1[IPX Provider 1]
    vSEPP -->|N32-f: NF信令 PRINS/JWE| RI2[IPX Provider 2]
    RI1 --> hSEPP
    RI2 --> hSEPP
    style vSEPP fill:#ffe,stroke:#a80,stroke-width:2px
    style hSEPP fill:#ffe,stroke:#a80,stroke-width:2px
```

需要强调：N32-c承载的协商信息本身就是敏感的（含双方证书、保护策略），所以**N32-c必须运行在双向认证TLS之上**（TS 33.501 13.5明确："A mutually authenticated TLS connection as defined in clause 13.1 shall be used for protecting security capability negotiation over N32-c. The TLS connection shall provide integrity, confidentiality and replay protection."）。

## 三、N32-c全流程拆解：安全能力协商与密钥参数交换

N32-c上的工作分为两个阶段，分别对应TS 33.501的两条子流程：**安全能力协商（clause 13.5）**和**密钥协商与参数交换（clause 13.2.2.2）**。

### 3.1 阶段一：安全能力协商（clause 13.5）

发起TLS连接的SEPP向对端的`exchange-capability`资源（TS 29.573定义的n32c-handshake服务）发起POST，携带本端支持的N32-f保护机制列表，**按优先级排序**。对端比对自身支持列表，依据本地策略（如判断路径上是否有RI、本PLMN是否允许TLS模式）选定一种双方都支持的机制。

```
Table 13.5-1 N32-f保护机制
Mechanism 1: PRINS (clause 13.2)
Mechanism 2: TLS
Mechanism n: Reserved
```

注意三个工程细节：第一，若选PRINS则保持N32-c连接并按13.2执行；若选TLS则**主动拆除N32-c连接**，改为在N32-f上直接建立TLS隧道（13.1.2）；第二，协商顺序由"发起方列优先级、响应方做选择"，响应方握有最终决定权——这是为了让归属侧（通常是数据/密钥的持有者）能强制执行更高级别的安全策略；第三，仅当双方支持的机制交集为空时才终止TLS。

### 3.2 阶段二：密钥协商与参数交换（clause 13.2.2.2）

选定为PRINS模式后，双方进入真正的"安全上下文建立"，原文逐条定义了四步：

1. **加密套件协商**：发起方发`Security Parameter Exchange Request`（含本端支持的cipher suite优先级列表 + 本端的N32-f Context ID）；响应方比对后回`Security Parameter Exchange Response`（含选定cipher suite + 响应方的N32-f Context ID）。
2. **保护策略交换**：互发Data-type encryption policy（哪些数据类型要加密）和Modification policy（RI能改哪些字段）。也可选择只交互一个"security profile"引用（默认策略集合），避免传输完整策略表。
3. **RI安全信息列表交换**：交换各RI的公钥/证书，供接收侧SEPP后续验证RI对消息的修改签名（JWS验证）。
4. **密钥导出**：双方从已建立的TLS会话中用TLS exporter导出密钥材料。

```mermaid
sequenceDiagram
    autonumber
    participant V as vSEPP(发起方)
    participant H as hSEPP(响应方)
    Note over V,H: 前置: 双向认证TLS连接已建立(clause 13.1)
    V->>H: POST exchange-capability<br/>[支持机制:PRINS,TLS 优先级排序]
    H->>V: 200 OK [选定机制:PRINS]
    Note over V,H: 阶段一 安全能力协商(clause 13.5)完成
    V->>H: SecParamExchReq<br/>[cipher suite列表 + vSEPP的N32-f Context ID]
    H->>V: SecParamExchResp<br/>[选定cipher + hSEPP的N32-f Context ID]
    V->>H: SecParamExchReq<br/>[Data-type加密策略 + 修改策略]
    H->>V: SecParamExchResp<br/>[响应侧保护策略套件]
    Note over V,H: 步骤2 互存保护策略
    V->>H: 交换RI安全信息列表[RI公钥/证书]
    H->>V: 交换RI安全信息列表[RI公钥/证书]
    Note over V,H: 步骤3 RI信息交换
    Note over V,H: 步骤4 双方各自调用TLS exporter<br/>派生N32-f master key → N32-KDF
    V->>H: N32-f连接就绪,开始转发NF信令(JWE/JWS保护)
```

### 3.3 N32-c关键IE参数说明

| 消息/IE | 方向 | 关键字段 | 作用 |
|---------|------|----------|------|
| `exchange-capability` Request | 发起方→响应方 | supportedFeatures、3gpp-Sbi-TargetApiRootSupported、seppInfo(SEPP ID, PLMN ID) | 能力发现、接口版本兼容性 |
| `exchange-capability` Response | 响应方→发起方 | selectedN32fProtection=PRINS/TLS | 选定保护模式 |
| `Security Parameter Exchange Request` | 双向 | cipherSuites、senderN32fContextId、data-typeEncryptionPolicy、modificationPolicy | 套件与策略协商 |
| `Security Parameter Exchange Response` | 双向 | selectedCipherSuite、responderN32fContextId | 确认套件，分配上下文ID |
| RI信息列表 | 双向 | riPublicKey、riCertRef | 后续JWS验签依据 |
| `N32-f Context ID` | 双向各自维护 | 全局唯一标识符 | 绑定密钥，防止重用 |

注意**N32-f Context ID**是整个PRINS密钥管理的"命门"：它既是双方在两个HTTP/2会话（一个发起方做client、一个响应方做client）之间区分密钥的锚点，又是防止密钥/IV重用的核心，下文密钥层级会详述。

## 四、PRINS核心机制：消息重构与分层保护（clause 13.2.4）

这是PRINS最精妙的部分——它**不是整条消息加密，而是对HTTP/2请求/响应做"外科手术式"的重构**。vSEPP在转发前把JSON消息拆解、重组成一个嵌套的安全封装结构，hSEPP收到后还原。原文（13.2.4.2/13.2.4.3）定义了三大数据块：

- **`dataToIntegrityProtect`（仅完整性保护，明文）**：包含`clearTextEncapsulatedMessage`和`metadata`。这些字段RI必须能读、能路由（如目标API root、NF类型、路由信息），但不允许被篡改——因此只做完整性（MAC），不做加密。这是PRINS能兼容IPX商业模型的关键。
- **`dataToIntegrityProtectAndCipher`（完整性+加密）**：真正的敏感字段（SUPI、认证向量、KAUSF、用户鉴权响应等）。用**JWE（JSON Web Encryption, RFC 7516）**逐字段加密，RI看到的是密文。
- **`modifiedDataToIntegrityProtect`（RI修改区）**：RI对消息做的合法修改（如注入计费头、号段翻译）。用**JWS（JSON Web Signature, RFC 7515）**签名，接收侧SEPP凭N32-c阶段交换的RI公钥验证——既能改，又改不了"未经授权的内容"。

整个封装结构再计算一个顶层**integrityMAC**，覆盖所有上述数据块，确保整体不可篡改。

```mermaid
flowchart TB
    Orig[原始HTTP/2请求/响应<br/>含SUPI、Auth向量、路由字段等JSON]
    Orig --> Split{字段分类<br/>依据保护策略}
    Split -->|RI需读取/路由的字段<br/>路由头、目标NF类型| DTIP[dataToIntegrityProtect<br/>clearTextEncapsulatedMessage+metadata]
    Split -->|敏感字段<br/>SUPI、RAND/AUTN/XRES*、KAUSF| DTIPC[dataToIntegrityProtectAndCipher]
    DTIPC --> JWE[**JWE加密**<br/>用parallel_request_key<br/>AES-GCM]
    DTIP --> MAC1[完整性保护]
    subgraph 经IPX传输
        Envelope[安全封装消息<br/>明文路由区 + 密文敏感区]
        RI[Roaming Intermediary<br/>读取明文路由 + 注入计费头]
        RI --> MD[modifiedDataToIntegrityProtect<br/>**JWS签名**的RI修改]
    end
    MAC1 --> Envelope
    JWE --> Envelope
    MD --> Envelope
    Envelope --> TopMAC[顶层integrityMAC覆盖全部]
    TopMAC --> Recv[hSEPP: 验证MAC→解JWE→验JWS→还原原始消息]
    style JWE fill:#fee,stroke:#c00
    style MD fill:#eef,stroke:#00c
```

### 4.1 保护策略（clause 13.2.3）：决定哪些字段进哪个桶

字段怎么分类，由三类策略控制：

- **Data-type encryption policy（13.2.3.2）**：声明每种JSON数据类型（如`Supi`、`AuthenticationInfo`、`Kausf`）是否加密、用哪个key。它是"字段名→保护动作"的映射表。
- **Modification policy（13.2.3.4）**：声明哪些字段允许RI修改、允许哪种修改（如添加HTTP头、改写特定IE）。
- **NF API data-type placement mapping（13.2.3.3）**：把NF API中的数据类型映射到上述封装结构的具体位置。

策略在N32-c阶段双向交换并存储。策略冲突（如一方要求某字段加密、另一方策略不允许）是现网最常见的一类故障（详见后文排错）。

### 4.2 为什么是JWE/JWS而不是自研算法

PRINS选择JOSE（JSON Object Signing and Encryption）体系而非3GPP自有算法（如NEA/NIA），是有明确工程考量的：5G SBI本就是HTTP/2+JSON生态，JWE/JWS原生适配JSON字段级操作，且经过互联网工程界的广泛验证；而3GPP的NEA/NIA是面向NAS/RRC这样定长流式数据的。PRINS用AES-GCM（典型如A256GCM）做JWE加密，既提供保密性又提供认证加密（AEAD），一举两得。

## 五、N32-f密钥层级与KDF全推演（clause 13.2.4.4.1）

PRINS的密钥体系完全建立在TLS之上，这是它"应用层安全"的本质——**复用传输层TLS已经建立的信任，在应用层再派生一组专用密钥**。原文给出的推导链非常精确：

**第一步：导出主密钥（N32-f master key）**

通过TLS exporter（RFC 5705，TLS 1.3中即`tls_exporter`）从已建立的N32-c TLS会话中导出64字节主密钥：

```
Label   = "EXPORTER_3GPP_N32_MASTER"  (IANA注册)
Context = "" (空字符串)
Length  = 64 octets
```

**第二步：N32-KDF派生会话密钥与IV salt**

N32-KDF基于HKDF（RFC 5869），且**只用HKDF-Expand**（因为初始密钥已安全生成，无需再Extract）：

```
N32-KDF(label, L) = HKDF-Expand(N32-f master key,
                                  "N32" || N32-Context-ID || label, L)
```

注意输入串里**绑定了N32-Context-ID**——这是防重用的关键。每次HKDF-Expand产出"一个会话密钥"或"一个IV salt"。共需派生**两对（4个）密钥 + 对应IV salt**，分别用于两个HTTP/2会话：

| 标签（label） | 用途 |
|---------------|------|
| `parallel_request_key` / `parallel_response_key` | 发起方做HTTP client的会话（与N32-c同方向），用于请求/响应的JWE加密 |
| `reverse_request_key` / `reverse_response_key` | 响应方做HTTP client的会话（与N32-c反方向），用于请求/响应的JWE加密 |

```mermaid
flowchart TD
    TLS[N32-c双向认证TLS会话<br/>已建立]
    TLS -->|TLS exporter<br/>Label=EXPORTER_3GPP_N32_MASTER<br/>Ctx=空, Len=64| MK[N32-f Master Key 64B]
MK --> |HKDF-Expand＜br/＞输入: 'N32'\ \ N32-Context-ID\ \ label| K1[parallel_request_key + IV salt]
    MK -->|HKDF-Expand| K2[parallel_response_key + IV salt]
    MK -->|HKDF-Expand| K3[reverse_request_key + IV salt]
    MK -->|HKDF-Expand| K4[reverse_response_key + IV salt]
    K1 -->|AES-GCM| JWE1[JWE加密: 发起方→响应方请求]
    K2 -->|AES-GCM| JWE2[JWE加密: 响应方→发起方响应]
    K3 -->|AES-GCM| JWE3[JWE加密: 反向会话请求]
    K4 -->|AES-GCM| JWE4[JWE加密: 反向会话响应]
    style MK fill:#ffd,stroke:#a80,stroke-width:2px
    style TLS fill:#efe,stroke:#0a0
```

### 5.1 设计意图：为什么死磕IV重用

原文有一段意味深长的NOTE："In AES-GCM re-use of one IV may reveal the integrity key (Joux's Forbidden attack). The binding of session keys and IV salts to N32-f context IDs and labels is essential to protect against inadvertent use of the same key with a repeated IV."

AES-GCM的致命弱点是**同一密钥下IV绝不能复用**，否则会被Joux提出的"Forbidden Attack"恢复出认证密钥，进而可伪造任意密文。5G漫游信令量大、HTTP/2 stream可能耗尽后重建，密钥重用概率不低。3GPP的解法是把**N32-f Context ID硬性绑定进KDF输入**，并为每个方向、每个角色（request/response）分配独立标签——任何一次"master secret复用建立新会话"都必须生成新的、唯一的Context ID，从而保证派生出的所有密钥和IV都是全新的。这是把密码学最危险的雷区用工程约束彻底封死。

## 六、端到端实例：一次漫游UE注册的N32信令全景

以最典型的**Home-Routed漫游下的UE主认证**为例：UE在VPLMN发起注册，VPLMN的AMF需要向HPLMN的AUSF/UDM请求认证向量。整个HTTP/2调用要穿越N32。

```mermaid
sequenceDiagram
    autonumber
    participant UE
    participant AMF as vAMF(VPLMN)
    participant vSEPP
    participant IPX as IPX Provider(RI)
    participant hSEPP
    participant AUSF as hAUSF(HPLMN)
    participant UDM as hUDM(HPLMN)
    UE->>AMF: Registration Request(SUCI)
    AMF->>vSEPP: HTTP/2 POST AUSF 产生认证<br/>含SUCI/SN-Name
    Note over vSEPP: 重构消息<br/>SUCI→dataToIntegrityProtectAndCipher(JWE)<br/>SN-Name→dataToIntegrityProtect(明文+MAC)
    vSEPP->>IPX: 转发: 明文路由区+密文敏感区+顶层MAC
    Note over IPX: 可读路由字段<br/>可注入计费头(JWS签名)<br/>无法读SUCI
    IPX->>hSEPP: 转发封装消息
    Note over hSEPP: 验顶层MAC→用reverse/parallel key解JWE<br/>验RI的JWS→还原原始HTTP/2
    hSEPP->>AUSF: HTTP/2 POST(明文,已到归属网内)
    AUSF->>UDM: 拉取签约/鉴权数据
    UDM-->>AUSF: 鉴权向量生成依据
    AUSF-->>hSEPP: 200 OK(RAND/AUTN/XRES*, KAUSF)
    Note over hSEPP: 这些敏感字段再走JWE加密回程
    hSEPP->>IPX: 加密响应
    IPX->>vSEPP: 转发
    Note over vSEPP: 解密还原
    vSEPP-->>AMF: 200 OK(明文认证向量)
    AMF-->>UE: Authentication Request(RAND/AUTN)
```

这个实例清晰展示了PRINS的三大价值：**SUPI/SUCI与认证向量对IPX全程不可见（JWE加密）、IPX仍能完成路由和计费（明文路由区+JWS签名修改）、归属侧能验证整条链路未被篡改（顶层MAC+RI的JWS）**。

## 七、PRINS vs TLS：两种N32-f保护模式对比

| 维度 | PRINS（Mechanism 1） | TLS（Mechanism 2） |
|------|----------------------|---------------------|
| 保护层级 | 应用层（HTTP消息体内字段级） | 传输层（整条连接） |
| 加密粒度 | 选择性：仅敏感字段JWE加密 | 全量：整个TLS载荷 |
| IPX可见性 | 可读路由/元数据字段、可JWS签名修改 | 完全不可见（黑盒隧道） |
| 中介修改认证 | JWS逐修改项签名，可追溯RI | 不支持（中介无法修改也无法认证） |
| 密钥来源 | TLS exporter→N32-KDF派生 | TLS会话密钥本身 |
| 适用场景 | 经IPX的多跳漫游（主流） | 点对点直连两PLMN、无RI路径 |
| N32-c连接 | 保持，持续承载 | 选定后拆除（13.1.2重建TLS over N32-f） |
| 性能开销 | 每消息字段级加解密，CPU较高 | TLS硬件卸载，单条流开销低 |
| 标准依据 | TS 33.501 clause 13.2 | TS 33.501 clause 13.1.2 |

实务中，**绝大多数商用5G漫游采用PRINS**，因为漫游的商业模式离不开IPX多跳。TLS模式更多用于两运营商直连（如两家大T之间有专线）或测试环境。

## 八、SEPP N32连接状态转换

```mermaid
stateDiagram-v2
    [*] --> IDLE
    IDLE --> TLS_HANDSHAKE: 触发跨PLMN信令<br/>建立N32-c
    TLS_HANDSHAKE --> CAP_NEG: 双向认证TLS完成
    CAP_NEG --> KEY_EXCH: 选定PRINS(clause 13.5)
    KEY_EXCH --> ACTIVE: 密钥+策略+RI信息交换完成<br/>N32-f Context建立
    ACTIVE --> ACTIVE: 转发NF信令(JWE/JWS)
    ACTIVE --> KEY_RENEG: 安全能力变更/密钥老化
    KEY_RENEG --> ACTIVE: 重新派生密钥与Context ID
    ACTIVE --> TEARDOWN: 选定TLS模式/无交集机制
    CAP_NEG --> TEARDOWN: 机制无交集
    TLS_HANDSHAKE --> IDLE: 认证失败/超时
    TEARDOWN --> IDLE
```

## 九、实战连接：抓包识别与故障排错

### 9.1 抓包如何识别N32/PRINS流量

- **接口定位**：N32-f流量在抓包中表现为**HTTP/2 POST/GET**，且携带`3gpp-Sbi-Message-Id`、`3gpp-Sbi-Router-Scp`等自定义头；N32-c流量是到`/n32c-handshake/v1/exchange-capability`、`/n32c-handshake/v1/sec-param-exch`等资源的POST。
- **识别PRINS特征**：HTTP/2请求体或响应体中出现**JWE结构**——形如`eyJ...`（header）`.`（密文）`.`（IV）`.`（tag）的Base64URL拼接串，且`{"protected":...,"encrypted_key":...,"ciphertext":...}`的JOSE封装。若看到完整明文SUPI/认证向量，说明**保护未生效**（重大安全事件）。
- **RI修改识别**：消息中出现`modifiedDataToIntegrityProtect`段及其JWS签名，可定位到具体RI的修改操作。

### 9.2 常见故障点与排错思路

1. **exchange-capability失败（机制无交集）**：日志报"no supported mechanism"。排查双方SEPP配置是否同时禁用了某模式，或本地策略是否因"检测到路径有RI但被强制选TLS"而拒绝。
2. **保护策略不匹配**：表现为特定字段在接收侧解不出或报policy violation。根因是双方Data-type encryption policy/Modification policy版本不一致——某字段一方要求加密、另一方策略未声明。需对齐策略配置或升级security profile。
3. **JWE解密失败（AEAD tag校验不过）**：典型是**密钥派生不一致**——某侧N32-f Context ID未正确绑定、或TLS会话重建后未重新导出master key导致旧密钥被误用。检查KDF输入串`"N32"||N32-Context-ID||label`是否对齐。
4. **RI的JWS验签失败**：N32-c阶段交换的RI公钥过期或缺失，或IPX使用了未注册的RI证书。需更新RI安全信息列表。
5. **证书过期**：SEPP证书或TLS链证书过期会导致TLS_HANDSHAKE直接失败，是最常见的现网故障，需建立证书有效期监控。
## 常见问题

**Q1: PRINS和端到端TLS到底什么区别，为什么不直接全用TLS？**
A: TLS保护整条连接，IPX中介完全看不到内容，无法路由/计费，会破坏漫游商业模式；PRINS在应用层做字段级保护，敏感字段JWE加密、路由字段明文+完整性、RI修改用JWS认证，兼顾了安全与中介可用性。

**Q2: N32-c和N32-f是物理上两条线吗？**
A: 不是。二者是逻辑接口，可复用同一IP/端口，但承载内容不同：N32-c承载协商信令（始终在TLS上），N32-f承载NF业务信令（按协商结果保护）。选定TLS模式后N32-c会被拆除，N32-f直接走TLS。

**Q3: 为什么PRINS的密钥要绑定N32-f Context ID？**
A: 防止AES-GCM的密钥/IV重用。GCM在同一密钥下复用IV会触发Joux's Forbidden Attack暴露认证密钥。把Context ID绑进KDF，每次master secret复用都生成新Context ID，保证派生密钥和IV唯一。

**Q4: 漫游中UE的SUPI对IPX安全吗？**
A: 安全。PRINS把SUPI/SUCI等身份与认证数据放入`dataToIntegrityProtectAndCipher`做JWE加密，IPX只能看到密文。若抓包发现明文SUPI，说明保护策略配置错误，属重大安全事件。

**Q5: 4G漫游有SEPP吗？**
A: 没有。SEPP是5G SBI架构的产物。4G漫游信令走Diameter，靠NDS/IP和IPSec逐跳保护；5G改用HTTP/2+JSON跨IPX，才催生了字段级保护的SEPP/PRINS，这是5G相对4G在漫游安全上最根本的架构升级。

## 参考来源

1. [3GPP TS 33.501 — Security architecture and procedures for the 5G system, clause 13.2/13.5/13.2.2.2/13.2.4.4.1](https://itecspec.com/3gpp/33.501/s/13.5) — SEPP N32应用层安全（PRINS）、能力协商与N32-f密钥层级原文
2. [3GPP TS 33.522 — Security requirements and evaluation scope for the 5G SEPP network product class](https://3gpp.blacklabs.team/33522_spec.html) — SEPP网元安全保证规范（SCAS）
3. [5G Roaming Security — 3GPP.org SA3](https://www.3gpp.org/technologies/roaming-security-sa3) — SA3工作组5G漫游安全架构概述
4. [GSMA NG.132 v4.0 — 5G roaming guidelines, N32 protection](https://www.gsma.com/newsroom/wp-content/uploads/NG.132-v4.0-1.pdf) — 漫游实施指南与IPX端到端保护
5. [Mavenir — Securing 5G Signalling for Roaming (SEPP) White Paper](https://www.mavenir.com/wp-content/uploads/2022/11/WP-Securing_5G_Signaling_for_Roaming-1.pdf) — PRINS与TLS模式工程实践对比

---
> 本文由「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学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
