本文へスキップ

流出パスワードの照合

Breach Check

そのパスワードがHave I Been Pwnedの流出データにあるかを、SHA-1ハッシュの先頭5文字だけをブラウザから送るk-匿名方式で確かめます。

公開された流出データに載っているパスワードは、弱いのではありません。すでに知られているのであって、長さやエントロピーをどれだけ足してもそれは直りません。ここでは、パスワードもその完全なハッシュもタブの外に一切出さないまま、Have I Been PwnedのPwned Passwordsの集合と突き合わせます。

🔒 ブラウザの中だけで動きますbreachpwnedprivacypassword

パスワードはこのタブで SHA-1 のハッシュにし、そのハッシュの先頭 5 文字だけを Have I Been Pwned に送ります(k-匿名性)。サービスはその接頭辞を共有する流出ハッシュを数百件返し、自分のものがその中にあるかどうかはブラウザが照合します。当サイトのサーバーはこの一連の処理にいっさい関わりません。

メールアドレスの流出照会はここでは提供していません。Have I Been Pwned がそれには有料の API キーを求めるうえ、k-匿名性が成り立たないためです。haveibeenpwned.com でご自身で調べられます。

使い方

  1. パスワードを入力します

    ブラウザの中でSHA-1のハッシュにします。送るのは、そのハッシュの先頭5文字だけです。

  2. サービスが返すのは答えではなく範囲です

    その接頭辞を共有する流出済みのハッシュが数百件あります。それがすべて返ってきて、あなたのブラウザがその中から自分のものを探します。どれだったのかも、そもそもあったのかどうかも、サービス側は知りません。

  3. 見つかったらすぐに動きます

    件数が0より大きければ、気づいた場所だけでなく、使ったすべての場所で変えてください。その件数は、それを含む流出記録の数であって、あなたが何回流出したかではありません。

よくある質問

パスワードがどこかのサーバーに届きますか。

いいえ。外に出るのはSHA-1ハッシュの16進5文字です。その接頭辞は何十万通りものパスワードが共有していて、元に戻すことはできません。リクエストはあなたのブラウザから直接APIへ行き、このサイトのサーバーは経路に入りません。

メールアドレスの流出も調べられますか。

ここではできません。メールアドレスの照合には有料のAPIキーが要り、k-匿名の方式では行えません。だから、まずい形で提供する代わりに提供していません。

見つかりませんでした。安全ということですか。

この集合に入っていない、という意味です。公開されなかった流出や、この集合に入らなかった流出は対象外です。そして、どのリストにも載っていないパスワードが弱いということもありえます。パスワード強度チェックにもかけてください。

破られているSHA-1をなぜ使うのですか。

公開されている集合がSHA-1で索引付けされていて、プロトコルもそう定められているからです。ここで頼っているのは衝突耐性ではありません。このハッシュは検索のキーであって、パスワードの保管ではありません。

ここから渡せます

次の一手

このツールが出したものをそのまま受け取れる道具です。