HTTPS 连接是否会被中间人攻击劫持?
我在工作中使用 gmail,但访问第一个网页时需要输入代理密码。从浏览器内部询问密码。我收到来自代理的证书,我必须接受该证书才能使 Internet 连接正常工作。
在这种情况下,我可以跟踪 Gmail 和浏览器之间的 HTTPS 连接吗?
I'm using gmail from work, but I need to enter a password for a proxy when accesing the first web page. The password is asked from inside the browser. I receive a certificate from the proxy which I must accept in order to make the Internet connection work.
Can my HTTPS connection, between gmail and browser, be tracked in this situation?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
Fiddler 是这样描述的:
Fiddler describes it like this:
跟踪?好吧,即使 https 加密了流量,您仍然知道双方(gmail 和浏览器)的 IP 地址。 HTTPS 并不能解决这个问题,但不同的加密组合已经创建了洋葱路由器(TOR),确实无法找到服务器和客户端。
在“正常”情况下,当攻击者尝试 MITM HTTPS 时,您的浏览器应该抛出证书错误。这就是 PKI 支持的 SSL 的全部意义所在。 然而在 2009 年,Moxie Marlenspike 发表了一场杀手级 Blackhat 演讲,其中他能够在没有警告的情况下对 HTTPS 进行 MITM 攻击。他的工具称为 SSLStrip,我强烈建议观看该视频。
Google 开发了 SSLStrip 的一个很好的解决方案。它称为 STS,您应该启用此功能所有您的网络应用程序。目前只有 Chrome 支持 sts,但 Firefox 正在努力支持此功能。最终所有浏览器都应该支持它。
tracked? Well even though https encrypts the traffic you still know the ip address of both parties (gmail and the browser). HTTPS doesn't solve this problem, but a different blend of crypto has created The Onion Router(TOR) which does make impossible to locate both servers and clients.
Under "normal" conditions when an attacker is trying to MITM HTTPS your browser should throw a certificate error. This is the whole point of SSL backed by a PKI. HOWEVER in 2009 Moxie Marlenspike gave a killer Blackhat talk in which he was able to MITM HTTPS without warning. His tools is called SSLStrip, and I highly recommend watching that video.
A good solution to SSLStrip was developed by Google. Its called STS, and you should enable this on all of your web applications. Currently sts is only supported by Chrome, but Firefox is working on their supporting this feature. Eventually all browsers should support it.
是的,他们可以。您可以通过下载 Fiddler 并使用它来解密 https 流量来亲自查看这一点。 Fiddler 颁发自己的证书并充当中间人。您需要在浏览器中查看证书,看看它是否确实是由 gmail 颁发的。
Yes they can. You can see this for yourself by downloading Fiddler and using it to decrypt https traffic. Fiddler issues its own certificate and acts a man in the middle. You would need to view the certificate in your browser to see whether it is actually issued by gmail.
看来重新协商是 TSLv1 中的一个弱点(参见 TLS 重新协商攻击。SSL 的更多坏消息)。
It seems that the renegotiation is a weak spot in the TSLv1 (see TLS renegotiation attack. More bad news for SSL).
正如其他答案所指出的(另请阅读此处)才能真正发挥作用“在中间”(即排除在浏览器内部或 Web 服务器内部的端点之一发生捕获的情况),必须设置某种代理,该代理与您的浏览器和服务器通信,假装双方都是对方。但是您的浏览器(和 ssl)足够聪明,能够意识到代理发送给您的证书(“说:我是 gmail”)是非法的,即不是由受信任的根证书颁发机构签名的。然后,只有当用户明确接受该不受信任的证书,或者代理使用的 CA 已插入其浏览器中的受信任 CA 注册表时,这才有效。
总之,如果用户使用干净/受信任的浏览器安装,并且拒绝不受信任的机构颁发的证书,则“中间人”无法解密 https 通信。
As pointed out by other answers (read also here) for this to work really "in the middle" (i.e. excluding the cases in which the capturing occurs at one of the end-points, inside the browser or inside the web server), some kind of proxy must be set, who speaks to your browser and to the server, pretending to both to be the other side. But your browser (and ssl) is smart enough to realize that the certificate that the proxy sends you ("saying: I am gmail") is illegal, i.e. is not signed by a trusted Root Certification authority. Then, this will only work if the user explicitly accepts that untrusted certificate, or if the CA used by the proxy was inserted into the trusted CA registry in his browser.
In summary, if the user is using a clean/trusted browser installation, and if he refuses certificates issued by untrusted authorities, an man "in the middle" cannot decrypt an https communication.
它无法在 gmail 网络服务器和您的电脑之间进行跟踪,但是一旦它进入电脑内部,就可以对其进行跟踪。我不明白为什么有两个人声称 https 可以通过 mitm 进行跟踪,因为 https 的全部目的就是防止此类攻击。
关键是所有 HTTP 级别的消息都经过加密和 mac-ed。由于证书信任链,您无法伪造证书,因此中间人应该不可能执行此操作。
那些声称这是可能的人,您能否详细说明如何以及为什么可能以及如何规避现有的对策?
It cannot be tracked between the gmail webserver and your pc, but once it is inside the pc, it can be tracked. I dont understand how two people claim that https can be tracked with mitm since the whole purpose of https is to prevent such attacks.
The point is that all HTTP level messages are encrypted, and mac-ed. Due to the certificate trust chain, you cannot fake a certificate, so it should not be possible to perform a man in the middle.
The ones who claim it is possible, can you please give details about how and why it is possible and how the existing countermeasures are circumvented?