首页 › deep-tech › 先验证件再发钥匙:5G入网认证

手机开机,几秒内连上网,看起来天经地义。但你想过一个更根本的问题吗:手机怎么确定,头顶上这个基站不是别人架的假站?基站又怎么确定,这部手机不是克隆卡?

在商场连一个陌生的Wi-Fi你都要犹豫一下,而移动网络面对的处境更极端——空口是广播信道,你发出的每一个比特,半径几百米内的天线都听得见。在这样的信道上完成“你是谁”的确认,还不许把任何秘密明文送出门,这是移动网络安全要解的第一道题。

这道题的答案叫认证与密钥协商,业内简称AKA。本文把它拆开讲透:挑战应答为什么安全、AUTN这个小结构凭什么证明“网络是真的”、5G相比4G把哪三处设计推倒重做,以及一线工程师在信令里见到的那些鉴权失败,各自对应什么病根。

一、报密码行不通,那怎么办

先想一个最朴素的方案:手机把密码发给网络,网络一比对,对上就放行。

这个方案在空口上等于裸奔。空口是广播的,密码发出去就永远收不回来,谁听到谁就“是你”了。网站登录传密码好歹还有TLS加密套着,而手机入网那一刻,恰恰是加密还没建立的时刻——典型的鸡生蛋问题:加密需要的钥匙,得靠认证来发;而认证这个动作本身,还没法加密。

解法是一套用了三十年的老智慧:挑战应答。原则只有一句话——

证明“我知道秘密”,而不是把秘密本身传出去。

具体做法:网络出一道一次性随机题(记作RAND),手机用只有自己知道的密钥K算出答案发回去。窃听者题目、答案都听得到,但只要K从不出门、算法单向,听到再多遍也算不出下一题的答案。

用公式说,答案大致长这样:

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

f是单向函数:由K和RAND算RES容易,反过来由RAND和RES反推K,计算上不可行。整个移动网络安全的大厦,就盖在这一条不等式上。

那K放在哪?答案是:全世界只有两份。一份在发卡时就写进USIM卡的安全域里,读不出来,只能“进题出答案”;另一份在归属运营商的凭证库里。除此之外,包括你手机操作系统、包括你漫游去的那个国家运营商,谁都不持有K。

二、一套挑战,三重使命

很多人以为鉴权就是“一问一答”,实际上5G的鉴权材料是一个五件套,每一样都有明确分工:

材料 谁生成 走到哪 使命
RAND 归属凭证库 明文飞到手机 一次性题目,保证每次不同
AUTN 归属凭证库 明文飞到手机 网络的证件:证明网络认识我,且题目是新的
RES* 手机卡内计算 回传归属网终审 手机的答案:证明手机认识K
HXRES* 归属认证服务 交给拜访网络 答案的散列指纹,供拜访网粗判
锚点钥匙 两端各自派生 从不在空口出现 认证产物,后续加密用它

重点看AUTN。它是网络递给手机的“证件”,展开就三个字段:

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

三项全过,手机才认定“这个网络是真的”,才肯算答案回传。注意方向:鉴权从来不是单向查户口,而是互相验证件。手机验网络那一步,靠的正是AUTN里这个小小的MAC。

这些计算全部发生在USIM卡内部:题目进卡,答案出门。所以换手机不换卡,安全不受影响——钥匙根本不在手机里。这也是防克隆卡的全部原理:卡里的K读不出、改不了,克隆卡没有K,答不出题。

产出答案的同时,卡还顺带算出加密和完整性保护要用的密钥原料。换句话说,认证成功的副产品,就是后续加密的钥匙——认证和加密不是两件事,是一件事的两段。

三、4G的三处旧伤,5G的返工

挑战应答的骨架,4G和5G是同一副。5G真正动刀的,是“谁说了算”。要理解这一点,得先看4G的老流程差在哪。

4G时代,归属网络把鉴权材料整套打包发给拜访网络:题目、证件、标准答案,还有认证成功后直接可用的锚点钥匙,一个信封全给你。之后拜访网络自己收答案、自己比对、自己发钥匙——判对判错,归属网络全程不知情。

这个设计有三处毛病:

毛病一:答案和钥匙同时出门。拜访网络拿着标准答案自查,等于归属网络把判决权完全让渡。而拜访网络可能是合作伙伴,可能是漫游地运营商,安全水准参差。

毛病二:认证完没有回执。用户到底认证成功没有,归属网络永远不知道。极端场景下,一个假核心网收了用户的答案就自己宣布通过,归属网络对此毫无感知。

毛病三:钥匙不认地方。派生钥匙时不绑定“此刻我在谁家网里”,同一套钥匙材料理论上可以在不同网络间挪用、串用。

5G对这三处各动一刀:

第一刀:真答案不出家门,只发指纹。归属网络生成答案后自己留着(XRES),发给拜访网络的只是答案的散列指纹(HXRES)。拜访网络可以用指纹快速粗判——指纹对不上当场拒绝,省一趟来回;但指纹推不出真答案,判决权收归归属网络:最终比对必须在归属网络完成。

