TLS Pinning
TLS 证书固定是将预期证书公钥或哈希嵌入客户端,拒绝其他证书,防止中间人攻击(含合法 CA 签发的伪证书)。
用途
防止拥有合法 CA 证书的攻击者(如政府或被入侵 CA)进行中间人攻击。
机制
客户端预置服务器证书的 SPKI 哈希(pin)。TLS 握手时比对服务器证书与 pin,不匹配则拒绝连接。类型:SPKI pin、证书链 pin。移动 App 常用,浏览器因证书更新难固定。
用例
- 移动 App API 防中间人
- IoT 设备通信
- 高安全 API 客户端
- 内部服务间通信
示例
- 输入
pin: sha256/SPKI=abc...输出Reject on certificate mismatchPublic key pinning
常见错误
- Expired pins without updates cause connection failures
- Provide backup pins and a rotation policy