Reglas de contraseñas NIST 800-63B: resumen práctico 2026

Resumen en lenguaje sencillo de las directrices NIST SP 800-63B. Qué cambió, por qué se eliminaron las reglas de complejidad y cómo implementar políticas de contraseñas conformes.
Lectura imprescindible
¿Qué es NIST SP 800-63B?
NIST SP 800-63B es parte de las Directrices de Identidad Digital emitidas por el Instituto Nacional de Estándares y Tecnología de EE.UU. Aunque obligatorias para agencias federales, se han convertido en el referente global de seguridad de contraseñas.
La revisión más reciente cambió fundamentalmente cómo la comunidad de seguridad piensa sobre contraseñas. Rechazó décadas de sabiduría convencional — reglas de complejidad obligatorias, cambios periódicos y preguntas de seguridad — a favor de prácticas basadas en evidencia.
Comprender estas directrices es esencial ya seas desarrollador, administrador de IT o usuario individual. Esta guía traduce el documento técnico en recomendaciones accionables.
Orientación relacionada
Los cambios clave: lo que NIST acertó
Eliminar reglas de complejidad obligatorias. NIST recomienda explícitamente no exigir mayúsculas, dígitos o caracteres especiales. La investigación muestra que la complejidad forzada lleva a patrones predecibles. En su lugar, NIST se enfoca en la longitud como indicador principal de fortaleza.
Dejar de exigir cambios periódicos. Forzar cambios cada 60-90 días causa cambios mínimos incrementales (Password1 → Password2). NIST ahora recomienda cambiar solo cuando hay evidencia de compromiso.
Verificar contra listas de contraseñas filtradas. Usar la API Have I Been Pwned Passwords con k-anonimato para verificar más de 900 millones de contraseñas filtradas.
Permitir contraseñas largas. Los sistemas deben aceptar hasta al menos 64 caracteres. Truncar silenciosamente es una falla grave que NIST prohíbe explícitamente.
Requisitos de longitud mínima
NIST establece un mínimo absoluto de 8 caracteres para contraseñas elegidas por usuarios y 6 para PINs generados aleatoriamente. Sin embargo, 12 caracteres es el mínimo práctico recomendado y 15+ el ideal.
Para activos de alto valor (email principal, billeteras crypto, acceso root), se recomiendan 16+ caracteres o frases de 5+ palabras.
Los sistemas no deben imponer un máximo menor a 64 caracteres.
- 8 caracteres: mínimo absoluto NIST
- 12 caracteres: mínimo práctico recomendado
- 15+ caracteres: recomendado para cuentas importantes
- 64 caracteres: máximo mínimo que los sistemas deben soportar
- 6 dígitos: mínimo para PINs generados aleatoriamente
Listas de contraseñas prohibidas y verificaciones de diccionario
NIST requiere verificar nuevas contraseñas contra listas de contraseñas comunes, esperadas o comprometidas. La lista debe incluir: contraseñas de filtraciones anteriores, palabras del diccionario, caracteres repetitivos o secuenciales, y palabras contextuales.
Cuando se rechaza una contraseña, el sistema debe proporcionar una explicación clara, no mensajes genéricos.
La API Have I Been Pwned usa k-anonimato: tu aplicación envía solo los primeros 5 caracteres del hash SHA-1 y verifica localmente. La contraseña nunca sale del dispositivo.
Almacenamiento de contraseñas: requisitos de hashing
NIST requiere almacenar contraseñas usando funciones de derivación de claves con uso intensivo de memoria. Los algoritmos recomendados son Argon2id, bcrypt (factor mínimo 10) o PBKDF2-HMAC-SHA256 (mínimo 600.000 iteraciones).
Argon2id es la opción preferida para nuevas implementaciones. Es resistente a ataques GPU y de canal lateral.
Nunca uses funciones hash criptográficas simples (MD5, SHA-1, SHA-256) para almacenar contraseñas. Un atacante con GPU moderno puede calcular miles de millones de hashes SHA-256 por segundo.
Siempre usa un salt aleatorio único por contraseña (mínimo 128 bits).
Autenticación multifactor
NIST recomienda fuertemente MFA para cualquier sistema que maneje datos sensibles. Los tres factores son: algo que sabes, algo que tienes, algo que eres.
NIST clasifica autenticadores en tres niveles (AAL1, AAL2, AAL3). AAL2 requiere dos factores diferentes y es adecuado para la mayoría de aplicaciones empresariales.
Los códigos SMS se clasifican como autenticador "restringido" por vulnerabilidades conocidas (SIM swapping, interceptación SS7). Se prefieren apps TOTP (Google Authenticator, Authy) o llaves FIDO2 (YubiKey).
Con MFA implementado, NIST permite relajar algunos requisitos de contraseñas, aunque las contraseñas débiles siguen siendo un riesgo.
Checklist de implementación
Elimina requisitos de complejidad existentes. Establece longitud mínima de 12 caracteres y máxima de al menos 64. Implementa verificación de contraseñas filtradas con HIBP API.
Actualiza el almacenamiento a Argon2id, bcrypt o PBKDF2. Si migras desde un hash más débil, rehashea transparentemente cuando los usuarios inicien sesión.
Elimina cambios periódicos de contraseñas. Implementa detección de filtraciones y limita intentos de inicio de sesión.
Habilita MFA priorizando FIDO2/WebAuthn o apps TOTP. Ofrece instrucciones claras de registro y recuperación.
- Eliminar mandatos de complejidad
- Longitud mínima 12, máxima 64+
- Verificar contra listas filtradas (HIBP API)
- Usar Argon2id / bcrypt / PBKDF2
- Eliminar rotación periódica
- Limitar intentos de inicio de sesión
- Desplegar MFA (FIDO2 > TOTP > SMS)
- Mensajes claros al rechazar contraseñas