パスワードの強度とは - 突破にかかる時間の現実

パスワードの「強さ」は、攻撃者がすべての組み合わせを試す総当たり攻撃 (ブルートフォース) に対して、どれだけ耐えられるかで測定されます。2024 年時点の GPU (NVIDIA RTX 4090) は、MD5 ハッシュに対して毎秒約 1,640 億回の試行が可能です。

パスワード例 文字種 組み合わせ数 突破時間 (GPU)
password 小文字 8 文字 268 ≈ 2,090 億 約 1 秒
P@ssw0rd 混合 8 文字 958 ≈ 6.6 兆 約 40 秒
Tr0ub4dor&3 混合 11 文字 9511 ≈ 5.7 京 約 1 年
correct horse battery staple 4 単語パスフレーズ 77764 ≈ 3.6 兆 約 22 秒 (辞書攻撃)
6 単語パスフレーズ Diceware 6 語 77766 ≈ 2.2 京 約 4,000 年

この表から分かるとおり、文字数と文字種の増加は指数関数的に強度を高めます。しかし人間が覚えられる複雑さには限界があるため、長さを優先する戦略が現代のベストプラクティスです。

パスフレーズ方式 - 覚えやすく破られにくい最適解

NIST (米国国立標準技術研究所) は 2017 年の SP 800-63B で、従来の「大文字・小文字・数字・記号を混ぜる」ルールを撤回し、長いパスフレーズを推奨する方針に転換しました。

Diceware 方式の手順

  1. サイコロを 5 回振り、5 桁の数字を作る (例: 4-1-6-2-3)
  2. Diceware 単語リスト (7,776 語) から対応する単語を引く
  3. これを 6 回繰り返し、6 単語のパスフレーズを作る
  4. 単語間にスペースまたは任意の区切り文字を入れる

6 単語の Diceware パスフレーズはエントロピーが約 77 ビットで、ランダムな 12 文字の英数記号パスワード (約 79 ビット) とほぼ同等の強度を持ちながら、はるかに記憶しやすいという利点があります。

パスフレーズ作成のコツ

  • 最低 6 単語を使う。4 単語では辞書攻撃に対して不十分
  • 単語の選択は完全にランダムにする。自分で「ランダムに」選ぶと偏りが生じる
  • 歌詞、名言、書籍のフレーズは使わない。攻撃者のリストに含まれている
  • 1 つの単語を意図的にスペルミスすると、辞書攻撃への耐性がさらに向上する

絶対に避けるべきパスワードのパターン

毎年公開される「最も使われたパスワード」ランキングの上位は、何年経っても変わりません。以下のパターンは攻撃者が最初に試すリストに含まれています。

  • 辞書に載っている単語そのまま: password, dragon, monkey, shadow
  • キーボード配列: qwerty, 1234567890, zxcvbnm
  • 個人情報: 誕生日、電話番号、ペットの名前、推しの名前
  • 単純な置換: p@ssw0rd, l3tme1n (攻撃ツールは leet speak を標準で処理する)
  • パスワードの使い回し: 1 つのサービスが漏洩すると、同じパスワードを使う全サービスが危険にさらされる

2023 年のデータ漏洩統計によると、漏洩したパスワードの約 59% は 8 文字以下で、そのうち 73% が辞書攻撃で 1 時間以内に突破可能でした。

パスワードの使い回しが危険な理由

攻撃者は漏洩したメールアドレスとパスワードの組み合わせを、他のサービスに自動的に試す「クレデンシャルスタッフィング」を行います。2024 年には 1 日あたり約 1 億件のクレデンシャルスタッフィング攻撃が観測されています。自分のアカウントが漏洩していないか確認する方法も併せて確認してください。

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

サービスごとに異なる強力なパスワードを記憶するのは現実的ではありません。パスワードマネージャーは、この問題を根本的に解決するツールです。

パスワードマネージャーの仕組み

マスターパスワード 1 つで暗号化されたデータベースにアクセスし、各サービスのパスワードを自動入力します。データベースは AES-256 で暗号化され、マスターパスワードから PBKDF2 や Argon2 で導出した鍵で保護されます。

種類 メリット デメリット
クラウド型 (1Password, Bitwarden) デバイス間同期、自動入力、共有機能 クラウドへの信頼が必要
ローカル型 (KeePass) 完全にオフライン、オープンソース 同期は手動、UI がやや古い
ブラウザ内蔵 (Chrome, Safari) 追加インストール不要、OS 統合 ブラウザ依存、機能が限定的

どの種類を選んでも、パスワードの使い回しを完全に排除できる点で、使わない場合より圧倒的に安全です。

多要素認証 (MFA) との組み合わせ

どれほど強力なパスワードでも、フィッシングで盗まれれば無力です。パスワードに加えて「持っているもの」(スマートフォン) や「自分自身」(生体認証) を組み合わせる多要素認証が、現代のアカウント保護の標準です。

MFA の種類と強度

方式 仕組み 強度
SMS コード 電話番号に 6 桁コードを送信 低 (SIM スワップ攻撃に脆弱)
TOTP アプリ (Google Authenticator) 30 秒ごとに変わる 6 桁コード 中 (フィッシングには脆弱)
プッシュ通知 (Duo, Microsoft) スマホに承認リクエストを送信 中 (MFA 疲労攻撃のリスク)
FIDO2/WebAuthn (YubiKey, パスキー) 公開鍵暗号でドメインを検証 高 (フィッシング耐性あり)

特に重要なアカウント (メール、銀行、クラウドストレージ) には、FIDO2 対応のセキュリティキーまたはパスキーの設定を強く推奨します。エンドツーエンド暗号化と組み合わせることで、通信経路と認証の両方を保護できます。

パスワードの未来 - パスキーとパスワードレス認証

Apple、Google、Microsoft が 2022 年に共同で推進を表明した「パスキー」は、パスワードそのものを不要にする技術です。FIDO2/WebAuthn 標準に基づき、デバイスに保存された秘密鍵で認証を行うため、パスワードの漏洩リスクが根本的に排除されます。

しかし、パスキーの普及にはまだ時間がかかります。2025 年時点でパスキーに対応しているサービスは主要サイトの一部に限られ、多くのサービスでは依然としてパスワードが必要です。当面は以下の戦略が最善です。

  1. パスワードマネージャーで全サービスに固有の強力なパスワードを設定する
  2. 対応サービスではパスキーを有効にする
  3. パスキー非対応のサービスでは TOTP またはセキュリティキーで MFA を設定する
  4. マスターパスワードは 6 単語以上の Diceware パスフレーズにする

パスワードセキュリティを体系的に学ぶには、パスワード管理の専門書が参考になります。IP 確認さんで自分の接続情報を確認し、セキュリティ意識を高めましょう。

この記事の関連用語

暗号化 データを第三者が読めない形式に変換する技術。パスワードマネージャーは AES-256 暗号化でデータベースを保護する。 フィッシング 正規のサービスを装ってパスワードや個人情報を騙し取る攻撃手法。強力なパスワードでもフィッシングには無力なため、MFA との併用が必須。 多要素認証 (MFA) パスワードに加えて追加の認証要素を要求するセキュリティ手法。SMS コード、TOTP アプリ、FIDO2 セキュリティキーなどの方式がある。