Passwords
BIP-39 和 BIP-44 的恢復密碼衝突
參考標準$$ BIP-39 $$和$$ BIP-44 $$:由 12 個單片語成的“主密碼”從 2048 個單詞的字典中統一選擇對應於 128 位熵,然後在許多錢包實現中將其用作生成密鑰對的種子。
在不質疑所提供安全性的充分性的同時,是什麼阻止了攻擊者為了檢查其他錢包的餘額而迭代這些種子?威脅場景/攻擊者模型會被稱為什麼?
128 位熵僅僅意味著我們有 $ 2^{128} $ 搜尋不同的值,這類似於 128 位安全性。對於一個不可能的目標,因為即使是比特幣礦工的協作能力也可以達到 $ \approx 2^{92} $ 一年內。因此需要 $ 2^{35} $ 年才能找到正確的密碼。PBKDF2 的迭代次數是2048所以,我們需要乘以 $ 2^{35} $ 和 $ 2^{11} $ 這使得 $ 2^{46} $ 如果我們假設 SHA2d 執行時間等於 PBKDF2。
在發現多密碼攻擊的情況下,使用Oechslin 彩虹表的並行版本,從 $ t $ 目標是 $ 2^{128}/t $ . 現在假設您有十億個目標。然後,您將能夠找到遠低於 128 位安全性的**第一個密碼。**費用將低於 $ 2^{100} $ 時間會低於 $ 2^{70} $ . 這可以通過超級電腦來實現。
**結論:**在多目標攻擊情況下,使用 128 位熵並不安全。使用者應專注於 256 位熵的密碼設置。
注1:標題中包含了collision這個詞,但是,衝突與查找使用者密碼無關。衝突是找到兩對密碼,這樣在應用 PBKDF2 後結果將是相同的。這有成本 $ 2^{64} $ 成功機率為 50%。原像攻擊是對密碼的攻擊,代價為 $ 2^{128} $ 是問題的設置。
注 2:此答案中 Bip39 的詳細熵計算。