日本語

パスフレーズのエントロピーの計算方法

log2 式、3 つの EFF リストすべての実際の例、コストの合計、および Web サイトの強度メーターがこのページと一致しない理由。

エントロピーはパスワードではなくプロセスを測定します

単一のパスワードにはエントロピーがありません。 「正しい馬のバッテリーの定番」というフレーズ自体に強いも弱いもありません。重要なのは、それがどのようにして存在するようになったのかです。マシンが 7,776 のリストから 4 つの単語を均等に抽出した場合、それは約 3.7 百万個の同じ確率の結果のうちの 1 つになります。漫画で見たからという理由でそれを選んだ人がいるとしても、それは数少ないうちの 1 つであり、いくら計算してもそれは変わりません。

そのため、このサイトのすべての図は、攻撃者がそれらの設定を知っており、ランダムな抽選を推測することしかできないという前提の下で、ジェネレーターとその設定を説明しています。その仮定は保守的なものです。リスト、単語数、長さの範囲、区切り記号、および大文字小文字の規則はすべてこのページで公開されているため、これらを秘密として扱うと、ここでのすべての数値が水増しされてしまいます。

式

N 個の同様の可能性から一様に選択された場合、エントロピーは log2(N) ビットになります。それぞれの独立した選択は独自のビットを追加するため、N の同じプールから k 個の独立した描画を行うと、次のようになります。

ビット = k × log2(N)

これがパスフレーズの計算全体です。ログベース 2 は、「可能性の数」を「ビット数」に変換するものであり、余分なビットごとに攻撃者が直面する作業が 2 倍になるため、ビットは便利です。 70 ビットは 69 ビットの 2 倍、60 ビットよりも約 1,000 倍難しくなります。

同じ式はランダム文字のパスワードをカバーしており、N は文字セットのサイズ、k は長さです。80 のセットから抽出された 20 文字は、20 × log2(80) となり、これは約 126 ビットになります。

3 つのリストの実際の例

EFF の長いリストには 7,776 ワードが保持されます。 log2(7,776) は約 12.925 であるため、各ワードにはおよそ 12.9 ビットが含まれます。 6 ワードは 6 × 12.925、約 77.5 ビットになります。これはこのページのデフォルトであり、そのリストに対する EFF 独自の推奨値です。 7 つの単語は約 90.5 を示し、8 つの単語は約 103.4 を示します。

両方の短いリストには 1,296 語が含まれています。 log2(1,296) は約 10.34 なので、6 ワードで約 62 ビット、7 ワードで 72.4、8 ワードで 82.7 ビットになります。そのため、短いリストには長いリストに一致する追加の単語が 1 つか 2 つ必要になります。

長いリストからの 5 つの単語は約 64.6 bits になります。これは短いリストからの 6 つの単語とほぼ同じです。特定の強さを得るまでの 2 つのルートは、まったく互換性があります。入力しやすい単語を生成するものを選択してください。

長さの範囲が図に与える影響

単語が描画される前に、最小語長と最大語長によってリストがフィルタリングされるため、式の N はファイルのサイズではなく、フィルタを通過した単語の数になります。このページでは、範囲を変更するとこれが再計算され、生き残った数が表示されるため、エントロピーの数値は常に実際に使用されているプールに関するものになります。

これは、適切な範囲では小さな効果であり、極端な範囲では大きな効果です。長いリストをちょうど 4 文字の単語に制限すると、数百の候補が残り、各単語が約 12.9 ビットから約 8 に減ります。これにより、6 単語のパスフレーズが約 77 ビットから約 48 に変わります。ページにはそれが表示され、その時点で範囲を広げるか単語を追加するように指示されます。

区切り文字と大文字小文字のオプションで追加されるもの

固定区切り文字は何も追加しません。すべてのギャップがハイフンの場合、設定を知っている攻撃者はすべてのギャップにもハイフンを挿入します。彼らには推測する以外の選択肢はありません。

