<!-- title: 5G安全认证：从密钥层级到双向鉴权 -->

# 5G安全认证：从密钥层级到双向鉴权

## 引言：为什么移动通信需要安全机制？

想象你走进一家酒店。前台需要确认两件事：**你是你声称的那个人**（验证身份），同时**这家前台确实属于这家酒店而不是假冒的**（验证网络真实性）。确认之后，前台给你一张房卡（密钥），此后你用房卡进出房间。

移动通信网络面临完全相同的问题——只不过在无线信道上，任何人都可以"偷听"。你的手机信号通过电磁波在空气中传播，攻击者只需要一个软件定义无线电（SDR）就能截获信号。如果没有安全机制：

- **窃听者**可以读取你的通话内容和上网数据
- **伪造基站**可以冒充合法网络，骗取你的身份信息
- **中间人攻击者**可以篡改你的通信内容

从2G到5G，每一代移动通信都在不断强化安全体系。本文将聚焦4G/5G的安全核心——**认证流程**与**密钥层级体系**，帮你从直觉层面理解"为什么这样设计"。

---

## 一、移动通信安全体系全景

### 1.1 安全的三大目标

移动通信安全围绕三个核心目标展开：

| 安全目标 | 含义 | 日常类比 |
|---------|------|---------|
| **机密性（Confidentiality）** | 数据只能被合法方读取 | 用密封信封寄信，只有收件人能拆开 |
| **完整性（Integrity）** | 数据在传输中未被篡改 | 快递包裹上有防拆封条 |
| **认证性（Authentication）** | 确认通信双方身份真实 | 银行开户时的身份证核验 |

### 1.2 5G安全架构的五层防护

5G的安全并不是一个单一的"加密"操作，而是在协议栈的多个层级上分层实施的：

```mermaid
graph TB
    subgraph "5G安全架构全景"
        A["🔴 第1层：用户身份保护<br/>SUPI → SUCI加密"]
        B["🟠 第2层：网络接入认证<br/>5G-AKA / EAP-AKA'"]
        C["🟡 第3层：NAS信令安全<br/>NAS加密 + 完整性保护"]
        D["🟢 第4层：AS接入安全<br/>RRC加密 + 完整性保护"]
        E["🔵 第5层：用户面安全<br/>UP加密 + 完整性保护"]
    end
    A --> B --> C --> D --> E
    style A fill:#ff6b6b,color:#fff
    style B fill:#ff9f43,color:#fff
    style C fill:#feca57,color:#333
    style D fill:#48dbfb,color:#333
    style E fill:#0abde3,color:#fff
```

**为什么分层？** 因为每一层保护的对象不同、威胁模型不同、实施位置也不同。比如NAS信令安全保护的是手机和核心网之间的控制消息，而AS接入安全保护的是手机和基站之间的无线链路。如果基站被攻破，NAS层的安全仍然有效——这就是**纵深防御**的思想。

---

## 二、用户身份保护：从IMSI明文到SUCI加密

### 2.1 4G的隐私漏洞：IMSI在空口裸奔

在4G（LTE）及之前，用户的永久标识IMSI在首次附着时**以明文方式**在空口传输。这导致了著名的**IMSI Catcher攻击**（也叫Stingray攻击）：

> 攻击者架设一个伪基站，广播比真基站更强的信号。手机优先接入伪基站后，伪基站要求手机发送IMSI——手机就乖乖地以明文把自己的"身份证号"发过去了。

这就像有人在酒店大堂冒充前台，大喊"请出示身份证"，你就把身份证递过去了——连对方是不是真前台都没确认。

### 2.2 5G的解决方案：SUCI加密

5G引入了**SUPI（Subscription Permanent Identifier）**取代IMSI，并规定：**SUPI永远不在空口明文传输**。取而代之的是，手机用**运营商的公钥**对SUPI进行加密，生成**SUCI（Subscription Concealed Identifier）**后发送。

```
SUCI的组成结构：
┌──────────┬──────────────┬──────────────┬────────────────┬──────────────┐
│ SUPI类型 │ 归属网络标识  │ 路由指示符    │ 保护方案标识    │ 加密输出     │
│ (1字节)  │ (MCC+MNC)   │ (Routing)    │ (Scheme ID)    │ (ECIES密文)  │
└──────────┴──────────────┴──────────────┴────────────────┴──────────────┘
```

