テキストおよび日常ツール · パスワードジェネレーター
サイコロウェアのパスフレーズの仕組み: 5 つのサイコロ、7,776 ワード、それぞれ 12.9 bits
· 仕組み
パスワード パスフレーズ 暗号化
サイコロを 5 個振る、7,776 語の中から 1 つを調べる、これを繰り返すというサイコロの方法と、どの単語が出てきたかに関係なく、各単語が固定の計算可能な強度を追加する理由を説明します。
付箋に書かれたパスワード — 記憶に残るものと強いものは通常逆の方向に引っ張られる理由と、ダイスウェアがそれを解決する方法
付箋のパスワードが記憶に残るのは、その所有者がそれを選択したためでもあります。その選択はまさに攻撃者の予測通りです。代わりに、Diceware スタイルのパスフレーズでは、固定リストから通常の単語がランダムに選択されます。独立した可能性の数からその強みを引き出しながら、短い記号の文字列よりも入力とリハーサルが簡単になる場合があります。 「記憶に残る」とは、フレーズが個人的に聞こえるまで、ランダムに選択した単語を並べ替えたり置き換えたりしてもよいという意味ではありません。
5 つのサイコロ、1 つの単語 — 6⁵ = 7,776 の結果が番号付き単語リストにどのようにマッピングされるか
5 つの公正な 6 面サイコロには、6×6×6×6×6 = 7,776 の順序付けられた結果があります。従来の番号付きサイコロ リストでは、5 桁のサイコロの結果が 1 つの単語にマッピングされるため、12345 などのロールでは、ユーザーが好む単語ではなく、そのエントリの単語が選択されます。追加の単語ごとに 5 ロールのプロセスを繰り返します。同じサイズの EFF リストには、物理的なサイコロではなく、安全なコンピュータ生成の整数によってインデックスを付けることもできます。インデックス付け方法は異なりますが、同様に起こり得る結果の数は同じままです。
すべての単語が同じ価値を持つ理由 — 「シマウマ」であろうと「ザ」であろうと、単語ごとに約 12.9 bits 個です。選択が均一だったためです。
7,776 ワードのすべてが独立した抽選で同じ確率である場合、ワードあたりの不確実性は log₂(7,776) ≈ 12.925 bits になります。両方が均一に選択された場合、「ゼブラ」は「ザ」と同じエントロピーを持ちません。どちらかを優先的に選択すると、分布が変化します。 ToolAcre のジェネレーターは、単語を置換して選択します。つまり、単語が繰り返される可能性があり、奇妙に見えるというだけの理由で編集して削除すべきではありません。暗号化ランダム ソースの実装は、範囲外の描画を拒否することでモジュロ バイアスを回避します。
単語の追加 — 6 つの単語がおよそ 77 bits に達する方法と、追加の単語ごとに何が得られるか
6 つの独立したロングリスト ワードには、7,776⁶ の可能なシーケンスと、約 6×12.925 = 77.55 bits の理想的な検索スペースがあります。 5 つのワードで約 64.62 bits が得られ、さらに 7 番目のワードでさらに 12.925 が追加されます。これは、オンライン サービスがフィッシングやマルウェアによって攻撃されないことを約束するものではありません。これは、既知のリストと均一な選択を使用したオフライン推測モデルの算術演算です。再利用されたパスフレーズは、生成時のビット数に関係なく、1 つのサービスが侵害されると失敗する可能性があります。
サイコロとブラウザ — 数学を変更せずに、暗号化乱数ジェネレータが物理的なサイコロをどのように置き換えるか
ToolAcre は物理的なサイコロを振るように要求しません。その secureRandomInt はブラウザの Web 暗号バイトを取得し、拒否サンプリングを使用して均一に分散された単語インデックスを選択します。 Math.random はフォールバックではありません。計算では、引き続き、単語リストの誠実なデバイス、ブラウザ、およびソース ファイルが前提となります。悪意のある拡張機能を実行しているコンピューターや、侵害されたクリップボードを使用すると、Web サイトにシークレットを受信するサーバーがない場合でも、生成されたシークレットが公開される可能性があります。生成された値は DOM 内の認証情報であるため、パスワード ジェネレーター自身のページにはサードパーティの広告および分析スクリプトが除外されます。
実用的な例 — 6 単語のパスフレーズを生成し、単語リストのサイズから手動でそのエントロピーを計算する
6 単語の例の場合、他の人が記事に掲載したフレーズをコピーしないでください。すでに公開されてしまいます。代わりに、7,776 エントリの EFF ロングリストから 6 つの単語を生成するを押します。特定の出力に関係なく、理想的なエントロピー計算は log₂(7,776⁶) ≈ 77.55 bits です。 UI に表示された見積もりを確認し、信頼できるパスワード マネージャーに新しいフレーズを保存します。特定の単語を 1 つだけ表示するように要求すると、出力可能なリストが縮小し、計算を変更する必要があります。
これでカバーされないもの - 統一性の前提を破る独自の言葉の選択、およびサイト固有のパスワード規則
このモデルは、サイズを再計算しない限り、自分で選んだ単語、覚えている引用、または難しい単語を除外して短縮されたリストには適用されません。 Web サイト固有の最大長、レート制限、アカウント回復の脆弱性、または信頼できないデバイスにシークレットを入力するリスクは無効になりません。ランダムなフレーズは、アカウントごとに異なるシークレットを生成する多要素認証やパスワード マネージャーの代わりにはなりません。
要点 — パスワード ジェネレーターは、EFF ワードリストと暗号ジェネレーターを使用したダイスウェア メソッドを完全にブラウザー内で適用します。
5 つのサイコロは、均一に選択された 1 つのリスト インデックスをエンコードします。安全なブラウザ ジェネレーターは、物理的なサイコロを使用せずに同じインデックスを選択できます。パスワード ジェネレーターは、EFF ワードリストと Web 暗号をローカルに使用してその選択を実装します。次に役立つステップは、式を暗記することではありません。新しいパスフレーズを作成し、見積もりを確認し、その正確な結果を別のアカウントで再利用しないことです。