SSL 的安全性如何?

Posted

技术标签:

【中文标题】SSL 的安全性如何?【英文标题】:How secure is SSL? 【发布时间】:2010-10-31 09:14:36 【问题描述】:

SSL(安全套接层)有多安全?例如,破解通过 SSL 发送的密码需要多少费用?

【问题讨论】:

【参考方案1】:

SSLv2 存在 MITM 攻击问题,可能导致协商质量较低的密码。在那些日子里,这通常包括一个“出口质量”密码的清单,这些密码故意很弱,并且可以仅通过暴力破解。

SSLv3/TLSv1 有效地解决了协商问题,并且由于美国的出口限制被取消以及各种合规扫描器的出现,许多质量较弱的密码已被从可用性中移除。

SSL 中的 PRF 生成同时使用 MD5 和 SHA1,以防止系统在其中一种哈希算法受到充分损害时受到损害。针对 SSL 的一种攻击途径是充分破坏 PRF 函数中使用的两种算法。IIRC 它只是通过两者的输入的某种异或。

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

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

在我看来,对 SSL 最实用的加密攻击是针对特定密码的侧信道攻击。众所周知,AES 尤其容易受到定时攻击。这些通常需要高质量的低延迟网络来执行(本地以太网)。在许多系统中都有“盲目”设施,它们只是在过程中增加人为延迟,以降低定时攻击成功的可能性。 (基本上,某些代码序列执行所花费的时间长度可以用来恢复足够的信息来破坏系统)

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

当然,您可以建立一个安全的加密会话,但如果您不知道您是在与合法人还是攻击者交谈,那么所有这些安全措施都将成为无用的镇纸。

在当今时代,我们面临的情况是,地球上几乎每个浏览器中都列出了数十个证书颁发机构。在每一个之下都有几个由每个 CA/下线运营的中间签署机构。

已经发生过系统错误或只是懒惰的 CA 和经销商导致系统完全开放的事件,从而可以对不应授权的域的证书请求进行签名。

只需要妥协任何一个 CA、中间商、经销商...等,就可以有效地危害整个信任锚(实际上是地球)。这可以而且已经做到了:有时是偶然的,有时是故意的。如果您使用的是 IE,请自行查看:

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

有一些缓解因素:证书到期日期、吊销列表等,但在我看来,信任问题仍然是整个系统的首要漏洞。

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

【讨论】:

【参考方案2】:

Steve Gibson 详细解释了该协议在 recent Security Now podcast 上的工作原理。如果您对细节感兴趣,那绝对值得一听。

【讨论】:

【参考方案3】:

您提到了通过 SSL “发送密码”。

也许这里的问题是你是怎么做的

    保护密码(存储为哈希、明文等) 限制登录尝试的速率(例如,如果您允许每秒最多 1 次来自外部来源的暴力破解将需要很长时间) 关于 SSL 的重要一点:您的私钥存储在哪里以及如何存储(在磁盘上加密,在特殊的不可读硬件中)?

因为一个经常被忽视的事实是,本地攻击的威胁可能远高于密码级别的攻击。

例如如果有人闯入您的服务器并获得了私钥(最坏的情况是它在磁盘上未加密) - 使用私钥可能会根据所使用的密钥交换机制解密存储的通信。

此外,一旦有人获得您的私钥,就很容易设置一个服务器,该服务器在用户看来就像是原始服务器,因为它具有正确的证书。

所以我想已建立协议的安全性不应该是首先要担心的问题。

【讨论】:

我担心网络上的嗅探器,传输密码,加密与否都受制于捕获。我想知道拦截密码的人需要多长时间才能解密它。通过彩虹桌或其他任何方式。 投了多少钱是多久的问题。但是,如果您使用 SSL,您应该是安全的 - 并担心链中较弱的环节。如果您真的对给定算法的哪种攻击再次起作用感兴趣,您会发现网络上每个主要算法的密码分析。但是,如果您正确使用 SSL:请担心较弱的链接。【参考方案4】:

