我们都知道 HTTPS 对计算机和服务器之间的连接进行加密,使其无法被第三方查看。但是,ISP 或第三方能否看到用户访问的页面的确切链接?
例如,我访问
https://www.website.com/data/abc.html
Run Code Online (Sandbox Code Playgroud)
ISP 会知道我访问了 */data/abc.html 还是只知道我访问了 www.website.com 的 IP?
如果他们知道,那么当人们可以阅读互联网日志并找出用户查看的确切内容时,为什么维基百科和谷歌有 HTTPS?
use*_*686 48
从左到右:
该模式 https:是,很明显,由浏览器解释。
使用 DNS将域名 www.website.com解析为 IP 地址。您的 ISP将看到此域的 DNS 请求和响应。
该路径 /data/abc.html在 HTTP 请求中发送。如果您使用 HTTPS,它将与 HTTP 请求和响应的其余部分一起加密。
的查询字符串 ?this=that,如果存在于URL中,在HTTP请求发送-与该路径一起。所以它也是加密的。
该片段 #there(有时由JavaScript返回页)它是由浏览器解释-如果存在,则不会发送任何地方。
dav*_*dgo 13
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 的免费软件可以为您做到这一点。
| 归档时间: |
|
| 查看次数: |
1184 次 |
| 最近记录: |