---
标题: 身份证号也能加密？SUCI 隐身
作者: 爱卫生
封面: "[[封面1.png]]"
封面裁剪: false
原文地址:
打开评论: true
仅粉丝可评论: false
摘要: 第一个小区的规矩是：访客进门时，必须大声念出自己的身份证号，保安登记后放行。人多的时候，整个大堂都是身份证号的声音，谁在场谁都能听见、都能记下来。
---

<!-- title: 身份证号也能加密？SUCI 隐身 -->

# 身份证号也能加密？SUCI 隐身

## 一、从一个小区门禁说起

想象两个小区的门禁系统。

第一个小区的规矩是：访客进门时，必须**大声念出自己的身份证号**，保安登记后放行。人多的时候，整个大堂都是身份证号的声音，谁在场谁都能听见、都能记下来。

第二个小区的规矩是：访客进门时，把身份证复印件塞进一个**一次性加密信封**，信封上只写收件派出所的编号。保安拿到信封，看不懂内容，只能原封不动转交派出所；派出所用自己保管的钥匙拆开，核对身份后回一句“这人没问题”。更妙的是，同一个人每次来，信封的样式都不一样——昨天和今天两次投递，外人根本看不出是同一个人。

第一个小区，就是4G网络的写法；第二个小区，就是5G网络的写法。这篇文章讲的就是：5G是怎么把“大声念身份证号”这件事，改造成“一次性加密信封”的。这里面的设计权衡，比信封本身精彩得多。

## 二、手机为什么必须报身份

先回到问题的起点：手机入网时，为什么非得交出真实身份？

因为网络要办三件事：**鉴权**（确认你是你，防止冒用）、**计费**（找到你的开户档案）、**取数**（你的鉴权根数据存在归属运营商的库里，外地网络要去找它要）。

全球移动用户的永久身份叫SUPI（用户永久标识），最常见的形式就是IMSI，结构非常朴素：

- **MCC**（3位数字）：国家码，比如460是中国；
- **MNC**（2~3位数字）：运营商码，区分移动、联通、电信；
- **MSIN**（9~10位数字）：用户在该运营商内的唯一编号。

MCC+MNC相当于“XX省XX市”，MSIN才是那个精确到个人的门牌号。整串IMSI在运营商体系里是**终身不变**的——它太有价值了，一旦被拿到，你的轨迹、你的消费习惯，全都能被串起来。

正因为它终身不变、精确到人，它才成了整个移动通信史上被觊觎最久的一串数字。

## 三、4G的软肋：一个不能不报的明文号码

4G其实也知道IMSI敏感。所以日常待机时，网络给手机发的是一个**临时身份**（TMSI/GUTI），相当于化名，寻呼、更新位置都用化名，不暴露真名。

但化名有个天生的漏洞：**化名是网络现场发的，手机每次开机、换了跟踪区、或者临时身份失效后，就得重新“报名”一次**——因为此刻它手里没有有效化名，只能报真名。而此时鉴权还没开始，链路上没有任何加密保护。

伪基站（业界叫IMSI catcher，国内俗称“钓鱼基站”）就卡在这个节骨眼上。它的原理一句话就能说完：**装一个信号极强的假基站，让周围手机误以为它是最近的优质小区，纷纷向它发起接入**。接进来之后，它再借“网络需要核实身份”的名义，直接命令手机上交IMSI。手机在2G时代根本不会质疑基站——协议里压根没设计“基站向手机证明自己”这一步。

某百科的IMSI catcher词条对这类设备的描述相当直白：它就是一个“假基站”，夹在手机和真实网络之间搞中间人攻击；GSM规范只要求手机向网络证明身份，**不要求网络向手机证明身份**，这个著名的安全缺口正是它的工作原理；它可以强制手机上交IMSI，甚至强迫手机使用不加密或弱加密模式通话。词条还提到，这类设备已被多国执法部门采购使用（比如著名的Stingray设备），也因此引发了广泛的公民隐私争议。

也就是说，在4G的“第一次见面”环节，存在一个结构性的尴尬：**最需要保密的时刻，恰恰是网络最没有能力保密的时刻**。你每天走出地铁站的那个瞬间，理论上就有一台设备在空气里收你的身份证号。

## 四、鸡生蛋难题：鉴权之前，哪来的密钥？

要在空气里传加密的身份，得先有加密密钥；而加密密钥，是鉴权成功之后才协商出来的。可报身份又发生在鉴权**之前**。这就是经典的鸡生蛋问题：**没鉴权就没密钥，没密钥就不敢报身份，不报身份就没法鉴权**。

对称加密在这个场景里彻底失灵——对称密钥得双方先“对过暗号”才有，而此时双方还没对过暗号。

