Zero Data RetentionQuantum-Ready Entropy256-bit MinimumClient-Side OnlyPost-Quantum ReadyZero KnowledgeNIST SP 800-63BFIPS 140-3 AlignedNo Account NeededDoD CompliantZero Data RetentionQuantum-Ready Entropy256-bit MinimumClient-Side OnlyPost-Quantum ReadyZero KnowledgeNIST SP 800-63BFIPS 140-3 AlignedNo Account NeededDoD Compliant
NIST14 min readUpdated February 2025

NIST SP 800-63B Password Guidelines: The Complete Summary

NIST Special Publication 800-63B changed everything we thought we knew about password requirements. Here is what it actually says in plain English.

What is NIST SP 800-63B?

NIST Special Publication 800-63B is the United States government's authoritative guidance document on digital authentication. Formally titled "Digital Identity Guidelines: Authentication and Lifecycle Management," it is published by the National Institute of Standards and Technology (NIST) and last substantively updated in 2020.

While SP 800-63B is technically a requirement only for US federal agencies and systems that interact with them, it has become the de facto global standard for password policy. When security auditors, compliance frameworks, and enterprise security teams want to justify a password policy, they cite NIST 800-63B.

The reason it matters: the 2017 update reversed decades of password advice that security professionals had accepted as settled. Understanding what changed — and why — is essential for anyone writing or implementing a password policy.

What changed from the old guidance

Before NIST 800-63B's 2017 update, the standard password policy advice was: require complexity (uppercase, lowercase, numbers, symbols), force rotation every 60–90 days, require security questions as a reset mechanism. These rules came from a 2003 NIST Special Publication written by a single author who later publicly stated he regretted writing them.

