夜雨聆风学习资料网

ARTICLE · 1228539

当国密改造遇上AI

当国密改造遇上AI

商用密码 · 密评 · 大模型落地

国密改造遇上 AI

降本空间是真的,但那 6 个坑也是真的

一个中等规模的业务系统,把密码应用改造的待办清单列到 800 多条,并不稀奇。

SM2 换 RSA、SM4 换 AES、SM3 换 MD5,听起来只是“换个库、改个 API”。真做起来,八成时间花在三件事上:找、改、证。

AI 恰好能压缩这三件事。但它也能在你最不该省的地方,帮你省出一个事故。

适合谁读

架构师 / 技术负责人安全合规负责人密码改造项目经理

如果你正在拆解改造工作量、评估 AI 到底能用到哪一步、或者准备迎接密评——这篇可以直接当内部讨论的底稿。

本文速览 可以按需跳读
01结论先行:五句话,抄走就能开会
02钱到底花在哪:发现、迁移、证明
03AI 能接手的 6 个环节(附长度变化速查)
04AI 干不了的 4 件事,以及幻觉的代价
05反向命题:用 AI 的系统自己也要过密评
06可复用的落地节奏:P0 到 P3
07踩坑清单 9 条 + 上线前自检三问
附术语速查 与 参考依据

PART 01 结论

先给结论,懒得看全文的直接抄

看点:成本大头不在算法,在“发现”和“证明”。

1国密改造的成本大头不在算法,在发现和证明。算法替换本身是机械劳动,而机械劳动正好是 AI 的主场。

2AI 最值钱的三个位置:代码侧算法测绘、影响面(字段 / 协议 / 长度)分析、密评差距对照。共同点是“读得多、判断浅”。

3最不该交给 AI 的四件事:密钥管理决策、合规结论、证据链、密码正确性的最终验收。

4一个常被忽略的反向命题:你要用 AI 做国密改造,那这个 AI 系统自己也得过密评。

5如果方案是把生产代码直接贴进公有云大模型,这方案从第一天就不成立。

如果只记一句:AI 负责把“不知道有多少”变成“清单”,人负责把“清单”变成“可以签字的东西”。

PART 02 成本结构

国密改造到底贵在哪

看点:三块成本,一块比一块难压。

把成本拆开看,其实是三块:

发现成本通常占比最高

加密调用散落在几十个服务、几百个仓库、上千个文件里。Java 的 Cipher.getInstance("AES/CBC/PKCS5Padding")、Python 的 hashlib.md5()、Go 的 rsa.EncryptPKCS1v15、前端的 CryptoJS、运维脚本里的 openssl。正则能捞到一半;捞不到的是被封了三层的工具类、配置化的算法名、以及第三方 SDK 的内部实现。

迁移成本

不是换个算法名。分组模式、填充方式、IV 生成、编码、密钥派生,任何一处不一致,结果就是“改完能编译、能启动、数据读不出来”。这类问题往往要到联调甚至上线后才暴露。

证明成本几乎压不动

密评要的是证据链——配置截图、密钥管理制度、操作日志、测试报告、方案说明。这块只能提前组织。很多项目返工不是因为改错了,而是因为方案评估阶段没做,证据补不上。

国密改造里最贵的不是密码学,是工程量;工程量里最贵的不是写代码,是找到该写的代码。

PART 03 分工

AI 真正能接手的 6 个环节

看点:每一项都标了“AI 做”和“人验”,可以直接当分工表用。

不是“AI 帮你写代码”这种笼统的说法。逐项拆开,才看得出哪里能省、哪里要盯着。

01算法测绘读得最多

AI 做

跨语言识别加密调用点,输出「文件:行号 + 算法 + 业务用途 + 是否涉及密钥」四元组。

人 验

抽检 20%,重点看封装层和动态调用。

02影响面分析最值钱

AI 做

判断哪些字段是密文、替换后长度怎么变、哪些索引 / 唯一约束 / 协议字段会被撑破。

人 验

拿下一节的长度速查表逐行核对,这是最容易出事的地方。

03代码迁移机械劳动

AI 做

AES→SM4、RSA→SM2、MD5→SM3 的多语言改写,附带单元测试。

人 验

必须过标准测试向量 + 新旧双跑对拍。

04标准对照易编造

AI 做

挂 RAG 读 GB/T 39786、GM/T 系列,把系统现状逐条对到要求上,出差距清单。

人 验

条款原文必须回查,AI 编条款号是常态。

05测试验证只认向量

AI 做

生成测试向量用例、双跑对拍脚本、边界与异常用例。

人 验

向量值本身要来自标准文本,不能由模型生成。

06文档资产先有初稿

AI 做

密码管理制度、密钥生命周期规程、改造方案说明、应急预案初稿。

人 验

必须与本系统实际架构一致,不能是模板空话。

六项里,②最值钱,也最容易被低估。国密替换真正会炸的地方,往往不是算法算错了,而是长度变了——数据库字段装不下、定长校验失败、唯一索引截断、协议头预留不够。

下面这张速查表建议直接贴到项目群里:让 AI 按它输出影响面,人工逐行签字确认。

附:7 类常见替换的长度变化速查

标签含义:长度不变 / 变长 / 变短 / 非定长 / 结构变化

AES-128 / AES-256 → SM4长度不变

长度 分组同为 128 位,密文长度一般不变。

坑 填充方式、IV 处理必须一致;GCM 标签长度要对齐。

RSA-2048 加密 → SM2 加密变短

长度 定长 256 字节 → 约 97 字节 + 明文长度。

坑 密文可能变短,定长校验和补位逻辑会崩;长明文要改混合加密。

RSA / ECDSA 签名 → SM2 签名非定长

长度 签名值 64 字节,DER 编码后 70~72 字节,非定长。

坑 字段与协议头预留长度不够,Base64 后波动更大。

MD5 → SM3翻倍

长度 16 字节 → 32 字节,翻倍。

坑 摘要字段、Token、唯一索引必须扩容,否则截断后校验恒失败。

SHA-256 → SM3长度不变

长度 32 字节 → 32 字节,不变。

坑 最平滑的一类替换,建议优先改,先建立信心。

3DES / DES → SM4分组变化

长度 分组由 64 位变为 128 位。

坑 历史 ECB 数据不能原地换算法,必须解密后重新加密。

TLS 传输 → TLCP(GB/T 38636)结构变化

长度 双证书:签名证书 + 加密证书。

坑 客户端信任库、移动端 SDK、国密网关、IoT 固件要一起动。

注:SM2 密文按 C1‖C3‖C2 顺序、C1 取未压缩点估算,不同实现与编码方式会有差异,实际以所选密码库为准。

PART 04 边界

AI 干不了的 4 件事

看点:这四条不是能力问题,是责任问题。

1 密钥管理

密钥分层、生命周期、HSM / KMC 选型、密钥不落地、双人双控。密评最看重这一块,而它天然是“责任”问题,不是“生成”问题。AI 可以帮你写规程,但不能替你决定谁能持有密钥。

2 合规结论

密评由具备资质的商用密码检测机构实施,结论是符合 / 基本符合 / 不符合。AI 能帮你把材料备齐,不能替你签这个字。

3 证据链

不能生成日志、不能伪造截图、不能编测试报告。这是唯一一条没有灰度地带的红线——用 AI 造证据,性质就变了。

4 正确性验收

密码实现的正确性只认标准测试向量和双跑对拍。模型说“这段逻辑没问题”没有任何意义,它自己也不知道 SM2 的 C1C3C2 和 C1C2C3 该按哪个来。

关于幻觉

幻觉在密码领域代价特别高。编造标准条款号、编造 SDK 参数名、把 SM2 密文段顺序说反,都是常见输出。对策只有三条——RAG 挂原文、强制给引用、人工抽检。

