覚えやすいパスフレーズ生成(Diceware式)

一般的な単語をランダムに組み合わせて、覚えやすく口頭伝達もしやすいパスフレーズを生成します。単語数・区切り文字・大文字化・数字付加を指定でき、生成はすべてブラウザ内で完結します。

このツールは単語の選択・組み合わせをすべてブラウザ内(Web Crypto API)で行い、サーバーへは一切送信しません。

パスフレーズ方式(Diceware)について

Dicewareは、サイコロ等の乱数で単語リストから複数の単語をランダムに選び連結する、記憶しやすいパスワード生成手法です。ランダムな英数記号の羅列よりも人間が覚えやすく、単語数を増やすほど総当たり攻撃への強度(エントロピー)も直線的に向上します。

パスフレーズ生成とは

パスフレーズは、記号を混ぜた短い文字列の代わりに、一般的な単語を複数つないで作るパスワードです。人間にとっては単語の並びとして覚えやすく、それでいて単語数を増やせば総当たり攻撃への強度は直線的に上がります。このツールは単語数・区切り文字・大文字化・数字の付加を指定して、その場でパスフレーズを生成します。

生成には暗号学的に安全な乱数を使い、処理はすべてブラウザ内で完結します。サーバーへ送信も保存もされないため、表示された文字列はその場でコピーしてください。ページを再読み込みすると別の組み合わせに変わります。あわせて表示される推定強度は、単語リストの規模と単語数から算出した目安です。

パスフレーズの作り方

  1. 単語数を決める 4つ以上を推奨します。3つ以下では推定強度が不足し、専用の解読ツールに対して十分な耐性を持てません。
  2. 区切り文字を選ぶ 口頭で伝える場面ではハイフンが読み上げやすく便利です。スペースを許さないサービスでは他の記号を選んでください。
  3. 大文字化と数字の付加を設定する 大文字や数字を必須とするサービス向けの調整です。要件を満たしつつ覚えやすさを保てます。
  4. 生成してコピーする 気に入る組み合わせが出るまで生成し直せます。決まったらその場でコピーして保存先へ登録してください。

使いこなすためのヒント

  • 単語数は4つ以上を推奨します。3つ以下では推定強度(エントロピー)が不足し、専用の解読ツールに対して十分な耐性を持てません。
  • Wi-Fiのパスワードなど、他人に口頭やメモで伝える必要がある場面ではハイフン区切りが読み上げやすく誤入力も防げます。
  • 記号の入力を必須とするサービスでは「末尾に数字2桁を追加する」を有効にすると、記号なしでも複雑さの要件を満たしやすくなります。
  • 生成されたパスフレーズは表示されるだけで保存されません。ページを再読み込みすると新しい組み合わせに変わるため、使う場合はその場でコピーしてください。

パスフレーズの活用シーン

Wi-Fiのパスワードを決める

来客に口頭で伝える機会が多いため、単語の並びは記号の羅列より圧倒的に伝えやすくなります。ハイフン区切りが読み上げに向いています。

パスワード管理ツールのマスターパスワード

唯一自分で覚える必要があるパスワードです。長さを確保しつつ記憶できる形にできます。

暗号化ファイルの合言葉

ZIPやディスクの暗号化に使う合言葉として、相手に伝えやすく打ち間違えにくい形式を選べます。

一時的な共有パスワード

チーム内で短期間だけ共有する用途に向いています。チャットに貼っても読み違えが起きにくい形になります。

パスフレーズに関する用語

パスフレーズ
複数の単語をつないで作るパスワードです。長さを確保しやすく、記憶や口頭伝達がしやすいのが特徴です。
Diceware
サイコロなどの乱数で単語リストから語を選ぶ方式です。この考え方がパスフレーズ生成の基礎になっています。
エントロピー
推測の難しさをビット数で表した指標です。数値が1増えるごとに、総当たりに必要な試行回数が倍になります。
総当たり攻撃
考えられる組み合わせを片端から試す攻撃です。パスフレーズの長さがそのまま耐性につながります。
辞書攻撃
よく使われる単語や過去に漏洩したパスワードを試す攻撃です。単語をランダムに選ぶことで対抗できます。
Web Crypto API
ブラウザが備える暗号処理の仕組みです。予測されにくい乱数の生成にこれを使っています。

よくある質問

明確な定義の違いはありませんが、一般に「パスワード」はランダムな文字の羅列、「パスフレーズ」は複数の単語を連結した記憶しやすい文字列を指します。同程度の強度であれば、パスフレーズの方が人間にとって暗記・手入力がしやすい傾向があります。

一般的なアカウントであれば4単語以上を推奨します。金融機関や暗号資産ウォレットなど特に重要な用途では5〜6単語にすると、専用の解読装置による総当たり攻撃に対してもより高い耐性を持てます。

辞書攻撃は「1単語」を当てる攻撃であり、このツールが対抗しているのは「複数の単語の組み合わせ」を当てる必要がある点です。単語リストが公開されていても、単語数を増やすほど組み合わせの総数が指数関数的に増えるため、実用上十分な強度を確保できます。

いいえ。生成処理はすべてブラウザ内で完結し、どこにも送信・保存されません。ページを閉じたり再読み込みしたりすると表示内容は失われるため、使用する場合はその場でコピーして安全な場所に保管してください。
ツールくん

余談ですが ― 「correct horse battery staple」が示した発想の転換

Dicewareという手法自体は1995年にArnold Reinholdが考案しましたが、この方式が広く一般に知られるきっかけになったのは2011年に公開されたウェブ漫画『xkcd』第936話です。「Tr0ub4dor&3」のような複雑だが人間には覚えにくい記号混じりのパスワードと、「correct horse battery staple」という4つの平易な単語を並べただけのパスフレーズを比較し、後者の方が総当たり攻撃への理論的な強度が高いにもかかわらず暗記しやすいことを示しました。

この逆説は情報理論のエントロピーの考え方に基づいています。1文字あたりの候補数を増やすよりも、大きな単語リストから複数の単語を選ぶ方が、1回の選択あたりの「ビット数」を稼ぎやすいのです。853語程度のリストからでも1単語あたり約9.7ビットの情報量があり、4単語を組み合わせれば単純な8文字の記号混じりパスワードに匹敵する強度になります。

一方で実務上の注意点もあります。パスフレーズは長くなるためタイプミスが起きやすく、また使い回すと1つの単語リストが漏洩した際に総当たりの探索空間が事実上そのリストのサイズに縮小してしまいます。重要なアカウントでは、このツールで生成したパスフレーズをそのまま使うよりも、パスワードマネージャーで管理しつつ「覚える必要がある少数のマスターパスワード」としてのみ活用するのが安全です。