4. 密码系统现状测绘实战

密码系统现状测绘是量子安全迁移评估的起点。它的目标不是“把网络图画一遍”,而是回答四个具体问题:企业里哪些系统在用什么密码、数据在哪些环节被加密或解密、密钥从哪里来又存在哪里、哪些环节一旦被量子计算机攻破会直接暴露业务数据。只有把这些问题落到拓扑、数据流和资产清单上,后续的迁移优先级、改造工作量和风险判断才有依据。

一、先确定测绘边界与采集口径

测绘前必须先划定范围,否则很容易陷入“越画越大、越画越乱”。建议以一次具体业务链路为切入,例如“用户通过互联网访问订单查询接口,数据经网关、应用、数据库返回”。边界内至少覆盖:终端或调用方、网络入口(WAF/负载均衡)、应用服务、数据库、密钥管理设施、证书与配置存储、以及跨系统调用的中间件。边界外只标注接口和信任关系,不展开内部细节。

采集口径要统一,否则不同人填出来的信息无法合并。建议每条记录固定包含:资产名称、部署位置、对外协议与端口、使用的密码算法与协议版本、密钥来源(KMS/HSM/配置文件/硬编码)、证书有效期、是否支持国密、是否为遗留系统。其中“密钥来源”和“算法版本”是后续量子风险评估最关键的两列,必须逐项确认,不能写“默认”或“未知”了事。

二、绘制密码应用拓扑

拓扑图的价值在于把“密码在哪里被使用”可视化。绘制时不要只画服务器和网络设备,而要把密码设施作为一等节点画进去:KMS、HSM、CA、证书库、密钥配置文件所在的主机。节点之间的连线要标注协议和密码用途,例如“TLS 1.2 / RSA-2048 密钥交换”“SM4 数据加密”“HMAC-SHA256 完整性校验”。

下面这张图给出一个典型企业密码应用拓扑示例,包含互联网入口、应用区、数据区、密钥设施和遗留系统五类对象,并用不同颜色区分密码环节与风险点。图中参数为教学示例,实际测绘时应替换为真实资产信息。

企业密码应用拓扑与加密环节测绘示例 互联网入口 WAF / 负载均衡 TLS 1.2 RSA-2048 应用服务区 订单服务 / 用户服务 SM4 字段加密 数据存储区 MySQL / Redis TDE AES-128 密钥管理设施 KMS / HSM 主密钥 / 数据密钥 密钥轮换策略 遗留系统 旧版报表 / 批处理 硬编码密钥 TLS 1.0 / 3DES 配置与证书存储 配置文件 / 证书库 密钥明文风险 HTTPS SQL/TLS 取密钥 调用 读取配置 证书 数据流中的加密环节与风险标记 1 客户端到入口:TLS 握手,RSA 密钥交换(量子风险高) 2 应用层字段加密:SM4 对手机号、身份证号加密 3 数据库落盘:TDE AES-128,密钥由 KMS 托管 4 遗留批处理:硬编码 3DES 密钥,无轮换,量子风险极高 测绘重点标记 ● 硬编码密钥位置 ● 遗留系统协议版本 ● 证书有效期与算法 ● 密钥来源与轮换方式

三、识别数据流中的加密环节

拓扑画完后,要沿着一条真实数据流逐段走查。以“用户查询订单”为例:客户端发起 HTTPS 请求,入口做 TLS 终止,应用层对敏感字段做 SM4 加密后写入数据库,数据库再做 TDE 落盘加密。这条链路里出现了三次加密、两次解密,分别对应传输加密、应用层字段加密和存储加密。每一段都要记录:算法、密钥长度、密钥来源、是否可被量子算法有效攻击。

判断量子风险时,重点看两类算法:一是公钥算法(RSA、ECC、DH),Shor 算法可在多项式时间内求解其私钥,属于“必须迁移”;二是对称算法(AES、SM4、3DES),Grover 算法只带来平方级加速,AES-128 的安全强度约降为 64 位,AES-256 仍可接受,属于“可暂缓但需评估”。哈希算法(SHA-256、SM3)受 Grover 影响有限,但需关注签名场景中的碰撞风险。

四、标记硬编码密钥与遗留系统

硬编码密钥是测绘中最容易被忽略、也最危险的一类问题。它们通常出现在:源码常量、配置文件、脚本、容器镜像、CI/CD 变量、旧版安装包。排查时不要只看代码仓库,还要检查部署产物和运行环境。可以用关键词扫描(如 secret、key、password、BEGIN PRIVATE KEY)结合人工确认,重点确认密钥是否可被反编译或从镜像层提取。

遗留系统的标记要落到具体特征上:操作系统版本、运行时版本、TLS 协议版本、是否支持国密、是否有厂商维护、是否可改造。例如某报表系统运行在旧版 JDK 上,仅支持 TLS 1.0 和 3DES,且源码已丢失,这类系统应标记为“高风险、需替换或隔离”。标记结果要能直接支撑后续的迁移决策,而不是只写一句“系统老旧”。

五、输出现状测绘报告

测绘报告是本节的核心交付物。它不需要长篇大论,但必须让读者能据此判断“先改哪里、怎么改、风险多大”。建议报告包含以下部分:测绘范围与边界说明、密码应用拓扑图、数据流加密环节清单、硬编码密钥与遗留系统清单、风险分级与迁移优先级建议。其中清单建议用表格承载,字段固定、可筛选、可排序。

下面给出一份可直接参考的测绘报告片段示例,字段和取值均为教学示例,实际使用时替换为真实资产数据。

资产名称 位置 密码用途 算法/协议 密钥来源 量子风险 迁移优先级
互联网入口 WAF DMZ 传输加密 TLS 1.2 / RSA-2048 证书库 高 P0
订单服务 应用区 字段加密 SM4-128 KMS 中 P1
MySQL 主库 数据区 存储加密 TDE AES-128 KMS 中 P1
旧版报表系统 遗留区 传输+存储 TLS 1.0 / 3DES 硬编码 极高 P0
批处理脚本 运维区 数据签名 RSA-1024 配置文件明文 极高 P0

测绘常见误区:只画网络拓扑不画密钥设施;只记录算法名称不记录密钥来源;把“支持国密”当成“已使用国密”;遗漏 CI/CD 和容器镜像中的密钥;报告只列资产不做风险分级。以上任一问题都会导致后续迁移评估失真。

实操建议:测绘阶段至少安排一次跨团队走查,由安全、运维、开发、DBA 共同确认数据流和密钥来源。对无法确认的项,标记为“待核实”并指定责任人,不要用猜测值填充。测绘报告完成后,应能直接回答:哪些环节用了公钥算法、哪些密钥硬编码、哪些系统无法升级、哪些数据一旦泄露影响最大。

完成本节测绘后,企业应得到一份可追溯、可更新、可支撑决策的密码资产底账。它是后续量子风险量化、迁移路线设计和改造排期的共同输入。测绘不是一次性动作,建议每季度或在重大系统变更后更新一次,确保拓扑、数据流和密钥信息始终与真实环境一致。