用户名和密码站点的最小 SSL 证书密钥?

用户名和密码站点的最小 SSL 证书密钥?

刚刚听到一个播客声称 SSL 因密钥尺寸较小而失效。

他们说你应该使用尽可能强的密钥,但并没有真正说明应该避免使用哪种大小的密钥。

那么问题是,是否有推荐的最小密钥大小?

答案1

较大的模数大小可以防止攻击者仅拥有您的公钥就暴力尝试重建您的私钥。位数越多,需要检查的变化就越多,但实际上,即使是“较小”的密钥大小也很难被攻击。

至于具体的大小,512 位密钥目前被认为是相当不安全的,因为已经证明,只要有足够的计算资源,几个月内就可以破解它们。1024 位密钥仍然有点遥不可及,但预计在未来 5 年内它们会被破解(被拥有大量计算资源的人破解)。2048 位密钥在量子计算机变得可行之前可能是不可触及的,到那时,使用公钥加密的一切几乎都将被淘汰。

除了密钥对的直接安全性之外,用于签名的哈希算法还存在其他弱点;MD5 在这一点上已经完全被破解,任何使用 MD5 签署证书的证书颁发机构都容易受到碰撞攻击。几年前,一个团队就证明了这一点,他们通过将其 MD5 哈希与他们由受信任的根提供商之一签署的合法证书的哈希进行匹配,创建了一个流氓证书颁发机构。

哦,还有其他方面的问题,包括 SSL v2 等不安全的实现、重新协商攻击等规范中的弱点,以及由于旧客户端的存在,大多数 Web 服务器上仍启用弱密码。在考虑 SSL 安全时,必须考虑所有这些方面。

但是对于密钥大小,没有理由不使用较大的密钥。使用较大密钥的成本微不足道(需要额外的计算时间来验证证书)。

答案2

刚刚听到一个播客声称 SSL 因密钥尺寸较小而失效。

嗯,不。SSL(今天大概意味着TLS 1.0 或更高版本) 没有损坏。

RSA 密钥交换已知有与较小密钥大小(768 位及以下)一起使用时存在弱点. 通常可以通过增加密钥大小来缓解此问题。

那么问题是,是否有推荐的最小密钥大小?

是的。NIST 特别出版物 800-57 建议从 2011 年到 2030 年使用 2048 位(表 4)。 这博客文章提供了快速概述

因此,如果您想要官方建议,那么 2048 位是最佳选择。但请考虑您要保护的内容以及您的风险状况。例如,如果您只是保护用户登录状态(假设用户登录到社交网络,需要确保其登录信息安全,但实际显示的信息是公开的),那么 1024 位或 1536 位 RSA 密钥可能也是不错的选择。请参阅 Security.Stackexchange 上的这些讨论,了解有关密钥大小和 CPU 使用权衡的一些合格意见 -这里这里

答案3

听起来著名的 Debian SSL 漏洞。尽管该错误是 Debian 特有的,但据我所知,它使得所有较小的密钥大小都变得毫无用处。

我现在没有链接,但在我的脑海里至少 2048 位对于浮动的密钥大小。有关其他信息:当证书使用 md5 作为哈希算法时,许多工具都会崩溃 - 这个问题我前段时间就遇到过,我花了一段时间才弄清楚,因为证书和密钥本身完全没问题

答案4

我喜欢 Bruce Schneier 对此的看法:“密码学就是安全裕度”。密钥大小越大,安全裕度就越大(性能损失也越大)。512 位密钥可能好的,但可能不会持续太久。正如 Shane Madden 所提到的,有充分的证据表明,它们可以在几个月内被协同攻击破解。如果这对您来说足够安全,那么您不需要立即更换它们。1024 位密钥可能是下一个要被替换的密钥。

因此,如果你已经购买了使用这些密钥大小的数字证书,并且你没有保护重要的公司/核机密,那么你可能好的短期内可以,但将来你会想要购买密钥长度更大的 SSL 证书。安全裕度是否足够大?性能是否值得?谁会攻击你的密码系统?进行一点威胁分析有助于 A) 确定你是否需要立即采取行动,以及 B) 在发生不好的事情时保护自己。

RSA 密码体制中应使用多大的密钥?

至于因增加密钥大小而导致的速度减慢(见问题 3.1.2),模数长度加倍平均会导致公钥操作(加密和签名验证)所需的时间增加四倍,私钥操作(解密和签名)所需的时间增加八倍。

至于在现实世界中性能损失会是什么样子,这实际上取决于您的应用程序和实现。它可能将时间增加四倍,这只会增加 4/10 秒,也可能是四秒。测试在这里很重要。

目前看来,NIST(SP800-131A) 仅认为 2011-2014 年之后的 RSA 和 DSA 2048 密钥大小是可接受的,并且它们必须具有至少 112 位的安全强度。有关更多信息,请参阅 SP800-131A 中有关数字证书的部分。

在我看来,这一切都可以归结为:使用 512 位密钥,你的安全裕度“很小”,使用 1024 位密钥,你的安全裕度“还不错”,使用 2048 位密钥,你的安全裕度“相当不错”。威胁分析并决定贵组织的安全裕度需要多大、要保护哪种数据以及如果保护数据的密码系统被破坏,您将会遭受什么损失。务必考虑现有政策以及您需要遵守的任何法律要求。

相关内容