HTTPS 比 HTTP 更安全吗?

How is HTTPS any safer than HTTP?

对不起,如果我在这里是愚蠢的,但是 HTTPS 怎么可能比 HTTP 更安全?

我看到 HTTPS 有几种工作方式。

  1. 服务器向客户端发送一个加密密钥,客户端使用该密钥加密数据,然后将其发送回服务器。服务器然后使用相同的密钥解密。这显然可以通过拦截密钥和数据并以与服务器相同的方式解密来轻松破解。

  2. 客户端向服务器发送密钥和加密数据,服务器随后使用这些密钥和加密数据来提取数据。再一次,如果数据包被嗅探,有人可以像服务器一样简单地解密它。

  3. 客户端在没有密钥的情况下加密数据,然后在另一端解密。再次被轻松截获并解密

据我所知,如果服务器正在与客户端通信,那么所有通信都可以被拦截和逆向工程?它也不能是一个简单的单向加密系统,因为服务器也需要自己解密数据。

谢谢

非对称密钥解决了几乎所有这些问题,只需一方发送 public 密钥,另一方用它加密对称会话密钥并发回。

剩下的一个主要问题是中间人攻击。是什么阻止恶意路由器传递自己的 public 密钥而不是服务器的 public 密钥,然后来回加密和解密,双向读取消息流量,原始双方实际上在与该路由器交谈时他们以为他们在互相交谈?

这是通过数字签名解决的,每一方都可以证明通信是由它产生的,因为没有其他人拥有产生该签名的密钥。使用 https 没有 public 众所周知的实用方法,即使您的 ISP 也可以知道您的通信内容,尽管他们确实知道您正在与谁通信。