ツール 01 — パスフレーズ生成
サイコロを 振れ。
Diceware 方式のパスフレーズとランダムなパスワードを、ブラウザの暗号論的擬似乱数生成器(CSPRNG)から生成します。何も送信・保存・記録されません。このページにはネットワーク接続を開く権限すらありません。
02 — 解読にかかる時間
どれだけ 持ちこたえるか。
見つかるまでの平均時間(鍵空間の半分)です。攻撃者が生成方法を正確に知っていると仮定しています。速度は桁の目安であり、ベンチマークではありません。
03 — 信用せず、検証を
何も 外に出ない。
- connect-src 'none' このページの CSP は fetch・XHR・WebSocket・beacon をすべて禁止しています。同じドメイン宛てでも同様です。
- ストレージなし Cookie、localStorage、IndexedDB は一切使いません。設定は再読み込みでリセットされます(意図的です)。
- CSPRNG
crypto.getRandomValuesと棄却サンプリングを使用。剰余による偏りはありません。 - 単一オリジン
passwd.entropywatch.devでは他に何も動いていません。サードパーティのコードもありません。
- サンドボックスからの脱出を試み、ブラウザが何をブロックしたかを表示します。
04 — 仕組み
短い 回答。
「エントロピーのビット数」とは?
攻撃者が当てなければならないコイン投げ(表か裏か)の回数です。1ビット増えるごとに手間は2倍になります。7776語のリストから6語を選ぶと 7776⁶ ≈ 2⁷⁷·⁵ 通りになり、攻撃者がリストと方法を知っていてもこれは変わりません。
なぜ X7#q! ではなく単語なのですか?
1文字あたりのエントロピーはランダムな記号のほうが大きいですが、単語のほうが入力しやすく覚えやすいです。複雑さより長さが勝ちます。correct-horse のようなフレーズなら、付箋なしで70〜90ビットに届きます。ランダムなパスワードは、パスワードマネージャーが代わりに入力してくれる場所で使いましょう。
何ビット必要ですか?
オンラインでしか攻撃できず、試行回数制限があるアカウントなら50ビット以上で十分です。ハッシュが漏えいしてオフラインで攻撃されうるもの、たとえばドメインアカウントは75ビット以上(6語)。パスワードマネージャーのマスターパスワード、ディスク暗号化、SSH 鍵のパスフレーズは90ビット(7語)。計算の詳細と、Windows ネットワークでオフライン攻撃が起きる場所についての記事(英語):How long should a passphrase be?
こういうことに Web サイトを信用してよいのですか?
健全な疑いです。だからこそ、このページはネットワークに接続できず、セルフテストを備えています。さらに安全なのは、オフラインで使うこと(読み込んでから接続を切る)か、EFF のリストと本物のサイコロを使うことです。
なぜ単語が英語なのですか?
このジェネレーターは英語の EFF Large Wordlist を使っています。強度はリストの大きさとランダムな選択だけで決まり、言語には依存しません。7776語のリストなら、どの言語でも6語で同じ77.5ビットです。EFF のリストを使うのは、公開されていて第三者のレビューを受けており、SHA-256 のハッシュで検証できるからです。