¿Existe algún algoritmo amigable para los humanos para elegir contraseñas (y no olvidarlas)?

[Divulgación: trabajo para AgileBits, los creadores de 1Password]

Sí, hay algunas formas amigables para los humanos de crear contraseñas fuertes y memorables. De hecho, mi pobre reclamo de fama es describir una de estas en Contraseñas maestras de Toward Better. La idea es que tome una lista fija de palabras y dibuje al azar de ellas. Debido a que estas son palabras, tendrá una mejor oportunidad de recordarlas, pero debe elegir las palabras de una manera verdaderamente aleatoria.

Esquemas tipo Diceware

El esquema que describí se deriva de un esquema llamado Diceware desarrollado por Arnold Reinhold en 1995. Reinhold reunió una lista de 7776 palabras con una lista de tiradas de dados. En Diceware tirarías un dado cinco veces para seleccionar cada palabra. Suponga que sus cinco rollos fueron 3, 5, 4, 4 y 6. Consulte la lista (una muestra de la cual se encuentra a continuación) y verá que esa es la palabra “tejer”


35443 sabía
35444 knick
Cuchillo 35445
35446 punto
Perilla 35451
35452 golpe

Haría esto para seleccionar cuatro o cinco palabras y esa sería su contraseña.

Después de que apareció mi artículo, XKCD lo resumió en un solo cómic:


Aunque el cómic no cuenta la historia completa. Es esencial que las palabras se escojan al azar . Como mi artículo trata de describir, los humanos son muy malos para ser aleatorios, incluso cuando intentan serlo. Por eso necesitas algo como dados.

Escribí un artículo de seguimiento hablando sobre las matemáticas del esquema Diceware y el cómic XKCD en Better Master Passwords: The geek edition

Las computadoras también pueden tirar dados

Disfruto tirando dados cuando necesito crear una contraseña segura y memorable. Pero no todos comparten mis gustos peculiares. Por lo tanto, en 1Password para Windows (vea mi divulgación arriba), incluimos un generador de contraseñas similar a los dados. Utiliza una lista mucho más larga de palabras en inglés. Pero es el mismo concepto. Estará disponible “cualquier día” en 1Password en otras plataformas.

Todavía solo puedes recordar algunos

Este sistema funciona para generar contraseñas seguras, fáciles de recordar y razonables. Pero debido a que es importante tener una contraseña única para cada sitio y servicio, este tipo de esquemas no serán suficientes.

No vas a memorizar cientos de estos junto con memorizar a qué sitio o servicio pertenecen. En cambio, podrá administrar un pequeño puñado de estos. Entonces, volviendo a mi divulgación, trabajo para una compañía que hace un administrador de contraseñas.

Nota historica

Además de Diceware de 1995, Leslie Lamport (de fama de LaTeX) utilizó un sistema como este para producir claves memorables de alta entropía en S / KEY en la década de 1980.

No estaba al tanto de la historia detrás del cómic xkcd, pero escribí otro
Random Word Password Generator basado en la selección de palabras al azar (estrictamente hablando, pseudoaleatorio). Al ajustar el tamaño del corpus, que se ordena por la frecuencia ngram de Google (cuán populares son las palabras), puede obtener palabras más comunes y, por lo tanto, posiblemente más memorables a expensas de la entropía.
Personalmente, uso el generador pero los guardo en una tienda encriptada en lugar de recordarlos. Una ventaja es que son más fáciles de escribir en el teclado de un teléfono que las contraseñas más cortas con muchos cambios de caracteres (mayúsculas, números, caracteres especiales).

Probablemente el mejor algoritmo amigable para los humanos es una interfaz amigable para los humanos con un algoritmo basado en computadora, es decir, un administrador de contraseñas. Yo y varios otros hemos seguido detenidamente en otras publicaciones sobre KeePass, 1Password y PasswdSafe. Sugiera probar uno de ellos. 🙂

Actualización: si está buscando algo completamente basado en el ser humano, puede considerar 936: Fortaleza de la contraseña, pero tenga en cuenta que para cualquier conjunto de cuentas razonablemente grande, está (salvo una memoria eidética, en cuyo caso puede generar contraseñas que se parece al ruido de la línea y no tiene problemas para olvidarlos) ir a a) olvidar las contraseñas yb) no seleccionar palabras al azar, lo que reduce la efectividad del proceso de generación de contraseñas.

Iría con frases más largas y oraciones completas. Desafortunadamente, la mayoría de los sitios web no aceptan esto. Espero que eso cambie pronto.