当您连接到 VPN 时,您的流量并不仅仅只是“私有化”。每个数据包在离开您的设备之前都会发生一些特定的情况 - 了解该机制可以让您更清楚 VPN 实际保护的内容以及原因。
隧道到底是什么
在网络中,术语“隧道”指的是一个特定的隐喻。它解释了从更高协议层封装数据的过程,以便通过将一种网络数据包包装在另一种网络数据包中,使其能够以安全、不透明的方式在网络上移动。内部数据包包含真正的有效负载,对沿途的任何流量检查员都是隐藏的,而外部数据包则充当管理路由的容器。
隧道将您的设备连接到 VPN 上下文中的 VPN 服务器。您发送的所有内容首先都会在本地进行加密和包装。然后,它作为难以理解的密文块通过公共互联网传递,然后在服务器端解开包装,并可能继续到达最终目的地。从中间任何网络点的角度来看,所有流量似乎都流向同一个地方:VPN 服务器。
封装:每个数据包发生了什么
通过网络传输的每一位数据都以数据包形式承载,数据包是由有效负载(内容)和标头(路由信息)组成的离散单元。当 VPN 封装数据包时,会添加一个新的外部标头,指示网络将数据包传送到何处(VPN 服务器),并添加使原始数据包的标头和有效负载难以理解的加密。
这意味着对于同一网络上的某人(ISP、网络管理员或使用监控工具的人)来说,只有外部标头是可见的。虽然他们可以观察发送到 VPN 服务器的数据,但他们对流量的性质和目的地仍然一无所知。在到达计算机并被解码之前,无法以任何方式追踪初始数据包。
隧道协议的作用
上述概念在特定的隧道协议中实现,每个隧道协议在速度、安全性和兼容性方面都有不同的权衡。 OpenVPN 是一种流行的开源标准,支持 TCP 和 UDP,并使用 AES-256 加密。尽管具有与 OpenVPN 相同程度的安全性,但 WireGuard 的软件要小得多(大约 4,000 行,而 OpenVPN 则有 100,000 行),从而更易于管理和审核。 IKEv2/IPSec 等移动设备,因为它非常适合在短暂中断后重新连接。尽管 L2TP/IPSec 提供了广泛的互操作性,但 L2TP 本身并不提供加密,因此真正的加密需要 IPSec。
身份验证和密钥交换
在任何数据通过管道之前,两端都必须证明自己的身份,并就加密密钥达成一致。在此握手过程中,加密密钥永远不会直接通过网络发送,该过程通常使用 TLS 或 Diffie-Hellman 密钥交换。由于每个会话都会生成一个新密钥,因此即使较早的会话被黑客入侵,后续会话也是安全的。我们将此特征称为绝对前向保密。
用户只需连接,协议协商、密钥交换和隧道建立就会在任何流量流动之前几毫秒内发生。这种握手是由现代实现在后台自动处理的,例如星球VPN.
隧道不做什么
您的设备和 VPN 服务器之间传输的数据受到 VPN 隧道的保护。它不会加密服务器与其最终目的地之间的流量 - 该部分取决于目的地站点本身是否使用 HTTPS。它也无法防御您设备上已有的恶意软件,也无法防御 VPN 提供商本身(如果他们选择记录流量)。隧道的安全性受这两个端点的限制。
了解这一点有助于设定准确的期望。隧道解决了一个特定问题:使您的流量对于任何可以观察您和 VPN 服务器之间路径的人来说都是不透明的。这包括您的 ISP、本地网络管理员以及同一接入点上的任何人。对于该威胁模型,隧道完全按照预期工作 - 并且它在协议级别执行此操作,无论哪个应用程序或服务生成流量。
