Contraseñas: si está haciendo una frase de contraseña de dados, ¿por qué se recomienda hacerlo completamente fuera de línea?

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

Como otros mencionaron, realmente no debes permitir que algún software remoto genere tu contraseña. Y no debe transmitir esa contraseña a través de la red a menos que esté bien protegida.

Pero, por supuesto, hay generadores de contraseñas que se ejecutan en su propia computadora. De hecho, el Generador de contraseñas seguras dentro de 1Password (vea la divulgación anterior) ofrece un generador similar a Diceware. Por lo tanto, la pregunta sigue siendo si debe usar algo como esto o si la generación debe estar completamente fuera de línea y debe usarse tirando dados.


Un poco de historia. Arnold Reinhold propuso Diceware por primera vez en 1995, por lo que hay algunas cosas a tener en cuenta.

  1. La mayoría de las computadoras no tenían generadores de números aleatorios criptográficamente apropiados.
  2. Estas fueron pensadas como frases de contraseña PGP, y algunos usuarios consideraron la NSA y otras entidades muy poderosas en su modelo de amenaza.
  3. Hacerlo con dados es divertido.

OK, esa tercera es mi adición en Toward Better Master Passwords (que, en un alarde no tan humilde, se publicó varias semanas antes del cómic XKCD).

Entonces, en este contexto de no confiar en su computadora y no tener el tipo correcto de generadores de números aleatorios, tirar los dados es una buena manera de hacerlo.

La dificultad con lanzar dados es que limita el tamaño de la lista de palabras que podría usarse. Trabaje con cinco tiradas de un dado ordinario (seis caras), la lista se limitó a 7776 palabras. Cuando no estamos limitados de esa manera, podemos ser más flexibles sobre el tamaño de la lista de palabras.

Escribí uno en Random Word Password Generator, inspirado en la caricatura xkcd de Password Strength.

Como señalo, si fuera malicioso, podría rastrear su dirección IP o huella digital en su navegador (ver Panopticlick), y registrar la frase de contraseña que elija. De hecho, yo mismo uso ese algoritmo, o al menos una versión fuera de línea del mismo generador, y lo considero “lo suficientemente bueno” para todos los propósitos normales. Las palabras son más aleatorias que si las hubiera elegido yo mismo; podría terminar con “naranja / flechazo”, por ejemplo, por prejuicios inconscientes.

Si un adversario lo está atacando y sabe que utiliza un servicio en línea en particular para generar contraseñas, podría subvertir la red o el generador, por ejemplo, mediante un ataque de intermediario y capturar sus contraseñas. Por lo tanto, no es una buena idea para generar códigos de lanzamiento nuclear o la contraseña maestra para una autoridad de certificación de nivel superior.

No es inherentemente inseguro hacerlo en línea, pero no sabrá si la versión digital es segura. Tendría que ver el código del generador y verificar que sea seguro, ni sabría qué sucede con las contraseñas si se almacenan en un servidor. Crear una contraseña sin Internet será más seguro que con. El Diceware en sí no se vuelve menos seguro, al igual que la forma en que se maneja la contraseña.