Contraseña: por qué la longitud importa más que la complejidad

Creemos que hacemos bien añadiendo mayúsculas y símbolos. En realidad, una contraseña más larga —aunque esté compuesta únicamente de letras— es matemáticamente más robusta. Aquí explicamos por qué y qué implica esto para su seguridad.
¿Es mejor una contraseña larga o compleja?
La longitud supera a la complejidad. Es contraintuitivo, pero los números son contundentes.
Comparemos tres contraseñas:
- 8 caracteres, solo minúsculas (26 posibilidades por posición): 26⁸ = aproximadamente 208 000 millones de combinaciones
- 8 caracteres, todos los tipos combinados —minúsculas, mayúsculas, números, símbolos (95 posibilidades por posición)—: 95⁸ = aproximadamente 6,6 billones de combinaciones
- 16 caracteres, solo minúsculas: 26¹⁶ = aproximadamente 43 000 billones de billones de combinaciones
La tercera contraseña, la más sencilla en apariencia, es incomparablemente más resistente que las otras dos. Cada carácter adicional multiplica el espacio de posibilidades de forma exponencial, mientras que añadir tipos de caracteres solo produce una ganancia lineal.
¿Por qué sustituir letras por símbolos no sirve de nada?
Reemplazar una "a" por "@", una "o" por "0" o una "e" por "3" es una falsa buena idea. Estas sustituciones son conocidas desde hace décadas y están integradas en todas las herramientas de cracking modernas. "P@ssw0rd" no es significativamente más resistente que "password" frente a un ataque automatizado.
Este hábito genera una falsa sensación de seguridad. Proviene de las primeras recomendaciones de seguridad informática, en una época en que las herramientas de ataque eran menos sofisticadas. Hoy en día, es preferible una contraseña realmente larga y aleatoria que una contraseña corta disfrazada con símbolos.
¿Hay que cambiar la contraseña con regularidad?
No. El cambio periódico de contraseñas está oficialmente desaconsejado desde 2017 por el NIST, el organismo estadounidense de normalización en ciberseguridad.
Esta recomendación tiene una larga historia. En 2003, Bill Burr, entonces empleado del NIST, redactó la publicación SP 800-63, que se convirtió en una referencia mundial. En ella se preconizaba la complejidad obligatoria y el cambio cada 90 días. En 2017, ya jubilado, reconoció públicamente que aquellas recomendaciones se basaban en hipótesis de los años 80, sin datos empíricos sólidos.
El problema de la rotación forzada es concreto: empuja a los usuarios hacia variaciones predecibles —"Enero2024", "Enero2024!", "Febrero2024!"—. Es exactamente el patrón que un atacante prueba en primer lugar.
Una buena contraseña no tiene fecha de caducidad. Se cambia únicamente en caso de compromiso comprobado o sospechado.
¿Cuál es la diferencia entre un ataque en línea y uno fuera de línea?
Es una distinción fundamental que cambia radicalmente el nivel de seguridad necesario.
En un ataque fuera de línea, el atacante ha obtenido una copia de la base de datos (filtración, robo de copia de seguridad). Trabaja en local, sin ninguna limitación externa. Con una GPU moderna, puede probar varios miles de millones de combinaciones por segundo sobre un hash MD5, o varios cientos de millones sobre bcrypt. Solo la longitud de la contraseña y la calidad del cifrado marcan la diferencia.
En un ataque en línea, cada intento pasa por la red y el servidor. Los mecanismos de defensa cambian la ecuación: retardo progresivo entre intentos, bloqueo temporal tras varios fallos, captcha, detección de IPs sospechosas. Con un simple retardo de un segundo entre intentos, una contraseña de 10 caracteres se vuelve inattacable en la práctica.
Un servicio en línea correctamente protegido puede tolerar una contraseña razonablemente más corta que un archivo susceptible de ser exfiltrado y atacado fuera de línea.
¿Cómo protege un servidor las contraseñas almacenadas?
En caso de filtración de la base de datos, es el algoritmo de hash el que determina la resistencia de las contraseñas. No todos son equivalentes.
MD5 y SHA1 están obsoletos: se descifran a miles de millones de intentos por segundo. Bcrypt, diseñado para ser deliberadamente lento, sigue siendo una referencia probada con un coste de cálculo ajustable. Argon2, ganador del Password Hashing Competition en 2015, es hoy la recomendación vigente: resiste los ataques por GPU y por circuitos especializados (ASIC).
La sal (salt) completa el sistema: al añadir un valor único a cada contraseña antes del hash, garantiza que dos usuarios con la misma contraseña generen hashes diferentes. Esto neutraliza los ataques por rainbow tables.
¿Por qué no se debe reutilizar nunca una contraseña?
Porque miles de millones de pares usuario/contraseña procedentes de filtraciones circulan libremente. Los atacantes los prueban automáticamente en decenas de servicios: esto es el credential stuffing.
Si usa la misma contraseña para su correo electrónico y un foro hackeado hace tres años, su cuenta de correo está potencialmente comprometida. Y el correo electrónico es con frecuencia la llave de todo lo demás: es a través de él que llegan los enlaces de "contraseña olvidada" de todas sus otras cuentas.
La única defensa: una contraseña única por servicio, sin excepción. Esto es lo que hace indispensable en la práctica un gestor de contraseñas: nadie puede recordar decenas de contraseñas largas y aleatorias.
Servicios como Have I Been Pwned (haveibeenpwned.com) permiten comprobar si una dirección de correo o una contraseña aparece en alguna base de datos comprometida conocida. Es una herramienta útil para decidir objetivamente si cambiar una contraseña, sin esperar a una rotación arbitraria.
¿Qué es una passphrase y por qué es eficaz?
Una passphrase es una serie de palabras aleatorias usadas como contraseña —por ejemplo, "caballo batería grapa montaña cactus"—. Es a la vez larga, robusta y fácil de recordar.
La entropía de una passphrase de 5 palabras extraídas de un diccionario de 7 776 entradas (método Diceware) es comparable a la de una contraseña aleatoria de 12 a 14 caracteres. Su memorización es incomparablemente más sencilla.
La passphrase es especialmente adecuada como contraseña maestra de un gestor de contraseñas: la única que realmente hay que recordar. Para todas las demás contraseñas, es preferible usar un generador integrado: produce una aleatoriedad criptográfica sin sesgos humanos, algo que el cerebro no es capaz de hacer. El gestor de contraseñas de Octopussian incluye dicho generador.
¿Es suficiente una contraseña robusta para estar protegido?
No. Varios vectores de ataque hacen que la calidad intrínseca de la contraseña pierda toda relevancia.
El shoulder surfing —una mirada por encima del hombro en una oficina abierta o en el transporte público— se subestima porque no parece un ciberataque. Un keylogger, físico o de software, captura la contraseña antes incluso de que sea transmitida al servidor. Y el phishing lleva al usuario a introducir él mismo su contraseña en un sitio fraudulento: en ese caso, la longitud y la complejidad son completamente irrelevantes.
Estas realidades abogan por un enfoque multicapa: una buena contraseña es necesaria, pero no suficiente. La autenticación de dos factores y la vigilancia frente al phishing completan el dispositivo de protección.
¿Por qué la seguridad de las contraseñas es un asunto colectivo en la empresa?
Porque una sola cuenta comprometida puede exponer todo un espacio de trabajo compartido: datos de los compañeros, datos de clientes, reputación de la empresa.
Un colaborador que protege mal su acceso a una herramienta de seguimiento de tareas puede pensar que el riesgo es bajo. Pero esa herramienta contiene potencialmente especificaciones, comunicaciones con clientes, información sobre la arquitectura interna. Un atacante que entra por esa puerta puede moverse lateralmente hacia objetivos mucho más sensibles.
La seguridad de las contraseñas en equipo es una responsabilidad colectiva. Esto es lo que justifica disponer de funcionalidades de administración en un gestor de contraseñas: imponer reglas mínimas, verificar que cada miembro tiene activado el doble factor, poder revocar un acceso rápidamente sin depender de la buena voluntad individual.
¿Por qué algunos sitios imponen reglas de contraseñas absurdas?
Porque sus sistemas no gestionan correctamente las contraseñas en el lado del servidor. Una longitud máxima de 10 o 12 caracteres, la prohibición de ciertos caracteres especiales o el rechazo de determinadas combinaciones "por razones de seguridad" suelen revelar que la contraseña se almacena en texto claro o con un hash deficiente.
Una contraseña correctamente cifrada con bcrypt o Argon2 no tiene ningún motivo para estar limitada en longitud. Si un servicio le impide usar una contraseña larga y aleatoria, es una señal de alerta sobre la calidad de su seguridad global.
Lo que hay que recordar
- Priorice la longitud sobre la complejidad. 16 caracteres en minúsculas son más robustos que 8 caracteres con todos los tipos.
- No cambie sus contraseñas por rutina. El NIST lo desaconseja oficialmente desde 2017.
- Una contraseña única por servicio. El credential stuffing explota la reutilización a gran escala.
- Una passphrase para lo que deba recordar. Un generador para todo lo demás.
- En equipo, es un asunto colectivo. Una sola cuenta débil pone a todos en peligro.