Fuerza de la contraseña generada de longitud variable

3

Estoy contribuyendo al complemento del secuenciador de palabras para contraseña de KeePass administrador , que puede generar contraseñas del estilo de diceware usando un PRNG de alta calidad. Algo en particular en lo que estoy trabajando es estimar la fortaleza de las contraseñas generadas usando la herramienta. Me cuesta un poco averiguar cómo dar cuenta de una de las opciones de configuración, que puede configurar una de las palabras en la secuencia para que tenga una probabilidad de aparecer en la contraseña generada o no; es decir, una opción para hacer que la contraseña tenga una longitud aleatoria.

Por ejemplo, supongamos que está eligiendo 2 palabras de una lista de 8 palabras para su contraseña (obviamente, en realidad querría una lista de palabras / número de palabras mucho más grande, esto es solo un ejemplo de juguete). Si siempre elige ambas palabras, entonces la entropía de la contraseña es:

lg(8*8) = lg(64) = 6

o alternativamente:

lg(8) + lg(8) = 3+3 = 6

Ahora, diga que ha configurado la segunda palabra para que no aparezca a veces. Por lo tanto, tiene la posibilidad de una contraseña de una palabra (8 posibles) o una contraseña de dos palabras (64 posibles) para un total de:

lg(8 + 8*8) = lg(9 * 8) = lg(9) + lg(8)

... que debería ser un poquito más que la entropía anterior de 6. Esta debería ser la entropía si un atacante estaba adivinando SOLO ESTA CONTRASEÑA y sabe exactamente cómo se generó la contraseña.

Pero en realidad no importa si la contraseña PODRÍA haber tenido 2 palabras de longitud. Si solo tiene una palabra, y el atacante simplemente adivina todas las contraseñas de una palabra, la posibilidad de una segunda palabra no hace que la contraseña de una palabra sea más fuerte. Entonces, suponiendo que hay un 25% de probabilidad de incluir la segunda palabra, tal vez una mejor estimación de la fuerza sería la entropía del valor esperado del espacio de la contraseña:

lg(8) + lg(3/4 * 0 + 1/4 * 8) = 3 + 1 = 4

O, quizás sea el valor esperado de la propia entropía :

lg(8) + [3/4 * 0 + 1/4 * lg(8)] = 3.75

Entonces, mi pregunta es: ¿qué método de cálculo de la entropía esperada de esta contraseña generada es correcto?

  • ¿Debo tratar la longitud aleatoria como la adición de contraseñas adicionales, lo que aumenta ligeramente la fortaleza de una contraseña de 2 palabras?
  • ¿Debo considerar la longitud aleatoria como una posible disminución de la longitud de la contraseña, así que tomo la entropía del número promedio de opciones de contraseña, para una fuerza en algún lugar entre una contraseña de 1 palabra y 2 palabras?
  • ¿O debería tomar el valor esperado de la entropía, nuevamente para una fuerza intermedia?
  • ¿Quizás sea algo completamente distinto?

Si, de hecho, el cálculo "correcto" disminuiría la fortaleza de la contraseña cuando la opción está habilitada, supongo que eso implica una pregunta de seguimiento: ¿hay alguna razón útil para tener esta opción? , si solo va a reducir el trabajo que un atacante debe hacer en promedio?

    
pregunta Ben 04.12.2015 - 06:40
fuente

1 respuesta

2

Usar menos palabras de una lista del estilo de diceware es equivalente a permitir a veces contraseñas con menos caracteres. Según la respuesta aceptada a Permitiría que las contraseñas más cortas a veces sean más seguras ? :

  

El beneficio obtenido al forzar una mayor longitud supera con creces el número de posibles contraseñas perdidas.

Lo mismo se aplica a las contraseñas más cortas del estilo de diceware. Por lo tanto, siempre use la longitud exacta y nunca algo más corto.

EDITAR: Tenga en cuenta que el problema no es que las contraseñas más cortas reduzcan la entropía. En realidad lo aumentan. Pero agregar frases de contraseña más cortas reduce dramáticamente el esfuerzo de adivinar las contraseñas más cortas. Si su lista de palabras de diceware tiene palabras X y su contraseña tendrá una longitud de N , la contraseña tiene X N posibilidades. Pero una frase de contraseña que sea una palabra más corta tiene XN-1 o X menos posibilidades. Por lo tanto, estas contraseñas serán mucho más vulnerables que las que solo tienen una palabra más. La pequeña ganancia en entropía no vale la pena el riesgo de estas contraseñas más cortas.

Considere esto, si usa frases de contraseña que tienen una seguridad mejorada de 1 palabra más corta, entonces el argumento podría repetirse para probar que agregar frases de contraseña que tengan una seguridad mejorada de 2 palabras más corta, y así sucesivamente. Pero las frases de contraseña cada vez más reducidas es claramente una mala idea. Así también es acortar una frase de contraseña en 1 palabra.

    
respondido por el Neil Smithline 04.12.2015 - 23:38
fuente

Lea otras preguntas en las etiquetas