通过HTTPS浏览时,第三方可以读取URL吗?


32

众所周知,HTTPS会对计算机和服务器之间的连接进行加密,因此第三方无法查看它。但是,ISP或第三方能否看到用户访问的页面的确切链接?

例如,我访问

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

ISP是否会知道我已访问* / data / abc.html或仅知道我已访问www.website.com的IP?

如果他们知道,那么当人们仅能阅读Internet日志并找出用户查看的确切内容时,为什么Wikipedia和Google具有HTTPS?


7
提示:如果您不注册帐户,请通过各种IP访问此地点,并且不保留Cookie,那么超级用户的参与就会有些分散……这意味着您甚至无法接受自己帖子的答案,或添加评论。我强烈建议您在这里注册一个帐户。
slhck

Answers:


48

从左到右:

显然,该模式 https:由浏览器解释。

域名 www.website.com是使用DNS解析为IP地址。您的ISP 将看到该域的DNS请求和响应。

路径 /data/abc.html是在HTTP请求被发送。如果使用HTTPS,它将与其他HTTP请求和响应一起被加密

查询字符串 ?this=that,如果存在于URL中,在HTTP请求发送-与该路径一起。因此它也是加密的。

片段 #there(有时由JavaScript返回页)它是由浏览器解释-如果存在,则不会发送任何地方。


3
您忘记了支持SNI的现代浏览器甚至对于HTTPS请求也以纯文本形式声明了主机名。
Monstieur

9
@Kurian:无关紧要,因为DNS已经“宣布”了主机名。
grawity

2
@Kurian:可以通过其他方式获取IP地址,但实际上很少如此。如果不考虑单个协议的实际使用方式而孤立地看它,很容易错过重要的部分。
Joachim Sauer

我不知道Tor是否使用相同的出口节点来解析名称和建立实际的HTTPS连接,还是使用不同的出口节点。如果它使用单独的节点,那么它仍然是SNI唯一重要的地方。
grawity

13

ISP仅知道您访问了与之关联的IP地址www.website.com(如果您正在使用他们的DNS,并且可能是URL,而他们专门在寻找流量–如果DNS查询没有通过,他们将看不到该IP地址)。

(在这里对我有点耐心-我确实可以找到答案。)

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

GET /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的免费软件将为您完成此任务。


0

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

这里的答案显示了应该发生的情况。问题是可以读取url吗?答案是肯定的,尽管相对不太可能。

攻击者(第三方)可以绝对拦截您的https流量,并在特定情况下读取您的所有请求。要了解更多信息,我已邀请您阅读MITMSSLStrip。如果需要理解,我可以进一步介绍。

您不应该期望您的ISP这样做,不仅是因为浪费带宽,而且还因为如果您发现并提起诉讼,他们将蒙受更多损失。但是,对于您的问题的更精确答案可以做到吗?是的,尽管不太可能有人会在意您正在谷歌搜索或维基百科的内容。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.