SSL 服务器认证

SSL 服务器认证会验证进行通信的站点是否是要求通信的站点。认证通过公用密钥密码术的标准技术确认服务器的身份,以确保服务器的证书和公用标识有效并且已由可信 CA 的客户机列表中所列的认证中心颁发。

与具有认证中心所颁发认证证书的“可信”服务器通信对于建立安全环境而言至关重要。认证证书是数字签名文档,将公用密钥与专用密钥所有者的身份绑定。在连接时进行认证,认证独立于应用程序或应用程序协议。借助 SSL,通过交换证书来执行认证,这些证书是采用 X.509 ITU-T 标准所述格式的数据块。由认证中心颁发 X.509 证书并对其进行数字签名。

但是,使用 SSL 并不能保证客户机与正确的服务器通信。请考虑以下场景,“Server1”和“Server2”都具有来自客户机(“Client”)所信任 CA 的有效证书。Client 要与 Server1 进行安全会话,但 Server2 想窃听它们的通信并位于可以执行此操作的物理位置:
  1. Client 向 Server1 发送进行 SSL 会话的请求。而该请求(及所有后续流量)经过 Server2。Server2 将其自己的证书发送给 Client 来直接响应 Client 的请求,而并没有将该请求转发至 Server1。
  2. Client 接收 Server2 的证书并检查其可信 CA 列表。由于 Server2 的证书由与 Server1 证书相同的 CA 签署,因此 Client 接受该证书并与 Server2 创建安全会话。
  3. 与 Client 完成安全会话之后,Server2 请求与 Server1 创建其自己的 SSL 会话。此时,Client 会向 Server2 发送加密信息。Server2 对该信息解密并重新对其加密,然后将其发送至 Server1。并对相反方向流动的信息执行相同的操作。结果是,Server2 能够读取甚至能够更改信息,即使该信息通过因特网流动时已对所有数据进行加密也是如此。

SSL 服务器认证旨在防止此结果。 启用服务器认证后,客户机在确保服务器证书可信后,将检查证书中的因特网名称与服务器的因特网名称是否匹配。如果匹配,SSL 协商将继续。如果不匹配,连接将终止。

通过启用服务器认证,上面所述安全性场景将按如下所述继续:
  1. Client 向 Server1 发送进行 SSL 会话的请求。该请求(及所有后续流量)实际上会经过 Server2。Server2 将其自己的证书发送给 Client 来直接响应 Client 的请求,而并没有将该请求转发至 Server1。
  2. Client 接收 Server2 的证书并检查其可信 CA 列表。由于 Server2 的证书由与 Server1 证书相同的 CA 签署,因此 Client 接受该证书并与 Server2 创建安全会话。
  3. 在完成安全会话之后但在发送或接收任何真实数据之前,客户机会将收到的证书中的因特网名称与要谈话的服务器的名称进行比较。由于它们并不匹配,因此客户机获悉此连接不应继续,而会断开连接。



反馈 | 声明


http://pic.dhe.ibm.com/infocenter/wci/v7r0m0/topic/com.ibm.wci.doc/SSL_server_authentication.html