すべてのサインアップフォームには強度計があり、同意することはほとんどありません。 1 つは緑色になります Summer2024!、別の人は弱いと呼び、3 番目はあなたがすでに入力したシンボルを望んでいます 不一致はランダムではありません 各メーターは攻撃者が推測する方法の小さなモデルであり、各モデルには死角があります。
このガイドでは、実際のパスワードにエントロピー公式をうまく適用してパスワードの強度をどのように推定するか、クラックタイムの数値が想定するか、チェッカーが検出できるパターンと検出できないパターン、シンボル ルールの代わりに NIST の現在のガイダンスを例で使用します パスワード強度チェッカー、および以下のすべての数字は、そのツールが示すパスワードに対して報告するものです。
tl;dr: パスワードの強さは攻撃者に必要な推測の数で、通常はビット単位のエントロピーとして表されます: length x log2 (文字プールのサイズ)。 余分なビットごとに作業が2 倍になります。 「パスワード強度チェッカー」はその数値を計算し、一般的なパスワード、繰り返しパターン、シーケンス、キーボードの実行のためにカットし、その結果を「非常に弱い」 (28 ビット未満) から「非常に強い」 (128 ビット以上) に評価し、クラックタイムの推定値はオフラインで1 秒あたり100 億推測、オンラインで1 秒あたり1,000 推定されます。 「エントロピー式」では、置換のある辞書単語を見ることはできないため、
P@ssw0rd1それでもスコアは公平です。長さとランダム性が役に立ちます。チェックはクライアント側で無料で実行され、サインアップはなく、パスワードはアップロードされません。
パスワードの強度とはどういう意味ですか?
パスワードの強度とは、攻撃者がパスワードを見つけるのに平均して何回の推測が必要かを示す尺度です。パスワードがどれほど複雑に見えるかを示す尺度ではありません。パスワードは、予測不可能な場合には強力であり、同様に可能性の高い非常に大規模なオプションのセットから選択された場合、予測不可能です。
そのため、強度は通常ビット単位で引用されます。 40 ビットのエントロピーを持つパスワードは、2^40 の約 1 兆、同じ確率で選択できる項目から 1 つを選択するのと同じくらい推測が困難です。ビットが追加されるたびに、検索は 2 倍になります。
パスワードのエントロピーはどのように計算されますか?
標準推定値は、password& #39; sの長さに各文字が寄与するビット数を掛けます。これは、それが引き出された可能な文字の数によって異なります:
entropy (bits) = length × log2(pool size)
チェッカーは、パスワードに存在する文字タイプからプールを構築します:
| キャラクタータイプ | プール に 追加 | 単独で使用する場合は、1 文字あたりのビット数 |
|---|---|---|
| 小文字のaからz | 26 に記載のものです | 4.70 です |
| 大文字のAからZ | 26 に記載のものです | 4.70 です |
| 0から9の桁 | 10か | 3.32 に準拠しています |
| ASCII シンボルとスペース | 33 | 5.04 に該当します |
| ASCII以外のもの(アクセント、絵文字) | 百 | 6.64 |
4 つの ASCII タイプすべてを使用するパスワードには、1 文字あたり 26 + 26 + 10 + 33 = 95、log2(95) = 6.57 ビットのプールがあります。
作業例: ランダムな 16 文字のパスワード
- プール:4種類すべて、95文字。
- 文字あたりのビット数: log2(95) = 6.5699.
- エントロピー: 16 × 6.5699 = 105.1 ビット。
チェッカーは Strong を評価します。同じプールからの 20 文字のランダム パスワードにより、20 × 6.5699 = 131.4 ビットが得られ、128 ビットの行を交差して Very Strong になります。
この公式は、パスワードが実際にそのプールからランダムに生成された場合にのみ正直になります。人間が選択したパスワードは、予測可能な小さなスペースを使用し、そこでパターン チェックが行われます。
チェッカーはどのスコアバンドを使用していますか?
パターンを調整した後、チェッカーはエントロピーを 5 つのラベルのいずれかに変換します。
| 調整エントロピー | ラベル | 実際の意味するところは |
|---|---|---|
| 28 ビット以下 | 非常に弱い | 任意の攻撃によってほぼ即座に発見されます |
| 28 ビット以下 36 ビット | 弱い | オフラインを絶食して下さい; オンラインで限られた保護 |
| 36~60ビット未満 | フェア | オンライン推測を生き残る;高速ハッシュに対してオフラインで脆弱です |
| 60~128ビット未満 | 強い | 現在の速度では力ずくには手の届かないところにあります |
| 128ビット以上 | とても強い | 予見可能なあらゆる暴力を超えて |
どのパターンがスコアを下げるのか?
生エントロピー処理 aaaaaaaaaaaa 56 ビット相当の12 文字の小文字のパスワードとして 誰も強いとは言いません チェッカーはスコアを付ける前に 4 つの調整を適用します:
- 共通のパスワード. パスワードは、下位のケースで、最も漏洩した 53 個のパスワードの組み込みリストと比較されます
123456、password、qwerty、letmeinあんどp@ssw0rd。マッチはエントロピーを 8 ビットでキャップします。 - パスワード全体の繰り返し. パスワード全体が 1 つの短い単位が繰り返される場合など
abcabcやaaaaaa、エントロピーは、おおよそ1 単位プラス数ビットのエントロピーに崩壊する。 - 同じキャラクターのラン. など、3 つ以上の同一の文字が連続して表示されます
zzz、エントロピーに0.75 を掛ける. - シーケンス. 任意の 3 文字は、アルファベット、数字、またはキーボードの行から実行されます
qwertyuiop、asdfghjklあんどzxcvbnm、前方または後方、エントロピーを0.75 倍します。
また、パスワードが 8 文字未満、1 種類の文字のみを使用、または数字のみの場合、番号を変更せずに警告します。
チェッカーは実際のパスワードについて何を言いますか?
これは、ツールが一般的に使用する、または使用するようアドバイスされている一連のパスワードについて報告するものです。クラック時間には、checker's の 2 つの攻撃者モデルが使用されます。
| パスワード | 長さ | 調整エントロピー | 評価 | オフラインクラックタイム | オンラインクラックタイム | 警告が出されました |
|---|---|---|---|---|---|---|
password |
8です | 8.0 ビット | 非常に弱い | 瞬時に | 瞬時に | 共通のパスワード; 1 つの文字タイプ |
qwerty123 |
9です | 6.0ビット | 非常に弱い | 瞬時に | 瞬時に | 共通のパスワード;シーケンス |
aaaaaaaaaaaa |
12です | 8.3ビット | 非常に弱い | 瞬時に | 瞬時に | 繰り返されるパターン; 1 つの文字タイプ |
4829 |
4です | 13.3ビット | 非常に弱い | 瞬時に | 5秒 | 短すぎる;数字のみ; 1 つのタイプ |
P@ssw0rd1 |
9です | 59.1ビット | フェア | 12ヶ月 | 世紀 | なし |
Summer2024! |
11 | 72.3ビット | 強い | 世紀 | 世紀 | なし |
Tr0ub4dor&3 |
11 | 72.3ビット | 強い | 世紀 | 世紀 | なし |
correct horse battery staple |
28 に指定されています | 164.7ビット | とても強い | 世紀 | 世紀 | なし |
これらのいくつかは手で確認することができます。 qwerty123 共通リストにマッチし、8 ビットで上限を付けて、キーボード実行と桁シーケンスの両方を含むので、8 × 0.75 = 6.0 となります。のために 4829、プールは10 桁なので、4 × 3.32 = 13.3 ビットです。 推測の平均数は半分のスペースです: 2^13.3 / 2 = 5,000。 1,000 で推測すると、1 秒はオンラインで 5 秒です。
P@ssw0rd1 は興味深い行である.4 つの文字型全てを使っているので,9 × 6.57 = 59.1 ビットであり, リストに含まれるので共通リストにはない. p@ssw0rd 後続の桁なし。チェッカーは、それが単語 "password" であることを知る方法がありません。最も予測可能な置換を使用すると、クラッキング ツールが最初に試行します。
クラックタイムの推定値は何を想定していますか?
2 つの図は 2 人のまったく異なる攻撃者をモデル化しており、どちらも同じ数値、つまり必要な平均推測値 (エントロピーに上げられた 2 の半分) から始まります。
| モデル | 1 秒あたりの推測数 | 表します |
|---|---|---|
| オフライン (高速) | 1000 万の万を | GPU ハードウェア上で攻撃された高速で無塩のハッシュの盗まれたデータベース |
| オンライン (スロットル) | 1千 | ライブログインフォームに対する推測 |
オフラインの数字は悲観的なケースであり、それは計画するのに正しいものです。なぜなら、サイト' s パスワード データベースが漏れると、攻撃者はもはやレートに制限されないからです。 1 秒あたり 100 億がどれほど現実的であるかは、サイトがパスワードをどのように保存したかに完全に依存します。 bcrypt などの意図的に遅いハッシュは、攻撃者と #39; s のレートを何桁も低下させます bcrypt ジェネレータガイド は詳細に説明しているが、無塩の MD5 や SHA-1 のような高速なハッシュでは、この範囲のレートが許される。 としている ハッシュジェネレータガイド それらのアルゴリズムの違いをカバーします。
ディスプレイの2 つの制限は知る価値があります:
- 60 ビット以上になると、チェッカーはコンピューティングを停止し、" を表示します。世紀と引用;. 独自のオフライン仮定により、60 ビットは平均 2^59 / 10^10 = 約 5,800 万秒、およそ 1.8 年となり、この数値は約 66 ビットになるまで 1 世紀に達しません。 "centuries" 60 年代前半のパスワードを " 数世紀ではなく年; として扱います。
- 推定では違反については何も述べられていません。 リークに表示されたパスワードは、そのエントロピーが何であれ、最初にリーク リストから推測されます。
長いパスワードがまだ弱いのはなぜですか?
長さは文字が予測できない場合にのみ役立つためです。チェッカーは、攻撃者が最初に試行するパターン (繰り返しブロック、実行など) のスコアを下げます 1111、 のような数列 abcd や 9876、またはキーボードウォークのような asdfgh。 abcabcabcabc は 12 文字ですが、3 文字の単位が 1 つ繰り返され、アルファベット シーケンスが含まれているため、チェッカーのスコアは 13.3 ビットになります。これは、95 文字のプール全体からのランダムな 3 文字のパスワードよりも少なく、19.7 ビットの価値があります。
逆も起こります もっと重要です パスワードの中にはスコアが良く 弱いものもあります なぜなら character-pool 数式では以下を認識できないからです:
- 文字がそっくりな数字や記号と交換された辞書の単語、名前、場所など
Tr0ub4dor&3; - 季節または月プラス年プラス 1 シンボルなど
Summer2024!; - ペットのような個人情報& #39; s名前と誕生年;
- 有名な引用や有名な例から構築されたパスフレーズ
correct horse battery staple、 から 来る xkcdコミック936 そして、クラッキングワードリストに表示されるようになりました。
パスフレーズの正直なエントロピーは、その文字ではなく、単語がどのように選択されたかによって決まります。 2,048 語のリストからランダムに選択された 4 つの単語は 4 × log2(2048) = 4 × 11 = 44 ビットを与えます。そのような 6 つの単語は 66 ビットを与えます。これは文字数式のレポートよりも低いですが、これは本物であり、パスフレーズ生成者が人々に選択させるのではなく、ランダムなプロセスで単語を選択する理由です。
NISTはパスワードに何を推奨していますか?
米国国立標準技術研究所は、パスワード ガイダンスを定めています NIST 特別出版物 800-63B、デジタルアイデンティティガイドライン。 パスワードをチェックするサービスに対するその推奨事項は、古い強度メーターが奨励されているいくつかの習慣に対して実行されます:
- " などの構成ルールを課さないでください。記号と大文字の " を含める必要があります。彼らは人々を予測可能な置き換えへと駆り立てます。
- 新しいパスワードと、侵害されていることがわかっている値、共通値、または予期されている値のリストを比較し、一致を拒否します。
- 侵害の証拠なしにパスワードを定期的に変更することを強制しないでください。
- スペースや印刷可能なすべての文字を含む長いパスワードを許可するため、パスフレーズが機能します。
現在のリビジョン SP 800-63B-4 では、これらの原則が維持され、唯一の認証要素として使用されるパスワードの最小長さが引き上げられています。
パスワードを選択する人にとっての実際的な読み方: 長さとランダム性が作業を行い、パスワード マネージャーがランダムなパスワードを使用可能にし、侵害チェックが強度計と同じくらい重要です。 Have I Been Pwned's Pwned パスワード このサービスでは、k 匿名範囲クエリを使用して、既知の侵害でパスワードが出現したかどうかを確認できます。このクエリでは、パスワード自体ではなく、パスワードの最初の 5 文字のみが送信されます。s SHA-1 ハッシュ。
パスワード& #39; を確認する方法の強さ、ステップバイステップ
- を開きます 無料のパスワード強度チェッカー そしてフィールドにパスワードを入力または貼り付けます アイボタンを使って表示または非表示にします。
- 評価、調整されたエントロピー (ビット単位)、および長さを読み取ります。
- 2 つのクラック時間を比較し、"centuries" を思い出してください。 60ビットから始まります。
- 小文字、大文字、数字、記号の構成カウントを確認してください。 ASCII 以外の文字は、この行の記号でカウントされます。
- シーケンスや共通のパスワードなどの特定の問題を指定する警告を読んでください。
- 提案に従って入力しながら数値が更新されるのを見てください。パスワードが警告なしで Strong 以上のスコアを獲得すると、提案はリマインダーに変更され、パスワード マネージャーに 1 か所のみで使用して保存します。
1 つの小さな癖は、長さが UTF-16 コード単位をカウントすること、つまり JavaScript が文字列を測定する方法であるため、ほとんどの絵文字は 2 文字としてカウントされることです。
強度チェッカーに実際のパスワードを入力しても安全ですか?
このチェッカーを使用すると、分析はプレーンなJavaScriptでブラウザで完全に行われます パスワードはネットワーク経由で送信されず、ログに記録または保存されず、ページはネットワークを切断した状態で動作し続けます ツールはチェックが行われたことのみを記録し、チェックされたものではありません。
一般的な習慣はまだ健全です: あなたはpage& #39; sコードは、それらで行うものを見ることができないので、あなたが信頼していないサイトに実際のパスワードを入力しないでください. 、あなたは、実際のものを公開することなく、パスワードの形状をテストしたい場合は、代わりに同じ構造のパスワードをテスト:同じ長さ、同じ種類の文字、同じ種類の単語。
パスワードを強くするにはどうすればよいですか?
影響の順に、実際の強度を上げるアプローチ:
| 近づく | 例エントロピー | 注意事項 |
|---|---|---|
| マネージャーからのランダムパスワード、20 文字、すべてのタイプ | 131ビット | サイトごとにユニーク; 覚えておくべきことは何もありません |
| ランダム パスフレーズ、7,776 語のリストから 6 語 | 6×12.9 = 77.5ビット | 入力が簡単; マスターパスワードに適しています |
| ランダムパスワード、12 文字、全種類 | 78.8ビット | 覚えにくい |
| 人間が選んだ言葉 + 置換 + 年 | そのスコアよりはるかに低い | クラッキングルールに登場する |
7,776 ワード リストは標準的なダイスウェア リストのサイズで、5 つのサイコロ ロールが各ワードを選択し、log2(7776) = 1 ワードあたり 12.9 ビットになります。
ランダムなパスワードを作成するには、 パスワードジェネレータ ブラウザ's Web Crypto 乱数ソースで文字を描画します パスワードジェネレータガイド 長さと文字セットの選択肢をカバーします。 The セキュリティツールハブ を含む関連ツールをリストします bcrypt ジェネレータ パスワードを保存している開発者向け.
この強度チェッカーの代替品
- zxcvbn、によって公開されたオープンソース推定量 GitHub で Dropbox、パスワードを辞書、名前、日付、一般的な置換と照合し、キャッチするのが得意です
P@ssw0rdースタイルのパスワードです ページではなく 開発者向けのライブラリです。 - パスワードマネージャー監査 保存されたパスワードをチェックして、すべてのアカウントで再利用、脆弱化、既知の侵害がないか一度に確認します。
- 違反チェック pwned Passwords などは、理論上パスワードがどの程度推測可能かではなく、攻撃者がすでにパスワードを持っているかどうかという別の質問に答えます。
このチェッカー'の強みは透明性とプライバシーです。エントロピー、攻撃者のモデル、正確な警告が表示され、パスワードがデバイスから離れることはありません。



