<!-- title: 先隐身再对暗号：入网认证原理 -->

# 先隐身再对暗号：手机入网的认证原理

## 开场：地下接头式的两件事

谍战片里地下接头有两条铁律：**一不能先报名字，二不能说出暗号本身**——双方各念半句对得上，就确认是自己人。手机每次开机入网，做的正是这两件事：

1. **隐身**：第一条消息里不能出现能直接锁定"你是谁"的明文身份；
2. **对暗号**：向网络证明"我确实持有运营商发给我的那个秘密"，但秘密本身从头到尾不出现在空气里。

反过来，手机也要**验一验网络是不是冒牌的**。这三件事合起来，就是移动通信里的"主认证"（Primary Authentication）。密钥体系怎么分层派生是另一个话题，本文只回答两个更前置的问题：**怎么证明你是你，以及怎么让别人不知道你是谁**。

## 一、一切从一个"永不外传的秘密"开始

### 1.1 K 密钥：整个体系的单点信任

你办卡那天，运营商往 SIM 卡里写进一个 128 位的根密钥，业内就叫它 **K**。同一份 K 的副本存进归属网络的签约数据库（2G/3G 时代叫 HLR，4G 叫 HSS，5G 里由 UDM/ARPF 承担这个角色）。

这个设计的关键约束只有一条：**K 只存在于两个地方——你的卡里，和归属网的机房里**。它不进基站、不进拜访网络、更不上空口。

为什么这样设计？因为秘密的泄露面与它出现的地方数量成正比。让根密钥只在"防篡改的智能卡"和"运营商核心机房"这两个可信度最高的位置存在，其他一切密钥都现场派生、用完即弃，是整个移动安全体系的底层逻辑。

### 1.2 血泪教训：2G 的算法被破解过

算子（即用 K 和挑战值算出各种密钥应答的那组函数）也不是一开始就靠谱。2G 时代广泛使用的 COMP128 算法族后来被发现存在弱点，攻击者拿到卡在若干秒内反复"喂挑战、收应答"，就能把卡内的 K 反推出来——**卡可以被克隆**。此后的算子家族（业界最常用的叫 Milenage）改用 AES 作为核心，并且运营商可以选用私有算子，标准只提供测试用例。这段历史说明：认证体系的强度下限，取决于最弱的那个算子。

### 1.3 挑战-响应：证明知道密码，而不说出密码

有了共享秘密 K，怎么用它"验明正身"？直觉上的笨办法是把 K 传给网络比对——那就等于把密码喊出来。正确的做法是**挑战-响应（Challenge-Response）**：

$$RES = f_2(K,\ RAND)$$

归属网随机生成一个挑战值 RAND，本地用 K 算出一个"期望答案" XRES；手机收到 RAND 后，卡内的芯片同样用 K 算出"应答" RES。两边一比对，一致就证明对方握有同一个 K——而 **K 本身从未出现在任何信道里**。

```mermaid
flowchart TD
    K0["发卡那天<br/>秘密K写进SIM"]
    K0 --> S1["手机侧<br/>K永不出卡"]
    K0 --> S2["归属网机房<br/>存同一份K"]
    S1 --> C1["收到挑战RAND<br/>卡内算出RES"]
    S2 --> C2["生成随机RAND<br/>算出期望XRES"]
    C1 --> W["空口只见RAND与RES<br/>K全程不出现"]
    C2 --> W
    W --> V["两边对上<br/>证明都握有K"]
```

### 1.4 网络也要自证：AUTN 的由来

只验证手机是不够的。2G 只做单向认证——网络考手机，手机不考网络，于是"假基站"可以大摇大摆地吸引手机接入。从 3G 起，挑战里多了一个网络的自证令牌 **AUTN**，它的构造值得拆开看：

$$MAC = f_1(K,\ SQN,\ RAND,\ AMF)$$

$$AUTN = (SQN \oplus AK)\ \Vert\ AMF\ \Vert\ MAC$$

三个零件各司其职：

- **SQN（序列号）**：归属网每发一次挑战就加一。手机记着上次收到几号，收到旧号就知道是**重放攻击**——有人把你上次入网的录音拿来再播一遍；
- **MAC**：只有真正握有 K 的归属网才算得出这个校验值，手机验不过就是假网络；
- **SQN 异或 AK 再传输**：把序列号遮一层，防止窃听者直接读出单调递增的计数器来跟踪你。

手机侧验证 AUTN 失败有两种典型情形，排查时经常遇到：**MAC 校验不过**（网络是假的，或密钥数据不一致）和 **SQN 失步**（序列号对不上，常见于签约数据异常或卡被异常复制）。这两种失败原因在网络消息里是明确区分的，因为处理方式完全不同——前者直接拒绝，后者要走一次重同步流程。

