3. 现有系统密码资产盘点与迁移优先级
后量子迁移不是把某个库替换成“抗量子版本”就结束,它首先是一项资产治理工作:你必须知道系统里到底用了哪些密码算法、它们被谁调用、保护的是什么数据、数据活多久、失效后会造成什么后果。只有把密码资产盘清楚,才能把有限的改造资源投到最该先动的地方。本节围绕四件事展开:密码算法清单、协议依赖图、数据生命周期分析,以及风险分级与迁移优先级排序。
一、密码算法清单:从“散落调用”到“可检索台账”
密码算法清单的目标不是罗列算法名称,而是建立“算法—用途—位置—参数—责任人”的可检索台账。盘点时建议按用途分类,而不是按库名分类,因为同一个 OpenSSL 调用可能承担密钥交换、签名或摘要三种完全不同的职责。典型字段包括:资产编号、算法族(RSA/ECC/DH/AES/SHA 等)、具体参数(如 RSA-2048、P-256、AES-128-GCM、SHA-256)、用途(密钥封装、数字签名、对称加密、哈希、KDF、随机数)、所在组件与文件路径、调用方式(库调用、协议内建、硬编码)、密钥长度与有效期、是否可配置、负责人。
盘点手段可以分三层:静态扫描源码与依赖清单,识别 RSA_generate_key、ECDSA_sign、EVP_PKEY_CTX 等符号;动态抓取 TLS 握手与签名流量,观察实际协商的算法套件;再结合配置与证书库,确认长期密钥与证书链。三层结果交叉验证,才能避免“代码里已删、配置里还在用”的遗漏。
二、协议依赖图:看清算法被谁“卡住”
算法清单是点,协议依赖图是线。后量子迁移的难点往往不在算法本身,而在协议栈的耦合:TLS 1.3 的密钥交换、证书签名、Finished 校验分别依赖不同算法族;IPsec 的 IKE 与 ESP 分阶段依赖;代码签名、固件更新、数据库透明加密又各自形成独立链路。依赖图要表达的是“谁调用谁、谁先协商、谁验证谁”,从而识别出迁移的阻塞点。
例如,若某系统使用 TLS 1.2 + RSA 密钥传输,则密钥交换与身份认证耦合在同一张证书上,迁移到 ML-KEM 需要同时改造密钥交换与证书签名,属于高耦合路径;而 TLS 1.3 已将密钥交换与签名分离,可先替换密钥交换为 ML-KEM,签名暂留 ECDSA,形成混合过渡。依赖图的价值就在于把这种“可拆分”与“不可拆分”显性化。
三、数据生命周期分析:决定“先救谁”
同样的 RSA-2048,保护一份 30 秒有效的会话票据,与保护一份保存 15 年的身份档案,风险完全不同。数据生命周期分析要回答三个问题:数据在哪些环节被加密或签名、密钥多久轮换一次、密文需要保密多久。后量子威胁中,最紧迫的是“先存后破”(harvest now, decrypt later):攻击者今天截获密文,等量子计算机可用后再解密。因此,保密期限越长、当前保护算法越易被 Shor 算法攻破的数据,迁移优先级越高。
可以按“数据敏感度 × 保存期限 × 当前算法脆弱度”做三维评估。例如,身份档案保存 10 年以上、由 RSA-2048 保护,属于最高风险;会话密钥材料保存分钟级、由 ECDH 保护,虽然算法脆弱,但泄露窗口极短,可排在第二梯队;日志哈希链使用 SHA-256,Grover 仅将有效强度降到 128 位,仍可接受,排在最后。
四、风险分级与迁移优先级排序
把算法清单、依赖图、生命周期三者合并,可得到一张可执行的优先级矩阵。建议采用“风险分 = 算法脆弱度权重 × 数据寿命权重 × 暴露面权重”的简化模型,再结合依赖耦合度做人工修正。下面给出一个可直接套用的评分表(示例参数,非实测结果):
| 资产 | 算法脆弱度 | 数据寿命 | 暴露面 | 耦合度 | 综合分 | 优先级 |
|---|---|---|---|---|---|---|
| TLS 1.2 对外网关 | 5(RSA 密钥传输) | 5(长期档案) | 5(公网) | 5(耦合) | 25 | P0 |
| 代码签名 / 固件更新 | 5(ECDSA) | 5(信任根) | 3(受控分发) | 4 | 17 | P0 |
| IPsec VPN 隧道 | 4(ECDH) | 3(会话) | 4(跨域) | 4 | 15 | P1 |
| 数据库透明加密 | 2(AES-128) | 5(长期) | 2(内网) | 2 | 10 | P2 |
| 日志完整性校验 | 1(SHA-256) | 4(3–7 年) | 2 | 1 | 8 | P3 |
排序时遵循三条经验规则:第一,先动“公网 + 长期数据 + 非对称算法”,这是 harvest now 攻击的直接目标;第二,先动可独立替换的模块,例如 TLS 1.3 的密钥交换可先换 ML-KEM,而证书签名可后换,避免一次性大改;第三,先动有标准与库支持的路径,如 ML-KEM、ML-DSA 已有成熟实现,而某些私有协议可能需要自研适配,应预留更长周期。
完成本节工作后,你应当能够回答:系统里有哪些密码算法、它们被哪些协议调用、保护的数据要活多久、哪些资产必须最先迁移。下一阶段的改造方案设计,将直接以这张优先级清单为输入。