ランダム区切りオプションが異なります。各ギャップは独立して 5 文字のうちの 1 つを取るため、各ギャップには log2(5) (約 2.32 bits) が追加されます。 6 ワードのパスフレーズには 5 つのギャップがあり、これは約 11.6 ビットの追加に相当し、実質的な増加となり、ページはそれをカウントします。

同じロジックがケースにも当てはまります。下位、上位、大文字、交互は固定ルールであり、何も追加しません。ランダムな場合はワードごとに独立したコインを投げるので、ワードごとにちょうど 1 ビット、つまり 6 ワードのパスフレーズでは 6 ビットが追加されます。それもカウントされます。

これらがどれほど控えめであるかは注目に値します。ランダムな大文字小文字とランダムな区切り文字を組み合わせると、6 単語のパスフレーズに約 17 bits が追加されますが、7 番目の単語だけで約 13 が追加され、はるかに覚えやすくなります。ほとんどの場合、言葉を追加する方が効果的です。

どれほどのコストがかかりますか

アクロスティックを使用すると、各単語がプール全体から抽出されるのではなく、指定した文字で始まる単語から抽出されます。したがって、式は積ではなく合計になります。合計は、最初の文字のプールの log2 に、2 番目の文字のプールの log2 を加えたものになります。

文字は非常に不均一に分布しています。 5 ~ 9 文字の単語に制限された EFF ロング リストでは、s で始まるプールは j で始まるプールよりも数倍大きく、x で始まるプールよりもはるかに大きくなります。したがって、6 文字のアクロスティックでは、制約のない単語ごとの値の 6 倍を下回る数値が得られます。どの程度下回るかは、選択した文字によって完全に異なります。

ページでは、入力した文字そのものの合計を計算します。これが、正確な数値を得る唯一の方法です。現在のリストと長さの範囲内で文字の後ろに単語がない場合は、静かに失敗するのではなく、どの文字であるかを示します。

アクロスティックも秘密ではありません。攻撃者はあなたの犬の名前のイニシャルを知っていると仮定します。それは推測される類のものであるためです。

正直に言うと、ビットを時間に変える

このページの推定時間は、盗まれたパスワード データベースに対して 1 秒あたり 1 兆回のオフライン攻撃が行われ、正しいものが見つかるまでに可能性の半分を試行する必要があると想定しています。これらの仮定が含まれていない時間の見積もりは無意味であるため、時間が表示される場所には必ずこれらの仮定が記載されています。

1 秒間に 1 兆回という推測は、意図的に厳しい数字です。これは、高速で間違って選択されたハッシュ関数を攻撃する専用ハードウェアに適した領域にあります。最新のパスワード ハッシュを適切に使用しているサイトは、攻撃が数百万倍遅くなり、オンライン ログイン フォームはさらに数十億倍遅くなります。これは、すべての試行がサーバーによってレート制限されるネットワーク リクエストであるためです。

このページの数字が意図的に悲観的であるのはそのためです。検索にかかる時間が他の人よりもはるかに長いという見積もりがあったとしても、適切に運営されているサービスに対する実際の数字はさらに長いです。

ウェブサイトの強度メーターが異なることを示す理由

ほとんどの強度メーターは、目の前にある文字をスコアリングします。それは、強度メーターが持っているのはそれだけであり、パスワードがどのように生成されたかがまったくわからないからです。これらは、混合文字クラスに報酬を与え、繰り返しを罰し、一般的なパスワードの辞書と照合することがよくあります。人間が発明した合理的なヒューリスティックなパスワードに対して、それがフォームでできる唯一のことです。

まさに間違った理由で、生成されたパスフレーズに悪いスコアが付けられます。単語がランダムに抽出され、その結果がメーターが賞賛するほとんどすべての単語よりも強力であるにもかかわらず、文字数カウントのヒューリスティックでは、間にスペースを入れた 6 つの小文字の辞書単語は、まさに警告するために作られたもののように見えます。

ここで生成されたパスフレーズに関してメーターとこのページが一致しない場合、ページはプロセスを説明し、メーターは外観を説明します。どちらも嘘ではありません。彼らはさまざまなことを測定しており、そのうちの 1 人だけがその言葉がどこから来たのかを知っています。

