欢迎访问 内存溢出 —— 独立后端与系统工程技术博客

专注于分布式系统、Linux内核、数据库存储与后端工程实践

HTTPS 中间人攻击与证书固定(Certificate Pinning)

发表于:|最后更新:|分类:安全与运维|阅读:947 次

HTTPS 依赖 PKI 信任链验证服务器身份,但当设备被植入恶意根证书(如企业代理或恶意软件)时,中间人攻击(MITM)便可成功解密流量。证书固定 通过将服务端证书或公钥哈希硬编码在客户端,绕过对系统根证书的盲目信任。

一、Android 网络安全性配置示例

xml
<network-security-config>
    <domain-config>
        <domain includeSubdomains="true">api.example.com</domain>
        <pin-set expiration="2026-12-31">
            <pin digest="SHA-256">7HIpactkIAq2Y49orFOOQKurWxmmSFZhBCoQYcRhJ3Y=</pin>
        </pin-set>
    </domain-config>
</network-security-config>

当攻击者使用伪造证书进行解密时,客户端计算出的公钥哈希与固定值不匹配,连接会被主动拒绝。生产环境应至少保留一枚备份 Pin,避免证书轮换导致客户端全面失联。