出路只剩一条：**非对称加密**。它的性质简直是为这个场景量身定做的——加密用公钥，人人可用；解密用私钥，只有持有者能做。不需要事先协商任何秘密，就能安全地递东西。

于是5G的设计是：

1. 运营商生成一对公私钥。**私钥**锁在归属网络的用户数据库（UDM）里，天塌了也不出门；**公钥**在发卡环节直接写进每一张USIM卡。
2. 手机入网要报身份时，不用报明文SUPI，而是用卡里的公钥把其中最敏感的MSIN**加密**，连同一些明文辅助信息，打包成一个新东西发出去——这就是**SUCI**（隐藏标识）。
3. 全网任何基站、任何服务网收到的都只是这个“信封”，谁都打不开，只能沿着明文里的路由信息，把它送回归属运营商。只有握着私钥的UDM能拆。

注意信任根在哪里：**在发卡那一刻**。公钥是出厂写死在卡里的，手机不需要从网络上下载任何东西——所以攻击者没有机会在空口上偷换它。这个“先把信任埋进卡里”的思路，是整个方案能站住的地基。

## 五、拆开SUCI：一个信封的构造

SUCI不是把整个IMSI加密了事，它的构造相当讲究，分两段：

$$SUCI = MCC \,\|\, MNC \,\|\, PK_{id} \,\|\, PK_{tmp} \,\|\, Enc_{K}(MSIN)$$

逐段看：

| 字段 | 内容 | 明文还是密文 | 作用 |
|---|---|---|---|
| MCC + MNC | 国家码+运营商码 | 明文 | 网络靠它把信封**路由**回归属运营商，不含个人隐私 |
| 公钥标识 | 锁的“型号编号” | 明文 | 告诉归属网该用哪一把私钥来解（支持换钥版本） |
| 临时公钥 | 一次性椭圆曲线公钥 | 明文 | 本次加密的“信封投递口”，用完即弃 |
| 加密的MSIN | 真正的个人身份 | 密文+校验码 | 全信封里唯一的隐私，外人不可见 |

有人会问：MCC/MNC为什么明文？因为服务网拿到信封后，得知道**往哪个归属局送**。这部分只泄露到“你是哪家运营商的用户”这个粒度，粒度足够粗，不构成定位个人的风险——这是一个典型的“按需最小暴露”设计。

加密部分用的是椭圆曲线集成加密方案（ECIES），流程如下：

```mermaid
flowchart TD
    A["USIM卡里预置的东西"] --> B["永久身份SUPI"]
    A --> C["归属网公钥"]
    A --> D["公钥标识"]
    C --> E["生成一次性密钥对"]
    E --> F["临时私钥，用完即毁"]
    E --> G["临时公钥，随信封外发"]
    F --> H["与归属网公钥做ECDH"]
    H --> I["KDF推导出加密密钥与校验密钥"]
    I --> J["加密MSIN并附加校验码"]
    B --> K["MCC与MNC保持明文"]
    D --> L["拼装成SUCI"]
    G --> L
    J --> L
    K --> L
```

数学上，会话密钥来自一次临时的椭圆曲线Diffie-Hellman计算：

$$K_{enc},\, K_{mac} = KDF\big(ECDH(sk_{tmp},\, PK_{home})\big)$$

临时私钥 $sk_{tmp}$ 每次都是现生成、用完即毁的随机数。IEEE DataPort上一篇解析SUCI格式的文章给出了具体的字节账：临时公钥占256位，校验码（MAC）占64位，被加密的MSIN占40位——MSIN按BCD编码恰好装满5个字节。整把“锁”的成本，不过几十个字节。

这里有个容易忽略的细节：**加密之外还附了校验码（MAC）**。归属网解密前先验校验，确保信封在路上没被人篡改过——比如有人把信封里的收件信息掉包。加密解决“看不见”，完整性解决“改不了”，两件事从来都是成对出现的。

## 六、一次注册的全流程：从面具到真名

把整条链路串起来，看看这个“信封”在网络里怎么走：

```mermaid
sequenceDiagram
    participant U as 手机
    participant A as 服务网AMF
    participant H as 归属网UDM
    U->>A: 注册请求，携带SUCI
    A->>H: 转交SUCI，请求解掩蔽
    Note over H: SIDF用私钥解出MSIN
    H->>A: 还原出SUPI
    A->>H: 依SUPI取鉴权数据，发起AKA
    H->>A: 返回鉴权向量
    A->>U: 下发挑战，要求自证
    U->>A: 校验网络身份，回算结果
    Note over U,A: 双向认证通过
    A->>U: 注册成功，发放5G-GUTI
```

几个值得咂摸的点：

