101

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

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

根据证书的生命周期,是否就应该使用的密钥长度达成共识?

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

4

8 回答 8

115

截至 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,包括let's encrypt
  • 计算成本与密钥大小不是线性的。4096 的速度没有 2048 的两倍,处理速度可能慢 10 倍。不要盲目地将证书升级到 4096 位而不考虑性能影响
  • “网络”主要保留在 2048 位证书上,因为它无法承受 4096 位的硬件成本。考虑像谷歌、CloudFlare、NetFlix 等拥有巨大流量和硬件占用的大型参与者。

3072 位

  • 3072 位不是一回事。直接跳转到 4096 位。
  • 完全可以进行 3072 位加密,只是没有软件真正实现、支持和正式宣传它。
  • 从历史上看,大约在 2010 年至 2015 年,曾尝试针对 4096 的额外计算成本并不理想的用例推出 3072。它消失了,但仍有一些旧文章传播(更快)3072 的优点。

额外的

  • RSA 于 1977 年首次公开描述,近 50 年后它仍然很强大。只需增加位数以跟上更快的计算机。
  • 还有另一种基于椭圆曲线的公钥密码学方法,参见 ECDSA (1992)。
  • 用户的能力和攻击者的能力之间存在巨大的脱节。Web 服务器或移动客户端具有一个(低功耗)CPU。攻击者可以拥有一个完整的数据中心,作为参考,一个新建的 AWS 数据中心托管了大约 60 000 台服务器。
  • 令人难以置信的是,单个移动设备可以在几秒钟内计算出一些数学……数百万台计算机一生都无法梦想猜测。
于 2009-02-26T09:43:39.167 回答
14

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

无论是否有效,能够将他们推荐给 NIST 出版物有助于客户更好地了解安全性(如果他们愿意询问的话)。

于 2009-02-27T19:11:16.220 回答
10

证书颁发机构不会签署大小小于 2048 位的 csr,因此您应该将 csr 生成为 2048 位。

于 2013-01-21T08:45:45.667 回答
7

今年 8 月,Microsoft 将向 Server 2003/2008、Win7 等部署补丁程序。这将需要使用至少 1024 位的 RSA 密钥。所以你不妨开始制定你的“最低限度”标准。

于 2012-06-22T18:14:56.913 回答
6

对于网站上使用的 SSL 证书,请务必注意来自 Thawte.com 网站(截至 2014-07-22)的此文本:

证书颁发机构/浏览器 (CA/B) 论坛制定的行业标准要求 2014 年 1 月 1 日之后颁发的证书必须至少为 2048 位密钥长度。

于 2014-07-22T09:52:54.030 回答
6

我需要创建几个新的 SSL 证书,但对上面的答案不满意,因为它们看起来模糊或过时,所以我做了一些挖掘。最重要的是,选择的答案是正确的使用“2048-bit keys...long is meaningless”

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

如果您需要比 2048 位更长的密钥,则不需要更长的位长,则需要一种新算法

于 2017-02-06T10:08:38.853 回答
1

我认为 4096 适合 RSA

检查此链接

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

这可能会有所帮助

于 2015-03-31T19:33:31.350 回答
0

ENISA 推荐 15360 位。查看 PDF(第 35 页)

http://www.enisa.europa.eu/activities/identity-and-trust/library/deliverables/algorithms-key-sizes-and-parameters-report/at_download/fullReport

于 2014-02-04T12:48:49.913 回答