通过 HTTPS 浏览时 URL 会被第三方读取吗?

通过 HTTPS 浏览时 URL 会被第三方读取吗?

我们都知道HTTPS加密了电脑和服务器之间的连接,第三方无法查看。但是,ISP或第三方能看到用户访问的页面的具体链接吗?

例如,我访问

https://www.website.com/data/abc.html

ISP 会知道我访问了 */data/abc.html 还是只知道我访问了 www.website.com 的 IP?

如果他们知道,那么为什么维基百科和谷歌要使用 HTTPS,而有人只需阅读互联网日志就能找出用户查看的确切内容?

答案1

从左到右:

架构 https:显然是由浏览器解释的。

域名 www.website.com使用 DNS 解析为 IP 地址。您的 ISP等着瞧该域的 DNS 请求和响应。

小路 /data/abc.html在 HTTP 请求中发送。如果您使用 HTTPS,则将被加密以及其余的 HTTP 请求和响应。

请求参数 ?this=that如果 URL 中存在 ,则会在 HTTP 请求中与路径一起发送。因此它也经过加密。

分段 #there如果存在,则不会发送到任何地方——它由浏览器解释(有时由返回页面上的 JavaScript 解释)。

答案2

ISP 只会知道您访问了与之关联的 IP 地址www.website.com(如果您使用他们的 DNS,也许知道 URL,并且他们正在专门寻找流量 - 如果 DNS 查询没有通过,他们就不会看到)。

(请稍等片刻——我会找到答案的。)

HTTP 协议的工作方式是连接到一个端口(通常是端口 80),然后 Web 浏览器将它想要的页面传达给服务器——一个简单的查找请求http://www.sitename.com/url/of/site.html将包含以下几行:

获取 /url/of/site.html HTTP/1.1
主机:www.sitename.com

HTTPS 的功能完全相同,只是端口号为 443 –它将整个 TCP 会话(即,您在上面引用的位中看到的所有内容以及响应)包装到 SSL 加密会话中 - 因此 ISP 看不到任何流量(但他们可能能够根据网站的大小推断出一些东西,并且 DNS 查找www.sitename.com首先解析为 IP 地址)。

当然,如果页面中嵌入了“网络臭虫”,这可以给信息分发者的“合作伙伴”提供线索,让他们知道你正在查看什么以及你是谁——同样,如果你的信任链被破坏,ISP 可以进行中间人攻击。理论上,你可以拥有私人端到端加密,是因为浏览器附带了 CA 证书。如果 ISP 或政府可以添加 CA 证书或破坏 CA——这两种情况都发生过——你就会失去安全性。我相信中国防火墙可以有效地进行中间人攻击来读取 HTTPS 数据,但我已经有一段时间没去过那里了。

你可以自己轻松地测试一下,只需获取一个可以嗅探进出你计算机的流量的软件即可。我相信一款名为 Wireshark 的免费软件可以帮你做到这一点。

答案3

我不确定这是否值得评论或回答,但我想分享一个附录。

这里的答案表明了什么应该发生。问题是url 可以被读取。答案是肯定的,尽管这种可能性相对较小。

攻击者(第三方)绝对可以拦截你的 https 流量并在特定情况下读取你的所有请求。要了解更多信息,我邀请你阅读中间人SSL条。如果需要理解的话,我可以更深入地探讨这一点。

您不应该期望您的 ISP 会这样做,因为这不仅浪费了他们的带宽,而且如果您发现并起诉他们,他们的损失也会更大。但是,对于您的问题“可以这样做吗?”,更准确的答案是可以,尽管不太可能有人会足够关心您搜索或维基百科的内容。

相关内容