¿Por qué una contraseña generada de forma controlada es más segura que una generada de forma puramente aleatoria [duplicado]

0

En un software como keepassx, para generar contraseñas, generalmente existe la opción de marcar algunas casillas. Por ejemplo, un cuadro que se asegura de que se haya elegido al menos 1 carácter de cada lista de caracteres. Donde las listas de caracteres pueden ser minúsculas, mayúsculas, dígitos, caracteres especiales, etc.

Entiendo que una contraseña generada de forma puramente aleatoria puede generar contraseñas como "aaaaaaaaaaaaaaa" que no son seguras. Pero en promedio, no entiendo por qué asegurarme de que haya al menos 1 carácter de cada lista es más seguro que una contraseña generada de forma totalmente aleatoria.

¿Por qué es posible "superar" (en términos de seguridad) una contraseña generada de forma puramente aleatoria? ¿No deberían este tipo de contraseñas contener la mayoría de la entropía en promedio, en lugar de una contraseña hecha con intervención humana?

Editar: si tengo que asumir que debo protegerme contra una galleta, asumo que usa todos los tipos de ataques posibles. Fuerza bruta, diccionario, etc.

Edición 2: he estado pensando en ello durante la noche. Noté que si la contraseña es muy grande (diga la longitud > 25), entonces la diferencia entre marcar la casilla para asegurarse de que haya al menos 1 carácter de cada grupo y no marcar la casilla es casi nula. Porque la probabilidad de que no haya char de cada grupo es muy baja. El otro caso extremo es cuando la contraseña es muy pequeña, digamos de longitud 4. El caso es más complejo y no estoy seguro de cuál es más seguro contra todos los tipos posibles de ataques.

    
pregunta t t t t 17.07.2016 - 03:01
fuente

2 respuestas

4

Muchos sitios tienen requisitos de complejidad. Una de las ventajas de las casillas de verificación es garantizar que su contraseña será realmente aceptada por el sitio web para el cual la está generando. Otra razón es psicológica. La gente creerá que la contraseña es menos susceptible de adivinar si tiene estos requisitos de caracteres. Siendo realistas, una contraseña con 80 bits de entropía que es completamente aleatoria y una contraseña con 80 bits de entropía que tiene estos requisitos son lo suficientemente fuertes como para que adivinar o un ataque de fuerza bruta nunca sea un problema, aunque no sea por ninguna otra razón que el atacante obtendrá las contraseñas suficientes para ejecutar su máquina de fuerza bruta durante unos pocos años más para obtener el último 0.25% de los hashes de contraseña que robó no valen la pena.

Editar: Me gustaría enfatizar que determinar cuánta entropía tiene una contraseña no es tanto una ciencia exacta como una aproximación. Como se explica en uno de los enlaces en la respuesta de Jedi, los diferentes generadores de contraseñas tienen diferentes algoritmos para esto, por lo que si KeePass dice que una contraseña "vence" a otra en términos de entropía calculada, pero la diferencia es de 1 o 2 bits de un total de 30+ bits entonces no puede ser realmente una ventaja de elegir uno sobre el otro. Por supuesto, con contraseñas muy pequeñas, un solo bit puede ser significativo, pero espero que todos los que lean security.se se mantengan alejados de contraseñas obviamente horribles.

    
respondido por el Owen 17.07.2016 - 03:31
fuente
3

Una razón importante para el enfoque de "marcar algunas casillas" es porque demasiados sitios tienen sus propias políticas de contraseña únicas ( your password must be a palindrome in iambic penatameter etc.)

  

Pero en promedio, no entiendo por qué asegurarme de que haya al menos 1 carácter de cada lista es más seguro que una contraseña generada de forma totalmente aleatoria.

No afirmaría que sea más seguro, solo los diccionarios de fuerza bruta que contienen un tipo de carácter (todos en minúsculas / mayúsculas / números) fueron ampliamente utilizados en el día . De manera similar, los hashes para muchas de estas clases de contraseñas ya están calculados y almacenados en muchas tablas de arco iris.

  

¿Por qué es posible "superar" (en términos de seguridad) una contraseña generada de forma puramente aleatoria?

Una contraseña incorrecta es simplemente una que es ampliamente utilizada / conocida / coincide con el comportamiento humano. p.ej. los humanos tienden a usar fechas , tienden a tener una secuencia de dígitos; si se requiere una letra mayúscula, a menudo es la primera, si se requiere un carácter especial, a menudo es la última, etc. (Intentaré obtenerlo pronto).

Teniendo en cuenta un gran número de usuarios, es poco probable que las contraseñas correspondientes a patrones malos conocidos se generen "al azar" parte del tiempo.

Supongamos que todas las contraseñas "aleatorias" de longitud 'n' tienen la misma probabilidad de generarse. Sin embargo, es mucho más probable que un porcentaje de estas contraseñas sean forzadas brutalmente. Esto es lo que lo empeora.

  

¿No deberían este tipo de contraseñas contener la mayor entropía en promedio, en lugar de una contraseña hecha con intervención humana?

Me gustaría enlazar a una publicación anterior para analizar cómo se calcula la entropía de una contraseña (incluye un enlace a una evaluación reciente de contraseñas)

También, vea esta publicación relacionada que explica por qué algunas contraseñas generadas aleatoriamente deben descartarse .

    
respondido por el Jedi 17.07.2016 - 03:42
fuente

Lea otras preguntas en las etiquetas