パスワードセキュリティに関する継続的な議論が、 XKCD 方式のパスワード生成器の実装をめぐって再燃し、パスワードセキュリティのニーズの進化と現代の暗号化環境における課題が浮き彫りになっています。
XKCD パスワードの哲学
XKCD 方式のパスワードアプローチは、複数のランダムな単語をパスワードとして使用する方法(例:correct horse battery staple)を提案し、複雑な文字の組み合わせに代わる覚えやすい選択肢として登場しました。この方法は、特殊文字や数字に頼るのではなく、可能な単語の大きなプールを活用することで、セキュリティと使いやすさのバランスを取ることを目指しています。
現代のセキュリティ課題
コミュニティでの議論によると、 XKCD アプローチは依然として価値がありますが、現代のコンピューティングパワーによってセキュリティの状況は大きく変化しています。あるセキュリティ専門家は次のように指摘しています:
「 XKCD の漫画では攻撃者が1秒間に1000回の推測を行うと想定していますが、盗まれたハッシュに対して単一の GPU ボックスでも1秒間に数十億回の推測が可能です。そのため、漫画のセキュリティモデルは、現実的で一般的な脅威モデルと比較すると極めて楽観的すぎます。」
一般的なパスワード攻撃の速度:
- リモートサーバー(基本):毎秒約1,000回の試行
- bcrypt ハッシュ:毎秒約70,000回の試行
- md5crypt :毎秒約7,500万回の試行
- 最新の GPU (盗まれたハッシュの場合):毎秒約3,500億回の試行
実装と適応
コミュニティは、シンプルなシェルコマンドから高度なアプリケーションまで、このパスワード生成コンセプトの様々な実装を開発してきました。 1Password や Bitwarden を含む多くのパスワードマネージャーがこのアプローチを機能に組み込んでいます。ただし、開発者たちは現代の脅威に対応するため、より高いエントロピーと追加のセキュリティ対策のオプションを増やしています。
パスワード生成ツールの主な機能:
- 単語辞書の選択
- 単語数の設定
- カスタム区切り文字の設定
- 単語の長さ制限
- エントロピー計算
- 複数パスワードの一括生成
実用上の考慮事項
ユーザーによって指摘された重要な課題の一つは、理論的なセキュリティと現実世界の要件との間の矛盾です。多くのウェブサイトでは、特殊文字を要求したり長さ制限を設けたりするなど、純粋な XKCD アプローチと合致しないパスワードルールを強制しています。これにより、安全な単語の組み合わせに標準的な特殊文字を追加するなど、様々な適応が必要となっています。
パスワードセキュリティの進化
この議論は、パスワードセキュリティが継続的に進化していることを示しています。 XKCD アプローチの基本原則は、特にリモート攻撃ベクトルが主な懸念である特定のユースケースでは依然として有効ですが、暗号化されたドライブの保護や盗まれたパスワードハッシュからの防御など、オフライン攻撃が可能なシナリオではより高いエントロピーのソリューションが必要となる場合があります。
参考:はじめに