https有多安全?

时间:2012-09-13 16:14:26

标签: https security

我最近一直在研究HTTPS,以及它的安全性。

我去了一个有效证书的https网站,并输入了我的用户名和密码。使用 Fiddler ,我解密了点击提交按钮后出现的请求,并且我的用户名和密码以明文形式显示在包含键值对的字符串中(这不是查询字符串,它是帖子的价值)。

当我使用外部应用程序轻松获取用户名和密码时,有人可以告诉我为什么说HTTPS是安全的吗?我的意思是它几乎是即时解密,当然黑客可以使用一个应用程序找出你正在做的请求并解密它们,不是吗?

3 个答案:

答案 0 :(得分:11)

HTTPS是一种相当安全的点对点通信方式,中间任何人都无法收听。

Fiddler可以解密流量的原因是它可以控制您的浏览器信任哪些证书。证书基本上是一个“保证”,你正在与之交谈的网站是它声称的人,并且由于Fiddler可以将自己的证书放入浏览器,它可以说服浏览器它是任何 site。

通常,浏览器只有证书颁发机构的证书(如Verisign,Thawte,Geotrust),他们的工作就是确认每个站点实际上都是他们所说的人。只要您信任证书颁发机构(they have made mistakes)并且没有人在您的浏览器中添加假证书,您几乎可以相信没有人在监听。

如果您正在寻找“数学上安全”的东西,那么HTTPS就不是了。为了便于设置通信,您仍然需要信任某人而不是连接的另一端。

答案 1 :(得分:3)

我完全赞同Joachim Isaksonn。只想添加几件事:

1)SSL安全性取决于所使用的RSA密钥的长度。更长的键更安全。一般来说,1024位对于大多数情况来说仍然足够好,2048位不会被已知的分解方法与世界上所有资源打破

http://en.wikipedia.org/wiki/RSA_Factoring_Challenge

2)SSL安全性还取决于用户。如果您访问某个网站并且显示“证书不匹配”并且您单击忽略,则您遇到麻烦(因为Fiddler可以解密流量的原因相同)

答案 2 :(得分:2)

由于您使用Fiddler所取得的成就,您似乎对HTTPS持怀疑态度。我将尽力回答你问题的那一部分。

你能够做到这一点的原因是因为你在中间攻击中装了一个人,其中Fiddler是 MiTM 。您必须注意到浏览器会发出有关证书不安全的警告。该证书实际上是Fiddler自己的证书。因此,您的浏览器连接到fiddler,fiddler与目标服务器连接,Fiddler中继流量(就像代理)。这正是您能够看到您的流量的原因。您的浏览器使用Fiddler的公钥加密数据,fiddler使用其私钥解密数据以向您显示。这与“HTTPS”不安全无关。只要用户足够谨慎地通过浏览器发出的警告,就可以认为HTTPS是安全的。与往常一样,这里的最薄弱的链接是用户。