SSL的安全性如何?

27

SSL(安全套接层)有多安全?也就是说,通过SSL发送的密码需要多长时间才能被破解?

9个回答

34
假设一切都已经设置/保护得当,且我们所说的是128位密钥,远比宇宙的年龄还要长得多
我想指出以前 SSL 中的破解依赖于 MD5 中的“漏洞”,这导致了某些验证方法的更改。
我还想指出,这并不能使您免受中间人攻击,甚至有人劫持目标公司的私人证书(请注意,私钥应通过强大的密码进行保护,以减轻此类风险,如果发生此类事件,则应吊销密钥)。在此处阅读 SSL 工作原理的高级概述

2
我一直想知道的是:在长时间连接(Web服务,而非Web页面)的情况下,攻击者是否可以利用他对某些文本(如“soap”)很可能存在的事实来更快地破解加密?此外,了解有效载荷可能是XML有帮助吗?他能假设“<”和“>”的数量相等,并继续观察这些内容的加密方式吗? - John Saunders
1
中间人攻击是如何执行的,我该如何防范它的发生? - Malfist
3
@John Saunders,并不完全正确。现代加密使用前一个加密块的输出来输入下一个块。因此,如果“<”在第一次加密时转换为x,则下一次可能会转换为y,然后是x和z...您明白了吧。 - Malfist
1
@Malfist:谢谢。如果黑客能长时间观察SSL连接,对他没有任何好处吗?关于SSL可能比保护Web服务更有用来保护网站的问题已经出现,因为连接很可能会保持数周之久。 - John Saunders
1
SSL使用一些方法来保护您免受中间人攻击,其中包括DNS。当您输入amazon.com时,您期望得到一个由amazon.com拥有的IP服务器。此外,您的浏览器还有一个可信CA列表(如Verisign、Thawte等)。Amazon将提供由受信任的CA签名的证书。攻击者无法伪造由您的CA列表签名的证书。如果您的DNS和可信CA受到攻击(在公共WiFi上的DNS,有人欺骗您安装虚假CA),那么中间人攻击是可能的。http://tinisles.blogspot.com/2006/10/ssl-man-in-middle.html - russau
显示剩余2条评论

12

SSLv2存在中间人攻击的问题,可能导致协商低质量密码。在那个时代,这通常包括一长串“出口级别”的密码,它们是有意弱化的,仅通过暴力破解就可以破解。

SSLv3/TLSv1有效地解决了协商问题,此后许多较弱的密码已从可用性中删除,因为美国的出口限制已解除,并且各种合规性扫描器已经问世。

SSL中PRF生成使用MD5和SHA1两种哈希算法,以防止系统被破坏,如果其中一种哈希算法足够被破坏。针对SSL的攻击途径之一是充分破坏PRF函数中使用的两种算法。如果我没记错,它只是一些输入的异或运算,二者都要经过这个运算。

加密密码是动态可用和协商的,因此对于加密会话本身的质量进行的任何分析都需要考虑密码选择或关注建立初始会话加密密钥的机制。

(您可以破坏密码(RSA、AES等),但这并不一定意味着SSL本身被破坏)

在我看来,对SSL的最实际的加密攻击是针对特定密码的侧信道攻击。特别是AES被认为容易受到时间攻击的攻击。这些通常需要高质量的低延迟网络进行操作(本地以太网)...许多系统中都有“模糊”功能,它只是向过程添加人工延迟,以减轻时间攻击成功的可能性。(基本上,代码序列执行所需的时间长度可以用于恢复足够的信息以破坏系统)

最后,我个人最喜欢的SSL弱点是针对系统“可信度”的攻击。无论使用何种算法/密码,如果没有信任,加密就毫无用处。

当今,我们面临着这样一种情况,在全球几乎每个浏览器中都列出了数十个证书颁发机构。在每个CA /下线下还有几个中间签名机构。

曾经发生过系统漏洞或仅仅是因为CA或转售商懒惰,导致系统被完全打开,从而使未被授权的域名请求获得了签署证书的权限。

只需要牵涉到任何一个CA、中间人或者转售商等一方就足以有效地危害整个信任锚点(实际上就是全球)。这已经发生过:有时候是意外,有时候是故意为之。如果您使用IE,请自行查看:

