行业新闻与博客

即将对代码签名证书安全性要求进行的更改

即将对代码签名证书安全性要求进行的更改

 

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 位信任链。

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

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

即使您在 6月1日之前发布了 2048 位证书,我们仍然建议您通过尽快重新发布证书来切换到 3072 位。

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

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

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

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

安全代码的关键

虽然密钥长度的增加并不是微不足道的变化,但这对最终用户不会产生不利影响。软件开发人员需要意识到更改,尤其是在更新现有代码签名证书时。其余的工作由证书颁发机构和操作系统供应商在后台进行。总而言之,为变更提供的安全性提高付出的代价很小,这可以确保我们的应用程序在未来几年内不受攻击者的侵扰。



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