假设一个受信任的根 CA 被破坏/强制生成欺诈性 SSL 证书。这样的证书能够实现什么,特别是关于 MITM 类型的攻击?
以 Facebook 为例,如果我去那里,我会得到 (1) 挂锁,(2) 由 DigiCert 签名的证书,以及 (3) 我可以检查 SHA 指纹是否匹配某个值 81:AB:etc。
我的假设是,如果 DigiCert 是受损的 CA,那么可以生成匹配 1、2 和 3 的假证书,对吗?SSL 安全模型中是否还有其他任何东西可以使假证书与实际颁发给 Facebook 的真实 SSL 证书区分开来?或者其他任何可以允许基于此证书检测 MITM 类型攻击的东西?
我的第二个假设是,如果 DigiCert 以外的 CA 是受感染的 CA,那么可以生成假证书,但它不会在上面说“DigiCert”,而且它不会在 SHA 密钥方面匹配?这是正确的,还是有可能(纯粹从技术角度来看)根 CA 创建一个模拟另一个根 CA 的证书?如果是这样,是否有任何其他方法可以检测到连接是用这个假证书加密的?另一个 CA 可以创建一个显然具有相同 SHA 密钥的证书吗?
这个问题的灵感来自英国即将颁布的“窥探者宪章”,该宪章赋予当局许多权力来监视数字通信。关键是这种权力在面对加密时可能会有多大用处,因为有人谈论使用“黑匣子”执行深度数据包检查来收集提供商(例如 Facebook)可能不会选择与英国政府分享的信息。我的猜测是这样的技术是不可能的(我希望 DPI 肯定不会!)但我并不十分清楚假证书和 MITM 攻击的可能性。我猜如果只是出于政治原因假设精通技术的客户可以检测到假证书,就不会尝试这样做。