**加密方案采用ECIES（椭圆曲线集成加密方案）**，其核心流程：

$$\text{SUCI} = \text{Enc}_{PK_{HN}}(\text{SUPI}, r \cdot G)$$

其中 $PK_{HN}$ 是归属网络的公钥，$r$ 是每次生成的随机临时私钥，$G$ 是椭圆曲线基点。由于每次都使用不同的 $r$，同一个SUPI加密后产生的SUCI每次都不同——这就是**不可链接性**（Unlinkability），攻击者无法通过比较两次SUCI来判断是否来自同一用户。

| 对比维度 | 4G（IMSI） | 5G（SUCI） |
|---------|-----------|-----------|
| 空口传输 | 明文 | 公钥加密 |
| 伪基站防护 | 无效 | 有效（无法解密） |
| 不可链接性 | 无 | 有（每次加密结果不同） |
| 计算开销 | 无 | ECIES一次（<50ms） |

### 2.3 解密方：SIDF

网络侧由**SIDF（Subscription Identifier De-concealing Function）**负责将SUCI解密为SUPI。SIDF位于UDM中，持有运营商的私钥，是全网唯一能执行解密操作的网元。

```mermaid
sequenceDiagram
    participant UE as 手机(UE)
    participant RAN as 基站(gNB)
    participant AMF as AMF/SEAF
    participant SIDF as SIDF/UDM
    
    UE->>UE: 生成临时密钥对(r, r·G)<br/>用运营商公钥加密SUPI
    UE->>RAN: 发送SUCI（加密后的SUPI）
    RAN->>AMF: 转发SUCI
    AMF->>SIDF: 转发SUCI
    SIDF->>SIDF: 用私钥解密SUCI<br/>恢复出SUPI
    SIDF-->>AMF: 返回SUPI
    Note over UE,SIDF: 空口上只出现SUCI<br/>SUPI永远不会暴露
```

---

## 三、5G-AKA认证流程：双向验证的握手

### 3.1 为什么需要双向认证？

在4G中，只做了**网络验证用户**（你是合法用户吗？），但用户无法验证网络（这是合法基站吗？）。这就给了伪基站可乘之机。

5G引入了**双向认证**：不仅网络要验证用户的身份，用户也要验证网络的身份。

> **类比**：你去银行取钱，柜员要查你的身份证（网络验用户），但你也应该确认这个窗口确实是银行的而不是骗子搭的（用户验网络）——5G补上了4G缺失的这半边。

### 3.2 参与认证的核心网元

| 网元 | 角色 | 类比 |
|------|------|------|
| **UE**（手机+USIM） | 持有根密钥K的客户端 | 你本人 + 你的身份证 |
| **SEAF**（安全锚点，位于AMF） | 服务网络的认证代理 | 酒店前台 |
| **AUSF**（认证服务器） | 归属网络的认证中心 | 酒店总部 |
| **UDM/ARPF** | 存储根密钥K的数据库 | 酒店总部的客户数据库 |

### 3.3 完整的5G-AKA流程

```mermaid
sequenceDiagram
    participant UE as UE/USIM
    participant SEAF as SEAF(AMF)
    participant AUSF as AUSF
    participant UDM as UDM/ARPF
    
    UE->>SEAF: ① Registration Request<br/>（携带SUCI）
    SEAF->>AUSF: ② Nausf_UEAuthentication Authenticate<br/>（SUCI + SN-name）
    AUSF->>UDM: ③ Nudm_UEAuthentication Get<br/>（SUCI + SN-name）
    
    Note over UDM: ④ 生成认证向量AV<br/>RAND, AUTN, XRES*, K_AUSF<br/>基于根密钥K计算
    
    UDM-->>AUSF: ⑤ 返回AV<br/>(RAND, AUTN, XRES*, K_AUSF)
    AUSF->>AUSF: ⑥ 计算HXRES* = SHA-256(XRES*)
    AUSF-->>SEAF: ⑦ 返回(RAND, AUTN, HXRES*)
    
    SEAF-->>UE: ⑧ Authentication Request<br/>(RAND, AUTN)
    
    Note over UE: ⑨ USIM验证AUTN<br/>检查MAC和序列号SQN<br/>计算RES*和K_SEAF
    
    UE-->>SEAF: ⑩ Authentication Response<br/>(RES*)
    
    SEAF->>SEAF: ⑪ 计算HRES* = SHA-256(RES*)<br/>与HXRES*比对
    
    alt HRES* == HXRES*
        SEAF->>AUSF: ⑫ Nausf_UEAuthentication Confirm<br/>(RES*)
        AUSF->>AUSF: ⑬ 比对RES*与XRES*
        alt RES* == XRES*
            AUSF-->>SEAF: ⑭ 认证成功 + K_SEAF
            SEAF->>SEAF: ⑮ 从K_SEAF派生K_AMF
        else
            AUSF-->>SEAF: 认证失败
        end
    else
        Note over SEAF: 本地验证失败
    end
```

