エントロピーとは
この記事は約 2 分で読めます
エントロピーとは、情報理論における不確実性の尺度であり、パスワードの文脈ではその予測困難さをビット数で表す指標です。エントロピーの値が大きいほど、パスワードの推測が困難であることを意味します。パスワードのエントロピーは使用する文字種の数と文字数から計算され、ブルートフォース攻撃に対する耐性を定量的に評価できます。
計算方法と具体的な数値例
パスワードのエントロピーは「 log2 (文字種の数) x 文字数」で算出されます。以下に代表的な構成のエントロピーを示します。
- 英小文字のみ (26 種) x 8 文字 = 約 37.6 ビット
- 英大小文字 + 数字 (62 種) x 10 文字 = 約 59.5 ビット
- 英大小文字 + 数字 + 記号 (95 種) x 12 文字 = 約 78.8 ビット
- 英大小文字 + 数字 + 記号 (95 種) x 16 文字 = 約 105 ビット
- 英大小文字 + 数字 + 記号 (95 種) x 20 文字 = 約 131 ビット
パスワード生成ツールに付いている強度メーターも、こうしたエントロピーの考え方を目安として用いるものがあります (パターン照合によって推測回数を見積もる方式もあり、算出方法はツールごとに異なります)。ビット数が 10 増えるごとに、総当たりで探索すべき組み合わせの数は約 1,024 倍になります。文字数と文字種はどちらを増やしてもエントロピーが上がり、 95 種の構成では 1 文字追加するごとに約 6.6 ビット、文字種を 62 種から 95 種へ広げると 1 文字あたり約 0.6 ビット増えます。ただし使える文字種の数には上限 (印字可能な ASCII で 95 種程度) がある一方、文字数には原理的な上限がないため、伸ばす余地が大きいのは文字数の側です。
ポリシー設計での位置づけ
組織のパスワードポリシーでは、文字数の下限を定めたうえで、辞書に載っている単語や過去の漏洩リストに含まれる文字列を拒否する構成が採られることがあります。 NIST SP 800-63B は、利用者が自分で考えたパスワードのエントロピーを見積もることは難しいとして、主に文字数に基づく手法を示しています。同文書は記憶による秘密情報 (パスワード) に 8 文字以上の長さを要求する一方、文字種の混在といった追加の複雑さ要件は課さない方針を採り、利用者が選んだパスワードを過去の漏洩情報や辞書語を含む拒否リストと照合することを求めています。
実務での活用と落とし穴
エントロピーはパスワード強度の理論的な指標ですが、実務では注意すべき点があります。エントロピーの計算は「完全にランダムな生成」を前提としており、人間が考えたパスワードは辞書攻撃やパターン分析に弱いため、計算上のエントロピーより実質的な強度が低くなります。たとえば「 P@ssw0rd123!」は文字種が豊富で計算上のエントロピーは高く見えますが、よく知られたパターンのため辞書攻撃で瞬時に突破されます。また、同じビット数であっても総当たりに要する時間は一律ではありません。攻撃者が動員できる計算資源と、サービス側が採用しているハッシュ関数や反復回数 (ストレッチング) によって桁違いに変わるため、ビット数だけから所要時間を言い当てることはできません。暗号学的に安全な乱数生成器を使えば、計算上のエントロピーと実質的な強度が一致する、真にランダムなパスワードを生成できます。
この記事は役に立ちましたか?