「未該当」は「未漏洩」ではない
端末の弱いパスワード照合が出す結果は、たいてい二通りです。該当するか、未該当か。該当は使いやすい。その文字列は、すでに公開されているよく使われるパスワードの一覧にあり、使い続ければ攻撃者が最初に試す一群に自分を置いたままです。未該当のときに、人はもう一文を足しがちです。リストが「漏洩」由来なら、当たらないことは「きれい」だと。
リストが責任を負えるのは、収録した行だけです。未公開の社内流出、まだ公開コーパスに入っていない情報窃取マルウェア(スティーラー)のログ、小さなサイトから単独で持ち去られ再公開されていないパスワードは、タブが今ダウンロードした数百行や数千行には出てきません。未該当の正直な読み方は、この端末のリストと、この照合規則のもとで、入力した文字列そのもの、またはスクリプトが知る少数の変形が見つからなかった、です。その文は「インターネット全体」を約束していません。
次の判断の前に、この限界を書いておいてください。該当したら変える理由になります。未該当でも、長さ、使い回し、パスワードマネージャーが無作為に出したかは残ります。リストはフィルタです。無罪証明ではありません。
リストが防ぐ推測は、どの種類か
攻撃者は a から zzzz… まで歩くことは稀です。よくある道は二つです。流出したユーザー名とパスワードを別サイトで試すクレデンシャルスタッフィングと、公開されている弱いパスワードの順位の先頭から試すオンライン推測です。123456、password、qwerty がそれらの順位の先頭に居続けるのは、「短く見える」からではなく、選ばれ続けるからです。数回の試行で当たることが多い。
よく使われるパスワードのリストが狙うのは、この層です。すでに使い古された文字列を、まだ自分で変えられるうちに印を付けます。探索空間がどれだけ広いかは答えません。未公開のコーパスにこの行があるかも答えません。後者はエントロピー見積もりと、はるかに大きな漏洩コーパスの仕事です。「よくある弱いパスワードに見えるか」と一つの判定に畳んではいけません。
だから、あまり長くないリストでも役に立ちます。オンラインのログインは、ほぼ必ず試行回数を制限します。アカウントがロックされるまでの予算は小さく、攻撃者は順位の高いパスワードから試します。NIST SP 800-63B-4 は、ブロックリストの目的を、制限が効く前に当てられそうなパスワードを止めることだと書いています。その目的に足りる大きさになったあと、行を足しても増分は小さく、オンライン攻撃自体がすでに絞られているからです。端末のよく使われるパスワードリストは、この目的に揃えています。これまでに漏洩したすべてのパスワードを収める設計ではありません。
NIST が求めるのは文字列全体の照合であり、複雑さ規則の追加ではない
米国国立標準技術研究所は SP 800-63B-4 で、パスワードを受け取る側が必ず行う手順としてこう書いています。パスワードの作成または変更時、候補の全体を、よく使われる、予想される、または侵害済みのパスワードのブロックリストと照合する。調べるのは「辞書の単語を含むか」でも「記号が欠けているか」でもありません。当たったら拒否し、理由を伝えなければなりません。
同じ節は、十数年誤解されてきたパスワード方針も書き換えています。検証者は、大文字・数字・記号を同時に求める組み合わせ規則を課してはなりません。この認証器が侵害された証拠がない限り、定期変更も求めてはなりません。単要素として使うパスワードの下限は 15 文字、多要素の一要素として使うときの下限は 8 文字です。これらの文が向いているのは、パスワードを受け取るサイトであり、ブラウザの自己診断ページではありません。それでも判定を読む人には役立ちます。複雑さのチェックボックスを入れたこと自体は安全の証明になりません。先に止めるべきは、公開リストにすでに載っている文字列全体です。
NIST は、拒否のあと案内を出すことも求めています。password を Password1 に書き換えて終わるのを避けるためです。端末のリストが大文字小文字、末尾二桁や三桁、よくある Leet(@ を a、0 を o)も見るなら、狙っているのはこの書き換えです。それでもヒューリスティックであり、暗号学的な証明ではありません。P@ssw0rd2026! は掴めることがあります。規則に書いていない変形は掴めません。
いま使っている本物のパスワードで公開実験をしないでください。リストを照合するなら、すでに捨てると決めた古いパスワードか、捨てられるテスト文字列を使ってください。確かめるのは規則とトラフィックであり、現用の認証情報をもう一度晒すことではありません。
短い端末リスト、ハッシュ先頭照会、全量オフライン庫
「漏洩したか」には、少なくとも三つのやり方があります。混ぜると、未該当が未漏洩になります。違いは標語ではありません。どのデータが端末を出るか、サーバーが見えるかです。
一つ目は、短い端末リストです。ページが公開テキストを今のタブへ落とし、スクリプトがメモリ上で集合を作り、入力した文字列全体と少数の変形を引きます。出て行くのはリストファイルであり、入力したパスワードではありません。覆う範囲は、空でない行の数です。MakePwd が強度チェックと一緒に出す leaked-top10k.txt を例にします。ファイル名は top10k です。応答を開いて行を自分で数えてください。いまのファイルは八百行強のよく使われる項目であり、一万行でもインターネット全体でもありません。リストの読み込みに失敗すると、実装は内蔵の最小集合(たとえば password と 123456)へ落ちます。覆う範囲はさらに狭くなります。検査自体は、この端末に残ります。
二つ目は、Have I Been Pwned の Pwned Passwords 範囲照会です。公式の説明では、コーパスは漏洩に現れた数億件のパスワードです。クライアントは端末で SHA-1(または NTLM)を計算し、十六進の先頭 5 文字だけを https://api.pwnedpasswords.com/range/{prefix} へ送り、返ってきた末尾と、すでに計算した完全なハッシュを端末で比べます。設計上、平文も完全なハッシュも送りません。これが k-匿名性です。サーバーが知るのは、約百万個の先頭バケット(165)のどれに落ちたかだけです。それでも外部照会です。照会しているのはパスワードそのものではありません。2025 年 11 月、HIBP は Synthient のクレデンシャルスタッフィングコーパスから約 13 億件の重複なしパスワードを取り込み、うち約 6.25 億件がこのサービスにとって新規でした。2026 年 6 月には、スティーラーのログから約 1.24 億件の重複なしパスワードを足しています。これらの数字が示すのはコーパスの膨張であり、「一度調べたら永遠にきれい」ではありません。
三つ目は、コーパス全体を自分の機械や社内網へ落とし、完全にオフラインで照合することです。HIBP もそのダウンロードを出しています。覆う範囲は二つ目に近く、api.pwnedpasswords.com へ先頭を送りません。代価は更新、保管、自分で持つハッシュ索引です。
| やり方 | この端末を出るデータ | 未該当が支えられる文 |
|---|---|---|
| 端末のよく使われるパスワードリスト | リストファイル。入力したパスワードは出てはならない | このリスト(と実装した変形)に無い |
| HIBP 範囲照会 | SHA-1 / NTLM の先頭 5 文字 | いまの Pwned Passwords コーパスに無い |
| 全量オフライン庫 | 照会リクエストなし | 自分が落とした版のコーパスに無い |
三つの文のどれも、「どの漏洩にも一度も出ていない」へ書き換えられません。未公開の流出、まだ取り込まれていないログ、第三者に渡したことのないパスワードは、どの集合の義務の外にあります。端末リストはそのなかで最も狭い。利点は、入力したパスワードが設計上タブを出なくてよいことです。
該当と未該当が、それぞれ支えられる結論
該当なら、硬い文が書けます。この文字列は公開されているよく使われるパスワードのリストにすでにあり、またはリストが認識できる書き換えに過ぎません。使い続ければ、クレデンシャルスタッフィングとオンライン推測が最初に当たる集合に残ります。正しい動きは変えることであり、同じ文字列を他のサイトで使い回さないことです。
未該当には範囲が要ります。支えられるのは「このリストのよくある弱いパスワードには見えない」です。支えられないのは「一度も流出していない」「すべてのサイトで使い回してよい」「エントロピーは十分高い」です。20 文字の無作為パスワードは未該当になります。未公開の流出にだけ出たパスワードも未該当になります。画面のチップは同じに見えます。意味は違います。
長く見えても弱とすべき場合もあります。リスト該当はエントロピーより優先です。password は 8 文字の英字なので、文字種からの見積もりはゼロではないビット数を出します。それでも誰もが先に試します。端末の検査が該当のあと等級を弱へ固定するなら、根拠はリストであり、ビット計算の誤りではありません。逆も同じです。未該当に高いエントロピーを足しても支えられるのは、「よくあるようには見えず、総当たりのコストが高く見える」です。「すでに安全」ではありません。使い回し、フィッシング、相手サイトの平文保管は、この照合の外にあります。
同僚へ送れる最短の文:該当したら今すぐ変える。未該当はこのリストを除外しただけ。次に見るのは、使い回しているか、無作為に生成したかです。
その場で確かめる:リストファイル、それから Network
「端末で照合、アップロードしない」は自己証明になりません。その場で見えるのは二つです。ブラウザがどのリストファイルを落としたかと、入力した文字列が業務データとして出たかです。
先にリストを見てください。開発者ツールの Network を開き、名前に leaked または top を含むリクエストで絞り、応答をテキストとして保存します。編集器で空でない行を数えます。先頭数行が 123456 や password のような公開のよく使われるパスワードかを抜き打ちで見てください。自分で確かめた行数こそ、「未該当」の分母です。ファイル名の 10k を見て一万件と書かないでください。
次に、入力したパスワードを見ます。本物の業務に出ないカナリア、たとえば canary-audit-2026-x7k を用意し、検査欄へ入れます。Preserve log を入れ、その文字列をフィルタに貼ります。XHR / Fetch のリクエスト行、クエリ、本文に出てはなりません。アクセス解析の query と body にも出てはなりません。静的リソース、フォント、リストファイルは出てよい。リストが出るのは想定どおりです。入力したパスワードが出たら失敗です。
- Network を開き、Preserve log を入れ、一度検査を終えてからリストファイルの応答を探し、行を数えます。
- カナリアのパスワードでもう一度検査し、フィルタでその文字列を探します。どのリクエストに当たっても、平文がタブを出ています。
- 当たらなければ、アクセス解析のリクエストを開き、タイトルとパスは出てよく、入力欄の全文は出てはならないことを確認します。
この手順が支えられる主張は狭いです。この操作では、入力したパスワードは観察できた HTTP 欄として今のタブを出ておらず、リストの覆う範囲は数えた行に等しい。拡張機能が入力欄を読んでいないことは証明せず、来週のスクリプトが同じ動きであることも証明しません。ブラウザや版を変えたら、カナリア検索をもう一度行う価値があります。
エントロピー見積もりとリストは、別の問いである
強度チェックのページは、等級、ビット数、リスト該当を同時に出すことが多いです。一つスコアだと扱うと、ビットは悪くないのにリスト該当、または未該当なのに短い、というときに迷います。答える問いは違います。互いに打ち消し合ってはいけません。
エントロピーが問うのは、攻撃者が文字種で総当たりするなら、平均でどれだけかかるかです。よくある式は、長さに log2(文字種の大きさ) を掛け、繰り返し文字や同じ文字の連続に割引をかけます。しきい値が ≥ 80 bits で非常に強い、≥ 60 で強い、≥ 40 で中、それ以外は弱と書いてあるなら、それはこの見積もり関数の分位であり、実験室で測った解読時間ではありません。オフラインとオンラインの時間線も推測速度が違います。たとえばオフラインは毎秒 1010 回、オンラインは毎秒 103 回とし、平均(探索空間の半分)を取ります。速度を変えれば時間は変わります。パスワードは変わっていません。
リストが問うのは、この文字列がすでに公開で使い古されているかです。ビット数は使いません。リスト該当は、大文字と記号が混ざっていても弱とすべきです。未該当の 6 文字はエントロピーが低く、長さだけで弱へ落ちます。漏洩庫とは無関係です。8 文字未満で「安全性が低い」と出すなら、根拠は長さであり、漏洩データベースではありません。
ですから、一度の読み取りは少なくとも三箇所を見ます。リスト該当か、短すぎないか、エントロピーがどの分位か。三つを読んだあとで初めて、「この文字列がいまどう見えるか」と言えます。それでもパスワードマネージャーの代わりにはならず、「サイトごとに一本の無作為パスワード」の代わりにもなりません。
開いてすぐ使える検査ページで、範囲の書き方に慣れる
境界を表に出したページで練習するなら、MakePwd のパスワード強度チェックから始めてください。開いてすぐ使え、登録は不要で、パスワード保管庫もありません。製品説明どおり、入力したパスワードはアップロードせず、analytics にも書きません。照合は、今のタブへ落とした公開のよく使われるパスワードリストに対して行います。Have I Been Pwned ではなく、インターネット全体のパスワードリスト攻撃でもありません。該当すると等級は弱へ固定されます。128 文字を超えるときは完全一致だけを行い、末尾数字と Leet は走らせません。
練習には捨てられるテスト文字列を使い、現用のパスワードは使わないでください。Network を開いたままにします。リストファイルと、あるならアクセス解析は見えてよく、入力欄の全文は見えてはなりません。新しいパスワードが要るときは、パスワードジェネレーターも開いてすぐ使えます。ランダムモードは 6–128 文字、既定は 16 文字、8 文字未満は安全性が低いと出します。生成も検査もブラウザで終わり、平文は初期状態ではこの端末に残ります。
練習の目的は、あるサイトが「いちばん広く調べる」と証明することではありません。同僚に三つの文を言えるようにすることです。リストの行を数えた。カナリアで Network を探した。未該当は「このリストに無い」とだけ書いた。「端末の弱いパスワード検査」を謳うどのページでも、手順はそのまま使えます。
次に判定を読むとき覚えておく三つのこと
第一に、該当したら変える。未該当は今のリストを除外しただけであり、未漏洩と読まない。第二に、短い端末リスト、HIBP のハッシュ先頭 5 文字、全量オフライン庫は三つの異なるデータの道であり、未該当の意味は道に従う。第三に、エントロピーとリストを打ち消し合わせない。短いパスワードは未該当になり、長くてよくあるパスワードは該当します。
次の問いが「平文が業務データとしてこのタブを出たか」なら、ブラウザ暗号化の確かめ方:平文が端末を出ていないことを証明するを読んでください。本稿は「よく使われるパスワードのリストが何を覆うか」を、結論に書いてよい範囲へ落とすだけです。