XKCD方式のパスフレーズ生成ツール
ランダムな一般的な単語から、xkcd方式のパスフレーズを生成します。区切り文字、大文字・小文字、単語の長さを選べ、エントロピーをビットで表示します。
辞書を読み込み中…
XKCDパスワード生成とは?
xkcdのコミック#936にヒントを得たこの生成ツールは、correct-horse-battery-stapleのようにランダムに選んだ単語をつなげて、長くて強く、覚えやすいパスワードを作ります。単語数、区切り文字、大文字・小文字、単語の長さを調整できます。
XKCDパスワード生成の使い方
- 単語数を設定します(2〜12)。4はコミックと同じで、今は5〜6がより安心です。
- 区切り文字と大文字・小文字のスタイルを選びます。
- 単語の最小文字数と単語の最大文字数を調整し、必要に応じて末尾にランダムな数字を追加します。
- 再生成をクリックします。複数の候補が表示されるので、気に入ったものをコピーします。
例
4 words, hyphen separator, Capitalize Each Word, add a digit
Acuteness-Slug-Obsolete-Renegade1 (55.0 bits)
出力はランダムなので、実際の結果は異なります。
XKCDパスワード生成を使うべき場面
コンピューターのログイン、口頭で共有するWi-Fiキー、マスターパスワードなど、頻繁に入力するパスワードに使えます。オフラインで攻撃される可能性のあるものには、5語以上を選んでください。パスワードの最大長が短いシステムでは使わず、文字を使う生成ツールを使ってください。
XKCDパスワード生成の仕組み
単語は、指定した長さの範囲で絞り込んだEFFの大きな単語リストから、crypto.getRandomValuesで一様に選ばれます。エントロピー = 単語数 × log2(プールの大きさ)に、ランダムな大文字化で単語ごとに1ビット、ランダムな数字の区切りごとに log2(10)、末尾に追加する数字で log2(10) が加わります。この値は、攻撃者が単語リストと設定を知っていると仮定しているため、実際に即した下限です。表示された複数の候補から1つを選ぶと、最大でも log2(候補数) ビットのコストがかかります。
一般的な使用例
- 覚えやすいコンピューターのログインパスワードを作成する
- 声に出して読みやすいWi-Fiパスワードを生成する
- パスワードマネージャーのマスターパスワードを作る
- パスワードセキュリティの教育用にパスフレーズを作る
セキュリティ注意事項
生成されたフレーズを、より「意味のある」ものに編集しないでください。人間の選択により予測しやすくなります。
よくある質問
correct horse battery staple は今も安全ですか?
そのフレーズ自体は、今やすべての解読用辞書に入っています。ただし考え方は正しく、7,776語から本当にランダムに選んだ4語で51.7ビットになります。強力に守るには5〜6語にしてください。
大文字化の効果がほとんどないのはなぜですか?
すべての単語を同じように大文字にするのは攻撃者が知っているルールなので、何も加わりません。単語ごとのランダムな大文字化だけが、単語ごとに1ビットを加えます。
どの単語リストを使っていますか?
7,776語の一般的な英単語からなるEFFの大きな単語リストを、指定した最小・最大の長さで絞り込んだものです。