VPN 服务商能看到什么,看不到什么
出口能看到地址、时间,以及在未使用 Encrypted Client Hello 时 TLS 握手中的站点名称。数据留存是另一个问题。
你的隧道把本地网络挡在流量之外。但它并没有消去另一端的公司——每个数据包在抵达开放互联网之前都要经过那家公司。这个位置既是商业模式,也是隐私问题。所以有用的提问不是服务商能否看到你,而是它看到什么、能命名什么、保留什么。
信任究竟转移到了哪里
加密从你的设备一直延伸到服务商的服务器,而这段外层链路就是本地网络能看到的全部。服务商握着链路的另一端,因此它会解开隧道并把你的数据包转发出去。这里并无缺陷;这正是你所购买服务的定义。信任并没有消失,而是从本地运营商转移到了出口运营商。
处在这个位置上,它能知道你从哪个地址接入、何时连上、大致传了多少数据、访问了哪些目的地。这些都不需要读取你的消息,分类的意义正在于此。服务商之间真正有意思的差别,在于这些观察之后被如何处理。
出口不得不处理的东西
按出口能否可靠看到来给这些类别排序。没有一行需要破解加密,而每一行在「能否避免」上的答案并不相同。
| Category | Visible at the exit | Why |
|---|---|---|
| Your public address | Always | It is the address the tunnel arrives from |
| Connection times and volume | Always | Accounting data, not content |
| Destination IP addresses | Always | The exit has to route the packets |
| HTTPS hostname (SNI) | Normally, unless ECH is used | Sent in the clear in the TLS ClientHello |
| DNS names | Only if DNS is plaintext | DoH or DoT hides the query; plaintext is readable by the forwarder |
| Page paths and form contents | Not normally | Protected by the destination site's TLS session |
第四行正是多数心智模型会漏掉的。现代浏览器把站点名放进 ClientHello,也就是 TLS 握手的第一条消息;即便每个 DNS 查询都被端到端加密,这个字段在出口处依然可读。除非协商了 Encrypted Client Hello,否则站名会与目的地址一起明文出现。加密 DNS 改变的是谁看到查询,而不是谁看到站名。
较旧的连接在证书上也是如此:TLS 1.3 加密服务器证书,而 TLS 1.2 握手可能把站名暴露给记录流量的观察者。两者都是传输层事实,而非服务商政策。
TLS 覆盖了什么,没覆盖什么
网站提供 HTTPS 时,你的浏览器与那个网站的端点建立 TLS 连接,而不是与 VPN 服务器建立连接。服务商转发加密记录,并得知目的地址、时间与大致大小。除非启用 ECH,站名会随 ClientHello 一起发出;无论哪种情况,页面正文都保持加密。意料之外的根证书会改变这条边界,所以证书警告值得认真对待。
明文 HTTP 在出口之外没有这层保护。隧道保护的是到服务商的那一段,之后请求就与没有 VPN 时完全一样地发出。ECH 也修不好这一点,因为它保护的是名称,而不是内容。
留存是与可见性不同的另一个问题
运营商可以在内存中处理连接数据而什么都不留,也可以只留一个子集,并准确地说明它并非浏览历史。读「无日志」声明要按类别读,而不是按口号读:连接记录、时间戳、总量、目的地数据、账户标识与客服消息都算在内。服务商可以诚实地不保留浏览日志,同时保留账户记录与运行服务所需的元数据。可见性并不能告诉你是哪一类被存了下来。
审计是关于系统和它所覆盖时间窗口的证据,而开源客户端代码描述的是客户端,不是服务器。两者都有用,但都不能代表出口背后的每一个存储系统。要问审计的范围,而不是它的徽章。
区分服务商的问题
问保留什么、保留多久、谁能调取。问出口由谁运营,因为一份目录条目、一个应用开发者、一个运行某台服务器的人,可能是三个不同的主体。问 DNS 如何处理、你用的路径是否支持 ECH,因为明文 ClientHello 即使没有 DNS 查询也会暴露站名。问遇到法律请求时会怎样,并把答案读成对能力的描述,而不是对意图的承诺。
EFF 的VPN 挑选指南是这些问题的一份合理清单,它是框架而不是对任何服务的判决。营销页面不是留存政策。以上都不会让 VPN 变得无用;它改变的是你必须信任谁,以及信任来做什么。