第二刀:钥匙过关才放行。锚点钥匙不再随材料预发,而是归属网络终审通过后,才发给拜访网络。先验证件,再发钥匙,顺序倒了过来。认证结果还会回告归属网络存档——拜访网络骗不了家。

第三刀:钥匙绑定服务网。钥匙派生的输入里掺入了“服务网络名”。同一把K、同一道题,在不同网络里派生出的钥匙完全不同,跨网挪用的路被堵死。

用一张时序图看5G入网认证全流程(为聚焦认证,图中省略了只做透明转发的基站环节):

sequenceDiagram
    participant U as 手机与USIM卡
    participant S as 拜访网接入管理
    participant A as 归属网认证服务
    participant P as 归属网凭证库
    U->>S: 注册请求(身份加密隐藏)
    S->>A: 请求鉴权材料
    A->>P: 请求生成鉴权向量
    P->>A: 题目、证件与真答案
    Note over P,A: 真答案与钥匙留在家
    A->>S: 题目、证件与答案指纹
    S->>U: 下发题目与证件
    Note over U: 卡内验MAC查SQN算答案
    U->>S: 回传答案
    S->>A: 粗判指纹后转交答案
    A->>A: 终审比对答案
    A->>S: 通过并下发锚点钥匙
    A->>P: 回报认证结果
    S->>U: 后续信令用新钥匙保护

值得说明:图里的“拜访网络”和“归属网络”,不只在出国漫游时才有区别。即便你在家乡用本运营商的网络,接入管理层和凭证管理层在架构上也是分开的两个角色——只是恰好同属一家运营商而已。标准这样设计,是把“接入可以发生在哪里”和“凭证只有家能管”解耦。

把整个信任关系画成一张图更直观:

flowchart TD
    H["归属网络:管凭证发钥匙"]
    C["USIM卡:K永不出卡"]
    S["拜访网络:管接入不持K"]
    U["手机:先验网再亮答案"]
    A["空口:人人可听"]
    H -->|发卡时写入K| C
    H -->|只发题目证件指纹| S
    S -->|转发题目与证件| A
    A -->|手机验网络真假| U
    U -->|答案回传拜访网| S
    S -->|答案交归属终审| H
    H -->|过关才发锚点钥匙| S
    S -->|用新钥匙保护会话| U

看清楚一件事:K这一生只旅行过一次——发卡那天从运营商到卡里。此后无论多少次入网、漫游到多少个国家,空口上飞的永远只有题目、证件、指纹和答案。密钥从不旅行,这是全部设计的底座。

四、手机侧的验真三连

站在手机视角,收到证件后是一场三步连检,任何一步不过,认证就地终止:

flowchart TD
    R["收到题目与证件"] --> M["卡内用K重算MAC"]
    M --> C{"MAC对得上?"}
    C -->|对不上| F1["假网络,立即终止"]
    C -->|对上| Q["解出序列号SQN"]
    Q --> D{"序号在窗口内?"}
    D -->|太旧或跳太远| F2["判重播,走同步失败"]
    D -->|新鲜| K["算答案与密钥材料"]
    K --> O["答案回传等新钥保护"]

第一步验MAC,确认网络认识我;第二步查SQN窗口,确认题目不是重播。都过了,才算跟真网络对上了暗号。

这里有个工程上极有价值的细节:SQN窗口机制。为了容忍偶尔的乱序和重复(比如信令重传),账本校验不是“必须恰好等于下一页”,而是允许一个窗口范围;同时为了防止账本被恶意大幅推后,窗口外的处理也不是简单拒绝,而是走一条同步失败的特殊通道:手机回一个专门的同步参数,网络据此把账本对齐到手机的实际页码,然后重新出题。

这套机制平时安静无声,出事时却是标志性症状——后面调试一节会讲到它的经典案发场景。

还有一个容易被忽略的点:在5G-AKA流程里,手机自始至终收不到一张“认证成功”的明确回执。手机怎么知道自己过了?答案是看行动:拜访网络下一刻发来的信令,若能被新派生的钥匙正确解密和完整性校验,就等于网络在说“你过了”。受保护的信令本身就是回执。

五、两个流派:快与稳的取舍

上面讲的流程是5G-AKA。但5G其实同时支持第二种认证方法,两者气质截然不同:

维度 5G-AKA EAP-AKA'
出身 沿袭移动网挑战应答血统 源自Wi-Fi与企业网认证家族
往返开销 少,题答两趟 多一轮认证往返
成功回执 无显式回执,靠受保护信令间接确认 有受保护的显式成功消息,手机拿得到实据
归属网可见性 事中终审加事后回报 认证过程全程在归属网眼前完成
防追踪表现 曾被形式化分析指出存在边角案例 回执机制天然补上此短板
谁来选 归属运营商按策略决定 同左

第二种方法借用的是企业网认证的老框架:认证过程像一场多轮对话,由归属网络的认证服务亲自主持,手机每一步的回应归属网都看得到,最后还有一条受保护的成功消息发到手机手上——不存在“猜自己过没过”的问题。

