SSL(安全套接层)有多安全?也就是说,通过SSL发送的密码需要多长时间才能被破解?
SSLv2存在中间人攻击的问题,可能导致协商低质量密码。在那个时代,这通常包括一长串“出口级别”的密码,它们是有意弱化的,仅通过暴力破解就可以破解。
SSLv3/TLSv1有效地解决了协商问题,此后许多较弱的密码已从可用性中删除,因为美国的出口限制已解除,并且各种合规性扫描器已经问世。
SSL中PRF生成使用MD5和SHA1两种哈希算法,以防止系统被破坏,如果其中一种哈希算法足够被破坏。针对SSL的攻击途径之一是充分破坏PRF函数中使用的两种算法。如果我没记错,它只是一些输入的异或运算,二者都要经过这个运算。
加密密码是动态可用和协商的,因此对于加密会话本身的质量进行的任何分析都需要考虑密码选择或关注建立初始会话加密密钥的机制。
(您可以破坏密码(RSA、AES等),但这并不一定意味着SSL本身被破坏)
在我看来,对SSL的最实际的加密攻击是针对特定密码的侧信道攻击。特别是AES被认为容易受到时间攻击的攻击。这些通常需要高质量的低延迟网络进行操作(本地以太网)...许多系统中都有“模糊”功能,它只是向过程添加人工延迟,以减轻时间攻击成功的可能性。(基本上,代码序列执行所需的时间长度可以用于恢复足够的信息以破坏系统)
最后,我个人最喜欢的SSL弱点是针对系统“可信度”的攻击。无论使用何种算法/密码,如果没有信任,加密就毫无用处。
当今,我们面临着这样一种情况,在全球几乎每个浏览器中都列出了数十个证书颁发机构。在每个CA /下线下还有几个中间签名机构。
曾经发生过系统漏洞或仅仅是因为CA或转售商懒惰,导致系统被完全打开,从而使未被授权的域名请求获得了签署证书的权限。
只需要牵涉到任何一个CA、中间人或者转售商等一方就足以有效地危害整个信任锚点(实际上就是全球)。这已经发生过:有时候是意外,有时候是故意为之。如果您使用IE,请自行查看:
工具 - Internet选项 - 证书 - 不受信任的发布者... 哎呀...
虽然存在证书过期日期、吊销列表等缓解因素,但在我看来,信任问题仍然是整个系统的最大漏洞。
我认为,具备良好社交工程技能或自动武器的决心坚定的个人或团体更有可能获得他们想要签署的任何证书。
史蒂夫·吉布森在最近的《安全现场》播客中详细解释了该协议的工作原理。如果您对细节感兴趣,那么一定值得一听。
从数学角度来看,假设您有一个适当的实现并忽略当前未知的侧信道攻击或当前未知的数学漏洞,暴力破解私钥应该需要比宇宙年龄更长的时间。
然而,侧信道攻击和其他形式的攻击对实现非常真实,并且需要认真对待。这包括诸如中间人攻击、糟糕的SSL证书授权、对主机的物理攻击等。
SSL v2存在一些缺陷,而SSL v3则相当安全。具体时间取决于证书密钥长度以及您能够通过RSA加密来解密SHA-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
假设我们对某些加密基础知识的了解是正确的(例如,分解非常大的数字非常困难),现代SSL是非常安全的。
现实威胁不是有人会破解SSL - 更好的选择是找到其他获取有趣数据的方法。