1. HPKP 在公钥钉扎的工程价值与废弃
HPKP(公钥钉扎)的工程价值是什么?为何被废弃?
- HPKP 通过 Public-Key-Pins 头钉扎公钥,防中间人
- 价值:防 CA 被黑/恶意证书,客户端验证公钥
- 废弃原因:误配置导致站点不可用(锁死)、需要备份密钥
HPKP(HTTP Public Key Pinning)让服务器通过 Public-Key-Pins 头声明信任的证书公钥(SPKI),客户端在后续访问时校验证书公钥是否与钉扎一致,从而防止中间人使用他人签发的证书。其工程价值是"防 CA 误签发/被攻破后的恶意证书"。但 HPKP 被废弃:一是误配置的后果极其严重——若钉扎了错误公钥而无备份,站点会永久不可用(客户端拒绝连接),几乎无法恢复;二是需维护备份密钥与多钉扎,运维复杂;三是与现代证书轮换/CI 冲突。因此被废弃,替代方案是 Expect-CT(强制证书透明度)与更安全的证书管理。
HPKP 的价值是"客户端钉扎公钥防中间人",但"钉死则锁死"的致命风险导致废弃。运维教训是"公钥钉扎要谨慎、要有备份密钥"。
# 旧 HPKP 头(已废弃)
Public-Key-Pins: pin-sha256="BASE64=="; max-age=2592000; includeSubDomains