为什么保留两个流派?因为这是一组典型的工程取舍:5G-AKA少一个往返,入网更快、信令更省,适合把时延当命的网络;EAP方法多一层确认,安全属性更完备,适合对确定性要求更高的场景。标准没有二选一,把选择权交给归属运营商按策略配置——同一个网络里,不同用户群可能走不同的认证路。

补充一句学界考据:曾有形式化分析工作把两种方法放进同一套符号系统推演,结论是5G-AKA因为缺那张显式回执,在防追踪的角落里留了一个理论口子,而EAP方法恰好没有。这也是“快与稳”取舍的一个真实注脚。

六、现网里它长什么样,调试时怎么用

原理讲完,落到一线。工程师真正和鉴权打交道,往往是在排障的时候。信令里常见的几种鉴权异常,各自指向完全不同的病根:

信令现象 手机的含义 经典根因 排查方向
MAC校验失败 网络不知道K 卡参数与网端参数表错位,OPc配置不一致 核对发卡数据表与网端签约数据
序列号失步循环 一直收到“旧题” 网端账本回滚、双活数据不同步 查近期数据操作,观察是否批量发生
同步失败刷屏 卡判重播并要求对账 数据迁移窗口期账本错位 迁移完成后批量观察是否自愈
认证通过但完整性失败 两边派生的钥匙不一致 服务网名等派生输入配置有差异 查钥匙派生输入,别死盯鉴权环节

三个经典案发场景,值得每个工程师记住:

场景一:换卡供应商之后大面积MAC失败。发卡数据表里的算子参数与网端配置差了一个变换环节,卡算出的校验码和网络期望的永远对不上。症状是批量、稳定复现,且集中在特定批次卡。这类问题的迷惑性在于:流程完全正常,就是数值不匹配,只能对参数表。

场景二:网端容灾切换后的序列号失步风暴。签约数据库从备份恢复,账本页码回退了几页;卡端的页码走在前面,一收题就判“这是重播”,集体走同步失败通道。特征是时间点与数据操作强相关、批量爆发。多数情况靠同步机制自愈,极端页码偏差过大的才会卡死、需要人工干预。

场景三:鉴权全过、业务不通。认证成功,加密也建立了,但信令完整性校验一直失败。新手往往反复排查鉴权环节,其实是钥匙派生的输入不一致——比如服务网名两边配置不同,同一把K派生出的钥匙却不同,后续每一条受保护信令都对不上。记住一句口诀:鉴权失败看凭证,完整性失败看派生输入。

最后澄清几个常见误解:

常见问题

Q: 鉴权和加密到底是什么关系? A: 鉴权是“互相确认身份并就钥匙达成一致”,加密是“用这把钥匙把内容变哑”。顺序不可颠倒:没有鉴权就没有钥匙,没有钥匙加密无从谈起。所以鉴权失败的信令后面,不会出现任何加密成功的迹象——排障时看失败点的位置就能分层。

Q: 为什么每次认证的题目必须是新的? A: 因为空口上的一切都可被录音。如果题目固定,窃听者录一次问答对,之后直接原样回放就能冒充。一次性随机题加序列号账本,让每一套问答都只能用一次,旧录音对不上新账。

Q: 手机怎么知道基站不是假的? A: 靠AUTN里的MAC。假基站架得再像,没有K就算不出能通过校验的MAC,手机第一步验证件就会拒绝。5G又加了两道保险:空口上不再出现明文身份(注册请求里只有加密隐藏的身份),以及拜访网络必须经归属网络终审过关才能拿到钥匙——假站连“骗手机连上”之后的路都走不通。

Q: 两种认证方法,普通用户能感知到差别吗? A: 感知不到。这是网络侧的策略配置,选哪种、对哪些用户选哪种,都由归属运营商决定。用户能看到的结果只有一种:连上了,或者没连上。

Q: 换个信号更强的假基站,手机会连上去吗? A: 手机可能被吸引去尝试接入(这由无线侧信号强弱决定,与鉴权无关),但认证这一关过不去:验MAC不通过就终止,不交出任何有价值的东西,更不会建立加密会话。所以假基站在5G上的剩余危害主要限于骚扰级干扰;想冒充网络完成业务,拿不到归属网络那一侧的判决和钥匙,寸步难行。

参考来源

  1. Authentication and key agreement - Wikipedia — 移动网络挑战应答机制与鉴权向量结构的背景词条
  2. 5G - Wikipedia — 5G安全机制概览,含身份隐藏与密钥体系入门背景
  3. RFC 5448: Improved EAP Method for 3GPP Mobile Authentication (EAP-AKA') — EAP-AKA'认证方法的协议定义文档
  4. Extensible Authentication Protocol - Wikipedia — EAP框架背景,理解第二种认证方法的出身
  5. Milenage - Wikipedia — 卡内f1至f5算法族的示例算法说明

本文由「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学通信知识星球海报-扫码加入