¿Eliminar la posibilidad de repetir palabras hace que las contraseñas de Diceware sean mucho menos seguras?

8

Leí sobre frases de paso de Diceware y preparé un pequeño programa para generar contraseñas en ese estilo. Hago esto tomando la lista de palabras del diccionario para crear contraseñas y "ordenándolas" mediante un número aleatorio (uno producido por System.Security.Cryptography.RNGCryptoServiceProvider ), en esencia barajándolas. Luego, paso eso a una cola y elimino las palabras cuando se va a generar una contraseña.

Esto es un poco diferente de la versión de lápiz y papel, ya que existe la posibilidad de que una palabra se repita, aunque sea remota. Así que claramente reducimos un poco el número de contraseñas posibles. ¿Esta reducción en las posibles contraseñas cambia significativamente la susceptibilidad de tales contraseñas a la ruptura? ¿Sería mejor leer el diccionario en una matriz y obtener palabras al generar un número aleatorio y acceder a la matriz en ese índice?

    
pregunta Casey 28.01.2016 - 02:45
fuente

1 respuesta

10

Esto podría obtener mejores respuestas en crypto.stackexchange.com o math.stackexchange.com , pero creo que puedo darte una idea general.

Si nos alejamos de las palabras y echamos un vistazo a algunos números, podría ayudar a ilustrar.

Tomemos, por ejemplo, un código de cuatro dígitos para un bloqueo.
Hay 10 dígitos posibles (0-9) y cuatro espacios donde se pueden ingresar, por lo que hay 10 * 10 * 10 * 10 = 10 ^ 4 = 10,000 combinaciones posibles.

Si dice que no puede haber dígitos que se repiten, entonces en el primer espacio tendría 10 dígitos posibles, en el segundo 9, en el tercero 8 y finalmente en 7 dígitos posibles en el último espacio.
Esto deja 10 * 9 * 8 * 7 = 5,040 combinaciones posibles, o aproximadamente la mitad.

Si aplicamos esto a su creador de contraseñas, tomaríamos la cantidad total de palabras que está usando como posibilidad (la mayoría de los sistemas Unix vienen con un diccionario en inglés con alrededor de 200,000, por lo que podemos usar este número por ahora), y número total de palabras en su contraseña (utilizando 6 como mínimo recomendado por Diceware).

Esto significa que, sin ninguna restricción en la repetición, hay exactamente 200,000 ^ 6 = 64 combinaciones no posibles de contraseñas .

Si tuviera que rechazar cualquier palabra que se repitiera, habría 200,000 * 199,999 * 199,998 * 199,997 * 199,996 * 199,995 ≈ 63.995 combinaciones de contraseñas no posibles.

Eso es una diferencia de aproximadamente .00008%.

Como puede ver, con un diccionario de al menos 200,000 palabras únicas y un espacio clave de seis palabras, la diferencia entre la ausencia de restricciones de contraseña y la limitación de palabras repetidas es insignificante.

Esta diferencia tendría entonces un efecto igualmente insignificante en la resistencia de la contraseña al craqueo.

EDITAR

LieRyan ha señalado que Diceware usa una lista de palabras de 7776 palabras comunes y fáciles de escribir. Si quisiéramos ver la diferencia con una lista de ese tamaño, se vería algo así como:

No hay restricciones: 7776 ^ 6 ≈ 2.21 sextillion combinaciones posibles.
No Repeticiones: 7776 * 7775 * 7774 * 7773 * 7772 * 7771 ≈ 2.2064 sextillion combinaciones posibles.
Diferencia: ~ 0.19%

Echemos un vistazo a lo que eso significa para alguien que intenta descifrar su contraseña.

  

Supongamos que su adversario es capaz de un billón de conjeturas por segundo.   -Edward Snowden, 2014

Si tomamos esta estimación (énfasis), dividiríamos el número total de combinaciones posibles por el número de conjeturas / segundo para obtener el total de segundos tomados para aplicar fuerza bruta a cada combinación de la lista de palabras.

Es decir, 2.2 combinaciones de sextillones / 1 trillón de adivinanzas / seg = 2.2 mil millones de segundos = 69.72 años (comparado con 70.03 años sin restricciones de contraseña)

Este es el tiempo promedio que tomaría un cracker de contraseñas bien financiado y equipado (con acceso a una copia de su lista de palabras) para aplicar una contraseña con este método.

    
respondido por el cremefraiche 28.01.2016 - 03:32
fuente

Lea otras preguntas en las etiquetas