実際の数字で解説するパスワードエントロピー
公開日 2026-07-20
パスワード強度メーターは感覚頼みです。エントロピーは算数です。ここでは「パスワードの強さ」の背後にある実際の数学、実際のハードウェアの数値から算出した解読時間、そしてこれまで従うよう強制されてきたルールのうち、実際に何か意味のあるものはあるのかを正直に見ていきます。
エントロピー1ビットとは何か
エントロピーは、あるパスワードがどれだけの数の等確率な可能性の中から選ばれたかを、2を底とする対数で表したものです。1,024通りの中から均等に選ばれたパスワードは10ビットのエントロピーを持ちます。なぜなら210 = 1,024だからです。ビットが1つ増えるごとに、攻撃者が最悪の場合に必要とする試行回数は2倍になります。ランダムに生成されたパスワードの場合、公式はシンプルです。エントロピー = 長さ × log2(文字種の数)。
この文で重要な意味を持つのは「ランダムに」という言葉です。この公式が成り立つのは、すべての文字が適切な乱数生成器によって選ばれている場合に限られます。人間が考え出したパスワードはこの条件を満たしません。人間は名前、日付、キーボード上の並び、末尾に1を付けた単語といった、ごく小さく著しく偏った集合から選びがちで、解読ソフトウェアはまさにそうしたパターンを狙って作られています。
文字ごとのビット数
小文字のみ:26文字、1文字あたり4.70ビット。大文字を加える:52文字、5.70ビット。数字を加える:62文字、5.95ビット。印字可能なASCII文字すべてを加える:95文字、6.57ビット。この上昇の弱さに注目してください。小文字のみから95文字すべてを使う構成へと拡張しても、1文字あたり2ビット未満しか増えないのに対し、パスワードにもう1文字追加するだけで4.7〜6.6ビット増えます。長さは常に文字種の複雑さに勝り、しかもその差は大きく開いています。
具体的な解読時間
現実的な最悪のケースを想定します。あなたのパスワードのハッシュが漏洩事故で流出し、そのサイトはMD5やNTLMのような高速なアルゴリズムを使用していて(これはまさに、当サイトのハッシュ生成ツールで瞬時に計算できる種類のハッシュであり、それこそが問題です)、攻撃者は毎秒約1,000億回の試行を行う最新のマルチGPU環境を使用しているとします。すべての組み合わせを試すのにかかる時間は次のとおりです。
| パスワード | エントロピー | 総当たりにかかる時間 |
|---|---|---|
| 8文字のランダムな小文字 | 37.6ビット | 約2秒 |
| 8文字のランダムな文字、95文字フルセット | 52.6ビット | 約18時間 |
| 12文字のランダムな小文字 | 56.4ビット | 約11日 |
| 5つのランダムなdicewareの単語 | 64.6ビット | 約9年 |
| 16文字のランダムな小文字 | 75.2ビット | 約14,000年 |
| 6つのランダムなdicewareの単語 | 77.5ビット | 約70,000年 |
| 12文字のランダムな文字、95文字フルセット | 78.8ビット | 約170,000年 |
平均的なケースではこれらの数字を半分にしてください。攻撃者は通常、探索空間の半分の地点でパスワードを見つけるためです。サイトがbcryptやArgon2のような低速なハッシュを使用していた場合、試行速度はおよそ100万分の1に落ち込み、表の各行の時間もそれぞれ100万倍に伸びます。しかし、あるサイトが何を使っているかを知ることはめったにできないため、高速なケースを前提に計画すべきです。
パスフレーズが優れている理由
標準的な7,776語のdicewareリストからランダムに選ばれた1単語は、log2(7776) = 12.9ビットの価値があります。5単語なら64.6ビットに達し、6単語なら77.5ビットに達します。これはフル文字セットから選ばれた真にランダムな12文字とほぼ同等の強度です。違いは、「maple-thunder-oboe-crisp-vandal」はスマートフォンのキーボードで入力でき、数回使えば覚えられるのに対し、「xX9#qL!2mFp$」はそうはいかないという点です。ただし、同じ注意点が当てはまります。単語は乱数生成器から得られたものでなければなりません。自分で選ぶと、よくある関連性の高い単語を選んでしまい、実際のエントロピーは大きく低下します。
良いランダム性はどこから来るのか
現代のあらゆるブラウザは、オペレーティングシステムのエントロピープールから種を得る、暗号論的に安全な乱数生成器crypto.getRandomValuesを提供しています。ランダムなバイトを文字セットにマッピングする際に偏ったサンプリングを避けるよう注意を払った上でこれを基に構築された生成器は、公式どおりのエントロピーを実際に持つパスワードを生成します。これこそが、生成されたパスワードと考え出されたパスワードとの全ての違いです。生成されたパスワードのエントロピーは実在し計算可能であるのに対し、考え出されたパスワードのエントロピーは単なる推測であり、たいてい自分に都合よく見積もられています。
引退させるべき3つの俗説
記号の必須化。 上記の文字ごとの数値が示すとおり、「大文字を1つ以上、数字を1つ以上、記号を1つ以上」といった構成ルールは数学的にはほとんど影響を与えず、実際には人々を予測可能なテンプレートへと追いやります。先頭を大文字にし、末尾に感嘆符を付け、aの代わりに@を使う、といった具合です。解読用のルールセットはこうした置き換えを何十年も前からエンコードしているため、強度メーターが何を表示しようとも、P@ssw0rd!はミリ秒単位で破られます。NISTのガイドライン(SP 800-63B)は2017年以降、構成ルールを推奨しないとしています。
90日ごとの強制ローテーション。 予測できる結果は、Summer2025!がAutumn2025!になるだけです。NISTは改めてこう述べています。パスワードは侵害の証拠がある時に変更すべきであり、カレンダーどおりに変更すべきではない、と。
文字列を見てエントロピーを判断すること。 エントロピーはパスワードを生成したプロセスの性質であり、出力そのものの性質ではありません。頭の中で考え出した「xK4pQ9vT」は、暗号論的乱数生成器による8文字よりもはるかに弱く、たとえ両者が見た目にはまったく同じであってもです。これは強度メーターが誤解を招く理由でもあります。メーターは出力しか見ることができないのです。
実用的な目標
攻撃者がレート制限つきのオンラインでしか推測できないアカウントであれば、40ビットで十分です。1時間あたり100回の試行では、230通りの可能性を総当たりするだけでも1,000年以上かかります。漏洩後にオフラインで攻撃されうるものについては——大切なアカウントについてはこれを安全側の前提とすべきですが——75ビット以上を目指してください。ランダムな混合文字で約14文字、あるいはdicewareの単語6つ分です。そして各サイトごとにパスワードを一意にし、あるフォーラムの漏洩があなたのメールを開けてしまわないようにしてください。現実的にはこれは、パスワードマネージャーと生成ツールの組み合わせを意味します。
この数学が実際に動いているところを見たいなら、noritoのパスワード生成ツールは、ランダムな文字列とワードベースのパスフレーズの両方のモードを、リアルタイムのエントロピー表示付きで提供しています。このサイトのあらゆるツールと同様、完全にブラウザ内で動作します。これはパスワードにとってまさに肝心な点です。