listas de múltiples dados para hacer frases de contraseña memorables?

6

Entiendo los conceptos básicos de por qué diceware produce una buena seguridad y por qué las frases de contraseña de siete palabras son una buena idea en estos días.

El EFF ha producido útiles listas actualizadas de diceware que eliminan muchas de las molestias de memorizar las frases de contraseña de diceware. (vea enlace )

Sin embargo, una frase de contraseña de siete palabras, incluso si se usa la nueva lista de juegos de dados de la EFF, puede ser difícil de recordar. Claro, con el tiempo, la mayoría de la gente lo recordará, pero me pregunté si no hay una forma más sencilla de lograr la seguridad y la memorización.

(Disculpe de antemano si se trata de una repetición de algo que las personas más inteligentes ya han pensado)

Dado que el conocimiento de la lista de software de dados es irrelevante, ya que solo la longitud de la lista de palabras únicas contribuye a la entropía, presumiblemente, elegir entre varias listas es tan seguro como elegir una y otra vez.

Entonces, ¿por qué no crear cuatro listas separadas, cada una con 7,776 palabras, pero cada una estrictamente limitada a a) adjetivos, b) sustantivos, c) verbos yd) adverbios?

Se creará normalmente una frase de contraseña de diceware, tirando 5 dados por cada palabra.

Pero, suponiendo que apuntamos a una frase de contraseña de siete palabras, elegiríamos:

palabra 1 de la lista a (adjetivos) palabra 2 de la lista b (sustantivos) palabra 3 de la lista c (verbos) palabra 4 de la lista b (sustantivos) palabra 5 de la lista d (adverbios)

Esto produciría una oración en inglés de la forma:

adjetivo sustantivo verbo sustantivo adverbio (por ejemplo, la chimenea azul come al perro enérgicamente)

lo que probablemente sería extraño, pero también fácil de recordar para la mayoría de las personas (con no menos entropía que una frase de contraseña de cinco palabras elegida de la lista de software estándar de dados o de la lista larga de software de dados de EFF).

Sin embargo, no es lo suficientemente largo para la seguridad, por lo que podríamos continuar y elegir:

palabra 6 de la lista b (sustantivos) palabra 7 de la lista d (adverbios)

dando como resultado una frase de contraseña de 7 palabras de la forma:

adjetivo sustantivo verbo sustantivo adverbio sustantivo adverbio (por ejemplo, la chimenea azul come bastante enérgicamente la televisión)

Bofetear un "y" entre la quinta y sexta palabra y la oración probablemente sea tan fácil de recordar. Presumiblemente, el "y" no puede disminuir la seguridad porque, aun sabiéndolo, todavía tenemos 7776 ^ 7 combinaciones de palabras en la oración.

Supongo que el mayor problema con este esquema es que puede que no haya 7.776 adverbios en el idioma inglés (o tal vez haya?).

En ese caso, todavía podemos usar un esquema similar, usando dos oraciones construidas solo a partir de listas de adjetivos (de los cuales probablemente haya un orden de magnitud más de lo necesario en inglés), sustantivos y verbos, como por ejemplo:

palabra 1 de la lista a (adjetivos) palabra 2 de la lista b (sustantivos) palabra 3 de la lista c (verbos) palabra 4 de la lista b (sustantivos) palabra 5 de la lista b (sustantivos) palabra 6 de la lista c (verbos) palabra 7 de la lista b (sustantivos)

Dale un punto y coma o punto entre las palabras 4 y 5 si quieres y obtienes algo como esto:

adjetivo sustantivo verbo sustantivo sustantivo verbo sustantivo (por ejemplo, la chimenea azul se come al perro; la televisión vuela a la pizza)

Especulo que este tipo de oraciones son más fáciles de recordar para la mayoría de las personas porque crean imágenes de acción que las personas pueden recordar fácilmente. En el ejemplo anterior, sería como una chimenea azul que se come a un perro, mientras que un televisor vuela sobre una pizza.

Se podría hacer una frase de contraseña de 8 palabras incluyendo un adjetivo en la segunda oración también, obviamente.

¿Es esta una estrategia ya explorada?

¿Tiene debilidades conocidas?

¿Hay listas publicadas de software en dados de sustantivos, verbos y adjetivos? (¿Y adverbios?)

    
pregunta Some Guy 29.12.2017 - 06:45
fuente

4 respuestas

1

Su análisis es correcto. La única "debilidad" es que al elegir el mismo número de palabras de una única lista combinada (todas las diferentes listas de partes de discurso combinadas en una gran lista) la entropía sería técnicamente mayor, pero suponiendo un número apropiado de palabras que la seguridad adicional es en su mayoría redundante.

Hay un plugin "generador de frase de contraseña legible" para KeePass que creo que hace algo similar. He usado el plugin "secuenciador de palabras" con listas personalizadas para hacer exactamente lo que sugieres, aunque no encontré 7776 palabras para cada lista. Saqué mis listas de palabras del proyecto Moby, que tiene una lista de "partes del discurso" disponible.

    
respondido por el Ben 30.12.2017 - 05:55
fuente
3

Si bien no responden directamente a tu pregunta, creo que leer algunas de las otras preguntas relacionadas con la contraseña en este sitio te ayudará a pensar en este proceso. Comenzaría simplemente con esta pregunta, que también es la pregunta más popular en este sitio. Juntas, las respuestas realmente desglosan las preocupaciones relevantes de seguridad y usabilidad:

XKCD # 936: Contraseña compleja corta, o ¿frase de contraseña larga del diccionario?

Lo que falta (como parece entender) es que cualquier estrategia de generación de contraseñas se reduce a la entropía, que puede entenderse como "aleatoriedad". Seleccionar 7 veces de una lista de palabras con 7,776 palabras le daría un total de aproximadamente 1.719e27 posibles contraseñas, o aproximadamente 90 bits de entropía. El hecho de que cambie entre las listas para el orden de palabras dado no cambia realmente la imagen sustancialmente (técnicamente tiene más palabras para elegir, pero cambia entre la lista de opciones de una manera predecible). Como resultado, desde un punto de vista estrictamente de entropía, esto no es sustancialmente más fuerte o más débil que un patrón de generación de software de dados más estándar. Por otro lado, si hace que sea más fácil recordar la contraseña, al menos sería una mejora de la facilidad de uso, y eso siempre es bueno.

Dicho esto, ambos son ciertamente "suficientemente seguros" para el futuro previsible. Sería relevante este hilo que habla de una contraseña con 80 bits de entropía:

es un 80 ¿Contraseña de bit lo suficientemente buena para todos los propósitos prácticos?

Y esto analiza los límites prácticos para descifrar los hashes de contraseña:

enlace

Todo lo cual se reduce a lo mismo: descifrar una contraseña con 90 bits de entropía probablemente costaría más que toda la producción económica de los EE. UU., pero aún es vulnerable a los ataques de phishing, ingeniería social, etc.

    
respondido por el Conor Mancone 29.12.2017 - 19:40
fuente
1

como dices, no creo que puedas encontrar una lista bien cuidada de 7776 adverbios, por ejemplo.

otra alternativa es usar listas de palabras más pequeñas, digamos 1296 palabras cada una (tirar 4 dados en lugar de 5). esto le daría ~ 10.34 bits de entropía por palabra en lugar de los ~ 12.92 bits por palabra común de diceware.

para una entrada equivalente, tendrías que memorizar una frase de contraseña más larga, pero eso podría ser más fácil debido a la estructura gramatical de la frase de contraseña.

una solución más compleja sería llegar a 7776 adverbios curados agregando otros caracteres o usando mayúsculas, así que en lugar de solo

briskly

tendrías

briskly
briskly!
briskly?    
Briskly
Briskly!
Briskly?
BRISKLY
BRISKLY!
BRISKLY?

pero una vez más, tiene el compromiso de complejidad que va en contra del objetivo de las frases de contraseña "fáciles de recordar".

puede que sea mejor que solo inserte sus propias palabras de "relleno" en una frase de contraseña de uso de dados regular para que sea más fácil de recordar.

    
respondido por el not22 29.12.2017 - 20:44
fuente
0
  

¿Es esta una estrategia ya explorada?

Sí, generador de frase de contraseña gramatical se basó en esta idea. Tuve algunos problemas con esa implementación en particular, en particular: 1) su elección de generador de números aleatorios (Math.random ()) no es criptográficamente segura, 2) su elección de lista de palabras es bastante arbitraria, y 3) su cálculo de fortaleza puede estar equivocado, por lo que la idea del software de dados gramatical no es completamente nueva.

De hecho, había estado reflexionando acerca de hacer mi propia implementación gramatical de software de dados durante algún tiempo, aunque el mayor obstáculo aquí es generar una buena lista de palabras como la lista de palabras de EFF. No tengo los recursos y el conocimiento que EFF tuvo para generar su lista de palabras. Si bien la elección de la lista de palabras no afecta realmente a la seguridad, una buena lista de palabras hace que la frase de contraseña sea más fácil de escribir y recordar.

  

¿Tiene debilidades conocidas?

La idea central de un método de generación de contraseñas basado en la entropía como diceware es crear un gran número para una fuerza dada y luego codificar ese número usando una lista de palabras. La seguridad de cualquier esquema que sigue este patrón se basa principalmente en la generación de números aleatorios, mientras que el sistema de codificación es bastante sencillo y, con algunas advertencias , realmente no afecta la seguridad del sistema.

† la lista de palabras de diceware original, por ejemplo, no estaba libre de prefijos, por lo que produce contraseñas con una fuerza reducida si no tiene separadores entre palabras, esto se ha corregido en la lista de palabras de EFF

    
respondido por el Lie Ryan 31.12.2017 - 19:31
fuente

Lea otras preguntas en las etiquetas