两种方式都是安全的吗?

时间:2011-02-25 19:06:42

标签: ssl https

我知道服务器发送的证书不能伪造(仍然存在MD5冲突但是很容易)但是假冒客户端呢? 在中间攻击的人: 我们告诉服务器我们是合法的客户端并从该服务器获取数据操纵它然后再用合法的客户端公钥加密它?客户如何确保数据来自服务器?

理论上..我们可以将任何数据注入服务器发送给客户端的响应吗?..

2 个答案:

答案 0 :(得分:6)

您如何验证客户端? SSL客户端证书?还是某些应用程序级别的系统(cookies等)?

以下是SSL的简要说明:

  • 在双方之间协商Diffie-Helmann共享会话密钥
  • 服务器是否签署会话密钥并将结果发送给客户端。一旦客户端验证了这一点,客户端就知道没有MITM,服务器就是他们所说的人。
  • 如果启用了客户端证书,客户端是否已签署会话密钥并将签名发送到服务器。服务器现在知道没有MITM,客户端就是他们所说的人。
  • 使用共享会话密钥加密双向的所有数据

通常,当您使用SSL时,您将不使用客户端证书。严格来说,服务器不知道连接是否是MITM。但是,如果服务器证书不正确,大多数客户端将断开连接。服务器假设如果客户端推进连接,则没有MITM。即使马洛里做MITM,选择不传播与客户的脱节,他现在也没有新的信息;他所做的就是与服务器本身连接。在不截断客户端的会话cookie或其他身份验证信息(仅在验证连接安全后由客户端发送)的情况下,MITM无用。

简而言之,只要一端或另一端在启动敏感信息的任何高级别通信之前验证另一端的证书,SSL就是双向安全的。

答案 1 :(得分:0)

你是对的 - 如果客户端和服务器上没有安全的证书身份验证,那么中间人攻击中就会有一个空缺。

如果您使用mutual authentication也称为two-way SSL,则SSL可以“双向安全”。