签名代码(设计您自己的签名)
为提高证书安全性,为未来先进技术做准备,作为全球 *** 安全行业的国际组织,CA/B论坛发布如下通知:2021年6月1日起,代码签名证书最小密钥长度由2048增加到3072。
代码签名证书是软件开发人员的理想解决方案。通过代码签名证书,他们可以对其产品(如应用程序、驱动程序、可执行文件或其他程序)进行数字签名,以确保软件代码和内容的安全性。签名的软件可以识别开发者的真实身份。如果在传输过程中被第三方修改,会自动提醒最终用户,避免被骗。
虽然数字签名可以长期有效(代码签名中的有效期为3年)。但与此同时,技术的进步使得这些相对老旧而脆弱的钥匙容易被暴力破解。因此,将来验证这些签名的一种方法是增加代码签名证书的最小密钥长度。
那么,到底什么是密钥长度呢?代码签名证书的密钥长度怎么了?最重要的是,这会对代码签名证书中的客户产生什么影响?
密钥长度是多少?密钥长度是与证书相关联的密钥对中的位数,用于签名和加密。密钥的长度通常决定了加密算法的安全性上限。密钥长度越长,数字签名就越强,也就越安全。理论上,任何加密算法都可以被超级计算机暴力破解,但密钥长度越长,暴力破解的时间就会越长。所以理想情况下,在相当长的时间内,通过暴力破解密钥并不是那么容易。
但随着科技的进步,攻击者在无人知晓的情况下恶意篡改应用只是时间问题。为了保证当前的数字签名在未来几年内可以继续使用,增加密钥长度是一个很好的方法。
代码签名证书密钥的长度怎么了?8年前,要求证书的密钥长度从1024位调整到2048位。因此,代码签名证书的最小密钥长度为2048位,非常安全。然而,随着时间的推移,目前的安全加密签名在未来可能会受到威胁。针对这一问题,美国国家标准技术研究院(NIST)发布了NIST SP 800-57密钥管理建议:基于安全考虑,建议2030年后不再使用RSA算法2048位密钥。
专注于讨论和制定CA和浏览器安全技术和标准的CA/B论坛在分析了NIST的建议后,投票决定从2021年6月1日起,代码签名证书的最小密钥长度应为RSA3072。
密钥长度的改变有什么影响?2021年6月1日之后颁发的代码证书将自动链接到3072位根证书,您不必购买其他产品或重定向3072位信任链。
2021年6月1日前颁发的2048代码签名证书仍可有效使用。如果在6月1日之后重新签署或更新代码证书,则在生成CSR时需要选择RSA3072加密位数。不过,即使是6月1日前颁发的2048位证书,睿诚信息仍然建议您尽快重新签名,改用3072位代码签名证书,以符合行业标准,提高安全性。
如何查看证书密钥长度如果您不知道现有证书的密钥长度,您可以通过以下简单步骤进行检查。比如在Windows中找到你的证书文件,右击证书,选择[属性],点击证书的[详细信息]标签,就可以在[公钥]中查看密钥长度,如下图所示:
(Windows 10中代码签名证书的属性窗口)
如果您的代码签名证书是2048位,建议您在6月1日之后重新签名并切换到3072位代码签名证书。
为了顺应CA/B论坛对代码签名证书的新要求,Digicert、Entrust等国际CA纷纷调整策略。Digicert宣布,2021年5月27日后颁发的代码签名证书必须支持密钥长度为3072位或以上的RSA算法。2021年上半年,Entrust已经颁发了4096位的RSA算法根证书,新签署的代码签名证书密钥长度将是RSA的3072或4096位。如果委托代码签名需要时间戳,您需要选择4096位RSA密钥。具体的变化可以在他们各自的官方网站上找到。