我了解数字证书和证书颁发机构(受信任的第 3 方)有助于防止 HTTPS 连接期间的中间人攻击。但是,我对一些细节感到困惑。
假设我们有一个客户端 Alice 和 Bob,他们的服务器映射到“bob.com”。
当 Bob (bob.com) 向 CA(比方说 veriSign)请求创建一个新证书并将他的公钥发送给他们以放入证书中时,是什么阻止了黑客拦截请求,将公钥切换为他们自己的,让 CA 创建一个虚假证书,然后将此虚假证书返回给 Bob。Bob 实际检查返回证书上的公钥是否与他最初在请求中发送给 CA 的内容相匹配的唯一保护措施是什么?然后我想通知 CA 他返回的内容与他发送的内容不符,因此 CA 不会保留虚假记录?
假设 Bob 从 veriSign 获得的新创建的证书是合法的,现在假设 Alice 将通过 HTTPS 协议向“bob.com”发出请求。是什么阻止了双通道 MITM 攻击,其中黑客在前往 Alice 的途中拦截 Bob 的新证书,创建一个新证书,用他们自己的密钥(之前由威瑞信签名)对其进行签名,但随后也拦截了 Alice 对 VeriSign 的请求她要求提供威瑞信的公钥,然后用匹配的公钥再次将其切换为恶意密钥。现在,当 Alice 尝试检查虚假证书的完整性时,它会检查出来,因为尽管她认为她正在使用 veriSign 的公钥检查签名,但她真的使用了恶意公钥?