9 兆次演算碰撞達成!Google 攻破 SHA-1 加密技術

作者 | 發布日期 2017 年 02 月 24 日 14:30 | 分類 Google , 數位內容 , 資訊安全 follow us in feedly

Google 的研究人員剛剛創造了電腦加密學在 2017 年的第一個里程碑:攻破了 SHA-1 安全加密演算法。



雷鋒網配圖

實驗的關鍵研究者是來自荷蘭 CWI 研究機構的馬克‧史蒂文斯(Marc Stevens),他在安全雜湊演算法發表過大量優秀的研究成果。他從 2013 年起展現出攻克 SHA-1 的決心,之後陸續發表了一系列新成果和改進方法。透過和 Google 合作,他獲得了本次攻破的關鍵資源:強大的計算能力。

這件事相當重要,令人激動。原因還要從 SHA-1 到底是什麼說起。

SHA-1 是什麼?

SHA-1(全稱 Secure Hash Algorithm-1,安全雜湊演算法 )是一種安全加密演算法,最主要的用途是數位簽名。

舉個例子:你肯定在電腦上下載過軟體吧?是否記得,檔案的上傳者會提醒你,下載後要校驗檔案?有沒有見過類似下圖的文字?雷鋒網配圖

這是因為,使用 SHA-1、MD5 這樣的安全雜湊演算法,對文字檔案、表格、音樂 mp3、PDF、執行檔或其他任何檔案等進行計算,都會得出像上圖這樣的欄位(SHA-1 值)。過去只要檔案不同,對應的 SHA-1 值都不一樣,就像給每個檔案都加上數位簽名。

而 SHA-1 值應該是 40 個英/數字:比如上圖對應的 SHA-1 值是:

1E2FF30C5FD327C438F76C3ACBE97AAFB9AEDF7E

對下載者來說,原檔案的 SHA-1 值很重要:當你下載一個軟體,用檔案校驗工具檢視它的 SHA-1 / MD5 值,如果和原檔案不一樣,你就得小心了,因為檔案顯然修改過了,裡面可能有病毒或其他惡意程式碼。雷鋒網配圖

▲ 檔案 SHA-1 值校驗實例。

SHA-1 和 MD5 是世界上最常用的檔案校驗加密演算法,過去一直認為是比較安全可靠的演算法──直到今天。

Google 和 CWI 一起研究出一種方法,能讓兩個不同的檔案用 SHA-1 演算後,得出完全一致的 SHA-1 值。

怎樣攻破的?Collision-illustrated

這次攻破被命名為 SHAttered attack。研究者提供兩張內容截然不同、色彩明顯差異,但 SHA-1 值卻完全相同的 PDF 檔案為證明:雷鋒網配圖

在部落格中,研究者寫道:

哈希碰撞(hash collision,即兩個不同檔案 SHA-1 值一致,也有譯做哈希衝突)本來不應該發生。但實際上,當 SHA-1 演算法存在漏洞時,一個有足夠實力的攻擊者能製造出碰撞,進而攻擊者可用來攻擊那些依靠 SHA-1 值校驗檔案的系統,植入錯誤的檔案造成惡果。舉個例子,兩份條款完全不同的保單。

本次 Google 對其進行攻破花費巨額的演算法:總計 9,223,372,036,854,775,808──超過 9 兆次演算。

破解分為兩階段,分別需要一個 CPU 進行 6,500 年,和一個 GPU 進行 110 年的計算才可完成。這是因為研究者採用自行研發的 Shattered 破解方法,其效率遠勝於暴力破解。且 Google 雲端平台提供的大規模計算技術,明顯減輕了負擔。雷鋒網配圖

這也是為什麼必須「有足夠實力的攻擊者」才能攻破……

需要恐慌嗎?

2012 年安全技術專家布魯斯‧施奈爾曾經估計,完成一次 SHA-1 碰撞在 2012 年需要耗費 277 萬美元,到 2015 年則降到 70 萬美元,2021 年只需要 4.3 萬美元。他還暗示,到 2018 年就會有犯罪集團具備虛擬 SHA-1 簽名證書的能力。

但至少目前,人們並不需要恐慌。首先就事件本身而言,普通網友不需要擔心有人會用它做壞事,因為 Google 漏洞披露政策規定,本次 SHAttered attack 的研究者需要等待 90 天才能釋出原始程式碼。就算掌握了程式碼,至少也得有 Google 這種水準的大規模演算能力……

另外,研究者上線了一個網站 shattered.io,網友可以上去了解更多技術細節,還可以上傳自己的檔案,測試自己的檔案是否安全。雷鋒網配圖

做為一種老舊的加密演算法,SHA-1 漸漸被後來者如 SHA-2 和 SHA-3 新演算法,以及各種變體取代。三大瀏覽器 Chrome、微軟 Edge / IE 和火狐瀏覽器都決定棄用 SHA-1。

Google 早在 2014 年就未雨綢繆,發表逐步放棄 SHA-1 的決定。去年開始,Google 的 Chrome 瀏覽器已經不再支援 SHA-1 證書,會將其記號為不安全。當證書過期後,瀏覽器將無法存取這些網站。Google 方面也建議 IT 人士採用 SHA-256 等更安全的算法。所以今天的實驗結果宣布,也算是給 SHA-1 補上遲來的一刀。雷鋒網配圖

微軟 Edge 瀏覽器團隊之前在部落格中表示,將於 2017 年中棄用 SHA-1。但據《富比士》網路版報導,另一位安全專家凱文‧貝爾蒙特在 Twitter 上指出,棄用 SHA-1 的 Windows 安全更新本應該在 2 月早些時候推送,但仍處於延期狀態。

去年 10 月,火狐瀏覽器的開發商 Mozilla 也宣布了同樣的決定。雷鋒網配圖

最後再送上:一張圖看懂 SHAttered attack(Google 官方製作)。雷鋒網配圖

(本文由 PingWest 授權轉載,首圖來源:Google Security Blog) 

關鍵字: , , ,

發表迴響