SSL证书如何防止中间人攻击?



我已经在互联网上阅读了几篇关于SSL证书的文章,但是,我仍然不能弄清楚它如何能够避免man-in-the-middle attack: https://en.wikipedia.org/wiki/Man-in-the-middle_attack.

我对SSL证书的理解一般是它使用Public/Private key pair来加密和解密消息。人们说大家都知道Public key,可以用这个CC_4来加密消息。因此,'man-in-the-middle'也知道这个Public key,所以他可以拦截来自客户端的消息,然后更改消息并在将其发送到服务器之前再次使用Public key加密。对吗?

我对SSL证书的理解一般是它使用公钥/私钥对来加密和解密消息。

不,证书不用于消息加密。加密是用一个单独的密钥完成的,在TLS握手的密钥交换阶段商定。过时的RSA密钥交换方法涉及在密钥交换过程中使用证书进行加密,但现代密钥交换方法不这样做。

证书用于验证服务器,即确保客户端实际上与正确的服务器通信,而不是与中间的某些人通信。此身份验证对于保护密钥交换以及建立在此密钥交换上的加密至关重要。

服务器基本上通过签名一些数据来证明拥有与公钥匹配的私钥,客户端可以用证书中包含的公钥来验证这个签名。这些数据至少部分是由客户端指定的,即服务器不能简单地签署任何它想要的证明。证书验证涉及的内容远不止这些——参见SSL证书框架101:浏览器如何验证给定服务器证书的有效性?

最新更新