¿Passphrase o contraseña autogenerada?
Depende. Fin.
Siempre me ha fascinado la cantidad de posts en diversos blogs con un artículo que se supone que es para decidir entre varias opciones, y que después de varios párrafos con poca o nula información, la conclusión es "depende". Para evitar leer de más con la expectativa de que haya un ganador, diré que no lo hay, pero ahora que ya sabemos el desenlace, vamos a justificarlo.
¿Qué es eso de Passphrase?
Puede que desde hace un tiempo hayáis oído hablar (o leído) sobre las "passphrase", o "Frases de contraseña", pero no deja de ser una contraseña como cualquier otra; la diferencia es que se compone de palabras que pueden formar una frase (o algo parecido), y suelen seguir la estructura de palabra1-palabra2-palabra3-palabra4-palabra5. Un ejemplo creado con un generador automático podría ser "resigned-relic-repaint-dork-imprison", pero en realidad podemos elegir las palabras que queramos (y tantas como queramos).
Así que una "passphrase" es una contraseña más.
¿Son igual de seguras que las contraseñas "tradicionales"?
Nuevamente, depende. En este caso, al ser generalmente palabras, varía según el número de palabras que usemos y la longitud de las mismas. Por ejemplo, no es lo mismo usar "car-dog" que la anterior "resigned-relic-repaint-dork-imprison".
Pero con un mínimo de 4-5 palabras, de unas 4-5 letras por palabra, podemos decir que son tan o más seguras que las contraseñas tradicionales.
El "falso mito" de usar combinación de caracteres (números, letras, símbolos...)
Si bien es cierto que una contraseña con variedad de caracteres por lo general será más segura, depende mucho de cómo los combinamos (no es lo mismo h5?d2/3$8= que P45$w0r6), pero sobre todo de la entropía.
No entraremos en detallar qué es la entropía ni cómo se calcula, pero en resumen podemos decir que sería cuán compleja es la combinación de caracteres que utilicemos basándonos en la cantidad de combinaciones que permiten dichos caracteres.
Por ejemplo, si usamos sólo números, con una longitud de 4 dígitos, tenemos 10.000 combinaciones (de 0000 a 9999). En cambio, si en lugar de números usamos letras (sólo mayúsculas o minúsculas, sin mezclar), las combinaciones posibles aumentan a 456,976, usando únicamente 4 caracteres (de aaaa a zzzz). Aunque parezcan muchas, un ordenador actual, por cutre que sea, puede realizar todas esas combinaciones en apenas unos segundos (o incluso décimas de segundo).
La entropía lo que mide es esa complejidad, asignando un valor; si ese valor está por encima de 80, podemos decir que nuestra contraseña es aceptable.
Como orientación, una contraseña con una entropía de 80 utilizando una combinación de letras mayúsculas y minúsculas, llevaría unos 1.056.931.425.538.817.434.583.040 de intentos descubrirla; una entropía de 80, combinando todos los tipos, 8.871.870.642.308.849.722.195.968. A partir de ahí, cuanto mayor sea ese número, mejor.
Podemos calcular la entropia de nuestra contraseña en Password Strength/Entropy Calculator, donde no hace falta introducir la contraseña, sino que bastará con indicar la longitud y la combinación de caracteres que usamos.
Entonces, ¿cuándo usar una u otra?
Aquí viene el quid de la cuestión.
Como preferencia personal, y debido a que uso un gestor de contraseñas, todas mis contraseñas son "estándar" autogeneradas, y uso únicamente una passphrase como contraseña maestra de acceso a mi bóveda de contraseñas. El motivo de usar contraseñas "estándar" para todo lo demás es que muchas webs requieren de esa combinación de números, letras mayúsculas y minúsculas, y caracteres especiales, por lo que lo más sencillo es autogererar este tipo de contraseñas. El por qué usar una passphrase como contraseña maestra es muy sencillo, y vamos a verlo con un ejemplo.
Si nos basamos en la "buena práctica" de crear una contraseña lo más variada posible, pero suficientemente larga como para que sea segura, pongamos 16 caracteres, tendríamos algo como esto:
n+NdHKzD8sTBw!Vy
Y usando una passphrase de 3 palabras, usando '-' como separador, y con la primera letra mayúscula, tendríamos algo como:
Comer-bicicleta-peligro
La primera contraseña, de 16 caracteres, con letras mayúsculas y minúsculas, números y símbolos, nos da una entropía aproximada de 102.
La segunda, passphrase de 3 palabras (23 caracteres), sin contar el carácter especial '-', aproximadamente 131. Si la "parafraseamos" podemos convertirla en algo tipo:
Comer en bicicleta es peligroso
Generando una entropía de 177 (sin contar los espacios).
La primera contraseña llevaría unos 5.072.820.298.953.850.746.041.849.085.952 de intentos descubrirla (883.911.738.099.338 años en el peor de los casos), la segunda 157.073.764.616.095.501.034.575.728.550.038.839.361.270.735.840.477.184 (1,0.691.068.485.095.624e+43 años).
Dejando de lado la entropía, creo que no es difícil deducir cuál es más fácil de recordar. Aunque la segunda sea aparentemente más sencilla de descifrar para nosotros, seres supuestamente racionales, es más compleja para un ordenador a base de "fuerza bruta". Y aunque sea mucho más larga, en cuanto la hayamos escrito unas cuantas veces, y gracias en parte también a la "Memoria Muscular", la podremos recordar y escribir sin problemas.
Passphrase como contraseña maestra, "tradicionales" para las demás
Como resumen, podemos decir que, como preferencia personal, lo mejor es, por una parte, usar un gestor de contraseñas sí o sí, es la forma más fácil y rápida de gestionar todas nuestras contraseñas. Por otra, utilizar una passphrase lo suficientemente larga (unos 25 caracteres) como contraseña maestra, y las demás que sean estándar autogeneradas por nuestro gestor de contraseñas, a poder ser de como mínimo 16 caracteres con combinaciones de todo tipo.
Y sí, lo más seguro es que si nunca habéis usado un gestor de contraseñas os dé respeto pensar qué pasa si perdéis o se os olvida la contraseña maestra, pero en otra entrada hablaremos sobre cómo usarlos de la mejor forma para estar tranquilos, y sobre todo cómo preparar un buen "kit de recuperación".
Os dejo algunos recursos relacionados por si os pueden ser de utilidad: