Hay una búsqueda que se repite mucho: ideas para una contraseña. Y se entiende, porque el formulario está ahí esperando, hay que inventar algo y nadie te ha explicado nunca cómo se hace.
El problema es que la palabra «ideas» ya es el fallo. Una contraseña buena no es una idea buena. Es una contraseña que no tiene ninguna idea detrás.
Y esto no es una frase bonita para abrir un artículo: es literalmente cómo funciona un ataque.
La lista de ideas que se te ocurren es la lista que él prueba primero
Un ataque por diccionario no empieza en aaaaaaaa y va subiendo. Empieza por las
contraseñas que ya se filtraron millones de veces, sigue por nombres propios,
nombres comunes, ciudades, equipos de fútbol y años de cuatro cifras. Y encima de
esa base aplica reglas: mayúscula al principio, número o ! al final, la a por
@, la e por 3, la o por 0, la palabra escrita al revés, la palabra
repetida dos veces.
Esas reglas no son un secreto ni una novedad. Llevan décadas escritas y vienen de serie en cualquier herramienta de ataque. Dicho de otro modo: el catálogo de ocurrencias que tú llamarías «ideas para una contraseña» es, más o menos ordenado, el fichero de configuración de quien te ataca.
De aquí en adelante, todas las cifras salen del comprobador de esta casa, que asume un ataque offline a 10¹² intentos por segundo contra un hash rápido. Ese dato está escrito debajo del resultado, y sin él ningún tiempo significa nada. Puedes reproducir cada número tú mismo: escribe el ejemplo y mira.
Idea uno: tu nombre y el año en que naciste
Marta1985. Nueve caracteres, mayúscula, cuatro dígitos. Cumple con lo que exige
media internet.
El comprobador la parte en dos de un vistazo: «Está en nuestros diccionarios»
para Marta, «Parece un año o una fecha» para 1985. El resultado son
892.400 intentos, que a ese ritmo es menos de un segundo.
Y fíjate en por qué son 892.400 y no un número astronómico. No es que sea corta. Es que no son nueve decisiones, son dos: qué nombre y qué año. Los nombres frecuentes se cuentan por miles; los años que la gente pone en una contraseña, por decenas. Multiplicas y ya está: has escrito nueve caracteres y has elegido entre menos de un millón de contraseñas posibles.
Idea dos: cambiar la «a» por una arroba
Este es el truco que todo el mundo cree que funciona, y el que peor envejece.
M@rt@1985 da 1,8 millones de intentos. Ha subido, sí: exactamente al
doble. Y el doble de nada sigue siendo nada —el comprobador la sigue midiendo
en menos de un segundo—, porque la sustitución no ha creado una contraseña nueva,
solo ha añadido una pregunta binaria que el atacante ya tenía prevista: ¿esta
persona sustituyó la a o no?
Fíjate en que el comprobador ni siquiera cambia el veredicto: sigue diciendo «Está en nuestros diccionarios», con la coletilla con números en lugar de letras. Encontró la palabra igualmente.
Si quieres ver hasta dónde llega el asunto, prueba el ejemplo canónico.
P@ssw0rd, con su mayúscula, su arroba, su cero y su aire de estar bien pensada,
cae en 17 intentos. Diecisiete. Es un número que se cuenta con los dedos de
dos manos y un poco de paciencia.
Idea tres: escribirla al revés
atram1985 da 892.400 intentos. El mismo número, hasta la última cifra, que
Marta1985.
No es que la inversión ayude poco. Es que no cambia absolutamente nada. Invertir la palabra es una de las reglas que trae el diccionario de fábrica, así que el comprobador la encuentra igual y la etiqueta igual, esta vez con la coletilla escrita al revés.
Lo mismo pasa con repetirla: MartaMarta baja a 17.651 intentos, es decir,
escribir el doble de letras te deja peor que antes, porque «repite un trozo»
también es un patrón con nombre propio.
Idea cuatro: bajar por el teclado con los dedos
Cuando alguien no quiere pensar, mira el teclado y recorre una forma. Sale
qwerty123, o 1qaz2wsx, o 1q2w3e4r, o asdfghjkl.
Se siente aleatorio porque no significa nada. Pero el teclado tiene una geometría fija y muy pequeña, y recorrerla es justamente lo que un programa hace mejor que tú:
qwerty123→ 273 intentos.1qaz2wsx→ 29 intentos.
Veintinueve. Estas contraseñas están tan trilladas que ya ni hacen falta las reglas de teclado: aparecen tal cual en las listas de contraseñas filtradas, y el comprobador las señala con un escueto «Está en nuestros diccionarios».
Idea cinco: el perro, y la fecha que nunca se te olvida
Toby2015! es una contraseña con biografía: el nombre del perro, el año en que
llegó a casa y una exclamación para contentar al formulario. Da 1,2 × 10⁸
intentos, y sigue siendo menos de un segundo.
Los nombres de mascota más comunes son unos pocos miles, y están en las mismas
listas que los nombres de persona. El ! final aporta lo que aporta una regla
que todo el mundo aplica: nada.
Con la fecha señalada pasa algo aún más incómodo. 24121985 —un día, un mes, un
año— se lee como ocho cifras, pero el comprobador lo etiqueta «Contiene una
fecha» y lo resuelve en 14.966 intentos. La razón es de calendario: hay 31
días, 12 meses y un siglo largo de años plausibles. Ocho dígitos que parecen diez
millones de combinaciones son, en realidad, unas quince mil.
Esa es la trampa de la fecha: te da longitud sin darte incertidumbre, que es lo único que se paga.
Idea seis: la matrícula del coche, y lo que el comprobador no puede ver
4521KDR es distinta, y merece pararse.
Aquí el comprobador dice «No hemos encontrado ningún patrón conocido» y calcula 3,9 × 10¹⁰ intentos. Pero marca ese número como un techo, y esa palabra es la parte importante: no ha encontrado tu patrón, lo cual no demuestra que no lo tengas. Aun así, y siendo generoso, el tiempo sigue siendo menos de un segundo.
Y ahí está el hueco que hay que entender. El comprobador no sabe qué coche tienes. Quien te conoce, quien tiene tu Instagram delante o quien compró un volcado de datos donde figura tu matrícula, no necesita 3,9 × 10¹⁰ intentos: necesita uno. El número que ves cuando no hay patrón mide la ignorancia de un desconocido, no la de alguien que te ha buscado.
Lo mismo vale para el número de portal, el DNI, el teléfono y la fecha de la boda.
Lo que tienen en común las seis
Ninguna de estas ideas falla por ser «poco compleja». Todas fallan por lo mismo: son autobiografía, y la autobiografía se adivina. Tu nombre, tu año, tu perro, tu coche, tu forma de recorrer el teclado. Cada una de esas decisiones parece tuya y personal, y precisamente por eso pertenece a una lista corta que alguien ya ha escrito.
Añadirle complejidad no arregla nada, porque la complejidad que tú aplicas
también es una decisión tuya y también está en la lista. Por eso M@rt@1985 sube
un mísero factor dos y atram1985 no sube ni eso.
Si quieres el argumento en números, está en los bits de entropía: lo que cuenta no es cuántas contraseñas podrías haber escrito, sino cuántas quedan una vez descontado todo lo que se sabe de tus gustos.
La salida no es tener una idea mejor: es dejar de tener ideas
La única forma de salir de la lista es que la contraseña no salga de tu cabeza.
Eso es exactamente lo que hace Diceware: tiras cinco dados, buscas el número en una lista de 7.776 palabras y anotas lo que sale. Cada tirada vale 12,9 bits, y son 12,9 de verdad, porque los dados no tienen gustos ni memoria ni tu año de nacimiento. Seis palabras son unos 77 bits.
Métela en el comprobador y verás lo que cambia: seis palabras corrientes sacadas a dados pasan de «Muy Débil» a «Muy Fuerte», y el tiempo deja de medirse en segundos. No porque sean rebuscadas —no lo son, son seis palabras normales— sino porque es lo único que no has decidido tú. Si prefieres que las tire el navegador por ti, el generador hace el mismo sorteo y te enseña los bits mientras lo hace.
Así que la respuesta honesta a «dame ideas para una contraseña» es que no las necesitas, y que además te sobran. Lo que te falta es un dado.
Fuentes: todas las cifras de este artículo salen del comprobador de password.es, que declara su modelo debajo del resultado —10¹² intentos por segundo, ataque offline, hash rápido— y son reproducibles escribiendo cada ejemplo en /comprobador/ · el motor de análisis de patrones es zxcvbn, de Dan Wheeler (Dropbox), presentado en USENIX Security 2016 como «zxcvbn: Low-Budget Password Strength Estimation» · las reglas de sustitución, inversión y repetición que se citan son las que traen de serie las herramientas de ataque por diccionario · Arnold G. Reinhold, «The Diceware Passphrase Home Page» (1995), para las 7.776 palabras y los 12,9 bits por tirada.
Foto de RDNE Stock project · Pexels