HTTPS 网站更加安全,因为浏览器和网站服务器之间交换的所有信息都是“通过线路”加密的。HTTP 协议在两台计算机(客户端(例如网络浏览器)和服务器(网站))之间建立连接和数据传输。这两台计算机没有物理连接,但都是更大网络(通常是Internet)的一部分。
为了使这种通信在网络上成为可能,该协议使用数据包从网络上的一台计算机跳到另一台计算机,直到到达目的地。这意味着数据包所经过的所有中间节点都可以读取数据包的内容。不仅如此,中介甚至可以更改数据包的内容,而客户端和服务器甚至不会知道。
使用 HTTPS,这些内容以只有两台通信计算机(源计算机和目标计算机)才能解密的方式进行加密。这提供了更大的隐私。加密的方式还可以使数据包防篡改。任何中间节点都无法更改数据包,因为这会使它们无法解密,并且此类被篡改的数据包将被客户端或服务器忽略。
HTTP协议:超文本传输协议是分布式、协作式、超媒体信息系统的应用协议。HTTP 是万维网数据通信的基础。
HTTPS:安全超文本传输协议是一种用于通过计算机网络进行安全通信的通信协议,在互联网上的部署尤其广泛。
什么是 MITM?MITM 代表“中间人”,指网络上客户端和服务器之间的所有中间节点。示例包括 ISP(互联网服务提供商)和用于访问互联网的 Wi-Fi 网络。
什么是 MITM 攻击?当客户端和服务器之间的网络通信路径中的任何中间节点因拦截数据包而受到损害时,就会发生 MITM 攻击。
例如,使用纯 HTTP,ISP 读取客户端和服务器之间交换的每一条信息都是微不足道的。浏览的每个 URL、存储的每个 cookie、以及用户浏览的每个页面的所有内容和 HTTP 标头 — 所有这些对 ISP 都是透明的。这使得 ISP 可以阻止他们想要审查的内容。
不仅如此,ISP 还可以拦截和更改客户端和服务器之间交换的信息。例如,ISP可以选择在网页上添加广告,甚至用自己的广告覆盖网站的广告。这种侵权行为确实 发生过。
MITM 攻击的另一种方式是在 Wi-Fi 网络上进行。由于纯 HTTP 数据包未加密,因此同一 Wi-Fi 网络上“嗅探”网络上传输的所有数据的任何其他设备都可以读取它们。这意味着当您通过 HTTP 登录网站时,同一网络上的任何其他人都可以读取您的用户名和密码并窃取它。一个众所周知的例子是使用一个名为Firesheep的简单工具。
HTTPS 的 MITMHTTP 的 MITM 很简单,因为数据包是加密的。HTTPS 的 MITM 有点困难,但如果用户的设备受到威胁,仍然可以完成。为了了解其中的原理,让我们更深入地了解 HTTPS 加密的工作原理。
HTTPS 的基本构建块是公钥加密。一方(网站)创建两个密钥:公钥和私钥。公钥用于锁定(加密)发送给该方的任何消息。它是公开的,因此任何人都可以使用它向他们发送加密的消息。但公钥无法解密任何加密的消息。要解锁(解密)消息需要相应的私钥。只有网站有自己的私钥。
网站的公钥也称为 SSL 证书。SSL 证书由受信任的证书颁发机构颁发。所有设备——PC、Mac、iPad、iPhone、Android 手机,凡是你能想到的——都附带了受信任的证书颁发机构(或根证书)的默认列表。但是,某些程序(通常是恶意软件,有时也包括防病毒软件)会将自己的根证书安装到设备信任的证书列表中。这使得“假”根证书的颁发者可以冒充他们喜欢的任何网站。然后,他们可以拦截 HTTPS 流量,不是因为他们能够破解 HTTPS 加密,而是因为他们通过冒充设备尝试与之通信的网站来规避此类加密。215 年发现联想 PC 附带此类恶意软件。
实际影响对于非专业用户来说这意味着:
如果您通过纯 HTTP 使用网站,则任何所有活动(包括密码)都可能被拦截和更改。所以没有隐私,也没有安全。没有任何方法可以确保您下载的内容是“真实的”或网站实际提供的内容。不要在不同站点上重复使用密码,尤其是在 HTTP 站点上。如果您要下载任何内容(尤其是软件可执行文件),请仅通过 HTTPS 网站进行下载。不要安装不必要或不受信任的软件,因为它可能会中间人攻击您的流量或更糟的情况。