Como cada primer jueves de mayo, hoy se celebra el Día Mundial de la contraseña, una fecha que nos recuerda la importancia de establecer credenciales seguras y robustas que no puedan ser adivinadas fácilmente. Sin embargo, los consejos para proteger nuestras cuentas de acceso a varios servicios profesionales o de ocio deben evolucionar con respecto a lo que se ha estado repitiendo desde los últimos 20 años.
La tecnología y las técnicas usadas por los atacantes han ido evolucionando y nosotros debemos hacer lo mismo no solo para proteger nuestras cuentas, sino también para evitar caer en la desesperación tras intentar recordar decenas de credenciales complejas. Por ese motivo actualizamos los consejos que solemos dar por estas fechas, esperando que sean útiles tanto a usuarios domésticos como corporativos.
Olvidémonos de tratar de imponer normas de generación de contraseñas innecesariamente complejas
Ya no es necesario establecer unas reglas de generación de contraseñas que resulten excesivamente complejas, reglas como las que exigen a los usuarios que incluyan tanto mayúsculas como minúsculas, números y varios caracteres especiales. Por desgracia, hacer que se cumplan a rajatabla este tipo de reglas no hace más que desalentar a los usuarios, ya que les impide memorizarlas, lo que provoca que generen estas contraseñas siguiendo un patrón predecible. De esta forma lo único que se consigue es el efecto contrario al propuesto, ya que las contraseñas generadas son fácilmente averiguables por los atacantes y difíciles de recordar por los usuarios.
Usemos palabras que compongan frases largas
En lugar de utilizar contraseñas más cortas pero difíciles de recordar, es mejor utilizar frases compuestas por palabras aparentemente sin conexión. Son más largas que las contraseñas habituales (y, por ende, más difíciles de romper) y también resultan más fáciles de recordar para el usuario.
Hace hacer unos años, la longitud mínima que se recomendaba para generar una buena contraseña era de ocho caracteres, y estos debían consistir en letras mayúsculas y minúsculas, caracteres especiales y números. Hoy en día, las herramientas automatizadas y la potencia de cálculo del hardware usado para romper contraseñas pueden adivinar una contraseña de este tipo en cuestión de minutos, sobre todo si esta se encuentra protegida con la función de hash MD5.
Según las pruebas realizadas por la empresa Hive Systems y publicadas en abril de 2023, una contraseña sencilla que sólo contenga minúsculas y mayúsculas pero que tenga al menos 18 caracteres tarda muchísimo más en descifrarse que una supuestamente elaborada de forma más compleja pero de una longitud menor.
Longitud mínima de 12 caracteres
Varias directrices enfocadas en ciberseguridad reconocen que la longitud es el factor clave en la seguridad de las contraseñas e introducen una longitud mínima requerida de 12 caracteres, que puede llagar incluso hasta un máximo de 64 caracteres tras combinar varios espacios. En resumen, cuando más larga sea una contraseña, mejor.
Variedad de caracteres
A la hora de establecer sus contraseñas, los usuarios deberían poder elegir entre todos los caracteres ASCII y UNICODE, e incluso hay quien aboga por incluir los emojis. También debería permitirse la opción de utilizar espacios, ya que estos forman parte natural de las frases utilizadas como contraseñas, una alternativa muy recomendada frente a las contraseñas tradicionales.
Evitemos la reutilización de contraseñas
A pesar de que se ha repetido hasta la saciedad que las contraseñas no deben ser reutilizadas y que cada servicio al que queramos acceder debe tener la suya propia, muchos usuarios siguen haciendo caso omiso. Esto permite a los atacantes comprometer varios servicios a la vez solamente consiguiendo averiguar o robar una sola contraseña.
Sin embargo, aunque el peligro de reutilizar las contraseñas sea muy real , alrededor de la mitad de los encuestados en un estudio de Ponemon Institute de 2019 admitieron reutilizar un promedio de cinco contraseñas pertenecientes a cuentas de su empresa o cuentas personales.
No establezcamos una fecha de caducidad para las contraseñas
Establecer una fecha de caducidad para las contraseñas es algo frecuente en las empresas y, sin embargo, varios organismos recomiendan no exigir estos cambios periódicos a menos que lo solicite el usuario o se haya comprobado que sus credenciales se han visto comprometidas. La razón es que los usuarios no tienen paciencia para pensar constantemente en nuevas contraseñas razonablemente seguras, y obligarlos a hacerlo a intervalos regulares puede ser más perjudicial que beneficioso, ya que se terminan generando patrones fácilmente averiguables en base a contraseñas ya caducadas.
Olvidémonos de las sugerencias y de la autenticación basada en el conocimiento
Las sugerencias de contraseñas y las preguntas de verificación basadas en el conocimiento hace tiempo que quedaron obsoletas. Aunque pueden ayudar a los usuarios a recordar contraseñas olvidadas, también pueden ser de gran valor para los atacantes. Se ha demostrado en varias ocasiones cómo los delincuentes pueden abusar de la opción «Recordar contraseña» para entrar en las cuentas de otras personas, por ejemplo en servicios como PayPal e Instagram.
Una pregunta como «el nombre de tu primera mascota» puede adivinarse fácilmente con un poco de investigación o ingeniería social, y el número de opciones posibles se reduce bastante con respecto a tener que averiguar una contraseña simplemente probando combinaciones de caracteres.
Lista negra de contraseñas comunes
En lugar de confiar ciegamente en las reglas de generación de contraseñas utilizadas durante años, sería muy útil comprobar que las nuevas contraseñas no coinciden con las existentes en una «lista negra» de las contraseñas más utilizadas o que hayan sido previamente comprometidas, clasificando aquellas que coincidan como inaceptables.
En 2019, Microsoft analizó las cuentas de sus usuarios comparando los nombres de usuario y las contraseñas con una base de datos de más de tres mil millones de conjuntos de credenciales filtradas. Encontró 44 millones de usuarios con contraseñas comprometidas y les obligó a restablecerlas.
Utilicemos gestores de contraseñas y otras herramientas
Los gestores de contraseñas permiten almacenar una gran cantidad de credenciales generadas de forma robusta, a la vez que el usuario tan solo debe recordar una contraseña maestra. Esta facilita enormemente la tarea de gestionar un número elevado de credenciales y es una solución muy apta para la mayoría de usuarios.
Los usuarios también deben poder elegir entre ver temporalmente toda la contraseña que normalmente aparece oculta cuando la introducimos o ver temporalmente el último carácter tecleado de la contraseña. Según las directrices de OWASP, la idea es mejorar la facilidad de uso de la introducción de credenciales, especialmente en todo lo relacionado con el uso de contraseñas largas, frases de contraseña y gestores de contraseñas.
Establezcamos un periodo de caducidad breve para las contraseñas iniciales
Cuando un nuevo empleado crea una cuenta, la contraseña inicial o el código de activación generados por el sistema deben ser aleatorios y seguros, tener al menos doce caracteres y contener letras y números.
No obstante, debemos asegurarnos de que esta contraseña caduca tras un breve periodo de tiempo y que el usuario no pueda usarla como la contraseña principal.
Notifiquemos a los usuarios los cambios de contraseña
Cuando los usuarios cambien sus contraseñas, se les debe pedir que introduzcan primero su antigua contraseña e, idealmente, que activen la autenticación de dos factores (2FA) siempre que esta se encuentre disponible. Una vez hecho esto, deberían recibir una notificación.
Cuidado con el proceso de recuperación de contraseñas
El proceso de recuperación no sólo no debe revelar la contraseña actual, sino que tampoco se debe indicar si la cuenta existe realmente o no. En otras palabras, no se debe proporcionar a los atacantes ninguna información innecesaria que pueda ser usada para robar las credenciales de los usuarios.
Utilicemos CAPTCHA y otros controles que eviten ataques automatizados
Es recomendable utilizar controles que eviten los ataques de prueba de credenciales comprometidas, fuerza bruta y de bloqueo de cuentas. Estos controles incluyen el bloqueo de las contraseñas vulneradas más comunes, bloqueos temporales, limitación de velocidad de navegación, CAPTCHA, retrasos temporales cada vez mayores entre los intentos, restricciones de direcciones IP o restricciones basadas en el riesgo, como la ubicación, el primer inicio de sesión en un dispositivo, los intentos recientes de desbloquear la cuenta o similares.
Según las directrices actuales de OWASP, debería haber como máximo 100 intentos fallidos por hora en una sola cuenta.
No confiemos únicamente en las contraseñas
Independientemente de lo fuerte y única que sea una contraseña, sigue siendo la única barrera que separa a un atacante de tus datos valiosos. A la hora de crear cuentas seguras, es imprescindible contar con una capa de autenticación adicional.
Por ese motivo se debe utilizar el doble factor de autenticación (2FA) o la autenticación multifactor (MFA) siempre que sea posible.
Sin embargo, no todas las opciones de 2FA son iguales. Los mensajes SMS, aunque son mucho mejores que la ausencia total de 2FA, son susceptibles a numerosos tipos de ataque. Las alternativas más seguras implican el uso de dispositivos de hardware dedicados y generadores de contraseñas de un solo uso (OTP) basados en software, como aplicaciones seguras instaladas en dispositivos móviles e incluso la eliminación total de las contraseñas como método de autenticación.