**第一，解信封的人离路由越远越好。** 解掩蔽功能（把SUCI还原成SUPI的那一步）放在归属网的用户数据库里，而不是放在服务网的接入设备上。漫游场景下， visiting网络全程只经手密文——接待你的外地网络，从头到尾不知道你是谁，它只需要归属局一句“这人靠谱”。

**第二，信封只递一次。** 注册成功后，网络立刻发放临时身份5G-GUTI，此后寻呼、位置更新全部用化名。SUCI只在“手机手里没有任何有效化名”的场景下出场——开机首次注册、临时身份网络认不出等。真名面具只在第一次见面用，混熟了就全程代号。

**第三，这一整套只是“报名”环节，真正的信任建立靠后面的AKA双向认证**——SUCI保证的是“别人不知道我叫什么”，AKA保证的是“网络和我互相确认对方是真的”，两层防线各管一段，谁也不能替代谁。

## 七、点睛之笔：为什么每次的面具都不一样

这是整个设计里最漂亮的部分。

信封里的名字（MSIN密文）每次都不同，因为加密用的是**一次一密式的一次性密钥对**。于是同一个人，今天在A市注册产生一个SUCI，明天在B市注册产生一个完全不同的SUCI，两者之间**没有任何统计关联**。

这在对抗上极其关键。伪基站的杀伤力不只是“读出你一个号码”，更在于**跨地点关联**：在地铁站收一批SUCI，在写字楼收一批SUCI，如果同一部手机的标识前后一致，攻击者就能画出这个人的完整轨迹——从“他知道有这么个人”升级为“我知道这个人每天几点在哪”。一次性信封把这整条情报链掐断了：每次出场都是陌生人。

对比之下，化名（TMSI/GUTI）方案虽然也防追踪，但它本质上是一张**网络签发的可回收工牌**——化名与真名的映射表存在运营商库里，而且化名是复用的，在更新周期内保持不变，仍有被关联的窗口期。SUCI则是**用户侧单方面产生的、永不复用的一次性面具**，连“复用窗口”这个概念都没有。

两代方案的差距，一张表看全：

| 对比项 | 4G（IMSI明文） | 5G（SUCI） |
|---|---|---|
| 首次注册上交的身份 | IMSI明文 | SUCI（仅MSIN加密） |
| 保护时机 | 鉴权前无保护 | 鉴权前即加密 |
| 加密体系 | 无 | 椭圆曲线ECIES |
| 解密能力归属 | — | 仅归属网私钥 |
| 跨场景可关联性 | 同号终身，一收一个准 | 每次不同，无法关联 |
| 伪基站能读到什么 | 完整IMSI | 看不懂的密文 |
| 信任根 | 无 | 发卡时预置的公钥 |

## 八、边界与清醒剂：面具不是防弹衣

工程上最忌讳把某个安全机制当万能药。SUCI的防护边界画得很清楚：

**第一，它管“看不见”，不管“进不来”。** 伪基站虽然读不出身份了，但假冒小区仍然能诱导手机接入、消耗手机电量、制造干扰，甚至尝试把手机拖向安全能力更弱的旧制式——这是**拒绝服务与降级攻击**，SUCI对它们无能为力。降级防护靠的是另外的手段：5G网络可以通过卡内策略禁止手机主动回落到不加密的旧制式，认证体系本身也设计成“网络必须证明自己”。

**第二，它是一种“可选项”。** NIST在2026年发布的SUCI白皮书里明确指出：SUCI保护在5G标准里是运营商**可选部署**的安全能力，需要在网络侧和用户SIM卡两侧同时开启才能生效。也就是说，一个5G手机插一张老卡，或者一张新卡落在没启用这套机制的网络里，都可能退回不受保护的状态。安全机制的落地面，永远是“标准允许”和“现网启用”之间的距离。

**第三，紧急呼叫留了一扇明文的门。** 标准保留了一种“空加密”方案——不加密、直接传明文标识（甚至无标识），专门用于无卡紧急呼叫等场景。救人性命的时刻，隐私让位于可用性，这是全行业共识的取舍。

**第四，面具防的是读，不防冒。** 有人担心：SUCI被录下来重放，能不能冒充我？不能——重放的SUCI在后续鉴权环节立刻露馅，因为挑战应答用的是鉴权根数据，录音里没有。重放最多让网络“又看到一次这个信封”，换不来任何业务权限。

## 九、实战连接：这东西在现网长什么样

**抓包看到的。** 用Wireshark解码5G NAS信令，打开Registration Request，能看到`ngKSI`旁边有个SUCI字段。展开后结构一目了然：明文的MCC/MNC、公钥标识（一个字节，标识用哪版公钥）、一段256位的椭圆曲线临时公钥，以及那40位的加密MSIN——在抓包里它就是一串不可读的十六进制数。如果你在抓包里看到的是**明文SUPI**，说明这台设备走了空加密方案，要么是紧急呼叫，要么是卡/网两侧有一侧没启用SUCI——这是一个非常值得记录的排查信号。