The research that accumulated over the following 14 years consistently showed these rules were counterproductive:

  • Complexity rules cause predictable substitutions: Password1! satisfies all four requirements and is trivially guessable
  • Mandatory rotation causes users to choose weaker passwords incrementally: Summer2023! becomes Summer2024!
  • Security questions are either guessable (mother's maiden name) or memorable in ways that make them weak
  • The cognitive burden of managing rotating complex passwords drives password reuse, which is far more dangerous than any of the problems the rules were trying to solve

The 2017 update replaced this paradigm entirely. The table below summarises the key reversals:

Policy areaOld guidance (pre-2017)NIST 800-63B (current)
Minimum length8 characters8 characters minimum, 64+ characters maximum
Complexity rulesRequired (uppercase + numbers + symbols)Not recommended — counterproductive
Mandatory rotationEvery 60–90 daysOnly on evidence of compromise
Security questionsStandard practiceExplicitly prohibited
Password hintsAllowedNot allowed
SMS OTP for MFARecommendedPermitted but not recommended (RESTRICTED)
Breached password checkNot mentionedRequired at creation and reset

Length over complexity

The single most important principle in NIST 800-63B is that length is a more reliable predictor of password strength than character diversity. The mathematics support this conclusively.

Consider the search space for two passwords:

  • 8-character password with all 4 character types: ~96 bits of theoretical maximum entropy, but the complexity rules constrain the actual distribution of characters in ways that significantly reduce real-world entropy. The average user choosing a "complex" password achieves around 30–40 bits of effective entropy.
  • 16-character lowercase passphrase: With a pool of 26 characters, the theoretical entropy is 75 bits — and crucially, users are far more likely to choose unpredictably, because long passphrases don't have the same human-pattern traps that short complex passwords do.

The practical implications for policy:

  • Set the minimum to 8 characters (the NIST minimum) — but recommend and encourage longer passwords
  • Set the maximum to at least 64 characters — long passphrases must be supported
  • Do not restrict which characters can be used — accept all Unicode, spaces, and special characters
  • Do not require specific character types — make them optional but show the entropy score

No mandatory password rotation

NIST 800-63B Section 5.1.1.2 states clearly: "Verifiers SHOULD NOT require memorized secrets to be changed arbitrarily (e.g., periodically)." This represents one of the most significant reversals in the document.

The reasoning: research consistently found that forced rotation caused users to:

  1. Choose weaker baseline passwords because they knew they'd need to change them soon
  2. Apply predictable transformations: Spring2024!Summer2024!
  3. Write passwords down to manage the cognitive load
  4. Reuse passwords across systems with slight variations

NIST's recommended approach: require password changes only when there is evidence that a credential has been compromised. "Evidence" includes:

  • The credential appearing in a known breach database (check against HIBP)
  • Suspicious login activity detected in audit logs
  • User reports suspected compromise
  • Phishing campaign known to have targeted the organisation
Note for regulated industries: NIST 800-63B is guidance, not law. PCI-DSS, some healthcare regulations, and certain government contracts may still require periodic rotation. Where a specific regulation conflicts with NIST, the regulation takes precedence. Document your rationale either way.

Banned password lists

Section 5.1.1.2 requires that newly chosen passwords be checked against a list of commonly used, expected, or compromised values. This is now standard practice and one of the most impactful controls you can implement.

NIST recommends blocking passwords that appear on:

  • Known breached credential lists — Have I Been Pwned (HIBP) Passwords API contains over 900 million known-compromised passwords
  • Dictionary words — single words or simple variations
  • Repetitive or sequential characters: aaaa, 1234, abcd
  • Context-specific words: the service name, username, organisation name

The HIBP k-anonymity API allows you to check passwords against the breach database without sending the password to any external server — only the first 5 characters of the SHA-1 hash are transmitted. This is the implementation PassGeni's breach checker uses.

MFA and authenticator guidance

NIST 800-63B defines three assurance levels (AAL1, AAL2, AAL3) and specifies which authenticator types meet each level. For most enterprise applications, AAL2 is the appropriate target.

Authenticator typeAAL levelNIST recommendation
Password onlyAAL1Acceptable for low-risk only
SMS / voice OTPAAL1 (RESTRICTED)Permitted but not recommended — SIM swap risk
Email OTP / magic linkAAL1Permitted but weak for high-risk access
TOTP authenticator app (Google Auth, Authy)AAL2Recommended
FIDO2 / WebAuthn hardware keyAAL3Highest assurance — phishing-resistant
Push notification (Duo, Microsoft Authenticator)AAL2Recommended — watch for push fatigue attacks

SMS OTP being marked RESTRICTED is significant. NIST doesn't prohibit it, but organisations at AAL2 should migrate away from SMS toward authenticator apps or hardware tokens, particularly for high-privilege access.

No security questions

NIST 800-63B explicitly prohibits knowledge-based authentication (KBA) — security questions — as a standalone authentication mechanism. The document is unambiguous: "Verifiers SHALL NOT use KBA for authentication."

The reasons are well-documented:

  • Answers to common security questions (mother's maiden name, first pet, high school) are often publicly available through social media
  • Users choose predictable answers or lie in consistent ways (favourite colour: always "blue")
  • KBA provides false confidence — it appears to add security while the actual entropy is often lower than a 4-digit PIN

If you are currently using security questions for account recovery, replace them with: email-based magic link recovery, SMS or authenticator OTP verification, or out-of-band identity verification for high-assurance systems.

Who must comply

NIST 800-63B is formally mandatory for US federal agencies and systems that interact with federal identity management. Beyond that, compliance is voluntary — but practically unavoidable:

  • SOC 2: Auditors commonly use NIST 800-63B as the reference for evaluating password controls under CC6.1
  • FedRAMP: Cloud service providers seeking FedRAMP authorisation must comply
  • HIPAA: HHS guidance references NIST standards as the implementation benchmark
  • CISA guidance: All critical infrastructure sectors are guided toward NIST standards
  • Cyber insurance: Many underwriters now require NIST-aligned controls as a policy condition

How to implement NIST 800-63B

A practical implementation checklist for aligning your password policy with NIST 800-63B:

  1. Set minimum password length to 8 characters — recommend 15+ characters in UX copy
  2. Set maximum length to at least 64 characters — do not truncate passphrases
  3. Accept all printable ASCII and Unicode characters including spaces
  4. Remove mandatory complexity requirements — make character type badges visual but not enforced
  5. Implement HIBP breach check at password creation and reset (k-anonymity API — no password transmitted)
  6. Block obvious bad passwords: dictionary words, sequential characters, username, service name
  7. Remove forced periodic rotation — change only on evidence of compromise
  8. Remove security questions — replace with email or OTP account recovery
  9. Implement account lockout after 10 failed attempts with exponential backoff
  10. Require MFA for all high-value access (admin accounts, systems with sensitive data)
  11. Document everything: policy, rationale, deviations, review schedule
PassGeni's password generator follows NIST 800-63B guidance: no complexity enforcement by default, length-first approach, and entropy scoring that reflects real-world strength rather than checkbox compliance.

Frequently asked questions

Does NIST require password rotation?

No. NIST SP 800-63B explicitly advises against mandatory periodic rotation unless there is evidence of compromise. Forced rotation encourages predictable patterns like 'Password1' to 'Password2'.

Does NIST require complexity (uppercase, symbols)?

No. NIST recommends against mandatory complexity rules. Instead, it recommends checking passwords against known breach lists and encouraging length.

What are the key NIST 800-63B password requirements?

NIST 800-63B requires: minimum 8 characters (64+ character maximum recommended), check against known-breached credential lists, allow all printable ASCII and Unicode, no mandatory complexity rules, no mandatory periodic rotation, no password hints, no knowledge-based authentication.

Does NIST 800-63B require password complexity?

No — NIST 800-63B explicitly discourages mandatory composition rules (uppercase, lowercase, numbers, symbols). The guidance states composition rules 'often make it harder for people to choose strong passwords' and recommends length and breach checking instead.

What does NIST say about password rotation?

NIST 800-63B explicitly advises against mandatory periodic rotation. Passwords should only be changed when there is evidence of compromise. Forced rotation encourages predictable minimal changes (Password1 → Password2) without improving security.

How does NIST 800-63B handle passphrases?

NIST 800-63B supports passphrases and recommends verifiers accept passwords of at least 64 characters (allowing multi-word passphrases with spaces). The guidance explicitly allows spaces and all Unicode characters, making long passphrases fully compliant.

What is the NIST recommendation on breach checking?

NIST 800-63B Section 5.1.1 recommends verifiers check submitted passwords against lists of known-compromised values, including passwords from previous breach corpora. This should happen at registration and password change. PassGeni's breach checker implements this via the k-anonymous HIBP API.

Does NIST 800-63B require MFA?

NIST 800-63B defines authentication assurance levels (AAL1, AAL2, AAL3). AAL2 (required for most sensitive applications) requires MFA. FIDO2 hardware keys achieve AAL3. Single-factor passwords are only appropriate for AAL1 (low-risk applications).

Is NIST 800-63B mandatory for private companies?

NIST 800-63B is mandatory for US federal government agencies. Private companies are not legally required to follow it, but it is widely adopted as the industry standard for authentication. HIPAA, PCI-DSS, and SOC 2 auditors increasingly reference NIST 800-63B as the technical benchmark for 'reasonable' controls.

What does NIST say about password hints and security questions?

NIST 800-63B explicitly prohibits password hints and knowledge-based authentication (security questions) as verification methods. These are considered weak factors that reduce overall security. Account recovery should use secondary authentication channels, not guessable personal information.

Related guides
← All guidesGenerate password →