**逐步解读这个流程：**

**步骤①-③**：手机向网络发起注册，AMF收到后向AUSF请求认证，AUSF再向UDM请求认证向量。注意SEAF发送了**SN-name**（服务网络名称，如"5G:mnc070.mcc460.3gppnetwork.org"），这是5G新增的——归属网络可以据此判断请求来自哪个服务网络。

**步骤④-⑤**：UDM使用根密钥K生成认证向量（Authentication Vector）。这是整个认证的"题目"：
- **RAND**：一个128位随机数，作为"挑战"发给手机
- **AUTN**：认证令牌，包含序列号SQN和消息认证码MAC
- **XRES\***：期望的响应值（手机应该算出来的"答案"）
- **K_AUSF**：给AUSF用的中间密钥

**步骤⑥-⑦**：AUSF对XRES\*做哈希得到HXRES\*，只把HXRES\*（而非原始XRES\*）发给SEAF。这样即使SEAF被攻破，攻击者也无法获得完整的XRES\*。这是5G引入的**安全锚点隔离**机制。

**步骤⑧-⑩**：手机收到RAND和AUTN后，USIM用自己存的根密钥K进行计算：
- 先验证AUTN中的MAC——确认这确实来自持有K的合法网络（**用户验证网络**）
- 再检查SQN序列号是否在合理范围内——防止**重放攻击**
- 验证通过后，计算出RES\*（自己的"答案"）返回给网络

**步骤⑪-⑭**：两级验证——SEAF先本地快速比对哈希值，通过后再转发给AUSF做完整比对。这样设计的目的是**减少不必要的信令交互**。

**步骤⑮**：认证成功后，从K_AUSF开始逐级派生后续所有密钥。

### 3.4 一个关键的安全增强：归属网络验证

在4G中，服务网络（拜访地）的MME自己就可以决定认证是否通过，归属网络（HSS）只提供认证向量但不验证结果。这意味着一个被攻破的拜访地网络可以绕过认证。

5G改变了这一设计：**AUSF必须将认证结果确认回UDM**，归属网络全程参与认证决策。这就是所谓的**归属网络控制**（Home Control）。

---

## 四、密钥层级体系：一棵单向派生的密钥树

### 4.1 设计原则

5G的密钥体系遵循三个核心原则：

1. **单向派生**：由上层密钥可以算出下层密钥，但由下层密钥无法反推上层密钥。使用KDF（Key Derivation Function）基于HMAC-SHA-256实现。
2. **前向安全**：即使当前密钥泄露，也无法推算出之前使用过的密钥。切换时通过**NH（Next Hop）链**实现。
3. **密钥隔离**：不同用途使用不同的密钥。NAS加密、NAS完整性、RRC加密、RRC完整性、用户面加密各有独立密钥，互不影响。

$$K_{child} = \text{KDF}(K_{parent}, \text{FC} || P_0 || L_0 || P_1 || L_1 || ...)$$

其中FC是功能码（标识派生目的），$P_i$是参数，$L_i$是参数长度。KDF的本质是"加盐哈希"——不同的FC和参数确保不同用途的密钥互不相同。

### 4.2 完整的5G密钥层级

