VPN 如何路由 SSL 流量?它们是否会损害安全性?

信息安全 tls 虚拟专用网 中间人
2021-08-27 16:37:10

如果我对 VPN 运作方式的理解是正确的,那么我与整个互联网之间的所有流量都将通过 VPN 的服务器进行路由。因此,攻击者只能看到 VPN 和我之间的加密流量,而无法了解其内容或真正的目的地。目的地也无法看到请求最初来自哪里(即:我)。到目前为止我是对的吗?

那么当 SSL 在这里发挥作用时,它是如何工作的呢?假设我要通过 VPN 访问 Gmail。由于 VPN 代表我连接到 Gmail(反之亦然),他们是否不需要解密 Gmail 和我的计算机之间的通信,并再次重新加密以发送到两端?如果是这样的话:

  • 显然,这不是意味着 VPN 可以看到所有明文通信吗?
  • 如果上述情况属实,那不是 MITM 攻击吗?
  • 如果上述情况属实,并且我还没有安装任何新的受信任根证书,为什么我的浏览器没有提醒我?

问题一般是关于 VPN,但我使用的是 OpenVPN。

3个回答

网络通信是使用多个独立层完成的。VPN 是一层,是通信的通道,而 SSL 是另一层。他们不干涉。

在一个非常不同的话题上,有人说(并因此而被嘲笑互联网是一系列管子但是我可以用管子类比来解释 VPN 内部的 SSL 的概念。

想象一下 SSL 就像一个从您的浏览器连接到 Gmail 服务器的管道。你在那个管子里发送数据,外面的人看不到它。VPN 是从您到 VPN 服务器的不同且更大的管道。您现在将 SSL 管通过 VPN 管。当您的数据离开您的计算机时,您的数据在这两个管中,但 VPN 管将在 VPN 服务器处结束,SSL 管仍继续不间断地连接到 Gmail。

在此处输入图像描述

VPN 是黑管,彩色管是通往您所有重要网站(Gmail、Paypal 等)的 SSL 隧道。铜线是您的数据。

因此,您的数据安全不会受到影响。

希望可视化有所帮助。

VPN 不分青红皂白地转发数据包。当您使用 Gmail 的服务器执行 SSL 时,SSL 连接实际上由数据“记录”(在SSL/TLS 标准中描述)组成,这些数据“记录”通过您的计算机和 Gmail 服务器之间的TCP连接发送。反过来,该 TCP 连接体现为许多单独的 IP 数据包。

使用 VPN,您发出的所有 IP 数据包都会发送到 VPN 服务器;Gmail 服务器发回的所有 IP 数据包都会发送到 VPN 服务器。VPN 服务器通过将这些 IP 数据包编码到它与您的机器维护的隧道中来转发这些 IP 数据包。因此,IP 数据包(对包含与 Gmail 服务器的 SSL 连接的 TCP 连接进行编码)被编码到隧道中,从而再次加密。有两个嵌套的加密层,您的机器和 Gmail 服务器之间的 SSL 连接,以及您的机器和 VPN 服务器之间的连接(也可能是一些 SSL)。VPN 服务器删除并添加了外部层,但内部层对该服务器保持不透明。

一般来说,VPN 服务器处于对您进行中间人攻击的理想位置,因为它控制着所有进出您机器的数据;但是 SSL 层(您的机器和 Gmail 服务器之间的一层)可以保护您免受机器和 Gmail 服务器之间路径上的所有攻击者的攻击,其中包括 VPN 服务器。

虽然 Google 向其发送信息的终点确实是 VPN 网关,但您缺少的是 SSL 的内容。您的计算机仍会为 SSL 会话生成私钥并将其发送,以便只有您要与之交谈的服务器 (GMail) 才能打开它。然后你和 GMail 正在谈论那个安全连接,你以一种只有 GMail 可以读取的方式发送你的密码。因此,VPN 端点对您与 GMail 的通信一无所知,而 GMail 只知道它们正在发送到 VPN 的入口点。