5G 国密改造:完整密钥派生链路与 USIM 涉及范围
上一篇拆了5G注册流程的安全激活分界点,这篇看一个工程落地问题:5G网络如何做国密改造。相比早期只改KDF和空口算法的思路,这版方案把鉴权层也做了国密替换,全链路方案为:鉴权层国密替换(SM4+SM3) + 空口PDCP用ZUC(NEA3/NIA3) + KDF换SM3-HMAC + 身份/SUCI换SM2。
1. 改造点总览:四换两不变
- 鉴权层替换:MILENAGE(AES-128)/TUAK(SHA-256) → SM4分组派生 + SM3-HMAC(即国密版 f1~f5);
- 身份层替换:SUCI加密 ECIES(Curve25519/P-256) → SM2加密;
- KDF替换:各级密钥派生 HMAC-SHA256 → SM3-HMAC(K_ausf/K_amf/K_gNB及下游);
- 证书/TLS替换:RSA/ECDSA + AES → SM2签名 + SM4加密;
- 不变之一:根密钥K。永久固化在USIM芯片,国密改造不改变K本身;
- 不变之二:空口PDCP加密/完整性。ZUC(NEA3/NIA3)本就是3GPP标准算法,主流基站与终端原生支持,SMC协商选定即可。
需要强调的是:信令流程完全不变——NAS/AS Security Mode Command的协商流程、加密激活分界点与标准方案一致,改造只影响”算法选择”这一层。
2. 密钥派生链路:第1层到第5层
第1层 USIM卡(SIM卡芯片内部):根密钥K固化不变;5G AKA主认证国密化,在卡安全域内运行国密f1~f5,输出128bit的CK/IK;SUCI生成改用SM2加密MSIN。
第2层 UE侧协议栈(不在卡内):由CK/IK经SM3-HMAC派生K_ausf,再含SUPI派生K_amf,NAS加密/完整性密钥用ZUC原生支持。
第3层 核心网(AUSF/UDM/AMF/SEAF):改造重点区域。UDM存储国密根密钥K、运行国密f1~f5生成RAND/AUTN/CK/IK/XRES,SIDF模块用SM2私钥解密SUCI还原SUPI;AUSF完成鉴权校验、用SM3-HMAC派生K_ausf、HXRES改用SM3计算;AMF派生K_amf/K_gNB并通过N2下发;SEAF仅中转认证消息与密钥,改造量最小。
第4层 gNB基站:由K_gNB派生AS层密钥,PDCP层用ZUC加密/完整性保护。
第5层 Uu空口:SRB1/SRB2信令与DRB用户面数据在PDCP层完成ZUC(NEA3)加密 + ZUC(NIA3)完整性保护。
3. AKA鉴权算法替换细节(f1~f5函数映射)
鉴权层国密化的核心是把MILENAGE的五个函数换成国密实现:
- f1(网络认证码MAC-A):由AES-CMAC改为 SM3-HMAC(K, RAND‖SQN‖AMF);
- f2(期望响应XRES/RES):由AES加密派生改为 SM4加密派生(ECB/CBC模式);
- f3(加密密钥CK,128bit):由AES派生改为 SM4加密派生,输出128bit;
- f4(完整性密钥IK,128bit):由AES派生改为 SM4加密派生,输出128bit;
- f5(匿名密钥AK,遮蔽SQN):由AES派生改为 SM3-HMAC派生。
AUTN认证令牌的构造结构 (SQN⊕AK)‖AMF‖MAC-A 保持不变,仅MAC-A的计算换成SM3-HMAC。由于国密鉴权输出的CK/IK仍为128bit,下游K_seaf/K_ausf的派生接口不需要改动。
4. USIM卡涉及范围:只有两个环节要换卡
全链路看下来,需要更换USIM卡的环节有两个:①鉴权层把MILENAGE/TUAK替换为国密鉴权(SM4+SM3-HMAC);②SUCI加密从ECIES改为SM2。两者可以合并为一次国密USIM卡更换。
根密钥K、KDF派生、空口ZUC加密、网元间证书均不涉及SIM卡算法变更——KDF派生发生在UE协议栈而非卡内,空口ZUC由终端与基站原生支持。
若项目不强制要求鉴权层国密化,可采用”鉴权保留MILENAGE + KDF/空口国密“的折中方案:完全不需要换SIM卡,改造成本显著降低。
5. 各网元改造程度
- UDM(深度改造):存储国密根密钥K(国密加密机)、运行国密f1~f5生成鉴权向量、SIDF用SM2私钥解密SUCI、管理用户国密算法能力标识;
- AUSF(中度改造):鉴权校验(RES* vs XRES)、SM3-HMAC派生K_ausf、HXRES改用SM3、SM2签名证书替换ECDSA;
- AMF(中度改造):SM3-HMAC派生K_amf/K_gNB、NAS SMC协商ZUC、N2接口下发K_gNB与安全能力;
- SEAF(轻度改造):中转认证请求/响应与K_seaf,不做密钥派生,N12/N13接口可启用国密TLS;
- gNB(轻度改造):接收K_gNB、派生AS层密钥、RRC SMC协商、PDCP层ZUC加密,原生支持无需硬件更换;
- UE(需换卡+固件升级):卡内跑国密AKA运算与SM2的SUCI加密,协议栈同步SM3-HMAC派生,NAS/AS SMC响应激活ZUC。
6. 风险清单
高风险:①鉴权层换国密必须换USIM卡(MILENAGE/TUAK运行在卡安全域内,存量卡无法OTA升级,批量换卡的成本与工期高);②UDM/HSS深度改造(国密根密钥存储 + 国密f1~f5生成AUTN/CK/IK,与现网MILENAGE逻辑完全不同);③SUCI换SM2同样需批量换卡(可与鉴权层换卡合并);④KDF换SM3-HMAC要求UE与核心网严格同步,任一侧未升级即导致密钥派生不一致、注册失败。
中风险:①互通性——国密鉴权终端无法接入非国密网络,国际漫游受限,需专网封闭场景或双模卡(同时支持MILENAGE+国密鉴权);②部分老旧工业模组不支持ZUC(NEA3/NIA3),需提前盘点终端能力;③核心网网元间N2/N8/N12接口若要求国密TLS,需全部网元支持SM2/SM4套件;④国密改造后根密钥K的存储、备份、恢复流程需适配国密加密机。
低风险/无风险:根密钥K完全不变;空口ZUC为3GPP标准算法、信令流程完全不变;NAS/AS SMC协商流程与加密激活分界点不变;国密鉴权输出的CK/IK仍为128bit,下游派生接口不变。
7. 附:完整密钥派生链路与 USIM 涉及范围
下图把第1层到第5层的完整派生链路、国密替换点(f1~f5函数映射)、USIM涉及范围表、各网元职责与改造程度、风险清单都标注了出来:
| 环节 | 标准算法 | 国密方案 | 是否涉及USIM卡 | 涉及网元/基站 | 处理方式 |
|---|---|---|---|---|---|
| 根密钥K | 永久密钥 | 不变 | 否 | UDM(存储) | 无需操作 |
| 5G AKA主认证 ★ | MILENAGE(AES-128)/TUAK(SHA-256) | 🔴 国密对称鉴权(SM4分组派生+SM3-HMAC) | 是 ⚠ | UDM(鉴权向量生成)、AUSF(鉴权校验)、SEAF(中转) | 必须更换国密USIM卡固件(卡安全域内运行f1-f5),UDM同步深度改造 |
| SUCI身份加密 ★ | ECIES(Curve25519/P-256) | 🔴 SM2 加密 | 是 ⚠ | UE/USIM(加密)、UDM/SIDF(解密) | 老卡不支持SM2需更换国密USIM;软SIM/模组固件升级可支持 |
| K_ausf/K_amf/K_gnb派生(KDF) | HMAC-SHA256 | SM3-HMAC | 否 | AUSF(K_ausf)、AMF(K_amf/K_gnb)、UE(同步派生) | UE固件+核心网改造,派生在UE协议栈而非USIM内 |
| 空口PDCP加密/完整性 | AES/SNOW/ZUC | ZUC(NEA3/NIA3) | 否 | gNB基站(PDCP层)、UE(PDCP层) | UE/gNB原生支持,SMC协商选定即可 |
| 证书/网元间TLS | RSA/ECDSA + AES | SM2签名 + SM4加密 | 否 | UDM、AUSF、AMF、SEAF、gNB(全部网元间接口) | 核心网网元证书替换,与USIM无关 |
| 函数 | 用途 | MILENAGE 标准实现 | 🔴 国密替换实现 |
|---|---|---|---|
| f1 | 网络认证码 MAC-A | AES-CMAC | SM3-HMAC(K, RAND‖SQN‖AMF) |
| f2 | 期望响应 XRES / RES | AES 加密派生 | SM4 加密派生(ECB/CBC模式) |
| f3 | 加密密钥 CK(128bit) | AES 加密派生 | SM4 加密派生,输出128bit CK |
| f4 | 完整性密钥 IK(128bit) | AES 加密派生 | SM4 加密派生,输出128bit IK |
| f5 | 匿名密钥 AK(遮蔽SQN) | AES 派生 | SM3-HMAC 派生 |
| AUTN | 认证令牌构造 | (SQN⊕AK)‖AMF‖MAC-A | 结构不变,MAC-A换SM3-HMAC |
| 网元/基站 | 全称 | 国密改造涉及职责 | 改造程度 |
|---|---|---|---|
| UDM | 统一数据管理(Unified Data Management) | • 存储国密根密钥K(国密加密机加密存储) • 国密鉴权向量生成:运行SM4+SM3国密f1-f5函数,生成RAND/AUTN/CK/IK/XRES • SIDF模块:使用SM2私钥解密SUCI,还原SUPI • 签约数据管理:存储用户国密算法能力标识 | 深度改造 |
| AUSF | 认证服务器功能(Authentication Server Function) | • 接收UE的RES*,与UDM生成的XRES进行鉴权校验 • K_ausf派生:由CK/IK通过SM3-HMAC派生K_ausf • HXRES计算:SM3(RAND‖XRES)用于5G AKA鉴权响应匹配 • 国密证书:SM2签名证书替换ECDSA | 中度改造 |
| AMF | 接入和移动管理功能(Access and Mobility Management Function) | • K_amf派生:由K_ausf通过SM3-HMAC派生(输入含SUPI) • K_gNB派生:由K_amf通过SM3-HMAC派生(输入含SUPI/PCI/TAC) • NAS SMC协商:向UE下发NAS Security Mode Command,协商ZUC(NEA3/NIA3) • 通过N2接口向gNB分发K_gNB和安全能力 | 中度改造 |
| SEAF | 安全锚点功能(Security Anchor Function) | • 中转UE与AUSF之间的认证请求/响应消息 • 密钥中转:接收AUSF下发的K_seaf,转发给AMF(不做密钥派生) • 网元间接口:N12(SEAF↔AUSF)、N13(AUSF↔UDM)可启用国密TLS | 轻度改造 |
| gNB | 5G基站(next Generation NodeB) | • 接收AMF通过N2接口分发的K_gNB • AS层密钥派生:由K_gNB派生K_RRCenc/K_RRCint/K_UPenc/K_UPint • RRC SMC协商:向UE下发RRC Security Mode Command,协商ZUC(NEA3/NIA3) • PDCP层加密/完整性:使用ZUC(NEA3)对SRB1/SRB2信令和DRB用户面数据加密,ZUC(NIA3)做完整性保护 • N2/N3接口:与AMF/UPF之间可启用国密TLS | 轻度改造(原生支持ZUC) |
| UE | 用户终端(User Equipment) | • USIM卡内:国密AKA鉴权运算(SM4+SM3)、SUCI加密(SM2) • 协议栈:K_ausf/K_amf/K_gNB及下游密钥的SM3-HMAC同步派生 • NAS/AS SMC响应:完成安全模式协商,激活ZUC加密 • PDCP层:ZUC(NEA3/NIA3)加密/完整性保护 | 需换国密USIM+固件升级 |
2. UDM/HSS深度改造:鉴权中心需存储国密根密钥K,运行国密f1-f5函数生成AUTN/CK/IK,与现网MILENAGE鉴权向量生成逻辑完全不同。
3. 🔴 SUCI换SM2:存量硬件USIM卡大概率不支持SM2,需批量换卡(可与鉴权层换卡合并实施)。
4. KDF替换为SM3-HMAC:UE和核心网必须严格同步,任何一侧未升级会导致密钥派生不一致、注册失败。
2. 终端兼容性:部分老旧工业模组不支持ZUC(NEA3/NIA3),需提前盘点终端能力,不支持的需更换模组。
3. 网元间国密TLS:核心网各网元之间的N2/N8/N12接口如果要求国密TLS,需全部网元支持SM2/SM4套件。
4. 密钥管理:国密改造后根密钥K的存储、备份、恢复流程需同步适配国密加密机。
2. 空口ZUC:3GPP标准算法,主流设备原生支持,信令流程完全不变。
3. 信令流程:NAS/AS SMC协商流程、加密激活分界点完全不变,只是算法选择不同。
4. CK/IK输出格式:国密鉴权输出的CK/IK仍为128bit,下游K_seaf/K_ausf派生接口不变。