Passwords

BIP 39:如果我將我的 24 個助記詞與另外 24 個單詞混合,校驗和屬性是否允許攻擊者檢索原始助記詞?

  • May 12, 2021

假設我有一個 24 字的密碼,我想安全地線上儲存它,並以我知道的方式將它與另外 24 個字混合。校驗和屬性是否以某種方式幫助攻擊者在合理的時間內顯著加快猜測正確的 24 個單詞片語的過程?

我猜不會,因為攻擊者仍然需要嘗試在附近某處的荒謬數量的組合

$$ \binom{48}{24} \cdot 24! \approx 2 \cdot 10^{37}. $$

編輯:為了澄清,我添加了一個最小的例子,這讓我想到了上述問題。讓我們考慮以下簡單的密碼片語系統:

  1. 從可以由 3 個字母組合在一起的所有單詞中選擇 3 個不同的單詞(abc、god、ced、….)
  2. 第四個單詞必須滿足它包含三個第一個單詞的第一個字母(這是一個非常簡化的校驗和條件)

假設我有密碼片語(ago、bro、sis、abs)並將其與另一個密碼片語(gro、lab、for、glf)混合到

(以前,glf,for,sis,abs,gro,lab,bro)

現在掃描這個序列並檢查哪個四重規則 2. 適用於獲取兩個可能的有效密碼片語比只嘗試所有密碼要快得多 $$ \binom{8}{4}\cdot 4! = 1680 $$ 組合。

所提出的方法需要 24 個額外的隨機 BIP-39 詞。附加的單詞與真正的 24 字密碼片語一起以單詞的方式排列。結果有 $ 2\cdot 10^{37} $ 有的組合 $ \approx 2^{124} $ 一點安全感。8 字密碼已經比這更安全了 $ \approx 2^{139} $ $$ 1 $$

如果使用隨機排列來打亂單詞,則必須儲存的排列的位大小存在另一個問題。如果我們認為 48 個字中的每一個都可以用 8 位表示,那麼需要 $ 48\cdot 6 = 288 $ 要儲存的位。這已經大於我們難以記住的 AES-256 的比特大小,因此我們使用 BIP-39 或 DiceWire 來確保我們的密鑰安全,具體取決於密鑰 128 或 256 的長度。

我想找到一種方法來記住一個 24 字的密碼,盡可能少的努力,而且不使用任何加密。所以我的建議是只儲存 48 個單詞,其中以我能記住的方式隱藏密碼。例如,我可以對單詞進行置換,以使所有偶數位置都能恢復我的密碼。對於不了解我的系統的攻擊者來說,這看起來像是一個隨機排列。這個攻擊者可以從這 48 個單詞中獲得我的密碼嗎?

你最省力的記憶方式並不是你獨有的。實際上,這意味著您使用較少的熵進行排列。攻擊者通過知道或聰明的想法,將首先嘗試這種最省力的排列,就像在最省力的密碼中所做的那樣1234

我不會考慮你的例子甚至可能的位置或其他,上面的段落應該足夠了(你如何恢復偶數排列的順序)。

你的想法

  1. 熵低於 24 字密碼片語 256 與 124
  2. 如果您是目標並且他們知道您的系統和您,攻擊者可以恢復您的弱排列!
  3. 人類不擅長隨機數生成$$ 2 $$而且您正在將安全系統轉移到已經顯示出弱點的隨機性。

如果您已經考慮儲存它們,請考慮使用密碼管理器,這樣您只需要儲存一個非常好的 BIP-39 或 Dicewire,其餘密碼可以統一隨機生成。

引用自:https://crypto.stackexchange.com/questions/89939