正式退出!NIST宣布2030年后淘汰SHA-1算法

SHA-1作為一種著名的散列函數(shù),由美國(guó)國(guó)家安全局設(shè)計(jì),并由美國(guó)國(guó)家標(biāo)準(zhǔn)技術(shù)研究所(NIST)發(fā)布,一直是聯(lián)邦資訊處理標(biāo)準(zhǔn)(FIPS)180-1的一部分。而隨著計(jì)算機(jī)技術(shù)的發(fā)展,SHA-1的安全性也在不斷下降,預(yù)計(jì)將于2030年后淘汰,NIST建議還再依賴SHA-1安全性的IT專業(yè)人員,應(yīng)盡快更新采用更安全的SHA-2或SHA-3。

SHA-1

SHA-1中文名為“安全散列算法1”,是一種密碼散列函數(shù),可以生成一個(gè)被稱為消息摘要的160位(20字節(jié))散列值,散列值通常的呈現(xiàn)形式為40個(gè)十六進(jìn)制數(shù)。

作為MD5的替代者,SHA-1也曾經(jīng)被認(rèn)為是優(yōu)秀的散列函數(shù),但其安全性卻一直被密碼學(xué)家所質(zhì)疑。早在2005年,我國(guó)密碼學(xué)家、中科院院士王小云就提出了針對(duì)MD5和SHA-1的碰撞攻擊理論方法,證明了SHA-1的不安全性。而在2006年的CRYPTO會(huì)議上,又有密碼學(xué)家宣布他們能在容許攻擊者決定部分原訊息的條件之下,找到SHA-1的一個(gè)碰撞。

在散列函數(shù)出現(xiàn)碰撞的時(shí)候,就證明該算法已經(jīng)不再安全。于是,NIST從2011開(kāi)始著手淘汰SHA-1算法的使用,在2013年時(shí)就明確表示,除了極少數(shù)特殊情況,不允許在簽名和驗(yàn)簽的場(chǎng)景使用該算法。在2017時(shí),市面上所有的主流瀏覽器都不再將基于SHA-1的數(shù)字證書視為安全證書。

NIST表示,現(xiàn)在的計(jì)算機(jī)已經(jīng)可以創(chuàng)建欺詐式消息,也就是經(jīng)過(guò)篡改的消息,能夠產(chǎn)生與原始消息相同的散列值,這將危害到真實(shí)消息,而且近年這些碰撞攻擊已經(jīng)被用來(lái)破壞SHA-1。2020年研究人員將攻擊成本降至4.5萬(wàn)美元,并預(yù)測(cè)未來(lái)成本會(huì)越來(lái)越低。

SHA-1

目前,SHA-1是許多安全應(yīng)用程序的構(gòu)建模塊,像是在用戶加載網(wǎng)頁(yè)時(shí),通過(guò)采用SHA-1,便能夠相信來(lái)源的真實(shí)性。SHA-1通過(guò)對(duì)消息的字符進(jìn)行復(fù)雜的數(shù)學(xué)運(yùn)算,生成稱為散列的字符短字符串,第三方要從散列重建原始消息是不可能的,收件人也可以通過(guò)簡(jiǎn)單的方法來(lái)知道原始消息是否遭到篡改,因?yàn)榧幢闶侵粚?duì)消息動(dòng)了小手腳,生成的散列也會(huì)跟著變動(dòng)。

而在NIST宣布2030年12月31日后停用SHA-1加密算法后,屆時(shí)支持SHA-1算法的底層軟件庫(kù)將一律不會(huì)得到FIPS認(rèn)證,目前企業(yè)將擁有8年時(shí)間替換SHA-1。

免責(zé)聲明:素材源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系刪稿。