漏洩パスワード検知 ろうえいぱすわーどけんち
簡単に言うとこんな感じ!
過去にどこかのサービスから流出したパスワードの一覧と、今使っているパスワードを照合して「それ、もう犯罪者に知られてるよ!」って警告してくれる仕組みだよ。流出済みパスワードを使い続けるのは鍵を失くしたまま同じ鍵を使い続けるようなものなんだ!
漏洩パスワード検知とは
漏洩パスワード検知(Leaked Password Detection / Breached Password Detection)とは、過去にデータ侵害(データブリーチ)によって外部に流出したパスワードのリストと、ユーザーが使用しているパスワードを照合し、危険なパスワードの利用を検出・警告・ブロックする仕組みのことです。
なぜこれが重要かというと、攻撃者は流出したID・パスワードの組み合わせを別サービスのログインに使い回すクレデンシャルスタッフィング攻撃を大量に自動化して行っているからです。「このサービスでは流出していない」としても、ユーザーが同じパスワードを別のサービスでも使い回していれば、攻撃者はそのパスワードで次々とログインを試みます。
企業のシステム担当者の立場から見ると、自社サービスの認証基盤に漏洩パスワード検知を組み込むことで、ユーザーが気づかないうちに危険な状態で使い続けているパスワードを早期に排除し、アカウント乗っ取り被害を未然に防ぐことができます。
仕組みと検知の方法
漏洩パスワード検知は、大きく分けて「照合データの源泉」と「照合の実施タイミング」の2軸で理解できます。
照合データの源泉
| データソース | 概要 | 代表例 |
|---|---|---|
| 公開ブリーチデータベース | 過去に流出が確認された数十億件のパスワードハッシュを収集したDB | Have I Been Pwned(HIBP) |
| ダークウェブ収集データ | 闇市場で売買されている最新の流出リストを継続収集 | 商用脅威インテリジェンスサービス |
| 自社インシデント履歴 | 自社サービスで過去に発生した流出データ | 自社管理 |
照合のタイミング
| タイミング | 内容 | 効果 |
|---|---|---|
| パスワード設定時 | 新規登録・変更時に既知の漏洩リストと照合 | 危険なパスワードの登録を入口でブロック |
| ログイン時(リアルタイム) | 認証のたびに照合し、一致したら警告・強制変更 | 登録後に流出が判明したケースにも対応 |
| 定期バッチ検査 | 既存ユーザーのハッシュを定期的に一括照合 | 眠ったアカウントの危険状態を発見 |
k-匿名性(k-Anonymity):プライバシーを守りながら照合する技術
照合の際、平文パスワードやフルハッシュをそのまま外部サービスに送るのはセキュリティリスクです。そこで使われるのがk-匿名性モデルです。
- パスワードをSHA-1でハッシュ化する(例:
5BAA61E4...) - ハッシュの先頭5文字だけをAPIに送信する(例:
5BAA6) - APIは先頭5文字が一致する何千件ものハッシュ末尾を返す
- クライアント側でローカルに完全一致を確認する
この方法なら、外部サービスには「本当に調べたいパスワードのハッシュ」を知らせずに済みます。Have I Been Pwnedが採用しているこのAPIモデルはオープンに公開されており、多くのサービスが無料で利用できます。
歴史と背景
- 2013年 — Adobe社が約1億5000万件のアカウント情報の流出を公表。流出パスワードが攻撃者の間で広く共有・悪用され始める
- 2016年 — LinkedIn(2012年流出分)、Dropboxなど大規模なブリーチデータが闇市場で流通。クレデンシャルスタッフィング攻撃が急増
- 2017年 — セキュリティ研究者のトロイ・ハント氏がHave I Been Pwned(HIBP)を大幅拡充。一般ユーザーが自分のメールアドレス・パスワードの流出確認を無料でできるように
- 2018年 — HIBPがk-匿名性モデルのパスワードチェックAPIを公開。ブラウザや認証基盤への組み込みが容易に
- 2019年 — Googleがパスワードチェックアップ機能をChrome拡張として提供開始(後にChromeに標準統合)。Apple SafariもiCloud Keychain経由で同様の機能を搭載
- 2020年以降 — NIST SP 800-63Bが「既知の流出パスワードをブロックすること」を推奨事項として明記。企業システムへの組み込みがセキュリティ標準として定着
関連技術・対策との比較
漏洩パスワード検知は、パスワード関連のセキュリティ対策の中でどのような位置づけにあるのかを整理します。
| 対策 | 何を防ぐか | 限界 |
|---|---|---|
| 漏洩パスワード検知 | 既知の流出パスワードの使い回し | 新規流出には即時対応できないタイムラグ |
| パスワードの複雑さチェック | 単純・推測しやすいパスワード | 複雑でも流出済みなら無意味 |
| 多要素認証(MFA) | パスワードが知られても認証を防ぐ | 認証要素の追加コスト・利便性低下 |
| パスワードマネージャー | 使い回しをなくす | 導入・習慣化にユーザー教育が必要 |
| パスキー(FIDO2) | パスワード自体をなくす | まだ対応サービス・デバイスを選ぶ |
漏洩パスワード検知単体では万能ではなく、多要素認証と組み合わせることでより強固な防御になります。
主要サービス・APIの比較
| サービス | 提供形態 | 費用 | 収録件数(目安) |
|---|---|---|---|
| Have I Been Pwned API | パブリックAPI | 無料(大量利用は有料) | 約140億件以上(2024年時点) |
| Microsoft Entra ID(旧Azure AD) | クラウドID基盤 | プレミアムプランで提供 | Microsoft独自収集分 |
| Google Password Manager | Chromeブラウザ組み込み | 無料 | Google収集分 |
| 1Password Watchtower | パスワードマネージャー | サブスクリプション | HIBP連携 |
| Okta ThreatInsight | 商用IdP | 有料 | ダークウェブ含む独自収集 |
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| NIST SP 800-63B | デジタルアイデンティティガイドライン。「既知の漏洩パスワードを拒否すること」を認証要件として明記 |
| RFC 8252 | OAuth 2.0 for Native Apps。モバイルアプリ上の認証フロー標準。漏洩検知と組み合わせる認証設計の基礎 |
関連用語
- クレデンシャルスタッフィング — 流出したID・パスワードを使い回し、別サービスへの不正ログインを試みる攻撃手法
- 多要素認証(MFA) — パスワード以外の認証要素を追加してアカウントを守る仕組み
- パスキー(FIDO2) — パスワードを使わない生体認証ベースのログイン規格
- ダークウェブ — 流出したパスワードリストが売買される匿名性の高いネットワーク空間
- データブリーチ — 企業や組織から個人情報・認証情報が外部に流出するセキュリティ事故
- アイデンティティ管理(IdP) — ユーザーのログイン情報を一元管理し認証を提供するシステム
- パスワードポリシー — 組織がパスワードの強度・有効期限・使い回し禁止などを定めたルール