在安全套接字通信中,服务器(例如google.com)如何检查传入连接是否安全?
详细信息:考虑下载HTTPS页面的Web浏览器 - 在这种情况下,它会检查服务器的证书并将其放入信任库。在服务器端,它如何检查连接是否安全?
为什么证书链传递给客户端而不是单个证书?
答案 0 :(得分:1)
- 在安全套接字通信中,服务器(例如google.com)如何检查传入连接是否安全?
醇>
传入连接不是安全的,直到两个对等方都协商了SSL握手,包括证书和密码套件。
详细信息:考虑下载HTTPS页面的Web浏览器 - 在这种情况下,它会检查服务器的证书并将其放入信任存储区。
仅当用户告诉它时。我没有看到相关性。
在服务器端,如何检查连接是否安全?
见上文。
- 为什么证书链传递给客户端而不是单个证书?
醇>
因为签名证书本身毫无意义。它需要伴随着签名者链,并且客户需要信任该链中的某个人。
答案 1 :(得分:1)
连接不是神奇的安全。它需要谈判和建立。 SSL / TLS协议详细说明了双方为了协商安全连接而需要遵循的一系列步骤。因此,服务器可以确保连接是“安全的”,因为它刚刚经历了与客户端一致的一系列步骤以安全地建立所述连接。如果客户端没有正确跟进,则无法建立连接。
您还需要区分加密和身份验证。 SSL / TLS协议详细说明了如何加密连接,服务器可以确保连接。服务器不检查客户端的任何证书。服务器无法验证客户端。证书检查是片面的,客户端只检查服务器的证书。服务器可以确保发送给与其通话的任何人的消息都不会被截获或操纵,但它完全不知道与其实际交谈的人是谁。
(服务器可以要求客户端也拥有证书,但实际上这很少使用,因为客户端通常没有任何证书。)
为什么证书链传递给客户端而不是单个证书?
因为证书的安全性取决于先前建立的信任。客户端需要已经信任已签署服务器证书的根证书。现在,根证书和服务器证书之间通常会有更多步骤。根将签署一个中间证书,该证书可能已经签署了另一个中间人,然后签署了服务器的证书。由于客户端通常不能在其信任库中拥有所有这些中间证书,因此它们与服务器证书一起发送。客户端可以验证链回到它确实信任的根。