2. 密码资产盘点与密码学基础
迁移治理的第一步不是改代码,而是把“用了什么密码”查清楚。密码资产盘点要回答四个问题:哪些系统在用密码、用的是什么算法与参数、密钥和证书存在哪里、被哪些协议和调用链依赖。只有把算法、密钥、证书、协议四层关系串起来,才能判断迁移影响面。本节先补齐必要的密码学基础,再给出可执行的盘点方法。
一、RSA与ECC的数学原理差异
RSA的安全性建立在“大整数分解困难”之上。生成密钥时选两个大素数 p、q,计算 n=p·q 与欧拉函数 φ(n)=(p−1)(q−1),再选公钥指数 e(常用 65537)满足 gcd(e,φ(n))=1,私钥指数 d≡e⁻¹ mod φ(n)。公钥为 (n,e),私钥为 (n,d)。加密为 c=m^e mod n,解密为 m=c^d mod n。签名则用私钥运算、公钥验证。RSA 的密钥长度必须足够大,2048 位是当前最低可用基线,1024 位已不安全。
ECC 的安全性建立在“椭圆曲线离散对数困难”之上。在有限域 GF(p) 上定义曲线 y²=x³+ax+b,选取基点 G 与阶 n,私钥是随机整数 d,公钥是点 Q=d·G。已知 d 和 G 求 Q 容易,已知 Q 和 G 反推 d 困难。ECC 用更短的密钥达到同等强度:256 位 ECC 约等于 3072 位 RSA,384 位 ECC 约等于 7680 位 RSA。这意味着迁移到 ECC 后,证书体积、握手计算量和带宽占用都会下降,但曲线选择必须合规,例如 P-256、P-384 或 Curve25519,避免使用已受质疑的曲线。
二、密钥与证书的存储结构
RSA 私钥常见格式有 PKCS#1(-----BEGIN RSA PRIVATE KEY-----)和 PKCS#8(-----BEGIN PRIVATE KEY-----),后者更通用,可封装不同算法。ECC 私钥通常以 PKCS#8 或 SEC1 格式存储。公钥在证书中通过 SubjectPublicKeyInfo 结构承载,其中 algorithm 字段用 OID 标识算法:RSA 为 1.2.840.113549.1.1.1,EC 为 1.2.840.10045.2.1,曲线 P-256 对应 OID 1.2.840.10045.3.1.7。盘点时读取这些 OID,就能准确识别算法与曲线,而不是靠文件名猜测。
证书本身是 X.509 结构,关键字段包括版本、序列号、签名算法、颁发者、有效期、主体、公钥信息、扩展项和签名值。迁移关注点在于:签名算法字段是否仍为 SHA-1 或 RSA,公钥算法是否为 RSA,以及证书链中是否混用不同算法。一个常见陷阱是根证书或中间 CA 仍用 RSA,即使叶子证书换成 ECC,链验证仍会依赖 RSA,迁移必须整链考虑。
三、协议依赖与资产清单方法
密码资产不是孤立存在的,它被协议和调用链引用。TLS 服务端配置决定使用哪些证书和密钥;SSH 主机密钥决定登录信任;IPsec 和 VPN 使用 IKE 协商算法;代码签名和文档签名则依赖本地密钥库。盘点时要沿着“服务→协议→证书/密钥→算法”的路径逐层展开。
可执行的盘点方法分四步。第一步,确定扫描范围:主机、容器、负载均衡、网关、数据库、消息队列、代码仓库和 CI/CD 流水线。第二步,采集证据:对文件系统搜索常见密钥与证书扩展名,对运行中服务抓取 TLS 握手信息,对配置中心导出协议配置。第三步,解析算法参数:用 OpenSSL 读取证书和密钥的算法、曲线、位数、有效期。第四步,建立资产台账并标注依赖关系。
# 示例:读取证书算法与公钥信息
openssl x509 -in server.crt -noout -text | grep -E "Signature Algorithm|Public Key Algorithm|Public-Key"
# 示例:读取私钥类型与位数
openssl pkey -in server.key -noout -text | head -n 5
# 示例:探测服务端 TLS 协商结果
openssl s_client -connect api.example.com:443 -servername api.example.com </dev/null 2>/dev/null | openssl x509 -noout -text | grep "Signature Algorithm"
台账字段建议包含:资产编号、所属系统、资产类型(证书/密钥/协议配置)、算法、曲线或位数、存储位置、有效期、依赖协议、负责人、迁移优先级。优先级可按“对外暴露且使用弱算法”最高、“内部使用但链依赖弱算法”次之、“已使用合规算法”最低来划分。
完成盘点后,应得到一张可追溯的密码资产地图:每个证书和密钥都能对应到具体服务、协议和负责人,每个弱算法都能定位到影响范围。这张地图是后续迁移排期、灰度切换和回滚方案的基础,也是衡量迁移治理是否闭环的核心依据。