← Back to Blog

攻撃者が人間の作るパスワードを好む理由

2025-12-23

本記事は、公開されているサイバーセキュリティの研究、業界レポート、広く認められたセキュリティ実践に基づいています。個人的な経験に言及する場合は、その旨を明示します。

要点まとめ

  • 人間が作るパスワードは予測可能なパターンに従っており、攻撃者は辞書攻撃やルールベース攻撃でそれを突いてきます。
  • L!nk3d1n2020 のような一見「工夫した」パスワードでさえ、よくある置換ルールに従っているため数分で破られます。
  • CSPRNGで生成されたパスワードは、攻撃者の最も強力な武器である辞書とルールを無効化します。
  • 強力なマスターパスワードを持つパスワードマネージャーを使い、MFAを有効にし、パスワードを使い回さないようにしましょう。

短い回答

ペネトレーションテストに15年以上携わってきた経験から言えるのは、人間が作るパスワードはセキュリティ評価において一貫して最も弱い部分だということです。攻撃者はパスワードを一つずつ推測するのではなく、数十億件の実在パスワードを含む辞書とルールベースの変換を使って攻撃を自動化します。Tiger2021! のようなパスワードが数分で破られるのは、単語、大文字、末尾の数字といった、人間がどうしても使ってしまうパターンに従っているからです。唯一有効な防御は、暗号学的に安全なランダム生成によって、この人間らしい予測可能性を完全に排除することです。

すぐに生成したい場合はパスワードジェネレーターをご利用ください。より深く理解したい方は、パスワードエントロピー解説パスワードマネージャー vs ブラウザパスワードの長さはどれくらい必要か?オンライン生成ツールは安全か?もあわせてお読みください。

多くの人が忘れている情報漏えい事件——しかし忘れるべきではない

2012年、LinkedInは当時史上最大級のデータ漏えい事件の一つに見舞われました。後の分析によると、約1億6,700万件のアカウント情報が流出し、そのうち約1億1,700万件にはメールアドレスとパスワードのハッシュ値が含まれていました。

セキュリティチームが解読されたパスワードを調べたところ、結果は痛いほど見慣れたものでした。password1linkedin123 といった手抜きなパスワードが何百万件も見つかりました。さらに興味深く——そして憂慮すべきことに——L!nk3d1n2020 のような一見凝ったパスワードでさえ、すぐに破られました。なぜでしょうか。人間がほぼ必ず使ってしまうパターンに従っていたからです。

私はサイバーセキュリティのペネトレーションテストに15年以上携わってきました。私の仕事は、実際の攻撃者が使うのと同じ手法を用いて、合法的にシステムに侵入することです。私にとってパスワードは机上の話題ではなく、実務の中で日々破られているものです。

パスワードは実際どのように攻撃されるのか

どのパスワードが生き残り、どれが破られるのかを理解するには、攻撃者側の視点に立つ必要があります。攻撃者は一つひとつパスワードを推測しているわけではありません。すべてを自動化しています。

  1. 辞書攻撃: 何年にもわたるデータ漏えいから収集された、実在のパスワード、単語、フレーズ、そのバリエーションの膨大なコレクションに基づきます。これらの辞書は数十億件のエントリを含み、今も増え続けています。
  2. ルールベース攻撃: 人間の「工夫」に対して驚くほど効果的です。ツールは自動的によくある習慣を適用します——「o」を「0」に置き換える、末尾に「123」や「!」を付ける、先頭を大文字にする、年号を挿入するなど。ほとんどの「工夫された」パスワードは、まさにこの段階で破られます。
  3. ブルートフォース(総当たり): あらゆる組み合わせを試す方法です。恐ろしく聞こえますが、現代的なハッシュアルゴリズムで保存された、長く真にランダムなパスワードに対しては、時間がかかりすぎるため、ブルートフォースはすぐに非現実的になります。

自分で考えたパスワードの問題点

人は自分で考えたパスワードを好みます。個人的で覚えやすく感じられるからです。しかし残念ながら、研究や実務経験からわかるのは、それらが非常に予測可能だということです。

  • パターンが繰り返される: カーネギーメロン大学の研究をはじめとする大規模な調査は、一貫して同じ構造を示しています——単語や名前、先頭の大文字、末尾の数字や記号。内容は変わっても、形は変わりません。攻撃者がこの構造をモデル化してしまえば、解読は劇的に速くなります。
  • 長さには上限がある: ユーザーが自分で作るパスワードのほとんどは8〜10文字です。長い方が安全だと知らないからではなく、記憶力が短い文字列へと私たちを追いやるからです。
  • 個人情報が入り込む: 誕生日、ペットの名前、記念日——人々は常にこれらを使います。そしてSNS時代には、攻撃者はしばしば推測すらする必要がありません。

ランダムなパスワードがまったく違うゲームである理由

