行业新闻与博客

代码签名证书安全要求即将发生变化

CA/B 论坛要求代码签名证书的最小密钥大小在 2021 年 6 月 1 日增加到 3072 位

代码签名证书的世界即将发生变化。从 2021 年 6 月 1 日开始,代码签名证书的最小密钥大小将从 2048 位增加到 3072 位。由 CA/B 论坛强制执行的更改旨在提高证书安全性并更好地为未来的技术进步做好准备,这些技术进步将导致计算能力的提高。 

软件开发人员使用代码签名证书对他们的产品进行数字签名——无论是应用程序、驱动程序、可执行文件还是其他程序。签名作为最终用户验证他们正在下载和安装的产品实际上来自软件创建者并且代码在传输过程中没有被第三方更改或篡改的一种方式。

签名可以在很长一段时间内有效(我们说的是几年),与此同时,技术的进步可能会使这些较旧、较弱的加密密钥容易受到暴力攻击。因此,一种面向未来的签名方法是增加代码签名证书使用的最小密钥长度。

那么,密钥长度到底是什么意思呢?变化究竟意味着什么?最重要的是,这会对您当前和未来的证书产生什么影响?

让我们讨论一下。

密钥长度是什么意思?

在我们深入了解密钥长度变化的具体细节之前,让我们先快速了解一下密钥长度的含义、密钥的用途以及它们的强度如何随时间变化。

密钥长度是证书相关密钥对中的位数(用于签名和加密等加密功能)。基本上,它设置了算法的安全上限,更大的密钥意味着更强的数字签名。任何算法理论上都可以通过足够强大的计算机的蛮力攻击来破解,并且密钥长度的增加意味着破解它所需的处理能力也会增加。

增加也不是线性的——例如,当 RSA 密钥的大小加倍时,相关的解密任务将呈指数级变慢。因此,理想情况下,所需的最小密钥长度应该足够长,以至于它需要一定程度的计算能力,而这在现实世界中尚不存在,以对其进行暴力破解(理想情况下,暴力破解在相当长的一段时间内仍然不可行)的时间)。

毕竟,有许多软件产品在首次发布多年后仍在广泛使用。如果攻击者能够简单地等待处理器技术改进,然后能够暴力破解代码签名证书,那肯定不是一件好事。然后他们就可以在任何人不知情的情况下恶意篡改应用程序。这是最新的密钥长度变化背后的主要动机——让我们当前的数字签名经得起未来考验,并确保它们在未来几年仍能保持下去。

代码签名密钥长度的变化究竟是什么?

目前(6 月 1 日之前)代码签名证书的最小密钥长度为 2048 位。目前,2048 位 RSA 密钥被认为是安全的,而 1024 位密钥不再被认为足够安全。就在不久之前,1024 位密钥还是标准——例如,就在八年前,SSL 证书的密钥长度要求从 1024 位跃升至 2048 位。因此,假设 2048 位密钥在五到十年内不会被淘汰是完全合理的。

美国国家标准与技术研究院 (NIST) 也有同感。他们于 2020 年 5 月发布了 NIST SP 800-57,主要内容是不建议在 2030 年之后使用 2048 位 RSA 密钥。

证书颁发机构浏览器论坛是一个由证书颁发机构、浏览器和操作系统供应商以及其他 PKI 相关应用程序供应商组成的组织,负责密钥长度的更改。在分析了 NIST 的建议后,他们在 2020 年初投票决定继续增加密钥长度,并在经过几次延迟后(主要是为了让供应商有更多时间更新其基础设施,从而能够颁发新的 3072 位证书)解决在 2021 年 6 月 1 日实施。

这对代码签名证书用户有何影响?

2021 年 6 月 1 日之后颁发的证书将自动链接到 3072 位根证书,因此最终用户无需担心购买不同的产品或指定 3072 位信任链。

如果您有现有的代码签名证书,那么您仍然可以使用 2048 位版本,只要它们是在 2021 年 6 月 1 日之前颁发的。

如果您在 2021 年 6 月 1 日之后重新颁发或续订现有证书,那么当您生成 CSR 时,您需要确保指定的是 3072 位 RSA 而不是 2048 位。

即使您拥有 6 月 1 日之前颁发的 2048 位证书,我们仍然建议您尽快重新颁发证书以切换到 3072 位。

如何找到我当前的密钥长度?

不确定某些现有证书的密钥长度?检查密钥大小很容易,只需单击几下即可找到。例如,在 Windows 上,您只需导航到证书文件,右键单击它,然后选择“属性”。然后,转到“详细信息”选项卡,您应该会看到一个显示“公钥”的字段。它应该说“RSA”,然后在括号中有特定的密钥长度(以位为单位),如下所示:

代码签名属性
Windows 10 中代码签名证书的属性窗口。

如果您在那里看到 2048 位,那么您应该考虑在 6 月 1 日之后从新的 3072 位根之一重新颁发证书。

安全代码的关键

虽然密钥长度的增加不是一个微不足道的变化,但它不应该对最终用户产生不利影响。软件开发人员需要了解这一变化,尤其是涉及到现有代码签名证书的更新时。其余工作由证书颁发机构和操作系统供应商在幕后完成。总而言之,更改所提供的安全性增加所付出的代价很小,使我们的应用程序在未来几年内免受攻击者的干扰。


需要帮助吗?联系我们的支持团队 在线客服