## 二、5G-AKA 主认证全流程

把前面的零件装配起来，看一次完整的 5G 认证。注意一个反直觉的点：**认证的真正考官是归属网络，不是你脚下的基站**。基站和拜访地的核心网只是"考场工作人员"，题目和标准答案都由千里之外的归属网出。

```mermaid
sequenceDiagram
    participant U as 手机UE
    participant G as 基站gNB
    participant S as 核心网SEAF
    participant A as 归属AUSF
    participant H as 归属UDM
    U->>G: 入网请求 携带SUCI
    G->>S: 透传SUCI
    S->>A: 认证请求 SUCI加网络名
    A->>H: 请求认证材料
    H->>H: 解出SUPI 生成RAND
    H-->>A: RAND AUTN XRES* Kausf
    A->>A: 由XRES*算出HXRES*
    A-->>S: RAND AUTN HXRES*
    S->>G: 下发认证挑战
    G->>U: 挑战 RAND加AUTN
    U->>U: 验AUTN 算RES*
    U->>G: 应答RES*
    G->>S: 转交RES*
    S->>S: 比对HXRES*与散列RES*
    S->>A: 上报核验结果
    A->>A: 比对RES*与XRES*
    A-->>S: 确认无误 交付Kseaf
    Note over U,G: 基站只是传话人<br/>认证发生在手机与归属网之间
```

### 2.1 五件套：一次认证的材料清单

| 材料 | 是什么 | 谁生成 | 谁能见 | 干什么用 |
|------|--------|--------|--------|----------|
| RAND | 随机挑战值 | 归属网 | 空口可见 | 诱发应答、供双方计算 |
| AUTN | 网络自证令牌 | 归属网 | 空口可见 | 手机验证网络真伪、防重放 |
| XRES* | 期望应答（带星号） | 归属网 | 仅归属网持有原文 | 与 RES* 终局比对 |
| HXRES* | XRES* 的散列 | 归属网 AUSF | 拜访网可持有 | 拜访网本地快速预筛 |
| Kausf | 归属网锚点密钥 | 归属网 | 仅归属网与 AUSF | 认证成功后派生下级密钥 |

### 2.2 相比 4G，5G-AKA 改了什么

流程骨架与 4G 一脉相承，但有三处针对性的改造，每一处都对应 4G 的一个真实短板：

**第一，星号密钥：把密钥和"考场名"绑死。** 5G 里所有认证中间量都带星号（RES*、XRES*、Kausf），它们是把 4G 算子算出的中间密钥，再连同**服务网络的名称**一起过一次密钥派生函数得到的（下式为简化示意）：

$$RES^* = KDF(CK\,\Vert\,IK,\ \text{SN-name},\ RAND,\ RES)$$

这样一来，为 A 运营商网络派生的应答和密钥，拿到 B 网络里对不上号。密钥被"定向锁定"到了本次服务的网络，杜绝了中间量在不同服务网之间被挪用的空间。

**第二，归属网全程在场，Kseaf 是"考完才发"的奖状。** 4G 时代，归属网把成套认证材料一次性交给拜访网之后，就用与不用的、用几次的，归属网一概不知情。5G 改成了双保险：拜访网（SEAF）手里只有 XRES* 的**散列** HXRES*，可以先本地快速比对，把明显错误的应答当场挡下；但最终裁决权在归属网 AUSF——它比对原始 XRES* 与 RES*，确认这次认证真实发生后，才把锚点密钥 Kseaf 交给拜访网。**拜访网拿不到 XRES* 原文，也拿不到 Kseaf 之前的任何密钥**，被攻破时泄密面被压到最小。

**第三，第一条消息就是密文身份**——这就是下一节的主角。

## 三、隐身术：从明文 IMSI 到 SUCI

### 3.1 旧时代的裸奔

早期移动网的入网流程里，如果手机没有有效的临时身份（TMSI/GUTI），网络会直接要求它上报**明文 IMSI**。这个"例外路径"被伪基站玩成了标准打法：伪装成信号最强的小区广播"把 IMSI 报上来"，周围所有手机乖乖照办——接收方的身份、位置瞬间暴露。这类设备（俗称"假基站""IMSI 捕获器"）之所以在 2G/3G 时代屡试不爽，根源就是**身份标识在特定场景下允许明文出现**。4G 用 GUTI 大幅减少了明文 IMSI 的出现频率，但"没有临时身份时可要求明文上报"的口子仍然留着。

### 3.2 SUCI 的设计：入网第一条消息就加密

