安全なパスワードを決める2つの要素
パスワードが各文字を独立かつ一様ランダムに選んで作られた場合、総当たり攻撃に対する理論上の強度は「文字数」と「文字種プールの広さ」から計算できます。この指標をエントロピーと呼び、ビット数で表します。人が選んだ単語、日付、置換パターンにはこの単純な式をそのまま適用できません。
エントロピー(bit)= 文字数 × log₂(文字種プールの数)
当サイトのパスワード生成ツールも、この式をそのまま使って強度メーターの数値を計算しています。以下は、実際に当サイトで選択できる文字種の組み合わせをもとに算出した、具体的な数値の一覧です。
【計算例】文字数・文字種ごとの強度と解読目安時間
※ 各候補が一様ランダムで、1秒間に10億回(109回)試せるオフライン攻撃を仮定し、全探索空間の半分で見つかる平均時間を表示しています。オンラインログインでは試行回数制限や多要素認証が働くため、この速度をそのまま適用できません。逆に、漏洩した弱いハッシュを高性能機器で解析する場合は前提が変わります。
| 構成 | 文字数 | プールサイズ | エントロピー | 解読目安時間 |
|---|---|---|---|---|
| 数字のみ(暗証番号) | 4桁 | 10種類 | 約13.3 bit | 1秒未満 |
| 英小文字のみ | 8文字 | 26種類 | 約37.6 bit | 約104秒 |
| 英大小文字+数字 | 8文字 | 62種類 | 約47.6 bit | 約30時間 |
| 英大小文字+数字 | 12文字 | 62種類 | 約71.4 bit | 約5.1万年 |
| 英大小文字+数字+記号(標準モード) | 16文字 | 94種類 | 約104.9 bit | 約589兆年 |
| 英大小文字+数字+記号(最強モード) | 24文字 | 94種類 | 約157.3 bit | 天文学的(事実上解読不可能) |
この表から分かる通り、一様ランダムな「英小文字のみ8文字」(平均約104秒)と「英大小文字+数字+記号16文字」(平均約589兆年)では、仮定したオフライン攻撃への耐性に大きな差が生まれます。一般に、少数の記号を追加するより文字数を伸ばす方が、強度を大きく増やしやすく、利用先の文字制約にも対応しやすい方法です。文字種を広げることにも効果はありますが、長さの代わりにはなりません。当サイトのパスワード生成ツールでは、生成するたびにこの計算をリアルタイムで行い、実際のエントロピーと解読目安時間を表示しています。
避けるべきパスワードの例
下記の例は辞書や漏洩リストの上位から優先して試されるため、ランダム文字列として計算した総当たり時間より早く破られる可能性があります。「8文字なら必ず何秒」とは言えず、生成方法と保管先のハッシュ方式、オンラインの試行制限を分けて考える必要があります。
- 「password」「123456」などの単純な文字列(辞書攻撃で瞬時に破られます)
- 生年月日、電話番号、名前など推測されやすい個人情報
- キーボードの配列順(qwerty など)
- 辞書に載っている単語をそのまま使う
- 複数のサービスで同じパスワードを使い回す
覚えやすさと安全性を両立するには
長く複雑なパスワードは安全ですが、記憶だけで管理するのは難しくなります。当サイトの「覚えやすい」モードは、40種類の単語リストから重複しない2語と4桁の数字を組み合わせ、全組み合わせは 40×39×9000=1,404万通り(約23.7 bit)です。これは重要アカウントに必要な強度ではなく、オフライン攻撃や漏洩後の解析を想定する用途には使用しないでください。重要なアカウントでは、パスワード管理アプリで長い完全ランダム文字列を保管するか、十分な単語数から無作為に選ぶパスフレーズを使い、多要素認証またはパスキーも有効にします。
より詳しい基準を知りたい方は、米国国立標準技術研究所(NIST)が公開しているDigital Identity Guidelines(SP 800-63B-4)も参考になります。
関連:当サイトが備える「現場で使える」独自機能
「安全なパスワードを作りたい」という目的は同じでも、現場では「業務システムの文字数制限に合わせたい」「記号の , ; : ' " を使ってはいけない」「先頭を大文字にしなければならない」といった追加要件がつきものです。パスワード生成ツールでは次のような機能を標準で搭載しています。
- 文字数の完全カスタム:スライダー+数字入力で 4〜128 文字を1刻みで指定可能
- 必含ルール:チェックを入れた文字種(大文字・数字・記号など)を必ず最低1文字含める
- 頭文字の指定:「先頭を英大文字で開始」など、企業ポリシーに対応
- 追加で除外する文字:システムが受け付けない記号を自由入力で除外
- 設定の自動保存+URLで共有:自分のブラウザ設定を記憶し、URLとして配布できる