パスフレーズ生成ツール
- 7語
無料でランダムなパスフレーズを生成
ランダムな単語から、覚えやすく、入力しやすく、推測されにくいパスワード(パスフレーズ)を生成できます。xkcdのアイデアとDiceware方式を、安全な乱数生成器と誇張のない強度表示で、適切に実装しています。初期設定のランダムな7単語なら、手入力するほぼすべての用途で十分な強度があります。
単語数は3〜12個から選べます。単語の区切り文字、大文字の使用、数字や記号の追加、最大文字数も設定できます。単語は英語と、それ以外の9言語に対応しています。気に入らない単語があれば、タップしてその単語だけを入れ替えられます。パスフレーズはお使いの端末上で生成され、外部に送信されることはありません。
目次:どんな用途に使える? · 単語は何個必要? · ランダムな3単語 · 覚え方 · よくある質問
パスフレーズの用途は?
パスフレーズは、自分で入力するパスワードに向いています。用途を選ぶと、それに合った設定でジェネレータが開きます。
- マスターパスワードパスワードマネージャーのロックを解除する、絶対に忘れてはいけないパスワードです。大文字と数字を含めることで、それらを必須とするアプリの条件も満たします。8単語 · 大文字 · 数字1つ
- ディスクの暗号化BitLocker、FileVault、VeraCrypt、LUKSなどに。ディスク内のすべてのデータを守るため、単語数を最も多くしています。8単語
- SSH鍵・GPG鍵秘密鍵を使うたびに、そのロックを解除します。7単語
- 口頭で伝える・テレビで入力する単語をスペースで区切るだけなので、電話で読み上げたり、リモコンで入力したりしやすくなります。7単語 · スペース区切り
- パスワードの条件が厳しいサイト大文字、単語の間に入るランダムな数字、記号ひとつを含めることで、「大文字・小文字・数字・記号」の条件を満たします。6単語 · 大文字 · 単語間に数字 · 記号ひとつ
- ランダムな3単語英国政府がオンラインアカウント向けに推奨している方法です。サイトがパスワードの入力失敗回数を制限し、二段階認証も利用している場合に適しています。それ以外の用途には、以下で説明するとおり、強度が不十分です。3単語 · 大文字 · 数字ひとつ · パスワードファイルが盗まれた場合は弱い
- チームの新規アカウント異なる10個のパスフレーズを1行に1つずつ表示し、それぞれにコピーボタンが付きます。クラスや会社全体の分を作る場合は、一括生成ツールをご利用ください。パスフレーズ10個、各7単語
- ウェブサイト・アプリのアカウント自分で入力しないなら、ランダムな文字列のほうが短くても同じ強度を確保できます。パスワードジェネレータ
単語はいくつ必要?
単語を1つ追加するたびに、パスフレーズの推測は約7,400倍難しくなります。攻撃者は、それぞれの位置でリスト内のすべての単語を試す必要があるためです。初期設定のランダムな7単語は、パソコンへのログイン、Wi-Fi、SSH鍵など、手入力するほぼすべての用途に適しています。パスワードマネージャーや暗号化ディスクには8単語を使ってください。3〜4単語を使うのは、以下で説明するように、間違った入力を繰り返すとブロックされるアカウントに限りましょう。
ジェネレータの下に表示される時間は、最悪のケースを想定しています。攻撃者が使用されている単語リストを知っていて、ウェブサイトから盗まれたパスワード一覧やコピーされた暗号化ファイルなどを手元に持ち、自分のコンピュータで回数制限なく推測を試せる場合です。ジェネレータに表示されているパスフレーズを解読するのにかかる時間は、誰が推測するかによって異なります:
あなたのパスフレーズ7単語英語Abc123!@#
- グラフィックカード1枚
- 9,800万年
- 非常に強い
- 高性能なゲーミングPCに搭載されているようなもの
- グラフィックカード1,000枚 このパスワードの評価
- 98,000年
- 強い
- 犯罪グループなどが時間単位で借りて使う規模
- グラフィックカード100,000枚
- 980年
- 強い
- 政府や大手テクノロジー企業の規模です。実際の台数はどこも公表していません。
適切に保護されたウェブサイトや端末への攻撃には、はるかに時間がかかります。間違った入力を繰り返すとブロックされ、パスワードも推測に時間がかかる形式で保存されているためです。ただし、ウェブサイトがあなたのパスワードをどのように保存しているかは確認できないので、それを当てにしないでください。
各単語の先頭を大文字にしても、攻撃者も同じことを試せるため、強度はほとんど上がりません。数字や記号を一つ加えると、少し強くなります。最も効果的なのは、単語をもう一つ加えることです。サイトに文字数の上限がある場合は、長さの制限なしを開いて、その上限を選んでください。すると、ジェネレータは上限に収まるパスフレーズだけを生成し、強度の表示もそれに応じて下がります。
3単語のパスワードで十分?
英国の国家サイバーセキュリティセンター(NCSC)は「ランダムな3つの単語」を使うことを勧めており、3単語のパスワードジェネレータを探す人も増えています。このアドバイスは、想定された用途であれば適切です。それは、ログインの試行が繰り返されるとブロックするオンラインアカウントで、2段階認証も使えるのが理想です。ログイン画面で毎秒10回試す場合、ランダムな3つの単語を言い当てるには約650年かかります。
ただし、問題はデータが漏えいした場合です。サイトからハッシュ化されたパスワードが盗まれると、同じ3つの単語でも1秒未満で破られます。大文字や数字、記号を加えても、ほとんど効果はありません。そのため、3単語を使うのはNCSCが想定する用途に限りましょう。パスワードマネージャー、パソコンへのログイン、Wi-Fi、暗号化ディスクには、7単語以上を使ってください。上のランダムな3つの単語の例を選ぶと、NCSCの推奨に沿った設定でパスフレーズ生成ツールが開き、強度の表示がその弱さを正直に示します。
xkcdのアイデアを正しく実現したパスワードジェネレータ
有名なxkcdの漫画は、よく使われる単語をランダムに4単語並べたほうが、「Tr0ub4dor&3」より覚えやすく、解読されにくいと説きました。その考え方は正しかったのです。ただし、示された数値はあくまで説明用の例でした。2,048語のリストから選んだ4単語では44ビットで、グラフィックカード1枚なら1分未満で突破できてしまいます。
このパスフレーズ生成ツールは、そのアイデアを生かしつつ、数値の面を改善しています。単語リストは2,048語ではなく約7,400語、初期設定は4単語ではなく7単語で、同じ単語は重複させません。また、人が単語を選ぶのではなく、安全な乱数生成器を使います。7単語なら約90ビットとなり、グラフィックカード1,000枚でも約100,000年かかります。
最も大切なのは「ランダム」であることです。人が自分で単語を選ぶと、歌詞や引用文、人名、地名などを使いがちで、パスワード解読ツールはまずそうした候補を試します。漫画に登場した「correct horse battery staple」さえ、今では漏えいデータに何千回も現れています。ランダムに選んだ単語には見抜けるパターンがないため、攻撃者がPassGen.coの利用を知っていても、計算上の強度は変わりません。すでに自分で考えたパスフレーズを使っていますか? パスワード強度チェッカーで確認してみましょう。
パスフレーズの覚え方
- 情景を思い浮かべる。 単語を順番につなげて、短くてちょっとおかしな場面を想像してみましょう。峡谷でランタンを持つセイウチを思い浮かべれば、7つの単語を別々に覚えるより、ずっと記憶に残ります。
- 最初はこまめに入力する。 最初の一週間は、一日に数回入力しましょう。そうすれば、指が自然に覚えてくれます。
- 覚えるまでは紙に書いておく。 紙は自宅に保管し、そのパスフレーズでロックを解除する端末とは決して一緒に置かないでください。すっかり暗記できたら、紙は処分しましょう。
- 区切り文字はそのまま使う。 ハイフンやスペースがあれば、どこで入力を間違えたかがわかりやすくなります。省く必要はありません。
使い慣れた言語でパスフレーズを
知っている単語なら、覚えやすく入力もしやすくなります。地球儀ボタンから単語リストを選べます。対応言語は英語、ドイツ語、スペイン語、フランス語、イタリア語、ポルトガル語、カタルーニャ語、オランダ語、ウクライナ語、ロシア語です。各言語の標準リストには約5,900〜7,700語が含まれているため、どの言語で作っても英語とほぼ同じくらい強いパスフレーズになります。生成ツールの下に表示される強度は、選んだリストの正確な単語数を使って計算されます。
ウクライナ語とロシア語には、ラテン文字表記のリストもあります。暗号化されたノートパソコンの起動画面やテレビ、ルーターの管理画面では、米国式のキーボード配列しか使えないことが多く、そこでパスフレーズを入力できないとアクセスできなくなるためです。同じ理由から、ディスク暗号化用のパスフレーズは、本格的に使い始める前に起動画面で入力できるか確認するか、アクセント記号のない単語リストを使ってください。
英語(短い単語)では3〜5文字の単語を使うため、スマートフォンやテレビのリモコンでもすばやく入力できます。選べる単語の数が少なく、1語あたりの強度は低くなるため、標準リストの7単語と同じ強度にするには、短い単語を9単語使ってください。
仕組み:技術的な詳細
詳しい仕組みを知りたい方へ。
安全な乱数
各単語は crypto.getRandomValues() を使って選びます。棄却サンプリングにより、どの単語もまったく同じ確率で選ばれます。パスフレーズにすでに含まれている単語が選ばれた場合は引き直すため、同じ単語が二回使われることはありません
強度の推定
設定に応じて生成できるパスフレーズが全部で何通りあるかを正確に計算します。最大文字数の制限がない場合、N語のリストから選ぶパスフレーズの総数は、単語数に応じて N × (N − 1) × … と計算します。単語間にランダムな数字を入れる場合は、単語間の区切り一か所につき10倍になります。「数字を追加」では 10 × 単語数(どの数字をどの単語に付けるか)、「記号を追加」では 8 × 単語数(! @ # $ % ^ & * のどれをどの単語に付けるか)を掛けます。大文字にしても総数は増えません。カスタムの区切り文字も、自分で選んだものなので総数は増えません。ビット数 = この総数の log2です。グラフィックカード1,000枚での解読にかかる時間 = 2ビット数 − 1 ÷ (2 × 1014) 秒です。
最大文字数
リスト内の単語の長さをもとに、文字数の制限に収まるパスフレーズが何通りあるかを正確に数え、その中から一つをランダムに選びます。どのパスフレーズも選ばれる確率は同じです。強度は、制限に収まるパスフレーズの総数をもとに計算します
単語の差し替え
単語をk回差し替えると、その単語ごとに強度が log2(k + 1)ビット下がります。これは、k + 1個の候補から一つを選ぶことで失われる可能性のある強度の最大値です
サイコロに対応したリスト
ほとんどのリストには、元々7,776語が含まれています。これは 6 × 6 × 6 × 6 × 6、つまり五個のサイコロの出目の組み合わせの数です。五個のサイコロを振り、その出目に対応する単語を調べるのが Diceware方式です。スペイン語、イタリア語、カタルーニャ語のリストは8,192語、短い英単語のリストは四個のサイコロに対応する1,296語です。以下の整理によって単語数が変わるため、このパスフレーズ生成ツールではサイコロの出目ではなく、ブラウザの乱数生成機能を使っています
リストの整理
単語の境目が分かりにくくならないよう、「yo-yo」のように区切り文字を含む単語は除外しています。人名や地名は、リスト内で小文字で表記されていても除外しています。病気、薬物、武器、差別的な言葉など、声に出して伝える可能性のあるパスフレーズに使うと不快感や気まずさにつながる単語も除外しています。使用できる単語数は、英語7,424語、英語(短い単語)1,234語、ドイツ語6,947語、スペイン語5,962語、フランス語7,347語、イタリア語7,667語、ポルトガル語7,429語、カタルーニャ語7,186語、オランダ語7,337語、ウクライナ語7,430語、ウクライナ語(ラテン文字)7,480語、ロシア語とロシア語(ラテン文字)はそれぞれ7,608語です。強度はこれらの単語数を使って計算するため、正確さが保たれます。
単語リスト
英語には EFF Long Wordlist(CC BY 4.0)、英語(短い単語)には EFF Short Wordlist 1(CC BY 3.0 US)を使用しています。ドイツ語、スペイン語、イタリア語、カタルーニャ語は ulif の diceware リスト(CC BY)、フランス語は Tails プロジェクト(CC0)、オランダ語は mko.re(CC BY)、ウクライナ語は git-leaf(MIT)のリストを使用しています。ロシア語のリストは OpenRussian.org のデータ(CC BY-SA 4.0)をもとに PassGen.co用に作成しました。ポルトガル語のリストは OpenSubtitles の単語出現頻度データ(hermitdave/FrequencyWords)とポルトガル語版 Wikipedia(CC BY-SA 4.0)をもとに作成しました
よくある質問
よいパスフレーズの例は?
たとえば、velvet-harbor-sketch-lantern-cactus-walrus-canyon のように、互いにも、あなた自身にも関係のない7つの単語を組み合わせたものです。ただし、この例を含め、公開されている例をそのまま使わないでください。上のツールで自分だけのパスフレーズを作成しましょう。
4単語のパスフレーズは安全ですか?
数回間違えるとロックされるスマートフォンなど、間違った入力が許容される回数に制限がある場合に限ります。パスフレーズのハッシュ値が盗まれた場合、4単語では数秒で解読されてしまいます。アカウントには7単語、ほかのパスワードを保護するものには8単語を使ってください。
パスフレーズとパスワードの違いは何ですか?
パスワードは通常、さまざまな文字を混ぜた短い文字列で、パスフレーズは単語を並べた長い文字列です。多くの人が「覚えやすいパスワード」と呼ぶものが、パスフレーズです。同じ強度ならパスフレーズのほうが長くなりますが、入力しやすく、覚えやすいのが特長です。自分で入力するものにはパスフレーズを使い、ランダムなパスワードはパスワードマネージャーが自動入力するものに使いましょう。
これはDicewareジェネレータですか?
同じ方式を使っています。サイコロの出目に対応する数の単語を収録したリストから、ランダムに単語を選びます。多くのリストには、5個のサイコロの出目の組み合わせ数にあたる7,776語が収録されています。実際にサイコロを振る代わりに、ブラウザーの安全な乱数生成機能を使うため、同じようにランダムな結果を、ずっと速く得られます。表示される強度は、実際に使用するリストの正確な単語数に基づいて計算されます。
長いパスフレーズなのに、解読までの時間が短いのはなぜですか?
強度は文字数ではなく、選んだ設定で何通りのパスフレーズを作れるかによって決まります。攻撃者はリストにある単語を丸ごと推測するため、長い単語でも短い単語より安全性が高まるわけではなく、すべての単語の先頭を大文字にしても強度は上がりません。単語を1つ増やすと、解読までの時間は約7,400倍になります。
1つの単語だけ変更できますか?
はい。単語をタップまたはクリックするか、矢印キーでその単語に移動してEnterキーを押してください。その単語だけが変わります。自分で選んだ単語は、選ばずにそのまま使う単語よりランダム性が少し低くなるため、強度の表示では、入れ替えるたびに強度を少し差し引いています。
複数のパスフレーズを一度に作成できますか?
はい。結果の下にある複数のパスフレーズを開くと、最大16個まで指定でき、それぞれにコピーボタンが付きます。クラスや会社全体で使う場合は、一括パスワードジェネレータで最大1,000個を作成し、Microsoft 365、Google Workspace、Active Directory向けにエクスポートできます。
パスフレーズにスペースを使えますか?
通常は使えます。ほとんどのウェブサイト、OS、暗号化ツールはスペースに対応しています。ただし、一部の古いシステムではスペースが削除されたり、受け付けられなかったりするため、不安な場合はハイフンを使ってください。ハイフンも使えないサイトでは、カスタムを選び、そのサイトで使える文字を入力してください。どちらでも強度は同じです。
SSH鍵やGPG鍵にパスフレーズを設定するには?
既存のSSH鍵には、ssh-keygen -p -f ~/.ssh/id_ed25519を実行し、入力を求められたらパスフレーズを貼り付けてください。GPGでは、gpg --passwdの後ろに鍵IDを付けて実行します。新しい鍵を作成する場合は、作成時にパスフレーズの入力を求められます。
暗号資産ウォレットのシードフレーズに使えますか?
いいえ。12単語または24単語のリカバリーフレーズは、ウォレットで生成する必要があります。ウォレットは専用の単語リストと組み込みのチェックサムを使うため、ここで生成した単語は使えません。一部のウォレットで任意に設定できるBIP39パスフレーズは別です。こちらは自分で決めるものなので、ここで生成したパスフレーズが適しています。これがないとウォレットを復元できなくなるため、リカバリーフレーズと同じように大切に保管してください。
オンラインでパスフレーズを作成しても安全ですか?
このサイトでは安全です。パスフレーズはブラウザー内で動くコードによって作成され、当サイトに送信されることはありません。ページを読み込んだ後はインターネット接続なしでも動作するため、念のため接続を切ってから生成することもできます。