第一章 国密改造背景与政策要求
说实话,我刚开始接触国密改造的时候,心里也是打了个问号的——「我们用了这么多年的国际算法,RSA、AES、E CDH,不也挺好的吗?为什么非要改成SM2 SM3 SM4?」
后来在几个真实项目里踩了坑,看了监管部门的处罚案例,才明白这事根本不是「选哪个算法好」那么简单。今天我们就从头捋一捋:国密改造到底是为了什么?政策怎么要求的?我们最终要达成什么目标?
1.1 为什么非改不可?
先讲个我自己的经历。2019年我给一家金融客户做接口加密方案,当时图省事直接用了RSA 2048 + SHA256。系统上线三个月,等保三级测评来了,测评人员指着我们的签名算法说:「这个不符合GM/T 0009标准,你们需要整改。」
结果怎么着?整个项目组加班两周,重新设计密钥体系、替换算法库、回归测试接口……比一开始就规划国密多花了三倍时间。所以我说,国密改造不是可选项,而是必选项。原因有三:
- 法律强制要求:《密码法》第二十七条明确要求,关键信息基础设施必须使用商用密码进行保护,并且优先采用国密算法。不做就是违法。
- 合规审查红线:等保2.0、密评、GDPR本地化合规……所有测评都要求国密算法在业务系统中的实际落地。光有国际算法,密评直接打C。
- 供应链自主可控:国际算法背后的专利、标准受外国控制。一旦出现技术封锁,你的系统可能直接「断粮」。国密算法是我们自己的标准。
核心认知:国密改造的本质不是「换算法」,而是「换信任锚」。把对国际标准的依赖,转移到国家认可的密码体系上。
1.2 国家密码法规与合规性概述
说到政策,很多人第一反应是「背条款」。其实不用那么累,我帮你梳理一个清单,你就知道哪些是硬性要求。
| 法规/标准 | 核心要求 | 生效范围 |
|---|---|---|
| 《中华人民共和国密码法》 | 关键信息基础设施必须使用商用密码;优先采用国密算法 | 2020年1月1日起 |
| GM/T 0054-2018 | 信息系统密码应用基本要求,明确各安全等级须使用的国密算法 | 等保2.0配套标准 |
| 《政务信息系统国产密码应用改造指南》 | 政务系统在2023年底前完成国密改造 | 各级政务部门 |
| 金融行业标准 JR/T 0197-2020 | 金融数据加密、签名、认证必须使用SM2/SM3/SM4 | 银行、证券、保险 |
你看,从法律到行业标准,层层加码。我记得有一次被问到:「我们只用国际算法不对外暴露接口行不行?」答案是:不行。密评会检查你的系统内部加密逻辑,不是只看对外接口。
⚠️ 避坑指南:我曾经见过一个团队直接在代码里把AES改个名字叫「SM4」,实际算法逻辑没动。还有数据库加密字段密钥管理没改,密评现场直接扣分。改造必须做到算法实现、密钥管理、协议栈三个层面全部切换,不能只做表面功夫。
1.3 改造的总体目标
你可能会问:我们花了这么多精力改造,到底要达到什么效果?我给一个量化的目标框架:
- 算法替换率100%:所有密码运算(签名、加密、哈希、密钥交换)由国密算法执行,不得残留国际算法。
- 密钥管理合规:SM2密钥对使用国密证书体系签发,SM4密钥通过专用密钥管理系统生成、分发、轮换。
- 性能不降级:SM2签名比RSA慢30%左右,但通过预计算、硬件加速可以做到用户无感知。改造后接口响应时间增加不超过20ms。
- 通过密评:达到GB/T 39786-2021二级及以上要求,拿到合规报告。
说白了,就是「过了测评、跑了业务、经得起检查」。我自己的经验是,改造前一定要做一次密码应用现状评估,搞清楚当前系统用了哪些算法、密钥存在哪里、流程怎么走的。这一步没做好,后面全是补丁。
💡 实操建议:改造初期先选一个「非核心但可回退」的接口做试点。比如用户登录时的签名验证,切换到SM2,线上跑一周再推广。这样风险可控,团队也有信心。