我有权访问的朋友的服务器上发生了密钥/指纹更改。所以我给他发短信问:“你换证书了吗?” 他回答“是”。
我最初的想法是更新我的本地指纹,但后来我想到:如果有人在我的朋友进行合法更改的同时进行MITM 攻击怎么办?
我如何继续确保我没有被欺骗?
PS!在这种特殊情况下,我的朋友从自签名证书转为使用 Let's Encrypt,但答案应反映涉及指纹更改的任何情况。
我有权访问的朋友的服务器上发生了密钥/指纹更改。所以我给他发短信问:“你换证书了吗?” 他回答“是”。
我最初的想法是更新我的本地指纹,但后来我想到:如果有人在我的朋友进行合法更改的同时进行MITM 攻击怎么办?
我如何继续确保我没有被欺骗?
PS!在这种特殊情况下,我的朋友从自签名证书转为使用 Let's Encrypt,但答案应反映涉及指纹更改的任何情况。
让我们打电话给你的朋友鲍勃。
Bob 更新了他的证书,但由于您以前从未见过它,因此您有理由担心 Eve 可能在中间。通过联系他来验证您的观察,您已经做了正确的事情,但仍然没有自动确认新密钥的方法。我假设您没有使用任何签名机构并明确信任 Bob 端的特定证书?
您已经相信他会确认文本上的密钥更改,因此只需将指纹发送到另一个文本上就可以了。
本质上,您需要使用一些带外方法来确认新密钥(例如亲自与他会面),或者找到一种方法让他通过另一个已建立的可信渠道(例如签名的电子邮件、签名的 PGP)传递密钥,文本/WhatsApp,将其放在您知道只有他控制的网站上等。
这就是证书颁发机构如此有用的原因——它是您信任远程系统的根源。如果您信任 Let's Encrypt(默认情况下您应该这样做,因为它的证书是由大多数浏览器/操作系统中的另一个受信任的根 CA 颁发的),那么这个问题就会消失。
我如何继续确保我没有被欺骗?
您的朋友不应该回答您“是”,而是“是的,新的 SHA-256 指纹是……”。在这种情况下,您可以删除旧密钥并手动验证新主机密钥。