**运维碰到的。** 换代公钥是最经典的坑：运营商轮换密钥（比如从第一版换到第二版），发卡侧新卡写了新公钥标识，核心网侧私钥没同步到位，结果新卡用户注册失败或异常回落，UDM日志里表现为解掩蔽失败。排查口诀：**卡里的公钥标识、核心网的私钥版本、UDM的解掩蔽开关，三处必须对齐**。此外标准允许多种实现与配置方式，具体行为以各厂家官方文档为准。

**测试遇到的。** 做终端入库测试时，SUCI是必测项：验证首注册上报的是SUCI而非明文SUPI、验证每次注册的SUCI确实在变化（不可关联性）、验证漫游场景下服务网全程拿不到明文身份。

**行业层面的。** 各国监管对“用户可被空口追踪”越来越敏感，欧洲的隐私法规直接把“网络必须能证明你没在偷偷记录用户轨迹”摆上台面。SUCI这类机制正在从“加分项”变成“准入项”——这也是NIST专门为它出白皮书的原因：推动这个可选项真正被用起来。

## 十、把设计思想带走

回头看，这个方案没有发明任何新密码学——椭圆曲线、ECDH、ECIES全是几十年的老技术。它真正精彩的是三个工程判断：

1. **识别真正的信任起点**：鉴权前无密钥，所以唯一能用的信任根是发卡时埋进卡里的公钥——把信任锚放在攻击者永远够不到的地方。
2. **按需最小暴露**：路由需要什么就明文什么（MCC/MNC），隐私是什么就密文什么（MSIN），不做一刀切。
3. **新鲜性即隐私**：一次性的密钥对让“同一个人”在空口上呈现为“每次都是陌生人”，直接摧毁跨场景关联的情报价值。

安全设计的高手，赢的从来不是算法，而是对“什么时刻、什么人、需要什么级别的保护”的精确切分。

## 常见问题

**Q: SUCI和5G-GUTI有什么区别？**
A: 两者都保护隐私，但机制完全不同。SUCI是手机**自己用归属网公钥加密**出来的，只在首次注册等无化名场景使用一次；5G-GUTI是**网络注册成功后签发的随机临时号**，靠网络侧的映射表反查真名，日常寻呼、位置更新都用它。一个是一次性加密信封，一个是可复用的工牌。

**Q: SUCI每次都不同，网络怎么认出是我？**
A: 变化的只是“外衣”。归属网用私钥解开信封，得到的MSIN是固定不变的——外衣天天换，名字只有一个。不可关联性防的是空口上的旁观者，不是持有私钥的归属网。

**Q: MCC/MNC明文传输，会不会泄露隐私？**
A: 只会泄露到“你是哪家运营商的用户”这一粒度，无法定位到个人。而这段明文是路由刚需——服务网要靠它决定把注册请求送回归属网的哪个入口。隐私敏感的MSIN部分则全程密文。

**Q: 有了SUCI，伪基站是不是就废了？**
A: 它的“读身份”能力确实废了，但还能制造干扰、诱导接入、尝试把手机拖向旧制式。所以伪基站治理是一套组合拳：SUCI管身份保密，卡内禁回落策略管制式选择，鉴权体系管网络真伪，各管一段。

**Q: 老的4G手机能用SUCI吗？**
A: 不能。SUCI是5G引入的机制，需要终端和USIM卡都支持（卡里必须预置归属网公钥），且运营商网络侧开启相应功能。4G终端在4G网络里仍是老的临时标识加明文IMSI机制——这也是5G安全设计要重点防“降级”的原因。

## 参考来源

1. [NIST白皮书：Protecting Subscriber Identifiers with SUCI](https://csrc.nist.gov/pubs/cswp/36/a/protecting-subscriber-identifiers-with-suci-applyi/final) — 权威说明SUCI的椭圆曲线加密流程与可选部署属性
2. [Cisco 5G AMF配置指南：SUCI Profile](https://www.cisco.com/c/en/us/td/docs/wireless/ucc/amf/2023-03/config-and-admin/b_ucc-5g-amf-config-and-admin-guide_2023-03/m_suci_profile.pdf) — 厂商视角的SUCI生成与ECIES保护说明
4. [IEEE DataPort: 5G SUCI of IMSI-based SUPI](https://ieee-dataport.org/open-access/5g-subscription-concealed-identifier-suci-imsi-based-subscription-permanent-identifier) — SUCI各字段的具体比特宽度与编码细节
5. [Magma文档：SUCI Extensions](https://magma.github.io/magma/docs/next/lte/suci_extensions) — 开源核心网对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 等场景全覆盖。

![[知识星球二维码.png]]
