8.1. Password Generation (パスワード生成)
8.1. Password Generation (パスワード生成)
ユーザーパスワードが年に 1 回変更され, 敵が特定のアカウントのパスワードを推測できる確率が 1000 分の 1 未満であることが望ましいと仮定します。さらに, システムにパスワードを送信することがパスワードを試す唯一の方法であると仮定します。次に, 重要な質問は, 敵がどのくらいの頻度で可能性を試すことができるかです。遅延がシステムに導入され, 敵が 6 秒ごとに最大 1 回のパスワード試行を行うことができると仮定します。それは 1 時間あたり 600 回, または 1 日あたり約 15,000 回, または 1 年で約 5,000,000 回の試行です。任意の種類の監視を仮定すると, 実際に 1 年間連続して試行し続けることは unlikely です。ログファイルが月に 1 回だけチェックされる場合でも, 攻撃が気付かれ, パスワードを変更してより多くのパスワードを試すことを困難にする手順が取られる前に, 500,000 回の試行がより妥当です。
500,000 回の試行でパスワードを推測する 1,000 分の 1 の機会を持つには, 少なくとも 500,000,000 のパスワードの宇宙, つまり約 2^29 が必要です。したがって, 29 ビットのランダム性が必要です。これはおそらく, パスワード生成のために米国国防総省が推奨する入力を使用することで達成できます。これには, おそらく平均で 5 ビット以上のランダム性を持つ 8 つの入力があります (セクション 7.1 を参照)。1,000 語のリストを使用すると, パスワードは 3 語のフレーズとして表現できます (1,000,000,000 の可能性)。大文字と小文字を区別しない文字と数字を使用すると, 6 文字で十分です ((26+10)^6 = 2,176,782,336 の可能性)。
より高いセキュリティのパスワードの場合, 必要なビット数が増加します。確率を 1,000 減らすには, パスワードの宇宙を同じ要因で増やす必要があり, 約 10 ビットを追加します。したがって, 上記のシナリオでパスワードが推測される機会が 100 万分の 1 しかない場合, 39 ビットのランダム性と, 1,000 語のリストからの 4 語のフレーズ, または 8 文字/数字のパスワードが必要です。10^9 分の 1 の機会に行くには, 49 ビットのランダム性が必要であり, 5 語のフレーズまたは 10 文字/数字のパスワードを意味します。
実際のシステムでは, もちろん他の要因があります。たとえば, パスワードが大きく覚えにくいほど, ユーザーがそれらを書き留める可能性が高くなり, 侵害の追加リスクが生じます。