パスワードは実際どれくらい強力である必要があるのか
パスワードに関する助言の多くは総当たり攻撃への耐性に焦点を当てていますが、実際のアカウント侵害の大半は総当たり攻撃によるものではありません。本当に重要なことを解説します。
· 読了時間 1分
総当たり攻撃の問題に、まず簡潔に答える
パスワードの強度は慣例的にエントロピー(ビット数)で測られます。おおまかに言えば、総当たり攻撃者があらゆる可能性を使い尽くすまでに何回の試行が必要かを示す指標で、ビットが1つ増えるごとにその回数は倍になります。十分な広さの文字集合からランダムに選ばれたパスワードは、14〜16文字の範囲でおよそ70〜80ビット相当の強度に達し、これは、攻撃者がレート制限のかかったログインフォームに対してオンラインで試すにせよ、盗まれた適切にハッシュ化されたパスワードデータベースに対してオフラインで試すにせよ、きちんと保護されたアカウントへの総当たり攻撃が現実的な時間内に使い尽くせる範囲をゆうに超えています。この閾値を超えてさらに理論上の強度ビットを積み増しても、パスワードが「総当たりに対してより強くなる」のは実際には意味を失う抽象的な話にとどまります。なぜなら、すでにその範囲にあるパスワードにとって、総当たり攻撃はそもそも現実的な脅威ではなかったからです。
気まずい統計 — アカウント侵害の大半はそもそも総当たり攻撃ではない
セキュリティ研究や侵害事例の事後分析は一貫して、実世界のアカウント乗っ取りの大半の背後にある、別の、あまり派手ではない原因を指し示しています。それがクレデンシャルスタッフィングです。攻撃者は、あるサービスの侵害によって流出したメールアドレスとパスワードの組を、複数のアカウントで同じパスワードを使い回すという極めてありふれた習慣に賭けて、他のサービスに対してそのまま試します。個々に見れば非常に強力なパスワード — 巨大な文字集合から選ばれた、数十ビット分のエントロピーを持つパスワード — であっても、どこか別の場所で使い回されていて、その別のサービスがかつて侵害されたことがあれば、この特定の攻撃に対してはまったく防御になりません。攻撃者はそもそもパスワードを推測しようとしているのではなく、まったく別の流出事件から、そのままの文字列としてすでに入手しているからです。だからこそ、サービス間でのパスワードの一意性は、実世界のアカウントの安全性にとって、パスワードそのものの強度よりもおそらく大きな実践的なレバーであると言えます。この結論は、「もっと強くする」ことがパスワード対策のすべてだと思い込んでいる人を驚かせるものです。
パスワードマネージャーが、ほとんどのアカウントについてこの問題をほぼ解決する理由
パスワードマネージャーは、ほとんどのパスワードを覚える必要そのものをなくすことで、強度と記憶しやすさのトレードオフを丸ごと回避します。すべてのアカウントに対して、長く完全にランダムでユニークなパスワードを生成・保存でき、人間にそのどれ一つとして覚えさせる必要がありません。これにより、管理下にあるすべてのアカウントについてクレデンシャルスタッフィングという攻撃経路そのものが閉ざされます。2つとして同じパスワードが存在せず、一つの流出が他のどのアカウントについても使える情報を攻撃者にもたらさないからです。だからこそ、オンラインアカウントの圧倒的多数にとって実践的で正直な推奨事項は、単純にパスワードマネージャーを使い、最大長のランダムなパスワードを生成させることに尽きます。多くのパスワードに関する助言が悩みの種にしている強度と記憶しやすさのトレードオフが本当の設計上の課題として残るのは、マネージャーの中では本当に管理しきれない少数のパスワード — 主にマネージャー自体のマスターパスワードやディスク全体の暗号化パスフレーズ — だけです。だからこそ、ランダムな辞書の単語で構成された覚えやすいパスフレーズは、この狭いが本当に避けられないケースにおいて、今も特に有用なツールであり続けています。
公式のパスワード指針で何が変わったのか、そしてなぜか
長年、NISTのような機関による公式指針は、大文字・小文字・数字・記号を必ず混在させるという複雑さのルールや、60日または90日ごとの強制的な定期パスワード変更を推奨しており、多くの組織がこれらを標準ポリシーとして広く採用してきました。しかし後の改訂版では、この2つの推奨事項は撤回されました。実務上むしろ逆効果であるという証拠に基づいてのことです。強制的な複雑さのルールは、攻撃者の辞書にすでに織り込まれている予測可能な置換パターン(必須の記号は決まって末尾の「!」になり、必須の数字は決まって「o」を「0」に置き換えるものになる)へと人を誘導しますし、強制的な定期変更は、まったく新しいパスワードではなく、既存のパスワードへの小さく予測可能な変更へと人を誘導するうえ、フラストレーションからパスワードを書き留めたり他所で使い回したりする頻度を測定可能なレベルで増やす、実質的な負担を追加します。現在の指針は代わりに、長さを重視すること、新しいパスワードを既知の流出パスワードのリストと照合すること、そして強制的な定期変更をやめて特定のアカウントが実際に侵害されたと判明したときにのみ変更するという方針を強調しています。これは、コンプライアンスのチェックリスト上で厳格に見えるかどうかではなく、実際に何が現実のセキュリティを向上させるかという証拠に基づいた転換です。
今日「十分に強い」が実際に意味する、実践的な基準
パスワードマネージャーの管理下にある普通のオンラインアカウントであれば、大きな文字集合から選ばれた16文字以上の完全にランダムなパスワードは、強度が制約になる範囲をゆうに超えており、実践的に重要なのは単にそのアカウント専用の一意なパスワードであることだけです。手で記憶して入力する必要のあるマスターパスワードや暗号化パスフレーズについては、大きな単語リストからランダムに選ばれた5〜6語のパスフレーズが、短いランダム文字列のパスワードに匹敵する強度に達しつつ、確実に記憶して入力することも本当に可能な範囲にとどまります。ここが、長さと記憶しやすさのトレードオフが実際に存在し、慎重に考える価値のある特定のケースです。そしてそれ以外のすべてのアカウントについて、最も効果の高い習慣は、抽象的にパスワードが十分強いかどうかを気に病むことではなく、それが他の何かを守っているパスワードと同じものになっていないかを確認することです。実際の侵害の大半の原因となっている失敗パターンは、まさにそこにあるからです。