在密碼學家的舒適世界中,每個人都知道這只是時間問題。決定性的時刻現在已經到來:SHA-1 加密雜湊函數已被研究所的一組研究人員徹底破解谷歌研究等CWI 阿姆斯特丹。
加密雜湊是電腦安全系統中的基本要素。它允許從任意數量的資料創建固定大小的唯一指紋,從中不可能猜測原始資料。這在加密通訊(TLS、SSL)、電子簽名、備份系統、銀行交易等各種應用中非常有用。例如,大多數 Web 服務都使用密碼雜湊來驗證其使用者身分。
SHA-1 演算法由 NSA 於 1995 年創建,長期以來一直是全球使用的主要雜湊函數之一。從2005年開始,研究人員開始指出該系統的潛在缺陷並開發攻擊。這些仍然是理論上的,因為它們需要無法達到的運算能力。但隨著電腦能力的不斷增強,標準組織 NIST 在 2011 年正式建議不再使用 SHA-1。
來自谷歌研究院和阿姆斯特丹 CWI 的研究人員剛剛通過首次進行“密碼碰撞”,為該演算法的棺材釘上了釘子。換句話說,他們設法創建了兩個不同的 PDF 文件,產生相同的指紋,從而具體證明了漏洞。例如,這種稱為「SHAttered」的攻擊將允許將相同的電子簽名放置在兩個不同的文件上,從而為各種詐騙打開了大門。研究人員將在 90 天內公佈其攻擊的源代碼。從那裡,每個人都可以建立具有相同 SHA-1 指紋的 PDF 檔案對。
產生這種碰撞並不是一件容易的事。它花費了超過…90 億次 SHA-1 迭代。相當於CPU運行6500年,GPU運行110年的算力,因為這次攻擊有兩個不同的運算階段。與此計算相關的數學細節在科學論文。這項工作是在谷歌伺服器網路上具體進行的。第一階段依賴主頻為 2.3 GHz 的 Xeon E5-2650v3 晶片。在第二階段,研究人員使用了 nVidia Tesla K20/K40/K80 圖形晶片。
35% 的網站仍然依賴 SHA-1
除了引人注目的一面之外,這次成功的攻擊還表明,仍然使用 SHA-1 的系統不再安全。即使Google、微軟、Mozilla 或 Facebook 等大多數主要參與者已禁止在其產品或服務中使用 SHA-1,演算法仍廣泛分佈。根據威脅站,35% 的網站仍然使用基於 SHA-1 的憑證。 10%的銀行卡支付系統也是如此。被編碼人員廣泛使用的GIT IT開發支援軟體也是基於SHA-1的。
認為自己正在處理專門作為碰撞攻擊一部分而創建的文件炸彈的用戶可以在網站上檢查它粉碎.io,由研究人員特別創建。只需上傳文件即可確定。這個工具其實“基於反密碼分析的概念,能夠從衝突對中的單一文件中檢測已知或未知的衝突攻擊”,研究人員解釋。就係統管理員而言,建議不再實施 SHA-1,而是以 SHA-3 或 SHA-256 等後繼者取代。