PART 05 反向命题

你的 AI 系统自己也要过密评

看点:这一节最容易被漏掉,也最容易被问住。

很多团队在做两件事:给业务系统做国密改造,同时上线内部大模型应用。但很少有人意识到,第二个系统也要走一遍同样的流程,而且它的密码应用面比传统系统更宽。

传输Prompt、上传文档、检索结果全程加密,走 TLCP,不要只靠 HTTPS 裸奔。

存储知识库原文、向量库、会话日志都要加密。注意:embedding 仍是敏感数据的变形,不能当“已脱敏”处理。

完整性模型权重、配置文件用 SM3 摘要 + SM2 签名防篡改,防止加载被替换的模型。

身份调用方用 SM2 证书做双向认证,不要用裸 API Key 长期有效。

密钥由 KMS / HSM 托管,配置文件里不能出现明文密钥。

出域训练与推理数据的去向要说得清楚,这一条在密评和审计里都会被追问。

现在大多数团队的这部分是空白,而它偏偏是“应用和数据安全”层面最容易被问住的地方。

PART 06 节奏

一个可复用的落地节奏

看点:四个阶段,每个阶段都有明确产出物和验收口径。

P0 测绘2~4 周

把“不知道有多少”变成“知道有多少”

AI 全量代码扫描 + 语义归类,人工抽检 20%

产出 现状清单、算法分布热力图、高风险 Top20

P1 试点4~6 周

跑通一条完整链路,形成 SOP

AI 单系统代码迁移 + 测试向量 + 双跑对拍

产出 改造样板、迁移 SOP、长度影响清单

P2 批量按系统数量排期

流水线化:AI 出初稿,人做 review

节奏 一个改造单元走一遍 P1 的 SOP,不合格不进入下一个

产出 改造工单、回归报告、灰度切换记录

P3 密评2~3 个月

证据链归集与整改闭环

AI 对照标准生成自查表、汇总证据,不生成证据

产出 差距分析、整改台账、密评报告

一句话提醒:P3 不要等到最后才启动。方案评估缺失导致的返工,通常比代码迁移本身更贵。

PART 07 清单

踩坑清单,建议收藏

看点:9 条按领域标注,方便按类排查。

1密钥只换算法,不动密钥管理。密评第一关就卡这里。

2数据字段长度没扩容:MD5→SM3 翻倍,唯一索引和 Token 长度一起崩。

3数据定长密文字段遇上 SM2:RSA-2048 的 256 字节定长,换成变长后校验逻辑失效。

4数据历史数据不可逆:必须先设计“双算法共存期”——新写 SM4,老数据读时解密再加密,灰度切换。

5范围只改应用层:数据库 TDE、备份文件、日志、消息队列、缓存里的密文全被漏掉。

6协议忘了信任链:国密证书默认不在主流系统信任库里,网关、浏览器、移动端 SDK、IoT 固件要同步改。

7AI把生产代码和密钥配置贴进公有云大模型——等于把合规问题换成了泄露问题。

8AIAI 生成的密码代码没过测试向量就上线。看起来对,和真的对,是两件事。

9协议协议层被低估:TLCP 双证书、报文长度、握手兼容,往往比应用层代码更难改。

上线前自检三问

01 所有涉及密文和摘要的字段,长度是否已经按“最坏情况”扩容?

02 新旧实现有没有跑过标准测试向量和双跑对拍,结果是否归档?

03 密钥现在实际存在哪里、谁能取到、有没有留痕?说得清才算过。

国密改造是一场“确定性”的工程:标准明确、路径清楚、验收有据。

AI 在这类工程里能做的事,比你想象的少一点——它不懂密码学责任;也比你想象的多很多——它能读完你读不完的代码。

真正的分界线只有一条:可验证的交给 AI,需负责的留给人。

相关学习资料