パスフレーズ生成
Passphrase Generator
単語リストからダイスウェア方式のパスフレーズを組み、エントロピーをビットで示します。
パスフレーズは、頭の中に置いて、貼り付けのできないキーボードで打たなければならない少数の秘密のためのものです。ディスクのロック解除、端末のPIN画面、ほかのすべてを預けている管理ソフトのマスターパスワードといったものです。既知のリストから無作為に引いた語は、無作為な文字列にはない仕方で覚えられますし、エントロピーは推測ではなく算術です。
…
エントロピー
77.5ビット
強度
強い
単語リスト
7776語
長さ
0文字
当てられるまでどれくらいかかるか
平均でおよそ4千年かかります。
ソルトなしの MD5 や SHA-1 でハッシュした流出データベースを、最新の GPU 8 枚の環境で攻撃する場合です。サイトがパスワードをどう保存したかは選べないので、備えるべきはこの数字です。 鍵空間の半分 — 77.5ビット — を毎秒 1,000,000,000,000回で割った値です。攻撃者がこのパスワードの作り方を正確に知っていて、ほかに入り込む手段がない場合を想定しています。アカウントでいちばん弱いところがパスワードであることは、めったにありません。
ここのパスワードはすべて、このタブの crypto.getRandomValues から出ています。どこにも送らず、ストレージにも書かず、タブを閉じればそれで終わりです。消すべき履歴がありません。このページの外に出る先は、ほかのアプリからも読めるクリップボードだけです。パスワード管理ソフトに貼り付けたら、そのあと無害なものを一度コピーしておいてください。
使い方
語数を選びます
EFFのロングリストの語は1語あたり12.9ビットです。オフラインの攻撃に耐えなければならないものなら6語がふつうの下限で、回数制限のあるログインしか相手にしないフレーズなら4語です。
打てる区切り記号を選びます
ハイフンでも空白でもエントロピーは変わりません。効いてくるのは、ログイン画面によってはどちらかを取り除いてしまうからという理由だけです。大文字にすることや数字を足すことは、ほとんど何も足しません。強さを担っているのは語数です。
受け入れる前にビット数を読みます
表示されるビット数は語数×log₂(リストの語数)で、語が一様に引かれたからこそ成り立つ値です。気に入るまで引き直すのは、引くのではなく選ぶことであり、その時点でこの数字は正しくなくなります。
よくある質問
実在の単語で作ったフレーズのほうが当てやすいのではありませんか。
その語が文章から来ている場合だけです。リストも語数も正確に知っている攻撃者でも、リストの語数の語数乗だけの可能性に向き合うことになります。EFFの6語なら7,776の6乗、およそ77ビットです。リストを秘密にしておくことは強さの一部ではありません。
ウェブサイトのログインにも使えますか。
使えますが、そこにはパスワード生成の無作為な文字列のほうが向いています。管理ソフトが代わりに入力してくれますし、長さの制限もよくあるからです。パスフレーズは自分で打つもののために取っておいてください。
単語リストはどこから来ていますか。
EFFのロングのダイスウェアリストです。どの語もほかの語の先頭部分にならず、話しても打っても取り違えにくいように選ばれた7,776語の英単語です。ページに同梱されていて、取りに行くリクエストは出しません。
ここから渡せます
次の一手
このツールが出したものをそのまま受け取れる道具です。
エントロピー測定
Entropy Meter
文字列やファイルのシャノンエントロピーを測ってバイトの分布を描き、鍵らしきものを見つけるのに使えます。
パスワード生成
Password Generator
長さ・使う文字種・紛らわしい文字を除く規則を決めて、必要な本数だけランダムなパスワードを作ります。
パスワード強度チェック
Password Strength Meter
そのパスワードを破るのにどれだけかかるかを見積もり、弱くしている型を名指しします。
怪しいURLの確認
Suspicious URL Check
開く前にリンクの形(紛らわしい文字・IPそのままのホスト・@のごまかし・深いサブドメイン・妙なポート・短縮サービス)を調べ、望めばリダイレクトをたどってドメインの登録時期も引きます(評判データベースは使いません)。
音声形式変換
Audio Converter
MP3・WAV・FLAC・AAC・OGG・Opusのあいだを、ビットレートとサンプリング周波数を決めて変換します。
Base64エンコード・デコード
Base64 Encoder & Decoder
テキストでもファイルでもBase64とBase64URLを符号化・復号し、UTF-8も正しく扱います。