TL;DR:TLS 仅保护消息的内容。不是元数据。
通过透明网络进行通信时,重要的是要记住给定通信的某些部分无法使用标准技术进行保护。除非您使用 TOR 之类的东西,否则即使您使用 TLS,您的 ISP 也将能够确定您正在与谁交谈。
打个比方,想象一下通过邮政服务发送一个信封。除了收件人之外,任何人都完全无法访问信封的内容。即使邮递员以某种方式查看内容,他们也无法理解(也许您首先通过凯撒密码运行它?呵呵)。
但是,为了让邮政服务将其发送到正确的地址,信封的外部必须标有目的地地址的清晰可读表示。如果邮政部门不希望任何人能够向“Joe Schmoe, 123 Fake street”发送信件,那么他们就无法投递任何带有该地址的信件。
由于邮政服务无法读取邮件的内容,他们无法识别信件的意图。他们拥有的唯一信息是预期收件人是 Joe Schmoe。他们不能只筛选他们认为是恶意的信件;要么全无。
类似地,IP 协议(TCP 在其上运行的路由协议)清楚地标记了“发送者”和“接收者”字段。TLS 无法对此进行加密有两个原因:
- TLS 在 TCP/IP 之上运行,因此无法修改属于这些协议的部分数据包。
- 如果 IP 部分被加密,那么运营商服务(ISP 路由器)将无法识别数据包需要到达的位置。
您的 ISP 或国家/地区强制所有流量通过的防火墙无法检查 TLS 流量。他们只知道 TCP/IP 协议提供的元数据。他们还认为您要访问的网站是坏的多于好的,因此无论内容如何,他们都会放弃进出该网站的所有流量。
有一种方法可以保护在线通信的元数据,但它速度慢且可扩展性不强。TOR 隐藏服务是实现这一点的一种尝试。当然,隐藏服务只能在 TOR 网络中工作,只有先通过明网连接到机器才能访问。这意味着 ISP 或防火墙仍然知道您正在通过洋葱代理您的数据。无论您如何尝试,您总是会泄漏一些元数据。如果他们愿意,他们可以重置与 TOR 节点的所有连接,以及他们当前阻止的站点。
如果您尝试通过防火墙建立与特定 IP 的直接连接,并且防火墙有明确的规则来终止进出该给定 IP 的任何流量,那么直接连接到该 IP 将始终没有结果。您必须通过 TOR、VPN 或其他代理服务间接连接到它。