工具 - Internet选项 - 证书 - 不受信任的发布者... 哎呀...

虽然存在证书过期日期、吊销列表等缓解因素,但在我看来,信任问题仍然是整个系统的最大漏洞。

我认为,具备良好社交工程技能或自动武器的决心坚定的个人或团体更有可能获得他们想要签署的任何证书。


7

史蒂夫·吉布森在最近的《安全现场》播客中详细解释了该协议的工作原理。如果您对细节感兴趣,那么一定值得一听。


4

从数学角度来看,假设您有一个适当的实现并忽略当前未知的侧信道攻击或当前未知的数学漏洞,暴力破解私钥应该需要比宇宙年龄更长的时间。

然而,侧信道攻击和其他形式的攻击对实现非常真实,并且需要认真对待。这包括诸如中间人攻击、糟糕的SSL证书授权、对主机的物理攻击等。


你在说什么“侧信道”攻击,我该如何保护自己免受它们的侵害? - Malfist
注意:量子计算机有一天可能会运行Shore算法并在多项式时间内破解这些密钥。 - Vincent Cantin

3
根据密钥长度、算法和服务器群来解密它。

2

SSL v2存在一些缺陷,而SSL v3则相当安全。具体时间取决于证书密钥长度以及您能够通过RSA加密来解密SHA-1的速度。

我想说非常安全 :)


2
你提到了通过SSL发送密码。
也许问题在于如何
1. 保护密码(存储为哈希,明文等) 2. 限制登录尝试次数(例如,如果您允许每秒最多1个外部来源的暴力破解,则需要很长时间) 3. SSL的一个重要问题:您的私钥存储在哪里以及如何存储(加密在磁盘上,内部特殊的不可读硬件内部)?
因为经常被忽视的事实是,本地攻击的威胁可能比密码级别的攻击更高。
例如,如果有人侵入您的服务器并获取了私钥(如果它未加密在磁盘上,则是最坏情况),则使用私钥可能会解密存储的通信,具体取决于所使用的密钥交换机制。
此外,一旦有人获得您的私钥,就很容易设置一个服务器,该服务器对用户来说与原始服务器相同,因为它具有正确的证书。
因此,我认为建立的协议的安全性不应是我们担心的第一点。

我担心网络上的嗅探器,无论密码是否加密,都可能被截获。我想知道如果有人拦截了密码,需要多长时间才能解密它,无论是使用彩虹表还是其他方法。 - Malfist
这取决于你投入了多少资金。但如果你使用SSL,你应该是安全的,并且担心链中较弱的环节。如果你真的想知道针对特定算法的攻击类型,你会在网上找到每个主要算法的密码分析。但是,如果你正确使用SSL:只需担心较弱的链接。 - Fionn

1

直到有些聪明的人看到了漏洞。

我们曾经认为ssl是安全的,直到永远 - 抱歉altCognito => 然后最近有些人意识到md5可能不安全。

你的安全性取决于用于保护它的加密方式,而且仅仅因为它被认为需要大量时间来破解,这并不能考虑到创新,参见ps3链接。

记住,这总是由人类思考、实施,然后由计算机运行。

你能看到那两个问题吗?

还有最近的一些问题

http://www.schneier.com/blog/archives/2008/12/forging_ssl_cer.html

关于SSL3的讨论,请参考专家们的观点 - http://www.schneier.com/paper-ssl.html

http://www.darkreading.com/security/attacks/showArticle.jhtml?articleID=212700234


我假定你在我加入 md5 的那一刻之前写下了这段话。但是关于聪明的人,这是真的。 - cgp
这并不是对SSL的黑客攻击,因为现在无法查看安全数据。当然,允许这些人生成根证书的MD5碰撞问题是重要的...但从OP所问的意义上来说,它并不是对SSL的任何形式的攻击。 - DarkSquid

0

假设我们对某些加密基础知识的了解是正确的(例如,分解非常大的数字非常困难),现代SSL是非常安全的。

现实威胁不是有人会破解SSL - 更好的选择是找到其他获取有趣数据的方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接