¿Debo preocuparme de que la longitud de la contraseña filtre la información? [duplicar]

-1

He estado pensando en cómo generar frases de contraseña aleatorias de un diccionario público de palabras (similar a las frases de contraseña de XKCD / Diceware).

Una cosa en particular en la que estaba pensando es que la longitud de tal frase de paso filtrará mucha información sobre la frase (suponiendo que el diccionario contenga palabras de longitud variable, como parece hacer la mayoría de las listas de software de dados). Si tengo una lista de 1024 palabras, la generación de una frase aleatoria de cinco palabras debería proporcionar 50 bits de entropía si la longitud está oculta. Sin embargo, digamos que la longitud no está oculta y que solo hay 128 palabras de longitud tres (y ninguna de longitud uno o dos) en el diccionario. Ahora digamos que sabemos que una frase de contraseña tiene 15 caracteres. Luego, una frase de contraseña de cinco palabras de longitud 15 solo podría producirse a partir de esas 128 palabras de longitud tres que dan una entropía mucho menor de 35 bits.

Me pregunto si esta pérdida de entropía es algo de lo que debería preocuparme.

En particular, me interesa saber si es justo suponer que alguien que rompe una contraseña no conoce la longitud de la frase. Dicho de otra manera, ¿es razonable suponer que en la mayoría de los sistemas comunes la longitud de la frase está oculta para un atacante potencial?

Si no, ¿los generadores de frase de contraseña lo toman en cuenta de alguna manera?

Debo agregar que pregunto porque no estoy tan familiarizado con la forma en que se protegen las contraseñas / frases. Sin embargo, supongo que a menudo se envían a un servidor de forma cifrada y, por lo que sé, el cifrado no necesariamente protege la longitud del texto sin formato.

Esto no es similar a las preguntas sobre revelar la longitud de la contraseña. Esto se debe a que cada carácter en una contraseña es de la misma longitud (a saber, 1). Sin embargo, en una frase de contraseña, el equivalente de un carácter es una palabra del diccionario. Suponiendo que estas palabras tienen diferentes longitudes, la longitud de toda la frase de contraseña revelará qué tipos de palabras se usaron. En el ejemplo anterior, una contraseña de longitud 15 revela que solo se usaron palabras de longitud 3. Para una contraseña, esto es equivalente a algo como revelar que solo las letras a, b, c, d, e, f, g, h, i y j se utilizan para generar la contraseña.

También leí la pregunta sobre la seguridad de las contraseñas de estilo XKCD, pero en la medida en que no veo ninguna de las respuestas a este problema.

    
pregunta Guut Boy 18.08.2015 - 15:16
fuente

2 respuestas

2

Las preguntas sobre la longitud de la contraseña, la entropía y las cosas están bien formuladas en este sitio, por lo que si busca un poco y probablemente encontrará la respuesta que está buscando.

Sin embargo, hay una cosa que quiero tratar directamente de tu pregunta. Usted dijo:

  

Diga que tengo una lista de 1024 palabras y luego generar una frase aleatoria de cinco palabras debería proporcionar 50 bits de entropía si la longitud está oculta. . .

A menos que lo esté leyendo mal, la premisa de este párrafo es que un atacante que aprende la longitud de su contraseña también sabe 1) que está generando sus contraseñas de una lista de palabras y 2) tiene acceso a esa lista. Si esto es a lo que se dirige, entonces debemos hacer algunas preguntas como: "¿cómo obtuvieron la lista?", "¿Tienen acceso a algo que no sea la lista?", "¿Saben lo suficiente sobre usted para crear correos electrónicos de phishing personalizados?", etc. Como puede ver, tan pronto como empezamos a suponer que el atacante conoce información adicional, la entropía (o la fuerza) o su contraseña dejan de ser el punto más importante. .

Le di una respuesta a una pregunta similar en la que construí un argumento que

  

Una vez que un atacante realiza un esfuerzo para aprender cosas sobre ti, la idea de la fuerza de la contraseña / entropía ya no tiene sentido.

    
respondido por el Mike Ounsworth 18.08.2015 - 15:46
fuente
0

Una respuesta matemática que responde directamente a su pregunta sobre las frases de contraseña generadas a partir de una lista de palabras conocida (por ejemplo, la técnica Diceware). Ya que estoy en el trabajo, voy a hacer una prueba muy aproximada en matemáticas usando el software de dados estándar como modelo y haré muchas suposiciones. Alguien más puede hacer un trabajo más cuidadoso si lo desea.

Sin saber la longitud de su frase de contraseña, una palabra de corte aleatorio 5 le da log_2 ((6^5)^5) =~ 64 bits of entropy .

Lo primero que debemos saber es cuántas palabras hay de cada longitud en la Lista de Diceware en inglés . Podría escribir un guión para contarlos, pero soy perezoso, así que digamos que las 7776 palabras de la lista están distribuidas uniformemente en longitudes [2,10], dando 864 palabras de cada longitud.

Suponiendo que sigues las mejores prácticas para el uso de dados para poner espacios entre tus palabras, la frase de contraseña más corta que puedas tener es longitud 14 : 5xlen(2) + 4 spaces . Esto le da a usted log_2 ((864)^5) =~ 49 bits of entropy . Has perdido algo, pero todavía es bastante.

Si su frase de paso tiene longitud 15 , entonces debe ser 1xlen(3) + 4xlen(2) + 4 spaces , dando 'log_2 (864 * 864 ^ 4) = ~ 49 bits de entropía' (Lo dejo expandido para que si alguien realmente cuenta el número de palabras de cada longitud, se pueden insertar en números).

Longitud 17 es la primera que tiene una opción porque podría ser 1xlen(5) + 4xlen(2) + 4 spaces o 1xlen(4) + 1xlen(3) + 3xlen(2) + 4 spaces , dando log_2 (864*864^4 + 864*864*864^3) =~ 50 bits of entropy .

Si mi matemática es incluso remotamente correcta, incluso en el peor de los casos donde solo tiene palabras de longitud 2 en su frase de contraseña, todavía tiene una fuerte entropía de 48 bits. (Suponiendo que el atacante está tratando de dar una versión inversa de su frase de contraseña, tenga en cuenta que muchas de las frases de contraseña generadas por la técnica del software de dados pueden tener una entropía significativamente menor en comparación con una tabla de diccionario / arco iris estándar, ya que son palabras comunes).

Me sentiría muy molesto si esto fuera aceptado como una respuesta porque, aunque responde a la pregunta tal como está, creo que es una respuesta muy ingenua que pasa por alto algunas preguntas de seguridad importantes como: "¿cómo aprendió el atacante que eres usando diceware? "," ¿cómo aprendió el atacante que está usando exactamente 5 palabras? "," si el atacante está dispuesto a lanzar una pequeña granja de servidores al romper su frase de contraseña, ¿está seguro de que este es el enlace más débil en su seguridad? ? ", etc.

    
respondido por el Mike Ounsworth 18.08.2015 - 16:52
fuente

Lea otras preguntas en las etiquetas