ISP 如何在使用加密连接时阻止网站的特定内容?

信息安全 tls http 网址重定向
2021-09-10 23:31:16

我正在学习加密和 SSL 证书,我想知道:如果在使用 SSL 证书连接到网站时使用加密连接,ISP/公司经理/政府(控制网络流量的人)如何阻止某些特定内容那个网站的?.

我从这个问题中知道,可以阻止整个网站/域(IP 地址) ,因为服务器 IP 在 TCP 层没有加密,否则无法建立连接!。但是由于建立了加密连接,所有数据流量都被加密 - 包括请求标头(如 URL 标头) - 所以 ISP 不知道请求是否用于

https://www.example.com/good-content

或为

https://www.example.com/bad-content

因为整个 URL 与对接待员的整个请求一起被加密。

我现在的问题是,大约 4 年前,一些 ISP 怎么会阻止YouTube 上的一些视频?.

4 年前我不知道有什么叫做加密的东西来考虑它,但现在我正试图了解当时发生了什么。

唯一的解释我能想出的是,YouTube曾经被允许http请求在那个时候所以http请求

 http://www.youtube.com/watch?v=bad-content

可以被阻止,但不能阻止https对同一 URL请求,因为 ISP 不知道正在观看什么!我不知道我的解释是对还是错,但我希望我能理解。

2个回答

这里想到两件事:

  1. 在允许您访问网络之前,ISP 要求在您的计算机上安装来自它们的证书在这种反乌托邦环境中(在某些国家和许多公司网络中确实存在),ISP 会要求您在访问网络资源之前将其证书添加到您受信任的根存储中。当您向https://someplace.com/any-content发出请求时,代理会执行中间人操作,解密流量,并使用根存储的证书即时重新加密。这将允许他们解密流量并执行 MITM 来检查您的流量。

  2. ISP 阻止域名ISP 可以随意阻止和过滤对 somesite.com 的 DNS 请求。当然,这也会阻止https://somesite.com/good-contenthttps://somesite.com/bad-content

虽然 4 年前我无法回答有关 youtube 的问题,但我可以谈论 SSL/TLS。

当您打开与服务器的 TLS 连接时,您可以(并且通常会)指定您尝试访问的名称,这称为服务器名称指示 (SNI)

所以你的 ISP 知道:

  • 您要连接的 IP,以及
  • 您尝试连接的名称。

完整的 URL(如您所说)已加密,但知道服务器名可能足以审查整个站点。