想象一个场景:你走进火车站广场,一个“警察”拦住你查身份证。他制服有点旧,但嗓门大、位置好,你下意识就把身份证递了过去——而他根本不是警察,只是想记录你去过哪里。
在移动通信的世界里,这个“假警察”有一个专门的名字:IMSI捕手(IMSI Catcher),也叫伪基站、蜂窝仿真器(Cell Site Simulator)。它是一个功率可调的假基站,靠信号强度“截胡”周围手机,让手机以为找到了最好的小区,主动附着上来。而它最大的威力,建立在一个通信行业背了三十年的历史包袱上:手机会在空口上把真实身份明文喊出来。
这篇文章要讲清楚三件事:为什么手机当年会“自报家门”;4G时代打上的“补丁”为什么没根治;以及5G的SUCI机制是如何用一个“加密信封”让IMSI捕手这门生意基本失灵的。理解了这条设计脉络,你就理解了移动通信安全理念从“能加密就行”到“默认安全”的整个转变。
要理解问题,得先看GSM(2G)的开机流程。手机开机后要入网,网络得知道“你是谁、能不能用”。这个身份就是IMSI——存在SIM卡里的一串号码,包含国家码、运营商码和用户号码,相当于你在移动网络里的身份证号。
问题出在流程的先后顺序上。GSM的设计逻辑是:先报身份,再鉴权,最后才加密。鉴权和加密需要网络先知道你是谁,才能从归属网络取来你的密钥做挑战应答。于是流程变成了这样:
flowchart TD
A["手机开机 扫描信号"] --> B["真假基站同时可见"]
B --> C["假基站功率更大"]
C --> D["手机选中假基站"]
D --> E["网络索要身份"]
E --> F["手机回传IMSI 明文"]
F --> G["捕手拿到真实身份"]
D --> H["真基站被晾在一边"]
注意第6步:IMSI是明文。任何一台能收到GSM信号的接收机,只要守着位置更新信令,就能“捡”到周围手机的IMSI——这叫被动窃听,连假基站都不用建。
而主动式的IMSI捕手更进一步。它利用了手机选网的基本规则——谁信号强就选谁(手机并不验证基站的真伪,因为2G网络对手机是单向认证:手机向网络证明自己,网络却不向手机证明自己)。假基站钓到手机后,还可以利用GSM加密可选的设计,要求手机“关闭加密”再通信。据公开报道和学术界的实测研究,在GSM网络上这类设备可以稳定地完成身份识别、定位跟踪,甚至压制通话加密。
这套东西很快从实验室走向了两个方向:一是执法部门用它定位嫌疑人(据公开报道,美国执法部门长期采购使用这类设备,细节多年保密,也因此引发过激烈的公民自由争议);二是诈骗产业用它群发垃圾短信——国内2010年代对“伪基站”的集中治理,打击的主要就是这一支。
3G和4G补上了GSM的两个大洞:双向认证(网络必须用运营商密钥证明自己,假基站骗不过鉴权了)和强制完整性保护(信令不能被篡改)。同时引入了临时身份机制:网络认证通过后,分配一个临时标识代替真实身份——4G里叫GUTI,相当于入职后发的临时工牌,之后寻呼、切换都用工牌,不再喊身份证号。
这套组合拳让被动窃听基本失效了。但首次接入的场景留下了一个口子:
| 代际 | 常用身份 | 首次接入暴露面 | 假基站能拿到什么 |
|---|---|---|---|
| 2G | IMSI / TMSI | IMSI明文上空口 | 真实身份,还能要求关闭加密 |
| 3G | IMSI / TMSI | 首次接入仍可能明文IMSI | 真实身份,但骗不过双向认证 |
| 4G | GUTI | 网络不认识时可明文索要IMSI | 临时身份关联追踪、索号、拒绝服务 |
| 5G SA | SUCI / 5G-GUTI | 用户号码部分是密文 | 只能拿到一个“加密信封” |
4G的问题在于:手机带GUTI来报到,但网络不认识这个GUTI时(比如核心网数据丢了、手机换了池区、周期性注册超时),规范允许网络直接发一条“把你的IMSI给我”的请求,而手机必须照办——还是明文。主动式假基站只要故意“装不认识”,反复索要,就能逼手机亮出真实身份。此外,即便拿不到IMSI,捕手也可以通过反复触发寻呼、关联临时标识的变化,对特定手机做跟踪——4G时代的蜂窝仿真器,主要就退化成了这类“追踪器”和“干扰器”。
根本矛盾没解决:真实身份上空口的通道一直开着,只是用得少了。
5G的思路彻底变了:既然“先报身份才能鉴权”的顺序改不掉,那就让报出去的身份本身看不懂。这就是SUCI(Subscription Concealed Identifier,隐藏的用户标识)。
先给技术定义:手机开户时的永久身份叫SUPI(5G里的IMSI),入网时手机不直接发SUPI,而是用归属运营商的公钥把它加密成一个SUCI再发出去。网络里能解密这个信封的,全世界只有归属运营商的那把私钥。
用一个日常类比:这就像邮筒。任何人都能往邮筒里投信(公钥是公开的,手机都有一把),但只有邮递员手里的钥匙能拆(私钥在归属网络,从不外发)。路上的任何人——包括假基站——只能捡到一个封好的信封。
这个信封的结构值得仔细看,它体现了“最小暴露面”的设计思想:
flowchart TD
S["SUCI 加密信封"] --> P1["明文区"]
S --> P2["密文区"]
P1 --> A1["SUPI类型"]
P1 --> A2["归属网国家码与网络码"]
P1 --> A3["路由指示器"]
P1 --> A4["加密方案与公钥编号"]
P2 --> B1["密文 原用户号码"]
P2 --> B2["MAC防篡改校验码"]
注意:信封上寄往哪个国家、哪家运营商是明文的——因为拜访网络要靠它知道“这个信封该寄给谁”;真正被藏起来的,只是用户号码本身。隐私保护瞄准的是“你这个人”,而不是“你用哪家网”。
| SUCI字段 | 是否加密 | 作用 |
|---|---|---|
| SUPI类型 | 明文 | 表明里面装的是IMSI还是其他网络标识 |
| 归属MCC/MNC | 明文 | 国家与运营商,供选路和漫游 |
| 路由指示器 | 明文 | 归属网内部的分诊提示,开户时写进USIM |
| 保护方案标识 | 明文 | 声明用的是哪套加密算法 |
| 公钥编号 | 明文 | 归属网有多把公钥时,指明用哪一把 |
| MAC校验码 | 密文区 | 防止信封在途中被篡改 |
| 密文 | 密文区 | 加密后的用户号码(原MSIN) |
SUCI的加密采用的不是什么新发明,而是一套成熟的混合加密框架——ECIES(椭圆曲线集成加密方案)。以最常用的X25519方案为例,手机发送SUCI前做了四件事:
第一步,现配一把一次性钥匙。 手机本地生成一对临时的椭圆曲线密钥对(私钥 $e_{priv}$、公钥 $E_{pub}$),用完即扔,下次注册重新生成。
第二步,算出共享秘密。 手机用归属网公钥 $H_{pub}$ 和自己的临时私钥做椭圆曲线点乘,归属网用私钥和手机公钥做同样的运算,双方不传输任何秘密,却各自得到同一个数:
$$Z = e_{priv} \times H_{pub} = h_{priv} \times E_{pub}$$
这就是椭圆曲线迪菲-赫尔曼密钥交换(ECDH)的精髓:公开信道上交换的是公开值,推导出的共享秘密只有双方算得出来。窃听者拿着 $E_{pub}$ 和 $H_{pub}$,数学上推不出 $Z$。
第三步,派生工作密钥并加密。 共享秘密 $Z$ 经密钥派生函数展开成加密密钥和校验密钥:
$$K_{enc} \,|\, K_{mac} = \mathrm{KDF}(Z \,|\, \text{公开参数})$$
然后用对称加密把用户号码装进信封:
$$C = \mathrm{AES\text{-}GCM}{K)$$}}(\mathrm{MSIN
第四步,贴防拆封条。 用校验密钥对整个明文头计算MAC码:
$$\mathrm{MAC} = \mathrm{HMAC}{K)$$}}(\text{明文头
归属网收到信封后,先验MAC(信封没被调包),再解密(拆出号码)。
这套设计里有三个“为什么”,每一个都值得咀嚼:
为什么要MAC? 只有加密的话,假基站虽然看不懂号码,但可以篡改信封内容制造混乱,或者把别人的信封原样重放。MAC让归属网能一眼识破“被拆过又封回去”的信。
为什么用一次性密钥对? 如果手机用固定的密钥对加密,那么“信封”本身就成了新的追踪标识——同一个手机发出的信封永远长得一样,捕手不需要拆开就能认出你。每次现配钥匙,意味着同一部手机每次注册发出的信封都完全不同,追踪者失去了关联锚点。这在密码学里叫前向不可关联性。
为什么明文区不全藏起来? 拜访网络要知道信封寄给谁(国家/运营商)、走哪条内部分诊路线(路由指示器)、用什么钥匙验封(方案与公钥编号)。藏掉不需要公开的,公开必须公开的——这就是最小暴露面原则。
SUCI流程里还有一个容易被忽略的设计:解密功能只存在于归属网络(归属网的UDM里有一个专门的解密功能,通常被称为身份解隐藏功能)。整个旅程是这样的:
sequenceDiagram
participant U as 手机
participant G as 基站
participant A as 拜访网AMF
participant D as 归属网UDM
U->>U: 现配一次性密钥对
U->>G: 注册请求 携带SUCI
G->>A: 转发注册请求
A->>D: 信封寄往归属网
D->>D: 用私钥验MAC并解密
D-->>A: 返回解出的SUPI
A->>U: 拿到身份 进入认证对暗号
为什么不让拜访网络的AMF就近解密?两个原因。其一,私钥是运营商最核心的资产,让它在拜访网络间流转等于把母公司保险柜的钥匙借给各地分店,泄露面指数级扩大;解密功能只部署在归属网,私钥物理上不出门。其二,漫游场景下拜访运营商与归属运营商是商业对手,归属网络也不愿意把能解出全部用户身份的能力开放给对方。
注册完成、双向认证通过之后,网络会分配5G-GUTI临时工牌,之后的寻呼和信令都用临时标识——和4G一样。区别在于:4G的临时工牌背后有一条明文通道随时可能被打开,而5G把这条通道焊死了。
把4G和5G的首次接入放在一起看,设计差异一目了然:
flowchart TD
subgraph G4["4G首次接入"]
A1["手机带GUTI报到"] --> A2["网络说我不认识你"]
A2 --> A3["索要IMSI"]
A3 --> A4["明文穿过空口"]
end
subgraph G5["5G首次接入"]
B1["手机带SUCI报到"] --> B2["网络说我不认识你"]
B2 --> B3["信封原样送归属网"]
B3 --> B4["私钥在家解密"]
end
4G的哲学是“信任管理员的记忆”——尽量让你用临时身份,忘了才要真的;5G的哲学是“就算要真的,也给你看不懂的”。前者依赖流程不出错,后者从密码学上封死。这就是“默认安全”(Security by Default)的含义:安全不依赖运营者正确配置,而是焊死在架构里。5G同时强制了信令完整性保护、统一鉴权框架,用户标识加密是这套理念下的一环。
排查第一问:为什么我的5G手机抓不到SUCI? 最常见的原因是终端以4G锚点方式入网(NSA组网):注册消息走在4G域,压根不走5G注册流程,自然没有SUCI。先确认组网模式和终端注册路径,再谈安全特性。这个问题在5G建设初期困扰过大量验证工程师。
开卡数据是隐形雷区。 SUCI能用起来的前提是:USIM里预置了归属网公钥和路由指示器,且归属网侧的解密配置与之匹配。如果卡的公钥编号和网络侧对不上、或路由指示器配错,归属网解不开信封,用户就会遇到注册失败或异常。遇到批量开户失败时,“卡内身份加密数据与网络侧配置是否一致”应该在排查清单上。不同设备商在解密失败后的具体处理策略存在差异,标准允许多种实现,具体行为以各厂家官方文档为准。
抓包时的读法。 在注册信令里看到SUCI,是一长串十六进制:前段明文可读出运营商国家码和网络码,后面那团“乱码”就是密文加MAC。如果你在抓包里看到了清晰的明文用户号码,说明这条注册走了不加密的保护方案——这类方案主要为无卡终端(如紧急呼叫场景)和互通测试保留,现网用户注册出现明文身份,本身就该是一个告警。
对假基站治理的意义。 5G并不能让假基站绝迹——拿不到你的身份,不等于不能干扰你:它仍然可以靠信号强度诱导手机驻留、制造拒绝服务。但攻击者的收益结构被改变了:从“低成本拿到真实身份”退化成“只能骚扰、无法识别”,取证和治理的逻辑随之不同。
误解一:SUCI加密等于用户认证。 不是。加密信封只解决“身份不被偷看”,认证解决“你是不是你”,两者是独立机制,信封拆开后才轮到鉴权挑战。别把空口安全的两层混为一谈。
误解二:5G空口彻底无法追踪。 SUCI藏的是用户号码,运营商明文部分仍在;注册后的5G-GUTI在寻呼时仍可能被关联分析;主动式设备依然能干扰。它消灭的是“低成本、大规模、被动式”的身份窃取,不是全部追踪手段。
误解三:有SUCI就不需要管临时标识了。 5G-GUTI依然重要——它让绝大多数信令连“信封”都省了。SUCI只在网络不认识你时出场,两者是配合关系。
Q: SUCI和5G-GUTI到底什么区别? A: SUCI是手机主动出示的“加密身份证”,用在网络不认识你的首次注册场景,里面的用户号码是密文;5G-GUTI是认证通过后网络发的“临时工牌”,用于之后的寻呼和日常信令。一个面向归属网,一个面向服务网络。
Q: 4G用户有类似的保护吗? A: 没有。4G只有GUTI临时身份,网络可以明文索要IMSI,这条通道在5G里被SUCI机制彻底关闭。这也是4G用户的首次接入仍可能被捕获器钓到身份的原因。
Q: 归属运营商能被假信封骗吗? A: 试图篡改或重放信封会被MAC校验拦下;伪造手机虽然能编一个假信封,但随后的认证环节过不了关——加密管“偷看不看得到”,认证管“是不是本人”,各司其职。
Q: 为什么漫游时拜访网络全程看不到用户身份? A: 拜访网络只能看到信封和明文的归属运营商信息,拆信用的私钥只在归属网络。这既是安全设计,也是运营商间商业博弈的结果——谁也不想把用户身份底牌交给合作方。
Q: 未来6G还会有更大的变化吗? A: 方向上仍是延续:更强的加密算法、更细的隐私粒度、以及把“默认安全”扩展到更多环节。理解了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 等场景全覆盖。