```mermaid
graph TD
    K["🔑 K<br/>根密钥<br/>(USIM ↔ UDM)<br/>128/256 bit"]
    K -->|"AKA计算"| CK["CK (Cipher Key)"]
    K -->|"AKA计算"| IK["IK (Integrity Key)"]
    CK --> KDF1["KDF"]
    IK --> KDF1
    KDF1 --> KAUSF["K_AUSF<br/>AUSF密钥"]

    KAUSF -->|"KDF + SN-name"| KSEAF["K_SEAF<br/>安全锚点密钥"]
    KSEAF -->|"KDF + SUPI"| KAMF["K_AMF<br/>AMF主密钥"]

    KAMF -->|"KDF"| KNASenc["K_NASenc<br/>NAS加密密钥"]
    KAMF -->|"KDF"| KNASint["K_NASint<br/>NAS完整性密钥"]
    KAMF -->|"KDF"| KgNB["K_gNB<br/>基站密钥"]

    KgNB -->|"KDF"| KRRCenc["K_RRCenc<br/>RRC加密密钥"]
    KgNB -->|"KDF"| KRRCint["K_RRCint<br/>RRC完整性密钥"]
    KgNB -->|"KDF"| KUPenc["K_UPenc<br/>用户面加密密钥"]
    KgNB -->|"KDF"| KUPint["K_UPint<br/>用户面完整性密钥"]

    style K fill:#e74c3c,color:#fff
    style KAUSF fill:#e67e22,color:#fff
    style KSEAF fill:#f39c12,color:#fff
    style KAMF fill:#27ae60,color:#fff
    style KgNB fill:#3498db,color:#fff
    style KNASenc fill:#9b59b6,color:#fff
    style KNASint fill:#9b59b6,color:#fff
    style KRRCenc fill:#1abc9c,color:#fff
    style KRRCint fill:#1abc9c,color:#fff
    style KUPenc fill:#34495e,color:#fff
    style KUPint fill:#34495e,color:#fff
```

### 4.3 4G vs 5G密钥层级对比

| 对比项 | 4G (LTE) | 5G (NR) |
|--------|---------|---------|
| 根密钥 | K（128 bit） | K（128/256 bit） |
| 认证后首层密钥 | CK, IK → K_ASME | CK, IK → K_AUSF |
| 安全锚点 | K_ASME（在MME） | K_SEAF（在SEAF/AMF） |
| 核心网主密钥 | K_ASME直接使用 | K_AMF（从K_SEAF派生） |
| 用户面完整性保护 | 可选（多数未启用） | **强制启用** |
| 密钥层数 | 4层 | 5层（更细粒度隔离） |
| 最大算法密钥长度 | 128 bit | 256 bit（Rel-16+） |

**5G为什么多了一层？** 因为5G引入了SEAF作为安全锚点。SEAF位于服务网络（拜访地），AUSF位于归属网络。多一层K_SEAF意味着：即使服务网络的AMF被攻破，攻击者拿到的只是K_AMF及以下的密钥，**无法推算出K_AUSF和K_SEAF**，归属网络侧的安全不受影响。

### 4.4 各密钥的"管辖范围"

| 密钥 | 持有者 | 保护对象 | 在哪一层生效 |
|------|--------|---------|------------|
| K | USIM + UDM | 无直接使用，仅用于AKA计算 | USIM内部 |
| K_AUSF | AUSF + UDM | 用于派生K_SEAF | 核心网 |
| K_SEAF | SEAF + AUSF | 用于派生K_AMF | 核心网 |
| K_AMF | AMF + UE | 派生所有NAS和AS密钥 | NAS层 |
| K_NASenc/int | AMF + UE | NAS信令（注册、会话管理等） | NAS层 |
| K_gNB | gNB + UE | 派生所有空口密钥 | RRC/PDCP层 |
| K_RRCenc/int | gNB + UE | RRC信令（切换、测量报告等） | PDCP层 |
| K_UPenc/int | gNB + UE | 用户面数据（上网、通话等） | PDCP层 |

---

## 五、安全算法协商：Security Mode Command

### 5.1 算法列表

认证通过后，网络和手机需要协商使用什么加密和完整性保护算法：

| 算法ID | 加密算法（NEA） | 完整性算法（NIA） | 基础密码技术 |
|--------|---------------|-----------------|------------|
| 0 | NEA0（空加密） | NIA0（空完整性） | 无保护 |
| 1 | NEA1（128- SNOW 3G） | NIA1（128- SNOW 3G） | 流密码 |
| 2 | NEA2（128- AES） | NIA2（128- AES-CMAC） | 分组密码 |
| 3 | NEA3（128- ZUC） | NIA3（128- ZUC） | 国密流密码 |

**选算法的原则**：网络侧有一张"优先级列表"，按从高到低的顺序尝试，选择第一个双方都支持的算法。实际网络中绝大多数使用**NEA2/NIA2（AES）**。

### 5.2 Security Mode的两阶段握手

安全模式协商分为**NAS层**和**AS层**两个阶段：

