パスフレーズ vs パスワード — ランダムな単語が複雑な文字に勝つ理由
おそらくP@$$w0rd123のようなパスワードを作るように言われたことがあるでしょう — 大文字、小文字、数字、記号、すべて。ここに不都合な真実があります:そのパスワードはひどいものです。クラッキングツールが数秒で悪用する予測可能な置換パターンに従っています。一方、木材-量子-スプーン-速度のようなものは単純に見えますが、桁違いに解読が困難です。
その理由を分析しましょう。
従来のパスワードの問題
ほとんどの人は「複雑な」パスワードを作成するよう強制されると、同じことをします:
- 一般的な単語から始める:
password、monkey、dragon - 最初の文字を大文字に:
Password - 文字を記号に置換:
P@ssword - 数字を追加:
P@ssword123 - 末尾に記号を追加:
P@ssword123!
クラッキングツールはこれを知っています。主要なパスワードクラッキング辞書はすべて、これらの正確な置換ルールを含んでいます。aを@に、oを0に、eを3に置き換える — これらは最初にテストされる変換の一つです。あなたの「複雑な」パスワードは考えるのに30秒かかったかもしれませんが、自動攻撃にはミリ秒で陥落します。
根本的な問題:人間はランダムであることが非常に苦手です。意味のある単語を選び、予測可能なパターンに従い、同じトリックを再利用します。パスワード複雑性ルールはこれを補おうとしますが、偽りのセキュリティ感覚を生み出します。
パスワードを本当に強くするもの:エントロピー
パスワードの強度はエントロピー — ランダム性のビット数で測定されます。各ビットは攻撃者が試す必要がある可能性の数を2倍にします。式は単純です:
エントロピー = 長さ × log₂(プールサイズ)
95の印刷可能ASCII文字すべてを使用するランダムな8文字パスワードの場合:
8 × log₂(95) = 8 × 6.57 ≈ 52.6ビット
まずまずに聞こえますが、問題はここです — すべての文字が完全にランダムに選ばれた場合にのみ適用されます。人間がP@ssw0rdを選ぶと、選択が予測可能なため、実際のエントロピーはずっと低くなります。
こう考えてください:エントロピーは攻撃者に必要な推測回数を測定します。100万の可能性のプールから選ぶと約20ビット。1兆の可能性から選ぶと約40ビット。追加の10ビットごとに、必要な推測回数が約1,000倍になります。
パスフレーズ:構成要素としてのランダムな単語
パスフレーズはまったく異なるアプローチを取ります。ランダムな文字の代わりに、ランダムな単語をつなげます:
timber quantum spoon velocity
各単語は大きな単語リストからランダムに選ばれます。単語リストに2,048語がある場合、各単語は11ビットのエントロピーを提供します(log₂(2048) = 11)。4つのランダムな単語で:
4 × 11 = 44ビット
7,776語のより大きな単語リスト(標準Dicewareリスト)では、各単語は12.9ビットを提供します:
4 × 12.9 = 51.7ビット
6 × 12.9 = 77.5ビット
主要な利点:パスフレーズは高いエントロピーを維持しながら、覚えやすく入力しやすいです。木材、量子粒子、スプーン、速度を想像できます。その心的イメージは定着します。xK#9mP!2qLでそれをやってみてください。
XKCDの洞察
ウェブコミックXKCDはストリップ#936でこの概念を有名に図解しました。主張:「correct horse battery staple」のような4単語のパスフレーズは約44ビットのエントロピー(~2,048語のリストを想定)を持ち、覚えるのは簡単です。Tr0ub4dor&3のような「複雑な」パスワードは、入力も記憶もより困難であるにもかかわらず、より少ないエントロピーしか持ちません。
そのコミックは、セキュリティ研究者が何年も言ってきた重要なポイントを示しました:私たちのパスワード複雑性ルールは間違ったものを最適化しています。パスワードを人間にとって困難にし、コンピュータにとってはほんの少し困難にするだけです。
とはいえ、XKCDの例は2011年以来広く議論されており、具体的な数値の一部は議論されてきました。核心原理は健全なままです:ランダム性と長さは複雑さと巧妙さに勝ります。
ダイスウェア方式
ダイスウェアはパスフレーズ生成のゴールドスタンダードです。仕組みは次のとおりです:
- 単語リストを入手する — 古典的なDicewareリストには7,776語が含まれ、それぞれ5桁の数字(11111から66666)に対応しています
- 各単語に5つのサイコロを振る(または1つのサイコロを5回振る)
- 結果の数字を単語リストで検索する
- 必要な各単語について繰り返す(最低4つ、できれば6つ)
例えば、4-2-5-3-1を振ると「鉛筆」が得られるかもしれません。1-6-3-4-2を振ると「アンカー」が得られるかもしれません。
なぜ物理的なサイコロなのか?ソフトウェアへの信頼を必要としない、真にランダムなソースだからです。もちろん、暗号学的に安全な乱数生成器(パスワードジェネレーターで使用されているWeb Crypto APIなど)も同様に機能し、はるかに便利です。
Dicewareのセキュリティは単純な数学的事実に依存しています:Dicewareを使用したことと正確な単語リストを知っている攻撃者でも、7,776^nの可能性に直面します(nは単語数)。これは隠蔽ではなくエントロピーによるセキュリティの定義です。
エントロピー比較:数字は嘘をつかない
一般的なパスワード戦略を直接比較しましょう:
| 戦略 | 例 | エントロピー | 必要な推測回数 |
|---|---|---|---|
| 8文字ランダム(小文字) | mqxhplvt | 37.6ビット | ~1,370億 |
| 8文字ランダム(全ASCII) | kX#9mP!2 | 52.6ビット | ~6京 |
| 4単語パスフレーズ(2,048語) | timber-quantum-spoon-velocity | 44ビット | ~17兆 |
| 4単語パスフレーズ(7,776語) | cleft-cam-niche-turret | 51.7ビット | ~3.7京 |
| 6単語パスフレーズ(7,776語) | cleft-cam-niche-turret-plod-anvil | 77.5ビット | ~2.2 × 10²³ |
| 12文字ランダム(全ASCII) | Bx!4pQm#9kLz | 78.8ビット | ~4.7 × 10²³ |
結論:6単語のDicewareパスフレーズは、12文字の完全ランダムパスワードとほぼ同等の強度ですが、覚えやすく入力しやすいという大きな利点があります。
毎秒10億回の推測(高速ハッシュに対する現実的なオフライン攻撃速度)で、52ビットのパスワードは約52日持ちます。77ビットのパスフレーズは約70億年持ちます。これは攻撃者にとっての小さな不便と宇宙の熱的死の違いです。
パスワード vs パスフレーズの使い分け
どちらのアプローチも普遍的に優れているわけではありません。それぞれが意味を持つ場面:
ランダム文字パスワードを使う場面:
- パスワードマネージャーが生成・保存する場合 — 入力も記憶も不要。最大エントロピーのために20文字以上を使用。
- 長さ制限がある場合 — レガシーシステムの中には16文字や8文字にパスワードを制限するものがあります。ランダム文字は1文字あたりより多くのエントロピーを詰め込みます。
- マシン間認証 — APIキー、トークン、シークレットは長いランダム文字列であるべきです。
パスフレーズを使う場面:
- 記憶する必要がある場合 — パスワードマネージャーのマスターパスワード、ディスク暗号化パスフレーズ、デバイスのロック解除コード。
- 頻繁に入力する場合 — パスフレーズはランダム文字列よりも入力が速く、特にモバイルで顕著です。
- 口頭で共有する必要がある場合 — 電話で「timber quantum spoon velocity」と言うのは、
xK#9mP!2qLを綴るよりはるかに簡単です。 - オフラインセキュリティが必要な場合 — ディスク暗号化と暗号通貨ウォレットは高エントロピーのパスフレーズから恩恵を受けます。
ほとんどの人にとっての最適解:パスワードマネージャーのマスターパスワードとして6単語のパスフレーズ、その他すべてには20文字以上のランダムパスワード。
パスフレーズのベストプラクティス
すべてのパスフレーズが同等ではありません。次のルールに従ってください:
1. 本当にランダムな単語を使う
単語は必ずランダムに選択されなければなりません。自分で選んではいけません。「意味がある」単語や文を形成する単語を選んだ瞬間、エントロピーの計算は崩壊します。「私は犬がとても好きです」は文であり、パスフレーズではありません — そして簡単に解読できます。
2. 最低4単語、できれば6単語
7,776語のリストから4単語で約52ビット — レート制限のあるオンラインアカウントには十分。6単語で約78ビット — オフラインの暗号化データの保護に適しています。高セキュリティのユースケースには7つまたは8つ。
3. オプション:数字や記号を追加
単語間にランダムな数字や記号を挿入すると、数ビット追加され、純粋な辞書攻撃を打ち破ります:
timber-quantum-7-spoon-velocity
timber!quantum!spoon!velocity
6単語以上では厳密には必要ありませんが、低コストの改善です。
4. セパレーターを使う
単語間のハイフン、スペース、またはピリオドは、セキュリティを低下させることなく読みやすさを向上させます:
timber-quantum-spoon-velocity
timber quantum spoon velocity
timber.quantum.spoon.velocity
一貫したセパレーターならどれでも機能します。最も入力しやすいものを選んでください。
パスフレーズのよくある間違い
歌詞や引用句を使う
「生きるべきか死ぬべきか、それが問題だ」はパスフレーズではなく、有名な引用句です。攻撃者は文学、歌、映画、宗教テキストからの一般的なフレーズのリストを維持しています。認識可能なフレーズはすべて脆弱性です。
関連する単語を選ぶ
「りんご バナナ さくらんぼ ぶどう」はランダムな単語を使っていますが、すべて果物です。この相関関係は、攻撃者がセマンティックカテゴリをターゲットにできるため、有効エントロピーを劇的に低下させます。
単語が少なすぎる
どのリストからでも2つまたは3つの単語では不十分です。7,776語のリストでは、3単語はわずか38.8ビット — GPUクラスタで数時間で解読可能です。
オートコンプリートに頼る
最初の単語を入力してスマートフォンに次の単語を提案させると、サイコロのランダム性ではなく、言語モデルの予測可能性でテキストを生成していることになります。常に適切なランダムジェネレーターを使用してください。
当ツールの活用方法
当社のパスワードジェネレーターには、厳選された2,048語の単語リストに基づく専用パスフレーズモードが含まれています。すべての単語はWeb Crypto API — セキュリティ専門家が使用するものと同じ暗号学的乱数生成器を使用して選択されます。単語数、区切り文字、数字の含有や大文字化を設定できます。
すべての生成はブラウザ内で完全に行われます。単語はサーバーに送信されず、パスフレーズは記録されず、ツールは読み込み後オフラインで動作します。これはマスターパスワードや暗号化パスフレーズの生成にとって重要です — 最も重要な秘密をサーバーに信頼すべきではありません。
よくある質問
Diceware方式を使っていることを知られても安全ですか?
はい。Dicewareのセキュリティは方法の秘密性ではなく、エントロピーに依存しています。攻撃者があなたの正確な単語リストと単語数を知っていても、7,776^nの可能な組み合わせに直面します。6単語では、2.2 × 10²³以上の可能性があります。
量子コンピュータはパスフレーズを破れますか?
グローバーのアルゴリズムは理論的にビット強度を半分にします(77ビットは~39ビットの実効になります)。これは6単語のパスフレーズが量子耐性のために12単語にする必要があることを意味します。しかし、これが可能な実用的な大規模量子コンピュータはまだ利用できません。今日8単語を使用することで、合理的な安全マージンが得られます。
パスフレーズをローテーションすべきですか?
侵害を疑う場合にのみ。NISTガイドライン(SP 800-63B)は、時間の経過とともにパスワードが弱くなるため、強制的な定期的パスワードローテーションに明示的に反対を推奨しています。サービスが侵害された場合や誰かと共有した場合にパスフレーズを変更してください。
どのサイズの単語リストを使うべきですか?
大きいほど良いですが、収穫逓減があります。標準Dicewareリスト(7,776語)は十分にテストされ、広く推奨されています。当ツールは記憶しやすさに最適化された2,048語のリストを使用しています — 各単語は一般的で、明確で、綴りやすいです。2,048語では、7,776語リストのエントロピーに匹敵するために約1単語追加が必要です。
関連リソース
- 強力なパスワードの生成 — パスワードセキュリティの包括的ガイド
- パスワードエントロピーの解説 — パスワード強度の背後にある数学
- 二要素認証ガイド — 二層目の保護を追加
- パスワードジェネレーター — ブラウザでパスワードとパスフレーズを生成
🛠️ 今すぐパスフレーズを生成: パスワードジェネレーター — 100%無料、すべてブラウザ内で処理。データのアップロードなし。厳選された2,048語の単語リストでパスフレーズモードをお試しください。