あなたが生成したものはどうなりますか

ToolAcre はブラウザ内でローカルにパスワードを生成します。非常に機密性の高い環境では、Web ベースのパスワード ジェネレーターを使用する前に、ブラウザー、デバイス、オペレーティング システムが信頼できることを確認してください。

  • すべてのパスフレーズとパスワードは、ブラウザー独自の暗号化乱数ジェネレーターによってブラウザー タブで生成されます。ページが読み込まれると、サーバーは関与しません。
  • ここで生成されたものは ToolAcre には送信されません。この製品のコンテンツ セキュリティ ポリシーは、ページを独自のオリジンに制限するため、ブラウザ自体が他の場所にデータを送信しようとする試みをブロックします。
  • ローカル ストレージ、セッション ストレージ、Cookie、ブラウザ内データベース、アドレス バー、ブラウザ コンソールには何も書き込まれません。リロードすると破棄されます。タブを閉じると破棄されます。
  • アカウント、サインイン、分析スクリプト、広告スクリプトはありません。ダウンロードされるファイルは静的な単語リストのみです。
  • 履歴は保存されません。再度生成すると値が置き換えられ、以前の値は回復できません。

質問

何ビットあれば十分ですか?

パスワード マネージャーの背後にある通常のアカウントの場合、70 bits 以上のことは現実的な推測の範囲を超えています。他のすべて (マネージャー自体、デバイス、電子メール) を保護するいくつかのパスフレーズについては、90 bits 程度以上 (長いリストから 7 ~ 8 語) の高い値を目指します。

記号を追加するよりも単語を追加する方が役立つのはなぜですか?

長いリストからの単語は、可能性の数を 7,776 倍、つまり 12.9 bits 倍になります。固定位置に追加されたシンボルは、攻撃者がそれがそこにあることを知っているため、1 倍されます。実際にランダムな選択肢のみがカウントされます。

ページは図のランダムなケースのオプションをカウントしますか?

はい、各ワードは独立したコイントスなので、1 ワードあたり 1 ビットです。固定ケース ルールは、ルールを知っている攻撃者が自分自身で適用できるため、ゼロとしてカウントされます。

キースペースの半分が時間の見積もりに使用されるのはなぜですか?

なぜなら、徹底的に検索しても、平均すると途中で答えが見つかるからです。キースペース全体を使用すると、時間を 2 倍に誇張することになります。これは、これらのスケールでは丸め誤差ですが、それでも間違った丸め誤差になります。

コンピューターの速度が向上していることを考えると、77 bits は十分ですか?

推測コストは追加ビットごとに 2 倍になるため、算術的には防御側に大きく有利になります。 77 ビットのパスフレーズに対する現実的なリスクは、生の計算ではありません。フィッシング、デバイス上のマルウェア、サイト間での再利用、不用意に保存されたサービスです。それらは注目に値するものです。

制限事項

  • エントロピーは推測の難易度の上限であり、アカウントが実際にどのように侵害されるかを予測するものではありません。ほとんどのアカウントは、推測ではなく、フィッシング、再利用、データベースの侵害によって失われます。
  • この数値は、ランダムな音源が音であると仮定しています。このページはブラウザの暗号化ジェネレーターを使用しており、それなしでは実行を拒否しますが、ページ内からそのジェネレーターを監査することはできません。
  • 時間の見積もりは完全に想定される推測率に依存します。ここで使用されているレートは意図的に厳しく記載されており、特定の攻撃者にとってはどちらの方向でも間違っている可能性があります。
  • この計算では、各単語が独立して均一に描画されることを前提としています。それが真実でない場合、強さを誇張することになるため、ジェネレーターはすでに使用されている単語を削除するのではなく、置き換えて描画します。
  • パスフレーズが再利用されたり、安全でない場所に書き込まれたり、侵害されたマシンで入力されたりすることを考慮したエントロピー数値はありません。