**NAS Security Mode Command**（AMF → UE）：
- AMF告知UE选用的NAS加密和完整性算法
- 同时携带UE的安全能力列表（防止"降级攻击"——攻击者伪造UE只支持弱算法）
- UE验证后，此后的所有NAS信令都经过加密和完整性保护

**AS Security Mode Command**（gNB → UE）：
- gNB告知UE选用的RRC和用户面算法
- 此后RRC信令和用户面数据都受到保护

> **实战连接**：在5G核心网调试中，如果手机注册失败且日志显示"Security Mode Reject"，首先检查AMF和UE的算法列表是否有交集。常见的问题是测试USIM只支持部分算法，而AMF配置了强制使用特定算法——两边对不上就会握手失败。

---

## 六、用户面完整性保护：5G最重要的安全增强

### 6.1 为什么4G没有强制用户面完整性？

在4G中，用户面数据的完整性保护是**可选的**，绝大多数运营商在实际部署中**没有启用**。原因很简单——完整性保护需要在每个数据包上附加一个MAC-I标签（通常4-8字节），这对高速数据传输有一定开销。

但这留下了一个安全漏洞：攻击者虽然无法解密数据（加密仍然生效），但可以**篡改数据包的内容**——比如修改你的银行转账金额、篡改网页内容。这就是所谓的**"选择性明文篡改攻击"**。

### 6.2 5G的改进

5G将用户面完整性保护提升为**强制要求**（个别场景除外）：

$$\text{MAC-I} = \text{AES-CMAC}(K_{UPint}, \text{COUNT} \| \text{BEARER} \| \text{DIRECTION} \| \text{PDU})$$

每个用户面PDU都附带一个MAC-I标签，接收方用相同的密钥和参数重新计算并比对。任何1个比特的篡改都会导致MAC-I不匹配，数据包被丢弃。

---

## 七、切换中的密钥更新：前向安全

### 7.1 问题场景

当手机从基站A切换到基站B时，基站B需要新的密钥。如果直接把K_gNB传给基站B，那么基站B不仅能解密切换后的数据，**还能解密切换前在基站A上的数据**——因为它们用的是同一套密钥。

### 7.2 NH链机制

5G（继承自4G）通过**NH（Next Hop）参数链**实现前向安全：

$$NH = \text{KDF}(K_{AMF}, NH_{prev})$$

每次切换时，使用最新的NH值来派生新基站的密钥：

$$K_{gNB\_new} = \text{KDF}(NH, \text{target\_PCI})$$

由于KDF是单向函数，新基站只能向前派生密钥，**无法反推出旧基站使用的密钥**。即使新基站被攻破，攻击者也无法解密用户在旧基站上传输过的数据。

---

## 八、EAP-AKA'：5G的另一种认证方式

除了5G-AKA，5G还支持**EAP-AKA'**作为替代认证协议。主要用于以下场景：

| 场景 | 推荐协议 | 原因 |
|------|---------|------|
| 3GPP接入（NR/LTE） | 5G-AKA | 原生协议，效率最高 |
| 非3GPP接入（Wi-Fi） | EAP-AKA' | EAP框架天然支持 |
| 漫游场景 | 两者均可 | 取决于运营商配置 |

EAP-AKA'的核心区别在于密钥派生时绑定了**服务网络名称**：

$$CK' \| IK' = \text{KDF}(CK \| IK, \text{"EAP-AKA'"} \| \text{SN-name})$$

这一绑定确保了：即使攻击者截获了CK/IK，也无法在不同的服务网络下重用——因为SN-name不同，派生出的密钥也不同。

---

## 九、实战调试：常见问题与排查思路

### 9.1 常见认证失败原因

| 故障现象 | 可能原因 | 排查方法 |
|---------|---------|---------|
| Authentication Reject | USIM和UDM的根密钥K不一致 | 比对SIM卡和HSS/UDM中的Ki |
| MAC Failure | AUTN验证失败，可能是SQN不同步 | 检查USIM的SQN计数器与UDM是否对齐 |
| SUCI解析失败 | 运营商公私钥对不匹配 | 确认USIM中预置的公钥与UDM私钥是同一对 |
| Security Mode Reject | 算法协商无交集 | 检查AMF和UE的安全能力列表 |
| TAU/Registration循环 | K_AMF派生异常 | 检查KDF参数（特别是SUPI、AMF实例ID） |

### 9.2 Wireshark抓包要点

