¿Con qué longitud deja de tener sentido una contraseña?

21

Voy a recomendar que nuestros usuarios comiencen a usar un administrador de contraseñas y comiencen a crear contraseñas aleatorias seguras.

Aunque no sé qué tamaño de contraseña recomendar. ¿Es posible que una contraseña sea tan fuerte que deje de tener sentido?

Quiero que tengan contraseñas que sean fuertes, aleatorias y lo suficientemente largas como para que, incluso si la tabla de contraseñas con hash fue robada, ningún ataque de fuerza bruta o arco iris alguna vez * podrá adivina.

Donde siempre * es algo razonable. Por supuesto, con tiempo y recursos suficientes, cualquier contraseña puede ser forzada. Pero en algún punto de la seguridad de la contraseña, creo que debe dejar de tener sentido. No quiero sonar como si estuviera exagerando y protegiendo su contraseña de un ser de 4ª dimensión o algo así.

Ah, y un alfabeto seguro para la web de 64 caracteres es lo que estoy pensando en recomendar.

    
pregunta Andrew Hoffman 09.12.2013 - 03:02
fuente

7 respuestas

21

Armado con el conocimiento de que un espacio de búsqueda de 128 bits es más que suficiente para el futuro previsible; con 192 bits siendo ridículamente alto; y 256 bits es algo que es increíblemente imposible de recorrer , y suponiendo que su juego de caracteres es alfanumérico en mayúsculas y minúsculas en inglés, generado aleatoriamente , entonces podemos decir que:

  1. Una contraseña de 22 caracteres es más que suficiente para el futuro inmediato.

  2. Una contraseña de 33 caracteres es ridículamente larga.

  3. Una contraseña de 46 caracteres es solo ... No sé qué decir.

Entonces, para ponerlo en una línea: con un conjunto de caracteres superior / inferior alfanumérico, comienza a tener menos sentido después de 22 caracteres. ¿Cuándo deja de tener sentido? En algún lugar entre eso y 33 caracteres, muy temprano.

    
respondido por el Adi 09.12.2013 - 06:10
fuente
14

La longitud requerida de la contraseña depende del conjunto de caracteres de los que está compuesta. Una contraseña en minúsculas debería ser más larga que una alfanumérica. Entonces, en lugar de eso, observamos el "espacio de teclas" de la contraseña medida en bits (o "espacio de búsqueda" si se trata de esto desde la perspectiva del atacante).

Para el futuro inmediato, una contraseña en el rango de 70 a 90 bits es probablemente suficiente. En el futuro inmediato, es probable que algo del orden de 130 bits lo lleve allí. Para el futuro de la ciencia ficción, 256 probablemente nunca serán craqueados por nada que se haya encontrado.

En cuanto a cuántos bits hay en una contraseña determinada, simplemente tome el tamaño del alfabeto ( a-z tiene 26 letras posibles, por ejemplo, mientras que a-z más A-Z más 0-9 tiene 26+ 26 + 10 = 62 letras posibles), calcule el log base 2 de ese número ( 4.70 para 26 letras y 5.95 para 62 letras) y luego multiplique ese resultado por el número de caracteres en su contraseña.

Dado que las matemáticas son difíciles, aquí hay una tabla pre-calculada para ti.

Length    a-z       a-z,A-Z,0-9
12       56.4        71.5
14       65.8        83.4
16       75.2        95.3
18       84.6       107.2
20       94.0       119.1
22      103.4       131.0
24      112.8       142.9
    
respondido por el tylerl 09.12.2013 - 05:49
fuente
8

[Divulgación: trabajo para AgileBits, los creadores de 1Password]

En realidad, he escrito sobre esto para nuestros usuarios Si usan nuestro generador de contraseñas e incluso lo restringen solo a mayúsculas y minúsculas, los 23 caracteres les dan más de 128 bits de entropía. $$ log_2 (52 ^ {23}) \ approx 131 $$. 128 bits es más que suficiente para cualquier contraseña.

Por supuesto, si la contraseña no se elige de una distribución aleatoria uniforme, la pregunta es mucho más difícil de responder.

    
respondido por el Jeffrey Goldberg 09.12.2013 - 07:49
fuente
2

Yo diría que una contraseña de x longitud ya no tiene sentido cuando el usuario tarda tanto tiempo en autenticarse, lo que dificulta notablemente el rendimiento. Con la tecnología actual, no veo absolutamente ningún problema con una contraseña de 64, o incluso de 100 caracteres, superior / inferior + número + símbolo. Independientemente del algoritmo de hash, una fuerza bruta pura (sin utilizar ninguna otra técnica subversiva) no es factible.