5G 把这个口子彻底焊死了：**入网第一条消息里的身份永远是密文**。真实身份叫 SUPI（可以理解为 IMSI 或网络侧标识），上线前被加密包装成 SUCI：

```mermaid
flowchart TD
    A["真实身份SUPI<br/>形如IMSI"]
    A --> B["手机生成一次性密钥对"]
    B --> C["用归属网公钥加密SUPI"]
    C --> D["密文加上公钥的编号<br/>打包成SUCI"]
    D --> E["空口人人可见<br/>却看不出是谁"]
    E --> F["只有归属网持有私钥<br/>能解密还原SUPI"]
    F --> G["每次入网SUCI都不同<br/>被动跟踪失效"]
```

三个设计细节都值得说"为什么"：

- **加密用的是归属网络的公钥**，不是拜访网络的。因为身份的"主人"是归属网，只有它握有解密私钥；拜访网（哪怕是被入侵的）看到的永远只是密文；
- **每次入网都用全新的一次性密钥对**。于是同一个人两次入网的 SUCI 完全不同，窃听者无法通过"同一个密文反复出现"来跟踪轨迹；
- **密文里附带"公钥标识"**，告诉归属网该用哪一把私钥来解——运营商可以定期更换密钥对而不影响老手机入网。

四代网络的身份暴露程度放在一起看更直观：

| 代际 | 入网首条消息报什么 | 明文风险 |
|------|--------------------|----------|
| 2G/3G | IMSI 或临时 TMSI | 无 TMSI 时 IMSI 明文裸奔 |
| 4G | GUTI 为主 | 无 GUTI 时仍可被点名要明文 IMSI |
| 5G | SUCI（密文） | 首条消息即为密文，归属网外无人可解 |

### 3.3 诚实的边界：SUCI 不是万能护身符

要客观地说清 SUCI 防什么、不防什么。它防的是**被动窃听者抓取身份**——这是 2G/3G 时代最猖獗的一类攻击。但它不防主动攻击：伪基站仍然可以广播信号吸引手机接入、发起伪造挑战消耗手机电量、或直接拒绝服务。身份隐身≠消灭假基站，这两件事经常被混为一谈。

## 四、一套暗号，两种跳法：5G-AKA 与 EAP-AKA'

5G 标准允许两种主认证方法，共享同一套卡内算子和挑战-响应内核，差别在"流程外壳"：

| 维度 | 5G-AKA | EAP-AKA' |
|------|--------|----------|
| 出身 | 蜂窝传统 AKA 的 5G 改造版 | 源自互联网 EAP 认证框架的扩展 |
| 典型场景 | 蜂窝接入（手机连基站） | 非蜂窝接入：WiFi 通话、企业专网 |
| 流程形态 | 归属网与拜访网两段式确认 | 套在 EAP 四步消息（或 IPsec 建隧道流程）里跑 |
| 密钥绑定 | 星号密钥绑定服务网络名 | 密钥额外再绑定接入网络标识 |
| 谁决定用哪个 | 归属网按用户签约配置 | 同左，并非二选一的"技术竞赛" |

为什么要有 EAP-AKA'？因为 5G 的愿景是"一张核心网接万物"：手机可能从蜂窝接入，也可能从家庭/企业 WiFi（通过专用网关隧道）接入，甚至未来从卫星接入。EAP 是互联网世界久经考验的认证外壳，把 AKA 装进这个外壳，**不同接入方式的认证体验和密钥体系就能统一**；名字里那一撇（'）代表它的派生密钥额外绑定了接入网的身份，防止蜂窝里派生的密钥被拿到 WiFi 场景复用。

现网里最典型的 EAP-AKA' 用户，就是打开 **WiFi 通话（VoWiFi）** 的手机：它先与运营商的专用网关建立加密隧道，隧道内跑的认证正是 EAP-AKA'。

## 五、认证成功，不等于加密开始

一个高频误解：认证通过后通话数据就自动加密了。实际上这是**两道门**：

1. **主认证**（本文的主角）：手机与归属网互相验证，产出锚点密钥 Kseaf；
2. **安全模式命令**：认证成功后，网络与手机再走一轮协商，激活**完整性保护**（防篡改）和**加密**（防窃听）——这才是空口保护真正"通电"的时刻。

5G 在这一步也有一处值得注意的升级：4G 的用户面数据只有加密、没有完整性保护（LTE 从未支持用户面完整性），篡改用户数据在协议层是无感知的；5G 补上了用户面完整性保护的能力，虽然出于处理开销考虑是否启用由运营商决定，但机制已经就位。信令完整性保护则从 4G 起就是强制的，5G 延续并收紧。

