パスワード生成ツール
端末内で動作し、何も送信されません。すべてお使いの端末上で完結します。生成した内容はどこにも送信されません。
強度
非常に強い103.4 ビットのエントロピー推定解読時間: 2051億 世紀
エントロピーと解読時間の目安をリアルタイムで表示しながら、強力なランダムパスワードと覚えやすいパスフレーズをブラウザ内だけで生成します。
パスワードの本当の強度はそのエントロピー - 攻撃者があなたのパスワードを言い当てるまでに試す必要がある可能な組み合わせの数 - によって決まり、これは長さと各位置に現れうる文字の種類の両方に依存します。このツールはWeb Crypto API(Math.random()ではなく)を使って暗号学的にランダムなパスワード、または単語ベースのパスフレーズを生成し、生成したものの実際のエントロピーとおおよその解読時間の目安を表示します。これにより、あいまいな「強い/弱い」というラベルの裏に隠すのではなく、トレードオフを可視化します。何もサーバー上で生成されず、どこにも送信されません。
よくある質問
ランダムパスワードとパスフレーズのどちらを使うべきですか?
どちらも正当な選択肢であり、2024年のNISTデジタルアイデンティティガイドラインでは、強制的な複雑さのルールよりも長さを明確に重視しています。ランダムパスワードは文字あたりのエントロピーが高く、パスワードマネージャーが代わりに記憶してくれる場合に理想的です。パスフレーズ - いくつかのランダムな単語をつなげたもの - は文字あたりのエントロピーを少し犠牲にする代わりに、人間が実際に記憶して入力できるものになります。これはマスターパスワードや記憶から入力するものにとって重要です。
エントロピーのビット数は実際何を意味しますか?
エントロピーが1ビット増えるごとに、攻撃者がすべての可能性を試すために必要な試行回数は2倍になります。エントロピー40ビットのパスワードには約1兆通りの組み合わせがあり、80ビットのものには約1兆の1兆倍の組み合わせがあります。セキュリティのガイドラインでは、暗号鍵やパスワードマネージャーのマスターパスワードのように、試行回数制限やロックアウトで保護できないものについては、一般的に80ビット以上を優れているとみなします。
解読時間の推定はどのように計算されますか?
これは、パスワードハッシュにオフラインでアクセスできる攻撃者が、1秒あたり約100億回の試行を行うと仮定しています - 現代的なGPUクラスターの大まかな代替値です。これは正確な予測ではなく、桁数の目安を伝えることを目的としています。実際の解読時間は対象システムが使用するハッシュアルゴリズムに大きく依存しますが、このツールにはそれを知る手段がありません。
なぜl、1、I、O、0のような紛らわしい文字を除外するのですか?
これらは音読したり、手書きしたり、特定のフォントで表示したりすると混同しやすい文字です。これらを除外することで、わずかなエントロピーと引き換えに、画面や紙からタイプする際にミスが起きにくいパスワードになります。マネージャーから貼り付けるのではなく手動で入力する必要があるパスワードに役立ちます。
乱数生成器が特定の文字を他より優遇することはありますか?
いいえ - 単純な剰余演算ではなく、crypto.getRandomValues() をベースにした棄却サンプリング(rejection sampling)を使用しています。ランダムなバイトを取得してbyte % プールサイズを計算すると、プールサイズが256をきれいに割り切れない場合、プールの先頭付近の文字にごくわずかに有利な確率が生じてしまいます。そのため生成器は、範囲外の値を破棄し、きれいに割り切れる範囲に結果が収まるまで再抽選します。結果として、有効にした文字種の数に関係なく、すべての文字が選ばれる確率は完全に同じになります。
ランダムなパスワードに、有効にした各文字種が必ず1文字以上含まれるのはなぜですか?
文字プールを構築した後、生成器は有効にした各カテゴリー - 大文字、小文字、数字、記号 - からそれぞれ1文字を確保し、その後、残りの長さを完全なプールから埋め、最後にすべてをランダムな順序にシャッフルします。これにより、パスワードが偶然すべて文字だけになり数字が含まれないという事態を防げます。これは重要です。プールに含まれていても、必須の文字種が欠けているパスワードを拒否するサイトが多いからです。シャッフルの段階でも同じ偏りのないランダム選択を使用するため、確保された文字が予測可能な位置に固定されることはありません。