Google 攻破了最重要的加密技術!用 9 兆次演算暴力破解「SHA-1 安全加密演算法」

【我們為什麼挑選這篇文章】Google 與荷蘭研究機構共同破解了現行最常用的加密演算法「SHA-1」,Google 雲端平台強大的計算能力協助破解了這個演算法,為密碼學再添里程碑 。(責任編輯:黃筱雯)

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 哈希值應該是 40 個英/數字:比如上面這張圖片對應的 SHA-1 值是:

1E2FF30C5FD327C438F76C3ACBE97AAFB9AEDF7E

對於下載者來說,原文件的哈希值很重要:當你下載了一個軟體,用文件校驗工具查看它的 SHA-1/MD5 值,如果和原文件的不一樣,你就得小心了,因為文件顯然被修改過了,而裡面可能包含了病毒或其他惡意代碼。

文件哈希值校驗實例

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

Google 和 CWI 一起研究出了一種方法,能夠讓兩個不同的文件採用 SHA-1 演算之後,呈現出完全一致的哈希值。

怎樣攻破的?

這次攻破被命名為 SHAttered attack。研究者提供了兩張內容截然不同,在顏色上存在明顯差異,但 SHA-1 哈希值卻完全相同的 PDF 文件作為證明:

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

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

本次 Google 對其進行攻破花費了巨量的演算力:總計 9,223,372,036,854,775,808——超過 9 兆(億億)次演算。

破解分為兩個階段,分別需要一個 CPU 進行 6500 年,和一個 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 官方製作)

延伸閱讀

全面保障用戶訊息隱私,WhatsApp 採用 FBI 與駭客都破解不了的新加密技術
神鬼駭客史諾登也推薦:最安全的通訊軟體「Signal」要挑戰加密技術極限
數據傳輸不加密,小心你的手機讓你活在楚門的世界中

(本文經合作夥伴品玩授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈九兆次演算實現碰撞!Google 攻破了最重要的加密技術 〉。)


科技報橘 2019 全面徵才 ── 跟我們一起找到台灣在國際中的創新產業定位

我們正在找「社群編輯 3 名」、「資深採訪編輯 2 名

來信請將履歷與文字作品寄至 [email protected],信件名稱:應徵 TechOrange 社群編輯:(您的大名)

 

 

點關鍵字看更多相關文章: