パスフレーズ vs ランダム文字列
「correct horse battery staple」(コミック由来の有名なパスフレーズ)と「A8$xK!q2Wn」型のランダム文字列。どちらが強くて、どちらを使うべきか。エントロピーの計算と実務的な使い分けを整理します。
1. エントロピーとは
パスワードの強さは「エントロピー(情報量)」で表せます。式は log₂(文字種数^文字数)= bit。例えば英大小数字(62種)×8文字なら log₂(62⁸) ≒ 47.6 bit、英大小数字記号(94種)×16文字なら log₂(94¹⁶) ≒ 105 bit。1 bit増えると総当たり時間は2倍になります。NIST SP 800-63Bは具体的なエントロピー要件は廃止しましたが、目安として「オンライン攻撃に耐えるには30bit以上、オフライン攻撃を想定するなら60bit以上、長期保存型なら80bit以上」が業界の共通認識です。
2. パスフレーズの作り方
パスフレーズは「無関係な単語をスペース等で繋いだ」もの。「correct horse battery staple」は4単語×7776語の辞書(diceware方式)から選んだ場合、log₂(7776⁴) ≒ 51.7 bit。5単語なら ≒ 64.6 bit。長くて打ちやすく、覚えやすいのが利点。逆に欠点は「日本語入力アプリの誤変換」「IME切替の手間」「桁数制限に引っかかる」「サービスがスペース禁止」など実装側都合の問題です。マスターパスワード(マネージャー本体・端末ロック・暗号化ボリューム)にとくに向きます。
3. ランダム文字列の作り方
ランダム文字列は本ツールが採用する方式。CSPRNG(crypto.getRandomValues)で乱数を取り、文字集合からモジュロバイアスを避けつつ抽出します。94種の印刷可能ASCII×16文字で約105 bit。覚える気はなくマネージャーに保存する前提のサービス用に最適。短くて済み、桁数制限にも引っかかりにくい反面、目視・手打ちはほぼ不可能。サービスごとに固有の文字列を作り、使い回しを完全に断つ用途に向きます。
4. エントロピー比較表
代表的なパターンを並べると:英小文字8文字 ≒ 37.6 bit(弱い)、英大小数字8文字 ≒ 47.6 bit、英大小数字記号8文字 ≒ 52.4 bit、英大小数字記号16文字 ≒ 104.9 bit、diceware 5単語 ≒ 64.6 bit、diceware 7単語 ≒ 90.5 bit。重要なのは「2025年時点で本気のオフライン攻撃に耐えるのは70bit以上」「マネージャー保存前提なら長さは自由なので16文字以上を推奨」という二点です。
5. 覚えるか保存するか
パスワード戦略の決定軸は「覚える必要があるか」です。覚える必要があるのは原則4種類だけ:①パスワードマネージャーのマスターパスワード、②端末ロック解除コード、③メインメール(マネージャーが使えない時の最後の砦)、④オフライン暗号化ボリュームのパス。これらはパスフレーズ向き。それ以外の数百サービスのパスワードはマネージャー任せの「ランダム文字列」で十分です。
6. 実務的な使い分け
使い分けの結論:「覚える4本はパスフレーズ+MFA」「その他はランダム文字列+マネージャー保存」。本ツールはランダム文字列専用ですが、長さを長め(20〜32文字)に取れば実質パスフレーズ並みの強度になります。「数字のみ」モードはWi-Fiの一時PINやイベント受付など短期用途専用に絞ってください。パスワードマネージャー入門とNIST SP 800-63Bポリシーも合わせてどうぞ。