基礎知識 · テキスト・データ・セキュリティ
強いパスワードの条件とは?
結論
強いパスワードとは、長く、ランダムに生成され、1つのアカウントだけで使うパスワードです。記号を混ぜることより、長さとランダムさが重要です。NIST SP 800-63B は現在、パスワードが唯一の認証要素なら 15 文字以上とし、文字種の強制、定期的な変更の強制をやめ、漏えいしたパスワードのリストと照合するよう推奨しています。7,776 語のリストからランダムに選んだ4単語は約 51.7 ビット、6単語は約 77.5 ビットのエントロピーになります。
パスワード生成を開く強さは推測の回数で測る
攻撃者は1文字ずつ推測するわけではありません。まず漏えいしたパスワードを試し、次によくある置き換えをした辞書の単語、さらに大文字で始まる単語のあとに年と ! を付けるといったパターンを試します。P@ssw0rd2024! のようなパスワードはたいていの複雑さのルールを満たしますが、どの部分も予測できるため、早い段階で破られます。
エントロピーは、ランダムに生成されたパスワードを当てるのに何回の推測が必要かを表します。N 種類の記号から一様にランダムに選んだ長さ L のパスワードのエントロピーは L × log2(N) ビットで、1 ビット増えるごとに手間は2倍になります。この式が当てはまるのはランダムに生成した場合だけで、人が考えたパスワードについては意味のある値を示しません。
よくあるパスワードの種類とエントロピー
| 種類 | 記号の数 | 1記号あたりのビット数 | 長さの例 | 合計エントロピー |
|---|---|---|---|---|
| 英小文字 | 26 | 4.70 | 16 文字 | ≈ 75.2 ビット |
| 英字と数字 | 62 | 5.95 | 12 文字 | ≈ 71.5 ビット |
| 印字可能な ASCII すべて | 94 | 6.55 | 12 文字 | ≈ 78.7 ビット |
| 印字可能な ASCII すべて | 94 | 6.55 | 16 文字 | ≈ 104.9 ビット |
| Diceware の単語 | 7,776 | 12.92 | 4 単語 | ≈ 51.7 ビット |
| Diceware の単語 | 7,776 | 12.92 | 6 単語 | ≈ 77.5 ビット |
計算例:log2(7,776) = 12.925 なので、ランダムな4単語は 4 × 12.925 ≈ 51.7 ビット、約 3.7 × 10^15 通りです。漏えいした高速なハッシュに対して毎秒 100 億回推測する攻撃者なら、約 4 日ですべてを試せます。6単語なら同じ速度で約 70 万年かかります。
オンライン攻撃ははるかに遅くなります。ログインフォームには回数制限やロックアウトがあるからです。大きな余裕が意味を持つのは、データベースが漏えいしたあとのオフライン攻撃で、そのときの推測速度はサイトがハッシュをどう保存していたかで決まります。
NIST SP 800-63B の最新の指針
2025年に確定した NIST Special Publication 800-63B 第4版は、米国連邦政府のシステムのパスワード規則を定めたもので、他の分野でも広く参考にされています。パスワードを受け付けるサービスへの主な要件は次のとおりです。
- パスワードが唯一の認証手段なら最小 15 文字、多要素認証の一部なら最小 8 文字。
- 64 文字以上のパスワードを許可し、スペース、印字可能な ASCII すべて、Unicode 文字を受け付ける。
- 数字・大文字・記号を必須にするといった文字種のルールを設けない。
- 定期的な変更を強制しない。変更を求めるのは、侵害の証拠がある場合だけにする。
- 新しいパスワードを、漏えいしたもの、よく使われるもの、サービス名やユーザー名など文脈に固有のもののブロックリストと照合する。
- パスワードのヒントや秘密の質問を使わず、パスワードマネージャーが使えるよう貼り付けを許可する。
その理由は、文字種のルールや有効期限が、Summer2025! が Autumn2025! に変わるような予測しやすいパターンに人を誘導し、実際のエントロピーをほとんど増やさないからです。
パスフレーズとランダムな文字列
| ランダムな文字列 | ランダムな単語 | |
|---|---|---|
| 例 | r7#Qm2!vLx9@pT4z | orbit-candle-mosaic-thrift-velvet-harbor |
| エントロピー | ≈ 105 ビット(94 種から 16 文字) | ≈ 77.5 ビット(7,776 語から 6 語) |
| 入力しやすさ | しにくい。特にスマホでは | しやすい |
| 覚えやすさ | 覚えにくい | 練習すれば覚えられる |
| 向いている用途 | パスワードマネージャーに保存するアカウント | どうしても暗記が必要な少数のパスワード |
単語は自分で選ぶのではなく、サイコロや生成ツールでランダムに選ぶ必要があります。歌詞、名言、自分が書きそうな文は、長さから想像するよりはるかにエントロピーが低くなります。
実践的なルール
- パスワードマネージャーを使い、アカウントごとに 16 文字以上の固有のランダムなパスワードを生成させましょう。CISA も同じことを勧めています。
- 暗記するのは、パスワードマネージャーのマスターパスワードやデバイスのログインなど、少数のパスフレーズだけにしましょう。ランダムな単語を5つか6つ使います。
- パスワードを使い回さないでください。漏えいしたメールアドレスとパスワードの組を他のサイトで試すクレデンシャルスタッフィングは、アカウント乗っ取りで最もよくある手口の1つです。
- メール、銀行、パスワードマネージャーでは多要素認証をオンにしましょう。SMS より、パスキーや認証アプリがおすすめです。
- パスワードは決まった周期ではなく、サービスが漏えいを報告したときに変更しましょう。
よくある質問
パスワードは何文字にすべきですか?
NIST SP 800-63B 第4版によれば、パスワードだけで守られているアカウントなら 15 文字以上です。ランダムに生成してパスワードマネージャーに保存するなら、16〜20 文字が無難な標準です。
パスフレーズはパスワードより安全ですか?
単語をランダムに選べば安全になりえます。ランダムな6単語は、人が考えたよくある 10 文字のパスワードより強いですが、16 文字のランダムなパスワードは6単語よりエントロピーが高くなります。
パスワードは定期的に変更すべきですか?
いいえ。定期的な変更の強制は予測しやすい変形を招くため、NIST は推奨していません。漏えいの通知など、侵害の兆候があったときに変更しましょう。
記号を入れるとパスワードは強くなりますか?
わずかにです。使える文字を 62 種から 94 種に増やしても1文字あたり約 0.6 ビット増えるだけですが、1文字増やせば約 6.5 ビット増えます。記号より長さのほうが効果的です。