排障时的实用推论：**认证和安全模式是两个独立阶段，失败要分段看**。认证失败查 K、SQN、SUCI 解密；安全模式失败查算法协商与密钥派生，混在一起查会南辕北辙。

## 六、现网连接：工程师会在哪里用到这些

- **换卡/补卡后认证失败**：优先怀疑 SQN 失步——新卡与网侧序列号没对齐，触发重同步流程；若持续失败，查签约数据库里的 K 数据是否与卡一致；
- **5G 用户始终认证不过、日志里 SUCI 解密报错**：典型原因是运营商更换了 SUCI 加密公钥，而网侧私钥版本没同步齐——对照消息里的公钥标识与归属网配置的密钥版本即可定位；
- **VoWiFi 打不通、卡在隧道建立阶段**：抓包看 EAP-AKA' 的挑战应答是否完成，失败原因常在签约未开通相应凭证，而非 WiFi 本身；
- **Wireshark 排查认证**：认证挑战与应答都在手机与核心网之间的 NAS 消息里，基站只是转发——所以要抓的是 NAS 层消息，别在基站侧日志里找"考卷"；
- **国际漫游**：拜访网全程只见短期锚点密钥，根密钥 K 从不跨境——理解了这一点，很多"漫游用户为何要回归属网取认证材料"的信令绕行就顺理成章了。

几个最常见的误解，集中澄清：

1. **"认证是基站做的"**——错。基站只是传话人，考官永远是归属网，因为 K 在归属网手里；
2. **"有了 SUCI 假基站就废了"**——它只是废掉了假基站的"报名字"攻击，压制、耗电、拒绝服务仍然可行；
3. **"认证通过等于通话已加密"**——中间还隔着安全模式命令这道门；
4. **"EAP-AKA' 是 5G-AKA 的替代品"**——两者并存，按接入场景和签约配置选择，谈不上谁取代谁。

## 常见问题

**Q：5G-AKA 和 EAP-AKA' 哪个更安全？**
A：安全强度同源——两者用同一套卡内算子和挑战-响应内核，都具备双向认证。差别在流程外壳与密钥绑定的对象：EAP-AKA' 的密钥额外绑定接入网标识，更适合多接入场景。归属网络按签约决定用哪个，这是场景选择，不是先进性排名。

**Q：SIM 卡丢了，别人能冒充我吗？**
A：理论上持有你的卡就能通过认证——体系保护的是"持卡人"，这正是机卡不分离场景下的设计前提。所以补卡时运营商会注销旧卡签约、换发新的 K；卡本身的 PIN 码防的是开机后随手拿起手机的场景。

**Q：为什么 5G 空口认证这么强，还会有运营商间信令层面的攻击？**
A：空口认证保护的是"手机 ↔ 归属网"这一段；运营商网络之间的互联互通信令（漫游结算那一层）是另一道门，有自己独立的防护体系。两道门互不替代，历史上多起位置泄露事件的根源在后一道门，而不是空口。

**Q：SUCI 会不会还是泄露信息？**
A：密文本身不泄露身份，且因一次性密钥对不同次入网不可关联。但它不防"主动攻击者逼手机交互"这类行为——身份隐身解决的是"被动看"，不解决"主动问"。

**Q：认证里的序列号 SQN 为什么要在卡里存一份、网里也存一份？**
A：这正是防重放的记账本：网侧每发一次挑战记一笔，卡侧核对来的是不是"新账"。两边账本对不上的场景（换卡、数据回退）触发重同步，把账重新对齐，而不是简单拒绝——否则一张正常的卡可能被永久锁死。

## 参考来源

> 说明：本次写作环境未开放联网检索，以下为该主题的通行权威入口与经典教材体系，内容以正文所依据的教科书共识为准，未逐条在线核对，请读者自行甄别更新。

1. [IMSI catcher — Wikipedia](https://en.wikipedia.org/wiki/IMSI_catcher) — 2G/3G 明文 IMSI 泄露与假基站攻击原理的公共词条
2. [5G — Wikipedia](https://en.wikipedia.org/wiki/5G) — 5G 网络架构与安全特性的概览入口
3. [Authentication and key agreement (AKA) — Wikipedia](https://en.wikipedia.org/wiki/Authentication_and_key_agreement) — 挑战-响应式 AKA 机制的通用条目
4. [ShareTechnote 5G](https://www.sharetechnote.com/) — 工程师常用的 5G 流程与消息图解参考站，检索「5G Security / SUCI」
5. 《移动通信》《通信原理》经典教材中关于鉴权与加密章节 — 挑战-响应、序列号防重放的教学体系来源

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