漏えいは他人のサーバーで起きる
「パスワードをハッキングされた」というと、誰かがメールアドレスに向けて文字を推測したように聞こえます。でも実際にハッキングされるのは、ほとんどの場合サービス側です。ショップ、フォーラム、配送サービスなどから、データベース全体が持ち出されます。一度に何百万行ものデータが盗まれ、その中であなたのパスワードはただの1行にすぎません。
きちんとしたサービスはパスワードそのものを保存しません。保存するのはハッシュです。ユーザーごとに異なるランダムなソルトを加え、意図的に遅いアルゴリズムで計算した、元に戻せない指紋のようなものです。そうすれば、盗まれたデータベースからパスワードを取り出すコストが高くなります。ただ、すべてのサービスがそうしていたわけではありません。パスワードを平文で保存していたところもあれば、グラフィックカードなら1秒に何十億通りも試せる高速ハッシュを使っていたところもありました。
1つの漏えいで複数のアカウントが開く理由
ここから先はハッキングではなく、計算の話です。ログインIDはほとんどどこでも同じ、メールアドレスです。パスワードも使い回していれば、盗まれたデータベースの「メールアドレス+パスワード」の組み合わせは、メールボックスにもマーケットプレイスにもゲームのアカウントにも通用します。
成人のおよそ3人に2人が複数のサイトで同じパスワードを使う - Googleの調査、2019年
だから漏えいには第2の人生があります。完成済みのID・パスワードのリストを、ボットが何百ものサイトで次々に試します。これをクレデンシャルスタッフィングと呼びます。成功するのは試行のごく一部ですが、組み合わせが何百万件もあれば、他人のアカウントが何万件も開かれます。この連鎖を断てるのは、データベースにはなかったコードやキーという第2の要素だけです。
複雑なパスワードはこれを防げない
ここから少し残念な結論が出ます。長さや特殊文字は、パスワードが漏れるかどうかにはほとんど影響しません。影響するのは、ハッシュから復元するのにどれだけ手間がかかるかだけです。漏えいから守るのは複雑さではなく、使い回さないことです。3か月ごとにパスワードを変える習慣も別の話です。リスクを下げる証拠は結局集まらず、古いパスワードに数字を足すなど、予測しやすい変え方をすることがわかっています。2017年、米国の標準化機関NISTは、定期的なパスワード変更の要件を推奨から外しました。
定期的なパスワード変更は漏えいリスクを下げる
漏えいには長い賞味期限があります。データベースは何年も出回った末に、公開アーカイブに現れることがあります。LinkedInで盗まれたデータの全量が公開されたのは、ハッキングから4年後でした。だから「あなたのデータは漏えいに含まれていました」というメールが、ずっと前に忘れたサービスについて届くのです。
そんなメールを受け取ると、手当たり次第に全部変え始めて、途中で力尽きがちです。順番に進めるほうが役立ちます。まずメール、それから同じパスワードを使っているサービスです。
パスワードマネージャーが開くまで:吸って-吐いて
1つの漏えいで複数のアカウントが開くのはなぜ?
漏えい通知のメールを受け取ったら、まず何をする?
出典
- NIST SP 800-63B「デジタルアイデンティティガイドライン」(2017年)。RockYou(2009年)、LinkedIn(2012年、全量は2016年に公開)、Adobe(2013年)の漏えいに関する公開分析。パスワードの使い回しについてはGoogleとHarris Pollの調査、2019年。
「サイバー犯罪」シリーズの続き
サイトで全文公開2本、アプリにさらに3本
すべての記事