首先,我很抱歉发送了另一个关于这个问题的问题,因为有很多相关的帖子。在阅读了它们和相关网站后,我仍然不清楚几点。
- 浏览器通过安全套接字连接到服务器
- 服务器用它的公钥和它的证书来响应。这是我最麻烦的一步。在这个从服务器到客户端的消息中,证书可以很容易地与服务器的公钥分开吗?如果它是根证书(已经包含在浏览器中的证书),那么中间人无法伪造它,但如果不是呢?客户端用来验证证书的任何这种在线机制都不能被劫持吗?此外,如果客户端的计算机受到威胁,根 CA 也可能受到威胁,对吗?有什么步骤可以避免这种情况吗?最后一件事:据说证书在签名之前是不安全的。我不知道这意味着什么,尤其是因为证书可以自己签名。我认为这应该意味着有人在保证消息的真实性,所以证书签名本身听起来不安全(“你是真正的证书吗?”......“嗯,当然,我是”)。如果验证证书的机制是互联网,我想知道它是如何安全的。签署证书与(字面上)说客户端验证证书相同吗?
- 会话密钥用公钥加密并发送到服务器。此会话密钥是一个对称密钥,服务器和客户端都将用于其余的加密通信。
我必须说,网上的大多数信息都非常模糊。解释和挥手有很多漏洞。我的猜测是很少有人非常了解实际机制?