COLUMN
パスワードの使い回しはなぜ危険か——リスト型攻撃の仕組み
「複雑なパスワードにしているから大丈夫」と思っていても、同じものを複数のサービスで使っていると、その強さはほとんど意味を持ちません。攻撃者はパスワードを破るのではなく、どこかから漏れたものをそのまま試してくるからです。
リスト型攻撃とは
どこかのサービスから流出したIDとパスワードの組み合わせを一覧(リスト)として入手し、それを別のサービスのログイン画面で片っ端から試す手法です。総当たりのように無数のパターンを試すわけではなく、実在する正しい組み合わせを使うため、成功率が高く、しかも「正しいパスワードでのログイン」に見えるので検知されにくいという厄介さがあります。
重要なのは、攻撃者が狙うのは「あなたのパスワードの複雑さ」ではないという点です。どれだけ長く複雑でも、使い回していれば、セキュリティの弱いサービス1つが破られた時点で、同じ組み合わせを使っている全てのアカウントが危険にさらされます。守りの強さは、一番弱いサービスに引きずられるということです。
「少しだけ変える」も対策にならない
サービス名を末尾に足す(例:末尾を twitter / amazon に変える)、数字を1つ増やす、といった小さな変形も、規則性が読めれば簡単に推測されます。人間が考える変形パターンは想像以上に似通っているため、攻撃側は既知のパターンを機械的に試すだけで突破できてしまいます。
現実的な対策
対策の柱は3つです。1つ目は、サービスごとに完全に別のパスワードを使うこと。2つ目は、それを記憶に頼らずパスワード管理アプリに保存すること。3つ目は、二段階認証を有効にすることです。特に二段階認証は、仮にパスワードが漏れても、それだけではログインさせない最後の砦になります。重要なアカウント(メール、決済、SNS)から順に設定していくのが効率的です。
サービスごとに別のパスワードを用意するのは、手作業だと現実的ではありません。当サイトのパスワード生成では、ランダム文字列と覚えやすいパスフレーズの両方を、まとめて複数生成できます。生成はすべてブラウザ内の暗号学的乱数で行われ、結果が外部へ送信されることはありません。
まとめ
パスワードの安全性は「複雑さ」だけでは決まりません。使い回しをやめることは、複雑さを1段階上げるよりもはるかに効果の大きい対策です。まずはメールアカウントなど、他のサービスの復旧に使われる重要なものから、専用のパスワードに変えていきましょう。