そのパスワード、数秒で破られる?文字数と複雑度がクラック時間に与える影響
セキュリティ

そのパスワード、数秒で破られる?文字数と複雑度がクラック時間に与える影響

パスワードの文字数・種類別クラック時間の違いを数値で解説。ブルートフォース攻撃の仕組み、強いパスワードの条件、パスワードマネージャーの活用法を紹介します。

あなたのパスワード、本当に安全ですか?

「password」「123456」「qwerty」——これらは毎年「最も使われているパスワード」ランキングに必ず登場します。これらのパスワードは1秒以内にクラックされます。

しかし、「自分は弱いパスワードを使っていない」と思っている人も、実は想像より短い時間でクラックされるパスワードを設定している可能性があります。

この記事では、パスワードのクラック時間を左右する要因を数値で説明し、実際に破られにくいパスワードの条件と設定方法を解説します。

パスワード生成ランダムな安全パスワード生成

ブルートフォース攻撃とは

ブルートフォース攻撃(総当たり攻撃)は、考えられる全てのパスワードの組み合わせを試し続ける攻撃手法です。

現代の攻撃者が使用するパスワードクラッキングツールは、1秒間に数百億回(10^10〜10^11回)の試行が可能です。GPUを大量に並列動作させることで、この速度はさらに向上しています。

文字種類別の組み合わせ数

使用できる文字の種類(文字空間)が広いほど、総当たりの試行回数が増えてクラックが難しくなります。

文字の種類文字数
数字のみ(0〜9)10種類
小文字アルファベットのみ26種類
大文字+小文字52種類
大文字+小文字+数字62種類
大文字+小文字+数字+記号約95種類

文字数とクラック時間の関係

以下は毎秒100億回(10^10/秒)の試行速度を想定したブルートフォースでのクラック時間の目安です。

数字のみのパスワード

桁数組み合わせ数クラック時間の目安
4桁10,000通り即時(0.000001秒)
6桁1,000,000通り即時
8桁100,000,000通り0.01秒

大文字+小文字+数字(62文字)

桁数組み合わせ数クラック時間の目安
6文字約568億通り約5.7秒
8文字約218兆通り約6時間
10文字約84京通り約2.6年
12文字約322垓通り約1万年

大文字+小文字+数字+記号(95文字)

桁数組み合わせ数クラック時間の目安
8文字約6634兆通り約7.7日
10文字約60垓通り約190年
12文字約54穰通り約170万年

12文字以上の英数字+記号混在パスワードは、現在の技術では現実的な時間内にクラックするのはほぼ不可能です。

パスワード強度チェック入力したパスワードの強度を可視化し、改善アドバイスを表示

辞書攻撃とその対策

ブルートフォース攻撃より効率的なのが辞書攻撃です。これは「よく使われるパスワード」「英単語」「人名」「日付」などをリスト化したデータベースと照合する攻撃です。

以下のようなパスワードは辞書攻撃に非常に脆弱です:

  • 英単語そのまま(sunshinedragon
  • 英単語+数字(password123
  • 誕生日や記念日(19900415
  • 名前+数字(yamada2024
  • キーボードの隣接文字列(qwertyasdfgh

パスフレーズの考え方

4つ以上のランダムな単語を組み合わせたパスフレーズは、記憶しやすくて強力なパスワードになります。

例:correct-horse-battery-staple(26文字)

このようなパスフレーズは:

  • ブルートフォースには非現実的な時間がかかる
  • 辞書攻撃にも強い(ランダムな組み合わせのため)
  • 記憶しやすい

強いパスワードを作る7つのルール

  1. 12文字以上にする(理想は16文字以上)
  2. 大文字・小文字・数字・記号の全種類を混ぜる
  3. 辞書に載っている単語や名前は避ける
  4. 誕生日・住所・電話番号などの個人情報を含めない
  5. 同じパスワードを複数のサービスで使い回さない
  6. 定期的に更新する(特に重要アカウント)
  7. パスワードを他人に教えない・メモに書かない

パスワードマネージャーの活用

「強いパスワードを作っても覚えられない」という問題の解決策がパスワードマネージャーです。

パスワードマネージャーとは:

  • ランダムで長い強力なパスワードを自動生成・保存するアプリ・サービス
  • マスターパスワード1つで全てのパスワードにアクセスできる
  • 主要ブラウザへの自動入力に対応している

主な無料・有料サービス:

  • Bitwarden(無料・オープンソース)
  • 1Password(有料・使いやすい)
  • Dashlane(無料プランあり)
  • ブラウザ内蔵(Chrome、Safari、Firefox)

マスターパスワードは特に強力なものを設定し、絶対に他人に教えないようにしましょう。

パスワード生成ランダムな安全パスワード生成

よくある質問(FAQ)

Q1. 2段階認証(MFA)を設定したら弱いパスワードでも大丈夫? A: 2段階認証は非常に有効な対策ですが、それだけでは不十分です。SIMスワッピング攻撃など2段階認証を突破する手法もあります。強いパスワード+2段階認証の組み合わせが基本です。

Q2. 個人情報流出でパスワードが漏れた場合はどうすればいいですか? A: 即座に該当のパスワードを変更し、同じパスワードを使っている他のサービスも変更する。流出確認は「Have I Been Pwned」(haveibeenpwned.com)で可能です。

Q3. パスワードを定期的に変更しなくていいという説がありますが本当ですか? A: 最新のNIST(米国国立標準技術研究所)ガイドラインでは「危殆化(情報漏洩)していなければ定期変更は不要」とされています。ただし重要アカウントは定期確認を推奨します。

Q4. 生体認証(指紋・顔認証)はパスワードより安全ですか? A: 生体認証は利便性が高く、一定のセキュリティがあります。ただし生体情報は変更できないため、漏洩した場合のリスクは大きいです。重要サービスでは生体認証+パスワードの組み合わせが理想的です。

まとめ:パスワードは「長さ」と「ランダム性」が全て

パスワードのセキュリティは「長さ」と「ランダム性」で決まります。

実践のまとめ:

  1. 12文字以上・全文字種混合のパスワードを使う
  2. パスワードマネージャーで全サービスに異なる強力パスワードを設定する
  3. 重要サービスには2段階認証を必ず設定する
  4. 定期的に漏洩確認を行い、流出があればすぐ変更する
パスワード強度チェック入力したパスワードの強度を可視化し、改善アドバイスを表示

関連記事