在实际调测中，重点关注以下消息：

1. **Registration Request** → 查看SUCI格式、5G-GUTI
2. **Authentication Request/Response** → 查看RAND值、RES\*长度
3. **Security Mode Command/Complete** → 查看协商的算法列表
4. **Registration Accept** → 确认注册成功，安全上下文已建立

### 9.3 一个调试陷阱

**SQN不同步**是最容易被忽略的问题。USIM内部维护一个计数器SQN（Sequence Number），UDM也维护一个。如果USIM的SQN超前（比如长时间不联网后又开机），AUTN中的SQN可能落在USIM的"可接受窗口"之外，导致认证失败。

此时USIM会返回一个**AUTS（Synchronization Token）**，UDM收到后重新同步SQN再重试。如果现网中频繁出现AUTS消息，需要检查UDM的SQN管理策略是否合理。

---

## 常见问题

**Q: 5G-AKA和EAP-AKA'到底选哪个？**
A: 对于3GPP接入（NR基站），默认使用5G-AKA，它更高效（信令交互更少）。对于非3GPP接入（如Wi-Fi calling、可信WLAN接入），使用EAP-AKA'，因为EAP框架天然适配这类接入方式。运营商也可以在UDM中为特定用户配置使用EAP-AKA'。

**Q: NEA0（空加密）在什么场景下使用？**
A: 主要用于**紧急呼叫**（Emergency Call）。当用户没有USIM或认证失败时，法律要求仍然允许拨打紧急电话。此时没有密钥可用，只能使用NEA0。在正常商业网络中，运营商应配置为禁止NEA0。

**Q: 为什么不直接用根密钥K加密，而要派生这么多层密钥？**
A: 核心原因是**最小化泄露影响**。如果直接用K加密且K泄露，攻击者可以解密所有历史通信——因为K从不变化。而多层密钥体系中，每个会话、每个网元使用不同的派生密钥，即使某一层的密钥泄露，上层密钥和过去的通信仍然安全。这就像银行不会把金库主钥匙给每个柜员，而是给每个柜员一把只能开自己保险箱的子钥匙。

**Q: 5G能完全防止伪基站攻击吗？**
A: 不能完全防止，但大幅增加了攻击难度。5G的SUCI让伪基站无法获取用户真实身份；双向认证让用户可以验证网络身份。但伪基站仍然可以发起拒绝服务（拒绝UE接入），或在某些降级攻击场景下将5G终端降级到4G/3G后利用旧协议漏洞。安全是一个持续攻防的过程。

**Q: 切换时密钥更新会不会增加延迟？**
A: 密钥派生本身是纯计算操作（一次SHA-256），耗时在微秒级，对切换延迟的影响可以忽略。实际影响切换延迟的主要因素是无线测量报告传输、Xn/Uu接口信令交互、数据转发等，密钥派生不在关键路径上。

---

## 参考来源

1. [5G Security Architecture: Authentication, Encryption, and What Changed](https://www.5g6gacademy.com/learn/5g-security-architecture) — 5G安全架构全景，涵盖密钥层级、5G-AKA vs EAP-AKA、SUPI/SUCI隐私保护
2. [5G-AKA and EAP-AKA Prime: Complete Authentication Procedure](https://www.5g6gacademy.com/learn/5g-authentication-flow) — 5G认证流程完整步骤解析
3. [Introduction to 5G AKA - free5GC](https://free5gc.org/blog/20251029/20251029/) — 开源5G核心网项目free5GC对5G-AKA的技术解读
4. [Breaking Down AKA Protocols in Mobile Networks - P1 Security](https://www.p1sec.com/blog/breaking-down-aka-authentication-key-agreement-protocols-in-mobile-networks) — 从安全研究角度对比EPS-AKA、5G-AKA和EAP-AKA'
5. [5G Security Algorithms - Devopedia](https://devopedia.org/5g-security-algorithms) — NEA/NIA加密和完整性算法详解
6. [5G Security - ShareTechnote](https://www.sharetechnote.com/html/5G/5G_Security.html) — ShareTechnote经典教程，含NAS/AS安全模式流程图
7. [ECIES in 5G Core: SUPI to SUCI Conversion](https://medium.com/@aditya.koranga/ecies-in-5g-core-supi-to-suci-conversion-15c0fb8373e2) — ECIES加密方案在SUPI/SUCI转换中的实现细节

---
> 本文由「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)
