パスワード強度チェック

パスワードを入力すると、どれだけランダムか、弱くしているパターンは何か、攻撃者が最悪どのくらいの時間で解読できるかをすぐに表示します。チェックはすべてお使いのブラウザ内で行われます。

ヒント:本物のパスワードではなく、同じような作り方のパスワードで試してください。

入力したテキストはブラウザー内にとどまります。送信・保存されず、アドレスバーにも表示されません。

結果

判定
まだパスワードが入力されていません

計算方法

パスワードはどこにも送信されません。チェックはお使いの端末上のJavaScriptだけで行われます。入力欄の内容はアドレスバーや閲覧履歴に残らず、保存もされません。読み込むのは、よく使われるパスワードの公開リスト(ファイル1つ)だけで、照合も端末内で行います。

パスワードの強度をチェックする方法

  1. 入力欄にパスワードを入力します。ブラウザの外には出ません。
  2. 判定、推定エントロピー、見つかったパターンを確認します。
  3. 弱い場合は新しいパスワードを作り、もう一度チェックします。

例:「Summer2024!」では、2024が西暦の年というパターンとして見つかります。この部分はlog₂(150)≈7ビットにしかなりません。本当にランダムな数字4桁なら13ビット以上になります。

推定のしくみ

1. 文字の種類×長さ:使われている文字の種類から候補の数を決めます(英小文字26、英大文字26、数字10、記号33、かな・漢字などその他の文字は一律100)。単純なエントロピーは「長さ×log₂(候補の数)」で、4種類すべてを使った12文字なら12×log₂(95)≈78.8ビットです。

2. パターンによる減点:人はランダムに文字を選びません。そのため攻撃者は、まず流出したパスワードのリスト、置き換えを加えた単語(P@ssw0rd)、連続した文字(abc、123)、キーボードの並び(qwerty、asdf)、繰り返し、年を試します。このツールはパスワードをこうした部品に分け、それぞれを推測するのに必要な少ないビット数だけを数えます。zxcvbn方式(Wheeler、USENIX Security 2016)を簡略化したものです。表示するのは2つの値のうち小さいほうです。

3. 解読時間:2ビット数を1秒あたりの試行回数で割った値、つまりすべての組み合わせを試すのにかかる時間です。前提はzxcvbnに合わせ、盗まれたパスワードデータベースへのオフライン攻撃で、高速ハッシュ(毎秒100億回、例:GPUでのソルトなしMD5)または低速ハッシュ(毎秒1万回、例:bcrypt)としています。ロック機能のあるオンラインのログインを攻撃する場合は、はるかに時間がかかります。

判定の段階

推定値は上限です。攻撃者が名前や誕生日、ペットの名前などの個人情報を知っている場合や、パスワードが過去の情報漏えいに含まれている場合は、はるかに早く解読されます。NIST SP 800-63Bは、2要素認証を使わない場合は15文字以上を求め、文字種の混在を強制するのではなく、既知のパスワードのリストとの照合を求めています。

よくある質問

ここにパスワードを入力しても安全ですか?

パスワードは送信も保存もされず、計算はすべてブラウザ内で行われます。ただし原則として、必要のない場所に本物のパスワードを入力しないでください。同じ作り方の別のパスワードで試すのがおすすめです。

パスワードが流出していないかもチェックできますか?

いいえ。照合するのは、よく使われるパスワード1万件の端末内のリストだけです。情報漏えいに含まれているかどうかは大規模な流出データベースと照合する必要があり、ハッシュの一部を送信することになるため、このツールではあえて行っていません。

「Summer2024!」はすべての文字種を使っているのに、なぜ弱いのですか?

単語、年、末尾の記号という、攻撃者が最初に試すパターンだけでできているからです。文字の種類だけでは安全性はわかりません。大切なのは、どれだけランダムかです。

安全なパスワードには何ビット必要ですか?

重要なアカウントなら80ビット以上が目安です。たとえば、すべての文字種からランダムに選んだ14文字、または7,776語のリストからランダムに選んだ7語です。

解読時間「数世紀」などの表示はどのくらい正確ですか?

記載した前提(毎秒100億回または1万回、すべての組み合わせを試す)でのおおよその目安です。実際の攻撃は、サービスのハッシュ方式、使われる機材、攻撃者がすでに知っている情報によって変わります。

出典・根拠

更新日:

関連ツール