我的SSL证书应使用什么RSA密钥长度?


95

我正在创建CSR,我想知道这可以说是RSA密钥的最佳长度。

当然,384可能太弱了,而16384可能太慢了。

根据证书的有效期,是否应该就密钥长度达成共识?

编辑:与大多数人一样,我希望我的钥匙相当坚固。我并不担心NSA可能会在2019年打破我的钥匙。我只想知道一个计划开展正常业务(例如电子商务网站)的最佳做法是什么

Answers:


102

从2020年开始,RSA密钥应为2048位。

1024位

  • 1024位RSA证书已过时,浏览器不接受。
  • Firefox在2014年停止接受1024位RSA证书。
  • 证书颁发机构在2014年或之前停止提供1024位RSA证书。请参阅GlobalSignComodo声明。
  • 不建议使用1024位密钥,因为在小型数据中心(可能在几个月内成千上万个CPU或数百个GPU)中,它们可能会被破解。看起来可能很多,但任何大型组织或政府都可以实现。

2048位

  • 当前使用的是2048位RSA证书。
  • 由CA提供并由软件使用的默认基准。
  • 最终也会被破解。不知道什么时候,但可能要花几十年。
  • 将大小加倍需要更多的计算量才能破解。看看RSA 2048比1024强多少

4096位

  • 下一步是4096位RSA证书
  • 广泛可用并受支持。所有主要的CA都可以提供2048位和4096位RSA,包括让我们加密
  • 计算成本与密钥大小不是线性的。4096的速度不是2048的两倍,它的处理速度可能要慢10倍。不要在不考虑性能影响的情况下将证书盲目升级到4096位
  • “ Web”在很大程度上保留2048位证书,因为它不能承受4096位的硬件成本。考虑具有巨大流量和硬件足迹的大型参与者,例如Google,CloudFlare,NetFlix。

3072位

  • 3072位不是问题。直接跳至4096位。
  • 完全有可能进行3072位加密,只是没有真正的软件真正实现,支持和发布它。
  • 从历史上看,大约在2010-2015年间曾尝试为不理想使用4096的额外计算成本的用例推出3072。它消失了,但是仍然有一些旧文章传播(更快)3072的优点。

额外

  • RSA于1977年首次公开描述,但在近50年后仍然很强大。只需增加位数即可跟上更快的计算机的速度。
  • 还有另一种基于椭圆曲线的公钥密码术方法,请参阅ECDSA(1992)。
  • 用户和攻击者的能力之间存在巨大的脱节。Web服务器或移动客户端具有一个(低功耗)CPU。攻击者可能拥有一个完整的数据中心,作为参考,一个新建的AWS数据中心托管着约6万台服务器。
  • 令人难以置信的是,单个移动设备可以在几秒钟内计算出一些数学运算……成千上万的计算机终生无法梦想。

13
的差异(“256位将永远工作”一方面,和“1024位已经垃圾”关于其他)是由于之间的差异对称非对称在每一个所使用的类型的密钥算法,和。使用任何给定的“等效安全级别”,您将看到对称和不对称密钥长度的原始数字非常不同。
Ti Strga

1
截至2015年9月,业界似乎已开始接受不少于2048位的CSR。请参阅以下答案和Comodo支持文章
angularsen

2
@anjdreas,虽然确实是最低要求2048 ,但在引用CA文章中的要点时我会非常小心
Pacerier '16

RSA Labs链接现在是404,顺便说一句
jocull

1
注意:11年后,请完全重写答案,并提供最新的建议和参考。上面的评论是对以前的版本的评论。
user5994461

12

由于许多客户要求遵守NIST加密标准,因此我使用NIST特殊出版物800‑57,密钥管理建议第1部分,第 5.6节中的指南。我们的大多数应用程序非常适合112个“位”的安全性,因此对应于对称密码的三重DES(或小至128位AES的小凸起)和RSA的2048位密钥。大致等同于表2。

是否有效,能够将他们引荐给NIST出版物可以使客户对安全性有更好的了解(如果他们愿意询问的话)。


该答案中提到的条款已修订为《密钥管理建议书:第1部分:概述》(修订版3)。当前版本是2012
AaA

我看到NIST页面已被删除,并显示一条消息:“由于政府资助的不足,csrc.nist.gov和所有相关的在线活动将不可用,直到另行通知。”
wu-lee

有此页面比较了一些密钥长度建议keylength.com/en/compare
wu-lee


7

即将到来的八月,Microsoft将为Server 2003/2008 Win7等部署一个补丁,该补丁将要求使用至少1024位RSA密钥。因此,您不妨开始制定“最低限度”标准。



5

我需要创建几个新的SSL证书,并且对上面的答案不满意,因为它们似乎含糊不清或过时,因此我做了一些深入研究。最下面的答案是正确的,请使用“ 2048位密钥...更长的时间是没有意义的”

将位长增加到4096,可能会给服务器增加潜在的有意义的负载(取决于您现有的负载),同时基本上提供了微不足道的安全升级

如果您需要的长度超过2048位密钥,而又不需要更长的长度,则需要一种新的算法


1

我认为4096可以使用RSA

检查此链接

SHA-1签名的结尾并不是什么新鲜事物,但是Google加快了chrome的进程。在接下来的几周内,您应该检查其SSL证书。

这可能会有所帮助


1
您也可以张贴一些英语链接吗?我的德语很弱。

从法律上讲,RSA密钥的长度只能为1024、2048或3072位(根据PKCS#1 2.2和FIPS 186-4)。
aprelev

火焰显示攻击者将攻击哈希而不是更大的模数。如果使用SHA-1,则还可以使用1024位模数,因为哈希和模数可提供同等的安全性。1024位模数将比较大的4096模数具有更快的运算速度。
jww

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.