NIST SP 800-63B パスワードガイドライン
NIST SP 800-63Bパスワードガイドラインを理解します。最小長さ要件、禁止パスワードリスト、NISTが強制的な複雑さルールと定期的なローテーションに反対する理由を学びます。
詳細な説明
NIST SP 800-63B パスワード要件
米国国立標準技術研究所(NIST)はSpecial Publication 800-63B(デジタルアイデンティティガイドライン)を発行し、パスワードのベストプラクティスを根本的に変更しました。その多くの推奨事項は従来の企業パスワードポリシーと矛盾しています。
NISTの主要な推奨事項
1. 最小長さ:8文字(15文字以上推奨)
NISTはユーザーが選択するパスワードに最低8文字を要求し、少なくとも64文字までのパスワードをサポートすることを推奨しています。生成されたパスワードやパスフレーズには、はるかに長い文字列を推奨しています。
2. 構成ルールなし
NISTは特定の文字タイプ(大文字、小文字、数字、記号)の要求に明確に反対しています。研究によると、強制的な複雑さは予測可能なパターンにつながります:
Password1! <- 複雑さルールを満たすが弱い
Tr0ub4dor&3 <- ルールを満たすがパターンに従っている
代わりに、NISTは主要な強度指標として複雑さよりも長さを支持しています。
3. 漏洩パスワードリストとの照合
パスワードは既知の侵害されたパスワードのデータベースと照合すべきです:
- データ侵害で漏洩したパスワード
- 辞書の単語
- 反復的または連続的な文字(
aaaa、1234) - コンテキスト固有の単語(ユーザー名、サービス名)
4. 強制的な定期ローテーションなし
NISTはスケジュールに基づくパスワード変更の強制(30/60/90日ごと)に反対しています。強制ローテーションは予測可能な増分変更につながります:
Summer2024! -> Fall2024! -> Winter2025!
パスワードは侵害の証拠がある場合にのみ変更すべきです。
5. パスワードヒントや知識ベースの質問なし
セキュリティの質問(「お母さんの旧姓は?」)はソーシャルメディアを通じて簡単に調査できます。NISTはこれらを完全に排除することを推奨しています。
NISTガイドラインの実装
NIST推奨に準拠したパスワードを生成する場合:
- 最大限のセキュリティのために長さを15文字以上に設定
- ランダム性にCSPRNGを使用
- 生成されたパスワードを侵害データベース(例:Have I Been Pwned API)と照合
- モダンなハッシュ関数(Argon2id、bcrypt、またはscrypt)を使用してパスワードを保存
ユースケース
NISTガイドラインは米国政府機関のゴールドスタンダードであり、民間組織にも広く採用されています。認証システムを構築する開発者、パスワードポリシーを評価するセキュリティ監査人、Active DirectoryやLDAPポリシーを設定するIT管理者は、NIST SP 800-63Bを最新のパスワード要件のベースラインとして従うべきです。