Entropy
註冊碼熵
我正在設計一個生成註冊碼的系統,將其發送給使用者,然後使用者根據此註冊碼將自己註冊到系統中。
註冊碼有一定的過期時間,如果使用者在有效期內沒有註冊,註冊碼就會過期,需要重新生成一個新的註冊碼。
是否有任何標準可以建議這種註冊碼的熵應該是多少?
一方面,它應該足夠長,以使攻擊者無法猜到。另一方面,它應該足夠短,以便使用者可以輕鬆地將其輸入系統。
基於 HMAC 的 One-time Password 算法內部有長度建議,這裡簡單解釋一下,詳細點這裡。
這其中的重要部分是:-
建議對 HOTP 值驗證進行持續限制,以解決它們相對較小的大小,從而解決暴力攻擊的脆弱性。
就像一台帶有 4 位 PIN 碼的自動取款機。他們在 3 次錯誤嘗試後生氣。RFC 4226 建議在每次註冊失敗後增加延遲。如果您使用預設的 6 位程式碼,您會得到略低於 20 位的熵。但這需要結合節流來查看。程式碼看起來就像
872921
.還有一些使用 6 位數字的RSA 硬體令牌,但有效期僅為一分鐘左右。相應調整…
筆記。這種形式的 HOTP 不會在數學上將程式碼與時間聯繫起來。您必須單獨實施該檢查。我不想過多地討論生成/接受令牌的機制。我專注於在速率受限的環境中 IETF 推薦的問題的熵方面。