相當安全的 AES 密鑰派生量?
我正在使用 Veracrypt 加密我的電腦。預設的 500,000 次派生非常慢,安全性和速度之間的“安全”平衡是什麼?我的密碼超過 20 個字元。
如果 PKCS5-PRF 在螢幕上設置為自動檢測,VeraCrypt 會使用您提供的密碼嘗試每個雜湊和密碼組合
enter password
,即它會嘗試所有。它將一直工作,直到其中一個工作。它可以並行執行此操作。最後,如果沒有工作,它會通知您您的密碼不正確。將其更改為您在設置音量時選擇的PKCS5-PRF,它不會測試其他的。那會減少時間。
在攻擊者看來,這會減慢他們的速度,因為他們必須在暴力破解可能的密碼期間嘗試所有候選密碼。
此外,500,000 次派生對於密碼破解者也很重要。越高越好,它會線性影響攻擊者的時間。近年來,他們的能力大大提高。
您可以將每次迭代視為驗證密碼的嘗試。在這種情況下,您可以簡單地獲取迭代次數的 2-log 以查看添加了多少安全位。所以 $ \log_2(50000) = 15.6 $ 一些安全性,可以或多或少地增加強度。一百萬個重複廣告 $ 19.9 $ 一點安全感。
現在,一個包含 4 個單詞的好的密碼片語具有大約 40 位的熵(當然取決於方案和實際的密碼片語)。因此,一百萬次迭代的總數約為 60 位。這些都是“在這個球場的某個地方”數字,密碼強度是一個棘手的主題。但如果你這樣想,那麼你至少可以做出更明智的決定。某種強度的評估是最重要的。
正如您可能注意到的那樣,沒有一種方案可能會給您提供接近對稱密碼大部分時間所需的(最小)112 位的強度。這就是為什麼通常不贊成基於密碼的密鑰派生的原因。這也是為什麼任何使用三重 Veracrypt 加密並在記憶體中保存密碼的人都在自欺欺人的原因。
使用帶有用密碼加密的私有解密密鑰的密鑰對要強得多,尤其是在對所述私有密鑰的訪問受到限制的情況下。它還允許您在沒有密碼的情況下進行加密。當然,缺點是您需要訪問密鑰和計算設備,而那裡可能沒有…