パスワードエントロピーとは?
パスワードエントロピーとは、そのパスワードがどれだけ予測しにくいかを示す指標で、ビットという単位で表します。1ビット増えるごとに、攻撃者が試さなければならない推測の回数は2倍になります。エントロピーが40ビットのパスワードを総当たり(ブルートフォース)で破るには最大2⁴⁰回(約1兆回)の試行が必要で、80ビットになると桁違いに強固です。エントロピーは、パスワードの強さを客観的な数値で比較できる、もっとも実用的な指標といえます。
この計算ツールの使い方
パスワードの長さを入力し、使用している文字種にすべてチェックを入れてください。ツールは各文字種のプールサイズ――小文字(26)、大文字(26)、数字(10)、記号(32)――を合計して文字種の総数Nを求め、そこからエントロピーを算出します。長さを伸ばすことも、文字種を増やすこともエントロピー向上につながりますが、通常もっとも効果が大きいのは「長さ」です。
計算式の解説
標準的な計算式は $$E = \text{Length} \times \log_{2}(N)$$ です。ここで\(L\)は文字数、\(N\)は文字プールの大きさを表します。各桁には\(N\)種類の文字を独立して使えるため、考えられるパスワードの総数は\(N^{L}\)通りとなり、その \(\log_2\) をとった値がエントロピーのビット数になります。これは完全にランダムなパスワードを前提とした計算です。辞書に載っている単語や予測しやすいパターンを使った場合、実効的なエントロピーは式の値よりはるかに低くなります。
具体例で計算してみる
小文字・大文字・数字を使った12文字のパスワードを考えてみましょう。文字プールは \(26 + 26 + 10 = 62\) です。エントロピー $$= 12 \times \log_{2}(62) = 12 \times 5.954 \approx 71.45\ \text{ビット}$$ となります。これはおよそ \(2^{71.45} \approx 3.2 \times 10^{21}\) 通りの組み合わせに相当し、総当たり攻撃に対して極めて強い耐性があります。
よくある質問
何ビットあれば「強い」と言える? ほとんどのアカウントでは60ビット以上あれば十分です。重要なアカウントやマスターパスワードには80ビット以上を推奨します。
辞書攻撃も考慮されている? いいえ。この式はランダムな文字を前提としています。実在する単語・名前・文字の置き換え(leet表記など)は実際のエントロピーを大きく下げてしまうため、ランダム生成ツールやパスフレーズの利用をおすすめします。
なぜ毎秒100億回の推測を基準にしているの? これは、高速なハッシュで保護されたパスワードに対し、潤沢な資金を持つ攻撃者がオフラインで仕掛ける攻撃の妥当な目安だからです。ハッシュ計算が遅いほど、攻撃者の解読はさらに遅くなります。