直到一些明亮的火花看到一个洞。

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

您的安全性仅与用于保护它的加密货币一样安全,并且仅仅因为它被认为是计算困难的,即需要花费时间来进行不影响创新的蛮力,请参阅 ps3 链接。

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

你能看到那里的 2 个问题吗?

也是最近

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 之前不久写的。但这是真的,关于明亮的火花。 这不是对 SSL 的破解,因为现在可以看到安全数据。允许这些人生成根证书的 MD5 冲突问题当然很重要……但从 OP 所询问的意义上说,这绝不是对 SSL 的攻击。 【参考方案5】:

假设一切都已正确设置/保护,我们谈论的是 128 位密钥,significantly longer than the age of the universe。

我会注意到 SSL relied on "hole" in MD5 之前的漏洞,这导致一些验证方法发生了变化..

我还要注意,这不会让您免受man-in-the-middle 攻击,甚至不会有人劫持目标公司的私人证书(请注意,私钥应通过strong 密码保护虽然是为了减轻这种风险,然后如果发生这种事件,密钥就会被撤销)。 Read a high level overview on how SSL works here.

【讨论】:

我想知道的是:在长期连接(Web 服务,而不是网页)的情况下,攻击者是否可以利用他对某些文本(如“soap”)的了解为了更快地破解加密而存在?此外,它是否有助于黑客知道有效负载可能是 XML?他能否假设相同数量的“”并继续观察它们是如何加密的? 中间人攻击如何执行,如何防止其发生? @John Saunders,不是真的。现代加密使用前一个加密块的输出来提供下一个块。因此,如果“ @Malfist:谢谢。如果他可以长时间观看 SSL 连接,对黑客没有任何好处吗?问题出现在 SSL 可能对保护网站比保护 Web 服务更有用,因为连接很可能会在数周内保持打开状态。 Ssl 使用一些东西来保护你免受中间人的伤害。 DNS,您键入 amazon.com - 您希望在 amazon.com 拥有的 IP 上获得服务器。此外,您的浏览器还有一个受信任的 CA 列表(verisign、thawte 等)。亚马逊将提供由受信任的 CA 签署的证书。攻击者无法伪造由您的 CA 列表签名的证书。如果您的 DNS 和受信任的 CA 遭到破坏(公共 wifi 上的 DNS,有人诱骗您安装无效 CA),那么中间人是可能的。 tinisles.blogspot.com/2006/10/ssl-man-in-middle.html【参考方案6】:

如果“我们”对某些加密基础知识的了解是正确的(例如,很难分解非常大的数字),现代 SSL 是方式安全的。

现实威胁不是有人要破解 SSL —— 最好是找到其他获取有趣数据的方法。

【讨论】:

【参考方案7】:

嗯,SSL v2 有一些缺陷,SSL v3 相当安全。时间取决于证书密钥长度,以及您使用 RSA 加密破译 SHA-1 的速度。

我会说非常安全:)

【讨论】:

【参考方案8】:

取决于密钥长度、算法和解密它的服务器群。

【讨论】:

【参考方案9】:

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

但是,侧信道攻击和其他形式的攻击实现是非常真实的,需要认真对待。这包括中间人攻击、糟糕的 SSL 证书颁发机构、对主机的物理攻击等。

【讨论】:

您所说的“旁道”攻击是什么,我该如何保护自己免受这些攻击? 注意:量子计算机有朝一日可能会运行肖氏算法并在多项式时间内破解这些密钥。

以上是关于SSL 的安全性如何?的主要内容,如果未能解决你的问题,请参考以下文章

如何在iOS中检查SSL证书的安全性?

如何在 iOS 中检查 SSL 证书的安全性?

SSL安全证书如何选择?

如何选择正确SSL安全证书

网站如何启用SSL安全证书?

什么是 SSL ?https 是如何保证数据传输的安全(SSL 是怎么工作保证安全的)