2022 年找到 SHA1 碰撞有多容易?
我能找到的大多數答案都可以追溯到幾年前發現第一次碰撞的地方,但在過去的幾年裡,主要是 GPU 的硬體已經取得了很大進步(例如,新的 3090 系列即將推出)。
現在這樣做有多容易?
根據一些Hashcat 基準,目前的 Nvidia GPU 可以以以下速率計算 SHA-1 雜湊:
- NVIDIA GeForce RTX 3090 ~22.6×10 9雜湊每秒
- NVIDIA GeForce RTX 3080 Ti ~21.7×109雜湊每秒
AMD 顯卡的性能似乎與此基準測試相同:
SHA-1 速度.#1…….: 20.6×10 9
鑑於其建議零售價約為649 美元,AMD RX 6800 XT 似乎是我們進行類似攻擊的最佳候選者。(儘管晶片短缺導致價格瘋狂上漲……)
接下來,根據 2017 年shattered.it網站和論文:
這種攻擊需要超過 9,223,372,036,854,775,808 次 SHA1 計算 [9×10 18 ]。這相當於 6,500 年的單 CPU 計算和 110 年的單 GPU 計算的處理能力。
但正如fgrieu 的評論中提到的,在 2020 年,一篇新論文(“SHA-1 is a Shambles”)出來了,進一步改進了 SHAttered 攻擊,他們估計攻擊的成本為 $ ~2^{61.6} = 3.5\times 10^{18} $ SHA-1 計算與 $ 2^{63} $ SHAttered 中的計算(參見表 4。)
因此,我們可以使用目前的 GPU 計算它:
$$ \frac{2^{61.6}}{20.6×10^9} \approx 169\times10^6 $$
使用單個 GPU 的秒數,約為 5.36 年。但這並行性相對較好,因此您只需添加更多 GPU 即可,使用 10 個 GPU,您可以在 6 個月內獲得一個,或者使用 30 個 GPU 可以在 2 個月內獲得一個……理論上,GPU 的成本約為 19,470美元,加上執行 30 個 GPU 2 個月的約 2,000美元電費……
您還可以租用三個 p3.16xlarge AWS 實例,每個實例的雜湊率約為 135GH/s ,每個實例每小時的成本約為24.48 美元,總計 405GH/s,每小時73.44 美元。這將花費您約 2397.12 小時(3 個月)並花費您約176,044美元。
值得注意的是,我們可以看到,僅用 5 年時間,我們就從 2020 年的大約 110 個 GPU 年的攻擊成本(由於理論改進和更新的 GPU)下降到現在的大約 5.4 個 GPU 年(感謝更新、更快的 GPU)。
另請注意,這沒有考慮可能的 ASIC,這與 2021 年的這篇論文(“關於 ASIC 硬體破解器的成本:SHA-1 案例研究”)不同,它在假設定制 ASIC 是一種選擇時回答了您的問題:
特別是,我們注意到 SHA-1 的選擇前綴衝突可以在一分鐘內生成,而 ASIC 集群的成本為幾十百萬美元。這種能力將允許攻擊者使用 SHA-1 對 TLS 或 SSH 連接應用 SLOTH 攻擊。
最後,如果我們考慮到超級電腦和比特幣網路,這個問題已經在 kelalaka 從 2018 年的這個出色答案中得到了解決,而且情況看起來並不好:比特幣網路可以在 1 秒內完成,因為它目前的雜湊率超過200TH/s… 是的:一秒!但這在技術上並不正確,因為比特幣的專用硬體實際上專門用於計算 SHA-256 雜湊。以更現實的方式,在美國能源部橡樹嶺國家實驗室 (ORNL) 擁有的名為“ Summit
” 的超級電腦上,只需不到一天的時間即可完成。