信息來源:Cnbeta
近日,CA/B論壇對代碼簽名證書提出新要求:從2021年6月1日起,代碼簽名證書的最小密鑰長度將從2048位增強(qiáng)至3072位。為了遵從新規(guī),Digicert,Entrust等國際CA紛紛調(diào)整策略以應(yīng)對密鑰長度的變化帶來的影響。
為了提高證書安全性,提前為未來先進(jìn)技術(shù)做好準(zhǔn)備,作為全球網(wǎng)絡(luò)安全行業(yè)國際組織,CA/B論壇發(fā)布了如下通知:從2021年6月1日起,代碼簽名證書的最小密鑰長度將從2048位增強(qiáng)至3072位。
代碼簽名證書(Code Signing Certificate)是軟件開發(fā)商的理想解決方案。有了代碼簽名證書他們就可以對自己的產(chǎn)品(如應(yīng)用程序、驅(qū)動程序、可執(zhí)行文件或者其他程序)進(jìn)行數(shù)字簽名,保證軟件代碼和內(nèi)容的安全性。簽名后的軟件可以標(biāo)識開發(fā)者的真實(shí)身份,如果在傳輸過程中被第三方修改,將自動提醒最終用戶以免被欺騙。
雖然數(shù)字簽名可以在很長一段時(shí)間內(nèi)保持有效(代碼簽名有效期是3年)。但與此同時(shí),技術(shù)的進(jìn)步容易使這些相對較老的、較弱的密鑰受到暴力破解。因此,將來驗(yàn)證這些簽名的一種方法是提高代碼簽名證書的最小密鑰長度。
那么,密鑰長度到底是什么?代碼簽名證書的密鑰長度發(fā)生了什么變化?最重要的是,這將對代碼簽名證書的客戶有什么影響?
什么是密鑰長度
密鑰長度是證書關(guān)聯(lián)密鑰對中的位數(shù),用于簽名和加密。密鑰長度通常設(shè)置了一個(gè)加密算法的安全性上限,密鑰長度越長,意味著更強(qiáng)的數(shù)字簽名,也就更安全。理論上說,任何一種加密算法都可能被超強(qiáng)計(jì)算機(jī)通過暴力破解,但是在密鑰長度越長的情況下,暴力破解的時(shí)間也會越長。所以理想情況下,在相當(dāng)長一段時(shí)間內(nèi)通過暴力破解密鑰不是那么容易的。
但是隨著科學(xué)技術(shù)的進(jìn)步,攻擊者在無人知曉的情況下惡意篡改應(yīng)用程序也只是時(shí)間問題。為了確保當(dāng)前的數(shù)字簽名能在未來幾年內(nèi)可繼續(xù)使用,提高密鑰長度是一個(gè)很好的辦法。
代碼簽名證書密鑰長度發(fā)生了什么變化
在八年前,證書的密鑰長度被要求從1024位調(diào)整至2048位。所以,現(xiàn)在代碼簽名證書的最小密鑰長度是2048位,并且是非常安全的。但是,隨著時(shí)間的推移,目前的安全加密簽名在未來可能會受到威脅攻擊,鑒于此問題,美國國家標(biāo)準(zhǔn)與技術(shù)協(xié)會(NIST)發(fā)布了NIST SP 800-57密鑰管理建議:基于安全性考慮,建議在2030年之后不再使用RSA算法2048位密鑰。
專注于CA和瀏覽器的安全技術(shù)與標(biāo)準(zhǔn)的討論與制定的CA/B論壇在分析了NIST的建議之后,投票決定從2021年6月1日起,代碼簽名證書最小密鑰長度為RSA3072位。
密鑰長度的變化會產(chǎn)生什么影響
2021年6月1日之后頒發(fā)的代碼證書將自動鏈接到3072位的根證書,因此您不用購買其他產(chǎn)品或重新定向3072位信任鏈。
在2021年6月1日之前簽發(fā)的2048位代碼簽名證書,仍然可以有效使用。如果是在6月1日之后重簽或續(xù)費(fèi)代碼證書,需要在生成CSR時(shí)選擇RSA3072加密位數(shù)。但即使是在6月1日之前簽發(fā)的2048位證書,為了遵循行業(yè)標(biāo)準(zhǔn)、提高安全性,銳成信息還是建議您盡快重簽切換到3072位代碼簽名證書。
如何查看證書密鑰長度
如果不知道自己現(xiàn)有證書的密鑰長度,可通過以下幾個(gè)簡單的操作步驟就可以查看。例如,在Windows中找到您的證書文件,右鍵單擊證書,選擇【屬性】,點(diǎn)擊證書的【詳細(xì)信息】選項(xiàng)卡,在【公鑰】里即可查看到密鑰長度,如下圖:
Windows 10中的代碼簽名證書的屬性窗口
如果您的代碼簽名證書是2048位,建議您在6月1日之后重簽切換到3072位代碼簽名證書。
為了遵從CA/B論壇對代碼簽名證書的新規(guī)要求,Digicert,Entrust等國際CA紛紛調(diào)整策略。Digicert宣布2021年5月27日之后簽發(fā)的代碼簽名證書必須支持RSA算法3072位或更強(qiáng)的密鑰長度。2021年上半年,Entrust已發(fā)布RSA算法4096位的根證書,新簽的代碼簽名證書密鑰長度將為RSA 3072位或4096位。如果Entrust代碼簽名需帶有時(shí)間戳,那么就需要選擇4096位的RSA密鑰。具體變更詳情可前往各自官方網(wǎng)站查詢。