Recomendaciones del NIST 2 para Contraseñas: Mejora de Seguridad y Usabilidad
Contraseñas y ciberseguridad
Juan David Rosas Salas
Categorías:
Seguridad2025-01-16

Las contraseñas son combinaciones de caracteres utilizadas como una medida de seguridad para proteger información y restringir el acceso a sistemas, cuentas o dispositivos. Son esenciales para garantizar la privacidad y la seguridad en entornos digitales, ya que actúan como una barrera contra accesos no autorizados.
El Instituto Nacional de Estándares y Tecnología (NIST, por sus siglas en inglés) es una agencia del Departamento de Comercio de los Estados Unidos que promueve la innovación y la competitividad industrial mediante el avance de la ciencia, los estándares y la tecnología. En el ámbito de la ciberseguridad, el NIST proporciona guías y recomendaciones para mejorar la seguridad de los sistemas de información, incluyendo el manejo de contraseñas.
Los principales aspectos a tener en cuenta para la seguridad de las contraseñas son tres:
Longitud, complejidad y verificación.
➡️ Longitud de Contraseñas
- La longitud de una contraseña es un factor clave para su seguridad. Contraseñas cortas son vulnerables a ataques de fuerza bruta y ataques de diccionario. Para contrarrestar los ataques en línea, donde un atacante intenta adivinar la contraseña mediante múltiples intentos, se recomienda limitar la tasa de intentos permitidos. Para ataques fuera de línea, donde un atacante puede obtener contraseñas cifradas, se sugiere usar contraseñas largas y complejas, almacenadas con un valor de "salting" y un algoritmo de hashing computacionalmente costoso.
➡️ Complejidad de Contraseñas
- Las reglas de composición, que obligan a incluir una mezcla de caracteres, han demostrado ser menos efectivas de lo esperado. Los usuarios tienden a crear contraseñas predecibles como "Password1!" cuando se les exige incluir letras mayúsculas, números o símbolos. En lugar de imponer estas reglas, se recomienda permitir el uso de frases de contraseña, que son más fáciles de recordar y pueden ser igual de seguras.
- Es importante evitar rechazar contraseñas que contengan espacios o ciertos caracteres especiales, ya que estas restricciones pueden frustrar a los usuarios sin mejorar la seguridad. Además, se sugiere comparar las contraseñas con una lista de contraseñas no aceptables, incluyendo aquellas que han sido filtradas en brechas de seguridad previas, para evitar el uso de contraseñas comunes y fáciles de adivinar.
➡️ Verificación Central vs. Local
- La verificación de contraseñas puede realizarse de manera centralizada (por un proveedor de servicios en línea) o localmente (por el dispositivo del usuario). La verificación centralizada requiere almacenar contraseñas cifradas de manera segura, mientras que la verificación local depende de la seguridad física del dispositivo y la protección contra malware. Ambos métodos deben implementar mecanismos para limitar los intentos de adivinación de contraseñas.
➡️ ¿En resumidas cuentas?
Imponer requisitos de longitud y complejidad excesivos puede dificultar el uso de contraseñas y aumentar la frustración de los usuarios, quienes podrían buscar alternativas menos seguras. En lugar de complicar las reglas de las contraseñas, se deben implementar otras medidas de seguridad, como listas de contraseñas bloqueadas, almacenamiento seguro de contraseñas, uso de contraseñas generadas aleatoriamente y limitación de la tasa de intentos de inicio de sesión. Estas medidas son más efectivas para prevenir ataques modernos sin afectar negativamente la experiencia del usuario.