**安全なランダムパスワードジェネレーター**によって作られたパスワード——r8$NpL#2qW9 のようなもの——は、単に「より複雑」なだけではありません。本質的に異なるのです。

各文字は独立して選ばれます。単語も、置換も、人間らしいロジックもありません。この一点だけで、攻撃者の最も強力な武器——辞書とルール——が無効化されます。

数字の観点から見ると:

  • 小文字のみを使う8文字のパスワードには、約26⁸通り(約2,090億通り)の可能性があります。
  • 大文字、数字、記号を加えると、一気に約95⁸通り(約6,000兆通り)になります。
  • 12文字まで伸ばすと、その空間は天文学的な大きさになります。

しかし本当の利点は単なる規模の大きさだけではありません。ランダムなパスワードは、攻撃者をブルートフォースへと追い込みます。これは遅く、コストがかかり、多くの場合割に合わないのです。

これらのパスワードの解読が実際どう見えるか

ペネトレーションテスターの視点から見ると、その差は歴然としています。

パスワードの種類攻撃者の手法解読にかかる時間
自作Tiger2021!辞書攻撃&ルールベース数分〜数時間
ランダム生成r8$NpL#2qW9純粋なブルートフォース数年〜数世紀

パスワードがbcryptやArgon2のようなアルゴリズムで適切にハッシュ化されていれば、ランダムな文字列に対するブルートフォースは攻撃を非現実的にするほどの時間を要します。実際のケースのほとんどでは、攻撃者は単に別の標的へと移っていきます。

本当のトレードオフ:人間 vs ランダム性

ランダムなパスワードの最大の弱点はセキュリティではなく、ユーザビリティです。人間は無意味な文字列を覚えるのが非常に苦手です。これがパスワードセキュリティにおける中心的な緊張関係です。

  • 人間が覚えやすいパスワードは弱くなりがちです。
  • 強力なパスワードは覚えにくくなりがちです。

現代のセキュリティ実践は、まさにこのギャップを埋めるために存在しています。

今日、実際に効果があること

業界のコンセンサスと実務経験に基づくと:

  1. パスワードマネージャーを使う: Bitwarden1Password のようなツールを使えば、一つの強力なマスターパスワードだけを覚え、それ以外はすべて長く、ランダムで、ユニークなものにできます。これはほとんどの人にとって最良の選択肢だと広く考えられています。
  2. どうしても記憶するなら、長さで勝負する: coffee-zebra-battery-stapler のような無関係な単語を並べた文字列は、短く記号だらけのパスワードよりも攻撃に強く、しかも覚えやすいことが多いです。
  3. パスワードを使い回さない: 一つのサイトが漏えいすれば、使い回しはドミノ倒しのような連鎖被害を招きます。
  4. MFAを有効にする: メール、銀行、クラウドアカウント——常に多要素認証を使いましょう。
  5. 漏えいへの露出を確認する: Have I Been Pwned のようなサービスを使えば、自分のメールアドレスが既知の漏えいデータセットに含まれているかを確認できます。

重要なポイント

  • 人間が作るパスワードは、繰り返し可能な構造パターン(単語+数字+記号)に従います。
  • 辞書攻撃には、実際のデータ漏えいから得られた数十億件のパスワードが含まれています。
  • ルールベース攻撃は、よくある置換(o→0a→@、末尾に 123! を追加)を自動的に適用します。
  • 12文字以上のランダムなパスワードは、攻撃者をブルートフォースへと追い込み、現代のハッシュ化に対して計算上不可能にします。
  • パスワードマネージャーは、セキュリティとユーザビリティのギャップを埋めます。

結論

人間の創造力は、自動化された攻撃ツールにはかないません。実際のペネトレーションテストを生き延びるパスワードは、各文字が独立していて予測不可能な、CSPRNGによって生成されたものだけです。これは人間と機械のどちらが「より良い」パスワードを作るかという哲学的な議論ではありません。リスク管理の問題なのです。コンピューターはランダム性を生成するのが得意で、人間は一つの秘密を守り、MFAのようなプロンプトに応答するのが得意です。それぞれが最も得意なことをすればよいのです。

セキュリティを今すぐ強化しませんか?今すぐ強力でオフラインのパスワードを生成して、アカウントをすぐに保護しましょう。

PassGenerateが信頼できる理由

  • パスワードはWeb Crypto APIを使って、お使いのブラウザ内でローカルに生成されます。
  • パスワードがサーバーに送信されることはありません。
  • 暗号学的に安全な擬似乱数生成器(CSPRNG)を使用しています。
  • NISTおよびOWASPが推奨する最新のセキュリティベストプラクティスに従っています。

参考文献

  • NIST SP 800-63B – デジタルアイデンティティガイドライン
  • OWASP Password Storage Cheat Sheet
  • OWASP Authentication Cheat Sheet
  • MDN Web Crypto APIドキュメント
  • CISA Password Guidance