两种方式都是安全的吗?

zix*_*zix 2 ssl https

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

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

bdo*_*lan 6

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

这就是SSL简而言之:

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

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

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