alltools.one
Security
2025-06-29
7 min
alltools.one Team
PasswordEntropySecurityCryptographyAuthentication

パスワードエントロピー解説:強力なパスワードの条件とは

Webサイトがパスワードを「弱い」や「強い」と評価するとき、エントロピー(パスワードの数学的ランダム性)を測定しています。エントロピーを理解すれば、単に入力が難しいだけでなく、本当に安全なパスワードを作成できます。

エントロピーとは?

エントロピーはビット単位で測定され、パスワードの予測不可能性を定量化します。エントロピーが1ビット増えるごとに、攻撃者が試す必要のあるパスワードの候補数が2倍になります。計算式は以下の通りです:

Entropy = log₂(C^L)

ここで:

  • C = 文字セットのサイズ
  • L = パスワードの長さ

別の表現:Entropy = L × log₂(C)

文字セット別エントロピー

文字セットプールサイズ (C)1文字あたりのビット数
数字のみ (0-9)103.32
小文字 (a-z)264.70
小文字 + 数字365.17
大小文字混合 (a-z, A-Z)525.70
大小文字混合 + 数字625.95
印刷可能ASCII全体956.57

計算例

  • password(小文字8文字):8 × 4.70 = 37.6ビット — 数秒で解読可能
  • P@ssw0rd(混合8文字):8 × 6.57 = 52.6ビット — 数時間で解読可能
  • correct-horse-battery-staple(小文字28文字 + 記号):長さにより実効エントロピーはるかに高い

長さ vs. 複雑さ

直感に反する事実:長さは複雑さよりもエントロピーに大きく貢献します

パスワード長さエントロピー解読時間(10億回推測/秒)
Xy7!426.3ビット1秒未満
Xy7!Qp2$852.6ビット142年
mysimplepassword1675.2ビット12億年
correct horse battery22103ビット宇宙の熱的死

16文字の小文字パスワードは、あらゆる文字種を含む8文字のパスワードよりも強力です。これが、現代のセキュリティガイダンス(NIST SP 800-63B)が短い複雑なパスワードよりも長いパスフレーズを推奨する理由です。

「複雑さルール」の問題点

従来のパスワードポリシー(大文字、小文字、数字、記号を含める必要がある)は逆効果です:

  1. 予測可能なパターン:ユーザーは最初の文字を大文字にし、末尾に1!を追加 → Password1!
  2. 記憶力の低下:複雑なパスワードは付箋に書かれてしまう
  3. 偽のセキュリティ:8文字の「複雑な」パスワードは16文字のシンプルなものよりエントロピーが低い

NISTの最新ガイダンス

  • 最小8文字、推奨15文字以上
  • 構成ルールなし(大文字、記号など)
  • 漏洩パスワードデータベースとの照合
  • スペースを含むすべての印刷可能文字を許可
  • 定期的な強制変更なし

パスフレーズ戦略

パスフレーズはランダムな文字ではなくランダムな単語を使用します:

method: pick 4-6 random words from a dictionary
example: "timber quantum spoon velocity"
entropy: 4 words × ~12.9 bits/word (from 7,776-word list) ≈ 51.7 bits
better:  6 words ≈ 77.5 bits

Diceware方式は7,776語のリスト(6^5、5つのサイコロの目に対応)を使用します。各単語が12.9ビットのエントロピーを追加します。

利点

  • 記憶しやすい(単語をイメージできる)
  • 長い(自然に20〜35文字)
  • 十分な単語数で高いエントロピー
  • 入力が簡単

安全なランダムパスワードとパスフレーズの生成はパスワードジェネレーターをご利用ください。

実際の攻撃速度

エントロピーは攻撃速度との相対で意味を持ちます:

攻撃タイプ速度40ビットパスワード60ビットパスワード80ビットパスワード
オンライン(レート制限)1,000/秒12.7日36,559年3,800万年
オフライン(CPU)10億/秒1.1秒36.5年38,334年
オフライン(GPUクラスタ)1兆/秒1秒未満13日38年
国家レベル1P/秒1秒未満1秒未満14日

レート制限とロックアウトのあるオンラインアカウントには40ビット以上で十分です。オフライン攻撃(盗まれたパスワードハッシュ)には80ビット以上が最低限必要です。これが、Argon2やbcryptのようなパスワードハッシュアルゴリズムが存在する理由です。各推測のコストを高くします。

パスワードマネージャーの数学

パスワードマネージャーは方程式を根本的に変えます:

  • 1つの強力なマスターパスワード:80ビット以上のエントロピー(6語以上のパスフレーズ)
  • その他すべてのパスワード:ランダムに生成、128ビット以上、サイトごとに固有
  • 使い回しなし:1つのサイトの漏洩が他に影響しない

パスワードマネージャーを支持する数学は圧倒的です。どんなに強力でも、使い回しされた1つのパスワードは、サイトごとの固有の弱いパスワードよりも脆弱です。なぜなら、1回の漏洩ですべてのアカウントが危険にさらされるからです。

パスワードの評価

パスワードの強度を評価する際の考慮点:

  1. 漏洩データベースにあるか? — 「強い」パスワードでも漏洩済みなら脆弱(haveibeenpwned.comで確認)
  2. ランダムか? — 人間が選んだパスワードはランダムなものよりはるかにエントロピーが低い
  3. どのように保存されているか? — コストファクター12のbcryptはプレーンMD5と比較して約22ビットの実効エントロピーを追加

安全なパスワード生成の詳細については、包括的なパスワード生成ガイドをご覧ください。

FAQ

何ビットのエントロピーが必要ですか?

レート制限のあるオンラインアカウントには最低40〜50ビット。暗号化データを保護するパスワード(ディスク暗号化、パスワードマネージャーのマスターパスワード)には80ビット以上。暗号鍵には128ビット以上。正しい答えは、何を保護しているか、誰が攻撃する可能性があるかによって異なります。

パスワードに記号を追加すると大幅に強くなりますか?

1つの記号を追加すると文字プールが62から95に増え、1文字あたり約0.6ビット追加されます。8文字のパスワードの場合、約5ビットの追加です。これは小文字1文字を追加するのと同等です。文字種を増やすよりも長さを増やす方がほぼ常に効果的です。

関連リソース

Published on 2025-06-29
Password Entropy Explained: What Makes a Password Strong | alltools.one