ツール
入力
結果
結果はここに表示されます。「8 文字以上で数字と記号を含む」といったルールでは P@ssw0rd1 が強いと判定されますが、実際にはどのクラッキングツールも真っ先に試すパスワードです。Dropbox で生まれた zxcvbn(dropbox/zxcvbn、16k スター)は、攻撃者と同じやり方で強度を見積もります。パスワードの中から辞書の単語、人名、キーボードの並び、日付、繰り返し、l33t 置換を見つけ出し、その構造で実際に残る推測回数を数えるのです。このページでは、保守が続く TypeScript 移植版 zxcvbn-ts(zxcvbn-ts/zxcvbn、MIT)を、よく使われるパスワードと英語の辞書とともに実行します。入力した内容はページの外に出ません。ネットワークリクエストも漏えいデータベースの照会も行いません。
動作のしくみ
- パスワードを最も推測しやすいパターンの並びに分解し、各部分の推測回数を掛け合わせた合計を 10 のべき乗で表示します。
- 0〜4 のスコアはその合計で決まります。10^3 回未満は 0、10^6 回未満は 1、10^8 回未満は 2、10^10 回未満は 3、それ以上は 4 です。
- 解読時間は、1 時間に 100 回(制限付きのログインフォーム)、1 秒に 10 回(制限なし)、1 秒に 1 万回(盗まれた bcrypt・scrypt のデータベース)、1 秒に 100 億回(GPU で攻撃される、ソルトなし高速ハッシュの盗まれたデータベース)を想定しています。
- 名前、ユーザー名、サイト名をコンテキストとして入力すると、zxcvbn はそれらをこのアカウントに対して攻撃者が最初に試す単語として扱います。
データの行き先
どこにも行きません。このツールは完全にブラウザ内で動作します。貼り付けたテキストはページが処理し、サーバーに送信されることも、ログに記録されることもありません。
このツールは鍵や資格情報を扱うため、実行に関する情報は一切保存されません。あなた自身の履歴にも残りません。
必要なポイント
このツールは無料です。ログインもポイントも必要ありません。
よくある質問
- どの解読時間を信じればよいですか?
- パスワードの保存方法に合ったものです。きちんと運用されたサービスのアカウントなら、漏えい後の現実的な最悪ケースは「オフライン・低速ハッシュ」の数値です。「高速ハッシュ」の数値は、ソルトなしの MD5 や SHA-1 のように保存方法が悪い場合や、暗号化 ZIP ファイルや Wi-Fi のハンドシェイクのように直接オフラインで攻撃されるものに当てはまります。
- ランダムに見える長いパスワードのスコアが低いのはなぜですか?
- zxcvbn にとってはランダムではないからです。1qaz2wsx のようなキーボードの並び、逆さにした単語、年、繰り返し、a を @ にするような置換は、どれもモデル化されたパターンで、攻撃者にとってはわずかな推測回数で済みます。一致したパターンの一覧に、どの部分が見つかったかが正確に表示されます。
- パスワードが漏えいしているかも確認できますか?
- いいえ、意図的にしていません。漏えいチェックには Have I Been Pwned のようなサービスにハッシュの先頭部分を問い合わせる必要があり、それはネットワークリクエストですが、このページは一切リクエストを送りません。ただし、zxcvbn に組み込まれたよく使われるパスワードの一覧で、最も多く漏えいしたものはオフラインでも検出されます。
- 日本語やローマ字のパスワードでも正確ですか?
- 精度は下がります。ここで読み込むのはよく使われるパスワードの一覧と英語の単語・人名の辞書なので、そこにないローマ字の日本語単語やフレーズは任意の文字列として数えられ、見積もりが甘くなることがあります。ローマ字のパスワードに良いスコアが出ても鵜呑みにしないでください。
- 「guesses 10^x」とは何ですか?
- よくあるパターンから攻める攻撃者が必要とする推定試行回数を 10 のべき乗で表したものです。人が作ったパスワードについては「エントロピーのビット数」よりも役に立ちます。文字種の多さではなく、実際のクラッキングツールが推測する順序を反映しているからです。
背後にあるオープンソース
このツールは zxcvbn-ts/zxcvbn(MIT)の上で動作しています。同じ処理を自分のプログラムに組み込みたい場合は、そのライブラリを使ってください。
zxcvbn-ts/zxcvbn別の呼び方
- パスワード 強度 チェック
- zxcvbn
- パスワード 安全性 確認
- パスワード 解読時間
- パスワード 強度 テスト
- パスワード エントロピー