テキストおよび日常ツール · パスワード生成ツール
パスフレーズのエントロピーの計算方法: 単語、ワードリストのサイズ、log2
· 仕組み
パスワード パスフレーズ エントロピー
重要な 1 つの公式、単語 × log2(単語リスト サイズ) についての実践ガイド。ランダムな文字のパスワードとの比較も含まれているため、習慣ではなく理由を付けて単語数を設定できます。
何単語あれば十分ですか? — なぜ質問には感情ではなく算術的な答えがあるのか
ToolAcre では 3 ~ 16 個のパスフレーズ ワードが許可されていますが、リポジトリでは、すべてのアカウントまたは攻撃者に対して 1 つのカウントが十分であるとは宣言されていません。 「もう十分」かどうかは、生成元を超えた脅威モデルに依存します。コードが正確に答えることができるのは、選択された単語リストが最小語長と最大語長によってフィルタリングされた後に、コード自体のプロセスが行う選択の数です。
この狭い質問は依然として役に立ちます。これにより、レビュー担当者は、結果にフィッシング、再利用、デバイス侵害が含まれているかのように装うことなく、設定を比較できます。単語を除外すると、各描画で利用可能な結果の数が変わるため、宣伝されているフィルターされていないリストのサイズではなく、`generateWordlist` によって返される実際の適格なプールから始めます。
出荷時の設定で許可される単語数と、そこから計算できる内容
1 つの描画が N 個の適格な単語から一様に選択される場合、その寄与は log₂(N) です。置換および W 独立ドローの場合、ワード寄与率は W × log₂(N) になります。パッケージのエントロピー関数は、フィルター処理された一意の単語リストの長さを使用し、テストにより、単語を 1 つ追加すると、同じプールの log2 によって推定値が増加することが確認されます。
式は選択プロセスに属し、印刷された語句に単独で属するものではありません。人間は、好きな単語を選択した後に同じシーケンスを入力し、異なる非定量的なプロセスを通じて同一のテキストを生成する可能性があります。したがって、ToolAcre は、管理する設定を推定し、スコアリングに既存のパスワードを受け入れません。
EFF 数値 — 長いリストからは 1 ワードあたりおよそ 12.9 ビット、短いリストからはおよそ 10.3 ビット
コミットされたロング ファイルには 7,776 個の空白以外のエントリが含まれており、各ショート ファイルには 1,296 が含まれています。ビルド時テストでは実際のファイルをカウントし、オプション テーブルと比較するため、これらのサイズはラベルからコピーされるのではなく検証されます。フィルターされていない描画ごとの値は、log₂(7,776)、約 12.9、log₂(1,296)、約 10.3 です。
ワード長の範囲により、どちらのプールも減らすことができます。エントロピーの読み出しには、実際にロードされてフィルタリングを通過した単語が使用されるため、古いラベルによる計算の制御が防止されます。範囲にゼロまたは 1 つの単語が許可される場合、検証では有用な多様性のないプロセスに対して安心できる数値を出力する代わりに、生成が拒否されます。
検証された EFF リストのサイズ: 7,776 および 1,296 エントリ
文字モードでは、選択したアルファベットから並列計算が行われますが、その生成ポリシーでは、選択したクラスごとに 1 文字を予約し、結果を安全にシャッフルします。したがって、比較では、「混合文字」が常に同じセットを意味すると仮定するのではなく、サポートされている正確なアルファベットと長さを指定する必要があります。 ToolAcre は、信頼性を処理するために、シンボル プールから引用符、バックスラッシュ、バッククォート、およびスペースを省略します。
生成された小文字のみの文字列は、生成された単語と算術的に比較できます。これは、両方のプールが明示的であり、描画で同じ安全な整数プリミティブが使用されるためです。この比較では、人間が作成した小文字のパスワードやフレーズについては何もわかりません。均一で独立した選択は負荷に耐える仮定であり、選択方法を変更するとモデルが変更されます。
検証されたプール サイズのみから生成された単語と文字を比較する
フィルタリングされていない長いリストが 6 つの単語に対して選択されたとします。ワードの計算は 6 × log₂(7,776)、約 77.5 ビットです。 1,296 エントリのショート リストから 7 回の抽出により、7 × log₂(1,296)、約 72.4 ビットが得られます。これらの値は検証済みのファイル サイズから直接得られますが、どちらもラップトップ、Wi-Fi ネットワーク、またはボールトの汎用ターゲットとして宣言されていません。
ユーザーが語長を狭める場合は、7,776 または 1,296 を、現在のプールによって示される適格なカウントに置き換えます。大文字小文字をランダムにすると、単語ごとに独立した上位または下位の選択肢が 1 つ追加されます。ランダムな区切り文字により、ギャップごとに 5 文字の中から選択されます。固定大文字と固定区切り文字により、この実装ではランダムな選択肢が追加されません。
実用的な例: 1 つの脅威モデルのターゲットを指定せずに設定を計算する
エントロピーは、資格情報が再利用されているか、フィッシング ページに入力されているか、マルウェアによってキャプチャされているか、クリップボード マネージャーを通じて公開されているかどうかを測定しません。また、リモート サービスがアカウントをハッシュ、レート制限、または回復する方法についても説明していません。制限ページでは、完全なセキュリティ スコアとして 1 つの数値を提示するのではなく、ジェネレーターの演算をそれらのリスクから明示的に分離しています。
表示される検索時の散文も、記載された仮説レートに基づいています。その仮定を変更すると期間が変わるため、時間は予測ではなく比較の参考になります。再現可能な数値は、設定から導出された選択数です。攻撃コストには、タブの外にあるシステムに関する証拠が必要です。
これでカバーされないもの — この方法ではエントロピーを計算できない人々によって選択されたパスワード
すべてのトークンが EFF ファイルに出現するという理由だけで、人が選択した単語はリストの式を継承しません。人々は文法、テーマ、引用、馴染みのある連想を好むため、その分布が不明瞭になります。文書化されたランダム プロセスがなければ、W × log₂(N) を割り当てると、使用されなかったジェネレータが記述されてしまうでしょう。
そのため、ToolAcre は評価ではなく生成を行います。自分が発明したフレーズが均一に選択されたものと同じ推定値を持っていることは、誰かに伝わりません。また、生成されたサンプルを公開することも推奨しません。特定の結果が記事に掲載されると、それは秘密の候補ではなくなります。
要点 — 必要なビットを決定し、12.9 で割って切り上げ、パスワード ジェネレーターでパスフレーズを生成し、ターゲットに対してその単語をカウントします。
推定値を使用して、ページが実際に公開するコントロール (検証済みリスト、適格な長さの範囲、単語数、区切り文字ルール、および大文字と小文字のルール) を推論します。これらの入力が変更されるたびに再計算します。数式は再現できるほど透過的であり、実装ではプレゼンテーション テキストを信頼するのではなく、ロードされたデータからそのプールを取得します。
そのモデルの端で結論を止めます。計算された選択数がより多くても、すべての脅威、資格情報の再利用の許可、またはマネージャーの代替に対する証拠となるわけではありません。これは、プール サイズと描画を検査できるローカルのランダム生成プロセスの 1 つを正直に説明したものです。