第三章 密码改造项目规划:需求分析、方案设计、项目里程碑
密码改造不是上来就写代码、换设备。我见过太多团队,一拿到合规通知就急着采购服务器、安装密码机,结果做到一半发现接口不匹配,老系统根本不支持新算法。你想想看,拆了东墙补西墙,最后交付延期、审计不过、领导问责——一地鸡毛。
核心问题出在哪?就是缺了一个扎实的项目规划。这一章,我把自己踩过的坑、总结出来的步骤,掰开揉碎了讲给你听。
3.1 需求分析:理清家底,精准定位
需求分析是规划的起点。说白了,你得先搞清楚:现在有什么、要改什么、不改会怎样。
3.1.1 资产与密码使用现状梳理
我个人习惯,第一步先建一张「密码资产清单」。把每个业务系统的密码算法、密钥长度、证书有效期、密码机型号、HSM调用方式全列出来。我曾经在一个金融项目中,发现同一个系统里同时用了SHA-1、MD5和国密SM3,运维自己都说不清哪些接口依赖了弱算法——最后只能逐行翻代码。
| 系统名称 | 当前密码算法 | 密钥长度 | 合规状态 | 改造优先级 |
|---|---|---|---|---|
| 网上银行 | RSA-2048 | 2048 bit | ✗ SHA-1签名 | 高 |
| 移动APP | SM2/SM4 | 256 bit | ✓ 国密合规 | 低 |
| 内部OA | 3DES | 168 bit | ✗ 算法过时 | 中 |
3.1.2 合规要求与差距分析
需求分析的第二块是合规对标。拿《密码法》《GM/T 0054》《等级保护2.0》一条一条过。我会做一个差距矩阵:左边是法规条款,右边是我们现状,中间标「满足」「部分满足」「不满足」。不满足的,就是必改项。
关键原则:合规是底线,但不是全部。改造还要兼顾可用性、性能、兼容性。我曾经为了满足一个签名算法要求,把整个业务响应时间拖慢了300ms,用户骂到总局。所以,需求分析里必须包含非功能性需求:交易并发数、加解密延迟、证书轮换机制、灾难恢复时间。
3.2 方案设计:选型、架构与过渡策略
需求分析做扎实了,方案设计才有根。别一上来就画大图——我建议先画「现状架构图」和「目标架构图」,然后画中间那个过渡架构图。嗯,这个过渡架构最容易被忽略。
3.2.1 密码算法与产品选型
选型要考虑几个维度:
- 算法标准:优先国密SM系列(SM2/SM3/SM4),兼容国际标准(RSA-2048+/AES-256/ECDSA)。
- 密码产品形态:硬件密码机(HSM)、软件密码模块(如GmSSL、libtomcrypt)、云密码服务。
- 管理平台:密钥管理系统(KMS)、证书生命周期管理平台(CA/RA)。
我给个参考表,方便你选型时对比:
| 选型维度 | HSM硬件 | 软件密码模块 | 云密码服务 |
|---|---|---|---|
| 安全性等级 | EAL4+ / FIPS 140-2 Level 3 | 取决于实现 | 取决于厂商 |
| 性能上限 | 极高(硬件加速) | 中等(CPU绑定) | 弹性伸缩 |
| 部署成本 | 高(采购+运维) | 低(开源/免费) | 按量付费 |
| 适用场景 | 核心交易、支付、网银 | 开发测试、内部管理系统 | 云原生、微服务 |
3.2.2 架构设计要点
架构上我遵循“三不要”原则:
- 不要改业务逻辑——密码改造只在加解密层动刀,业务代码不碰。
- 不要单点依赖——密钥、证书、HSM都得做冗余。
- 不要绕开审计——所有密钥操作、策略变更、算法替换都要留下日志。
架构图里重点标注:密码服务网关、密钥存储区、证书链验证节点、密码策略管理中心。嗯,下面这张SVG图是我自己项目里用过的框架,你可以参考:
3.3 项目里程碑:掐准节点,扎好护栏
项目里程碑不是领导逼出来的,是切分风险用的。我个人习惯把密码改造划成4个里程碑,每个里程碑都有明确的交付物和检查清单。
M1 需求评审里程碑
- 交付物:密码资产清单、差距分析报告、改造范围确认书
- 质量门:所有弱算法(MD5、SHA-1、RC4等)必须全部列入改造范围
M2 方案评审里程碑
- 交付物:密码改造技术方案、测试方案、割接方案、回滚方案
- 质量门:架构图至少三版(现状、过渡、目标);回滚方案必须实际演练过一次
M3 测试通过里程碑
- 交付物:功能测试报告、性能测试报告、安全测试报告、集成测试报告
- 质量门:加解密功能100%覆盖业务场景;性能衰减不超过15%;安全测试无高危漏洞
M4 业务割接里程碑
- 交付物:割接确认单、业务验证记录、应急预案启动记录(如未用到则写“无”)、竣工文档
- 质量门:割接后稳定运行72小时无P1/P2事件
我的经验:里程碑最好配上强制性「拦改闸」。比如M2方案评审没通过,不允许进入开发阶段。我曾经在项目里这么干,表面上看是拖了两周,实际省掉了后面三个月返工。
3.4 几个容易忽略的规划细节
- 密钥生命周期管理:从生成、分发、使用、轮换到销毁,每一步都要定流程。别等到密钥泄露了才临时翻方案。
- 证书链完整性:改造后可能涉及CA切换,记得检查中间证书、根证书是否预置到了各终端。我见过最离谱的是,线上设备没装根证书,业务一直用自签名证书——合规审计一抓一个准。
- 应急回滚预案:每一段改造代码都必须配套回滚脚本。而且这个脚本要提前测试过。别问我为什么强调——有一次凌晨割接出bug,回滚脚本里忘了删除新算法策略文件,结果回滚不彻底,把业务整崩了。
好了,这一章的内容就这些。拿不准的地方,翻翻我给的框架图和里程碑表格,应该能帮你把思路理清楚。