Ejemplo: una contraseña que utiliza ~ 426 (redondeada a la 1) bits de entropía más cercanos. A 7 mil millones de hashes por segundo (MD5), y un costo de ataque de 2 ^ n-1, tomaría 3.9 * 10 ^ 110 años (Suponiendo que las 24 horas del día y los 365 días del año). Estoy cómodo con eso.

En aras de la discusión, hice lo mismo con una contraseña de la misma longitud y aleatoriedad, pero utiliza solo el alfabeto en minúsculas. Eso termina siendo unos 353 bits de entropía (redondeado al 1 más cercano). Eso llevaría 4,2 * 10 ^ 88 años (suponiendo 24 horas al día y 365 días al año).

Para obtener más detalles sobre la seguridad de la contraseña y la entropía, consulte el apéndice A aquí .

    
respondido por el JZeolla 09.12.2013 - 03:37
fuente
1

Creo que la pregunta en sí es algo incompleta.

La respuesta de @Adnan está bastante cerca de ser completamente correcta. Sin embargo, deja de lado el hecho de que muchos sistemas limitan artificialmente el conjunto de caracteres que se puede usar, lo que a su vez cambia los resultados de los cálculos de longitud. Por ejemplo, un sistema que solo permite el uso de A-Z, a-z y 0-9 es mucho más fácil de descifrar con 22 caracteres que uno que también incluye puntuación y / o caracteres no imprimibles en su rango permitido. En otras palabras, un mayor rango de caracteres aceptables puede resultar en un número menor que se requiere para el mismo nivel de "protección".

El siguiente elemento es realmente alrededor de uso. Es decir, que una frase de paso es mucho más fácil de recordar que una cadena aleatoria de caracteres y ciertamente puede ser más larga que los 22 o 33 caracteres proscritos, al tiempo que permite al usuario recuperarlos fácilmente. Por lo tanto, incluso si 33 caracteres se consideran "ridículamente largos" desde una perspectiva técnica, lo que significa que requiere un administrador de contraseñas, puede que no sea realmente desde la perspectiva del usuario.

Yo uso rutinariamente frases de paso que están en el rango de 40 a 60 caracteres. Estos son fáciles de recordar y, en base a los cálculos, son inviables para intentar romperlos. Desafortunadamente, la mayoría de los sistemas simplemente no permiten esa longitud.

En lugar de una recomendación para un administrador de contraseñas, simplemente educaría a los usuarios sobre las frases de paso y al mismo tiempo requeriría una cierta longitud mínima. Para ayudar, me gustaría ver las áreas en las que se usará la aplicación y asegurarme de que se permita la puntuación común para esos lugares.

    
respondido por el NotMe 09.12.2013 - 20:51
fuente
1

Obviamente, no tiene sentido elegir contraseñas más largas (en bits de entropía) que el hash que vas a usar. Nadie intentará adivinarlos ya que no es necesario, su sistema aceptará con gusto una contraseña más corta encontrada a través de una colisión de hash.

Por ejemplo, si utilizara hashes de 128 bits y sus contraseñas son realmente aleatorias e incluyen a-zA-Z0-9 (aproximadamente 6 bits por carácter), no tiene sentido generar contraseñas de más de 128/6 = 22 caracteres. (redondeado). Como dije, para cada contraseña más larga habrá una contraseña equivalente de 22 caracteres o menos que se reconocerá como correcta de todos modos. Para hashes de 256 bits, las contraseñas de hasta 43 caracteres tienen sentido.

    
respondido por el Dmitry Grigoryev 04.12.2015 - 09:34
fuente
0

En mi opinión, 8 caracteres de aleatoriedad son (relativamente) triviales para recordar. Todavía habrá oposición, pero es posible para la mayoría de las personas.

16 caracteres se volverían difíciles. Posible para la mayoría de la población que lo necesita, pero tendría que ser muy exigente con los sistemas que lo utilizan.

24 caracteres requerirían un administrador de contraseñas para la mayoría de la población.

32 caracteres es efectivamente una clave. Es poco probable que el usuario lo recuerde.

Consideraría que un administrador de contraseñas es, efectivamente, un sistema de administración de claves con una capa de interfaz humana. Las personas que lo utilicen nunca recordarán las contraseñas, y muy rara vez las verán. Hacerlos lo más largo posible dentro de los límites del sistema es mi consejo.

    
respondido por el Jozef Woods 04.12.2015 - 09:42
fuente

Lea otras preguntas en las etiquetas