SSL连接泄漏了多少数据?

时间:2010-01-27 12:44:26

标签: https security ssl

说我试图访问https://www.secretplace.com/really/really/secret.php,在SSL会话建立之前,用纯文本发送了什么?

浏览器是否介入,看到我想要https,发起与secretplace.com的SSL会话(即没有以明文形式传递路径),并且只有在设置SSL会话后才通过路径?

好奇。

3 个答案:

答案 0 :(得分:5)

HTTP Secure

保护级别取决于Web浏览器和服务器软件的实现的正确性以及支持的实际加密算法。

此外,HTTPS在应用于公开可用的静态内容时容易受到攻击。可以使用Web爬网程序对整个站点编制索引,并且可以通过仅知道截获的请求/响应大小来推断加密资源的URI。这允许攻击者访问明文(公共可用的静态内容)和加密文本(静态内容的加密版本),允许加密攻击。

由于SSL在HTTP下运行且不了解更高级别的协议,因此SSL服务器只能为特定的IP /端口组合严格提供一个证书。这意味着,在大多数情况下,使用基于名称的虚拟主机与HTTPS是不可行的。存在一种称为服务器名称指示(SNI)的解决方案,它在加密连接之前将主机名发送到服务器,尽管许多旧版浏览器不支持此扩展。自Windows Vista上的Firefox 2,Opera 8和Internet Explorer 7以来,支持SNI。

答案 1 :(得分:5)

通常,您正在与之交谈的服务器的名称已泄露(“stackoverflow.com”)。但是,在SSL / TLS可以开始连接之前,这可能是通过DNS泄露的。

服务器的证书泄露。您发送的任何客户端证书(不是通用配置)可能已经或可能未被明确发送。一个活跃的攻击者(中间人)可能只是问你的浏览器并接收它。

不应泄露URL的路径部分(“/ questions / 2146863 / how-much-data-is-leaked-from-ssl-connection”)。它通过加密和安全传递(假设客户端和服务器设置正确,并且您没有点击任何证书错误)。

另一张海报是正确的,可能存在流量分析攻击,可能会推断出有关静态内容的一些内容。如果该站点非常大且动态(比如stackoverflow.com),我怀疑从中获取更多有用的信息可能非常困难。但是,如果只有少数文件具有不同的大小,那么下载可能是显而易见的。

表格POST数据不应泄露。虽然如果您要传输已知尺寸的物体,通常需要注意事项。

时间攻击可能会泄露一些信息。例如,攻击者可能会对应用程序的各个部分(例如,某个数据库表)施加压力,或者从磁盘预加载一些静态文件,并观察您的连接如何减慢或加速响应。

这是一个“泄密”信息,但对大多数网站来说可能不是什么大问题。

答案 2 :(得分:-2)

请求由您的浏览器发送到https://url:443,这是明确的。然后服务器和客户端将协商密码套件以保护数据。通常,这将包括对称加密算法(例如,3DES或RC4或AES)和用于检测篡改的消息认证码(例如HMAC-SHA1)。请注意,从技术上讲,这两个都是可选的, IS 可以使SSL没有加密,但今天不太可能。

一旦客户端(您的浏览器)和Web服务器同意了密码套件并确定了密钥,则会话的其余部分受到保护。

说实话,我会挂上一个协议分析仪,然后在你的眼前展开它!

请记住,SSL位于TCP / IP堆栈的传输层,它位于浏览器数据之下,因此它都受到保护。

希望有所帮助。