1. 国密改造背景与政策解读
1.1 为什么突然要改国密?
我先问各位一个问题:你手上的系统,现在还在用 RSA、AES 这些国际算法吗?
如果是,那你迟早得改。不是技术不好,是合规上不允许了。
我个人习惯把这件事分成两条线来理解:
- 安全线:国际算法背后的标准组织不受我们控制。一旦地缘政治紧张,关键基础设施的密码体系可能被“卡脖子”。
- 合规线:2019 年《密码法》落地后,国家密码管理局(国密局)明确要求——商密应用必须优先使用国密算法。
说白了,这是一场国家级的密码基础设施迁移。不是你想不想改,是必须改。
1.2 政策时间轴,我帮你理一理
| 时间 | 文件 / 事件 | 核心要求 |
|---|---|---|
| 2019.01 | 《密码法》正式实施 | 明确密码分类管理,商密应用需合规 |
| 2020.04 | 等保 2.0 标准全面推广 | 三级以上系统必须使用国密算法 |
| 2021.09 | 国密局发布《商用密码应用安全性评估管理办法》 | 密评成为系统上线的硬性前置条件 |
| 2023.07 | 国家政务服务平台要求 100% 国密改造 | 政务云、政务外网等领域强制切换 |
| 2025.12 | 关键信息基础设施国密改造截止 | 金融、能源、交通等 CII 行业必须完成 |
这张表我建议你存下来。我在项目里经常被人问“到底什么时候截止?”,答不上来会显得很不专业。
1.3 哪些行业首当其冲?
根据《密码法》和等保 2.0,我列了优先级最高的三类:
- 金融行业:银行核心交易系统、支付清算、网银、移动金融 App。人民银行已发布《金融领域国密应用指南》。
- 政务行业:国家政务服务平台、电子证照、电子印章、政府邮箱。我记得某省政务系统改造时,连内部 OA 的邮件加密都要换成 SM4。
- 关键基础设施:电力调度、油气管道、轨道交通、水利控制。这部分一旦出事,后果很严重,所以密评要求最严。
我个人经验:不要以为“我们只是内部系统,不对外”就可以豁免。等保 2.0 明确“全面覆盖”——只要定级是第三级及以上,就必须整改。我见过一个单位的内网运维系统因为没改国密,密评直接给打回了。
1.4 国密算法有哪些?和谁对标?
| 国密算法 | 国际对标 | 用途 | 密钥长度 |
|---|---|---|---|
| SM2 | RSA / ECDSA | 签名、密钥交换 | 256 bit(对标 3072 bit RSA) |
| SM3 | SHA-256 | 哈希、数据完整性 | 256 bit摘要 |
| SM4 | AES-128 | 对称加密(分组密码) | 128 bit |
| SM9 | 无直接对标(基于身份的密码) | 标识密码、密钥分发 | 256 bit |
一个小坑:SM2 的密钥长度是 256 bit,但它的安全强度对标的是 3072 位 RSA。你想想看,256 比 3072 小这么多,是不是觉得国密很香?其实不是。椭圆曲线密码(ECC)在同样安全强度下密钥本身就短——但实现起来更容易出错。我在项目中遇到过,有人把 SM2 的签名参数长度搞反了,结果验签一直失败,查了两天才发现是字节序没对齐。
1.5 改造的核心矛盾:兼容性
政策要求改,但现实很骨感。你想想看,一套跑了七八年的系统,原来所有加密都是 OpenSSL 的 RSA/AES,现在要全换成 SM2/SM4——而且还要保证:
- 与现有国际算法设备互通(比如上下游合作方还没改)
- 性能不能掉太多(尤其金融高频交易)
- 业务逻辑不能动(不能因为改密码导致交易失败)
这其实就是我们这门课要解决的核心问题——互操作性测试。不是把算法换完就完事,要验证改了之后还能不能跟别人“说上话”。
1.6 一张图看懂国密改造的来龙去脉
下面这张图总结了当前国密改造的驱动力、算法体系与测试关键点。你可以把它贴在工位上做个全景参考。
我曾经踩过一个大坑:上面这张图里的“互操作性测试”环节,很多团队以为只要在单机环境跑通国密算法就完事了。结果一接入真实政务外网,对方用的是另一家厂商的 SM2 实现,签名格式不兼容,系统直接跑不起来。后来我们不得不在测试环境搭建多厂商交叉验证——这也是我为什么把这门课命名为“互操作性测试”的原因。算法本身不难,难的是让各家实现彼此认出对方。
1.7 政策落地的核心难点,我总结三点
- 存量系统改造成本高:老旧系统可能连源代码都没了,只能靠密码硬件板卡做国密插件。但插件厂商的接口规范早期五花八门,互调困难。
- 密评通过率低:据国密局 2023 年统计,首次密评通过率不到 40%。主要卡在“密码产品合规性”和“密钥全生命周期管理”两项。
- 时间窗口紧张:2025 年底是很多 CII 行业的硬截止。按一个中等复杂系统改造加密评 6 个月算,现在不启动就来不及了。
所以,别犹豫了,开始动手吧。这门课我会带着你,从国密算法的基础实现讲起,一步步深入到协议层的互操作测试,最后用真实项目模板把整个流程跑通。