ぱんだツールズぱんだツールズ

セキュリティ

安全なパスワードの作り方 — 強度の数学的根拠と覚えやすさの両立

約5分

「パスワードは8文字以上、大文字・小文字・数字・記号を混ぜて」——何年も前から同じことが言われていますが、 実はそのルール自体が時代遅れになっています。この記事では、パスワードの「強さ」を 数学的に考える方法と、現実的な運用戦略を解説します。

パスワード強度は「エントロピー」で測る

パスワードの強度はエントロピー(ビット単位)で数値化できます。これは 「そのパスワードに何通りのバリエーションがありうるか」を対数で表したもので、 計算式はlog₂(文字種数 ^ 桁数)です。

パスワードの条件エントロピー総当たり想定
英小文字のみ8桁(26^8)約38ビット数分〜数時間
英大小+数字8桁(62^8)約48ビット数日〜1週間
英大小+数字+記号12桁(94^12)約78ビット現実的には突破不可
英大小+数字+記号16桁(94^16)約105ビット宇宙の年齢級

一般に70ビット以上あれば現実的な攻撃では破られないとされます。 本サイトのパスワード生成ツールは既定で16〜20文字を推奨しており、このラインを大きく超えます。

「文字種を増やす」より「桁を伸ばす」方が効く

よく「大文字・小文字・数字・記号を全部使え」と言われますが、その効果は限定的です。 記号を加えて文字種を62→94に増やしても、エントロピーが増えるのは1文字あたり約0.6ビットだけ。 それに対して桁数を1つ伸ばすと、英大小+数字なら約5.95ビット増えます。 「記号を入れる」より「2文字伸ばす」ほうが圧倒的に強化効果が高いのです。

パスフレーズという選択肢

覚える必要があるパスワード(パスワードマネージャーのマスターパスワードなど)では、 ランダム16文字より単語を4〜5個つないだパスフレーズの方が実用的です。

例:correct-horse-battery-staple(有名なXKCD 936のネタ)。7,776語の辞書から4語をランダムに選んだ場合、エントロピーは約51ビット。 5語にすれば約65ビットです。数字や記号を交えればさらに強化できます。

パスフレーズは脳内で画像化できるのが強みで、ランダム文字列よりはるかに覚えやすく、 それでいて十分な強度を確保できます。

使い回しが最大のリスク

どれだけ強いパスワードを作っても、複数サービスで使い回していたら無意味です。 1つのサービスで情報漏洩が起きれば、同じメールアドレス+同じパスワードの組み合わせが 他のサービスでも試されます(クレデンシャルスタッフィング攻撃)。

解決策はパスワードマネージャー一択です。1Password・Bitwarden・ブラウザ組み込みの マネージャーなどを使えば、サービスごとに独立した20文字ランダムパスワードを使え、 覚える必要があるのはマスターパスワード1つだけになります。

実務で使える運用ルール

  1. マスターパスワードは5語以上のパスフレーズで覚える
  2. 各サービスはランダム16〜20文字をマネージャーで管理
  3. 使える場面では必ず2段階認証(2FA)を有効化
  4. 漏洩チェックサービス(Have I Been Pwned など)で定期的に確認
  5. 重要アカウント(銀行・メール)は特に長いパスワードを使う

関連するツール

まとめ

パスワード強度はエントロピー(ビット)で数値化でき、70ビット以上が現実的な安全ラインです。 重要なのは桁数を伸ばすこと使い回さないこと。 覚えるのが難しければパスフレーズ+パスワードマネージャーの組み合わせが、 現代において最もバランスの取れた解です。

よくある質問

結局、何文字のパスワードが安全なの?

現代の目安は「ランダムなら12文字以上、パスフレーズ(単語列)なら16〜20文字以上」です。英字のみの8文字は数時間で破られます。オンラインサービス用なら16文字ランダム、暗号化ファイルやマスターパスワードなら20文字以上が推奨されます。

記号を含めたパスワードと、桁数を増やしたパスワード、どちらが強い?

桁数を増やす方が圧倒的に強くなります。使える文字種を2倍にするのは1文字増やすのとほぼ同じ効果しかありませんが、桁を1つ増やすと候補数が数十倍に増えます。「!@#$」を入れるより2文字長くする方が現実的な対策です。

パスフレーズとは?普通のパスワードと何が違う?

パスフレーズは「correct-horse-battery-staple」のような単語を複数つないだ形式です。ランダム文字列より覚えやすく、長い分だけ強度も高くなります。覚えやすいパスワードが必要な場面(マスターパスワードなど)で有効です。

1つのパスワードを複数サービスで使い回すと何が問題?

1つのサービスで情報漏洩が起きると、同じパスワードを使っている他のサービスすべてに侵入されます。これを「クレデンシャルスタッフィング攻撃」と呼び、実際の不正ログインの主な原因になっています。サービスごとに別パスワードが鉄則です。

パスワードを覚えきれないときはどうする?

パスワードマネージャーを使うのが最も現実的です。1PasswordやBitwarden、Apple/Googleパスワードマネージャーなどがあればマスターパスワードだけ覚えておけば良く、各サービスは自動生成のランダム20文字を使えます。覚える必要がないほど強いパスワードを使えるのが利点です。

「大文字・小文字・数字・記号を混ぜる」ルールは意味ある?

ある程度は意味がありますが、多くは過大評価されています。NIST(米国標準技術研究所)は2017年のガイドラインで「強制的な複雑性要件は効果が薄く、ユーザーが覚えられなくなるだけ」と指摘し、桁数重視を推奨しています。長さが最優先です。

2段階認証(2FA)があればパスワードは弱くていい?

いいえ、それぞれ別の役割があります。2FAは「パスワードが漏れたときの最終防衛線」です。2FAがあってもパスワードが弱ければ、フィッシングで2FAコードごと抜き取られたり、SIMスワップで電話番号を奪われたりするリスクが残ります。どちらも強くするのが正解です。

この記事で紹介したツール