¿Qué tan confiable es un comprobador de seguridad de contraseña?

69

He probado la herramienta de Microsoft disponible aquí que prueba la seguridad de la contraseña y los califica Para una contraseña como "voy a almorzar esta noche", la herramienta califica su fuerza como "MEJOR" y para una contraseña como "th1 $ .v4l" la califica como "Media".

Me pregunto qué tan importante es la longitud de la contraseña. En este caso, la primera contraseña es mejor según su herramienta, pero ¿es realmente mejor? Se basa en palabras del diccionario y no tiene una combinación de números y otros caracteres además de espacios, y parece muy fácil de descifrar (sin considerar la fuerza bruta).

¿Esta herramienta da prioridad a la longitud en lugar de a la fuerza real?

    
pregunta iijj 24.03.2011 - 10:13
fuente

12 respuestas

53

"Sin considerar la fuerza bruta": eso es exactamente lo que miden estas herramientas.
Obviamente, no intentan la ingeniería social, o intentan descubrir si es el cumpleaños del primer perro de la novia del usuario. El atacante podría saber eso, pero estas herramientas no.

Lo que miden es simplemente la dificultad de una herramienta de fuerza bruta para resolverlo. Ni siquiera la entropía de la contraseña, que es un atributo del método de generación, solo una estimación de cuánto tiempo tomaría una herramienta de fuerza bruta para encontrar con éxito la contraseña correcta.
Obviamente, la entropía tiene un efecto en esto, pero lo único que importa es la entropía total , no la entropía por carácter. Así que sí, tener muchas opciones equitativas para cada personaje se suma a la entropía, pero la longitud puede desempeñar un papel aún más importante al hacer que una contraseña no sea rastreable, elevando la entropía por carácter a una potencia mayor, por carácter contar. Esto hace que para una entropía total mucho más alta, que es lo único que importa.

Entonces, en su caso, sí, la frase de contraseña de solo alfa de 32 caracteres es mucho más fuerte que la contraseña de puntuación de 8 caracteres.

Voy a intentar hacer las matemáticas aquí un poco: (corríjame cuando me equivoque):

Si asumimos que el teclado es de estilo estadounidense, hay 85 posibles caracteres imprimibles (posiblemente podamos raspar algunos más, pero vamos con esto por ahora): letras minúsculas + mayúsculas + números + puntuación estándar + espacio .
Esto otorga ~ 6.3 bits de fuerza por carácter; con 8 caracteres de longitud, la contraseña le da una fuerza de ~ 50,4 bits.
Tenga en cuenta realmente muy fuerte ... Incluso si agregamos algunos caracteres "especiales" más, no va a actualizar mucho.

Ahora, para su frase de contraseña de solo alfa de 32 caracteres ...
Asumamos solo letras minúsculas y mayúsculas (aunque no haya utilizado ninguna), más un espacio (U + 32). Ni siquiera los numerales ...
Eso le da 54 caracteres posibles, alrededor de ~ 5.8 bits por carácter. A 32 caracteres de largo, eso es más de 185 bits de fuerza. Substancialmente más fuerte. Y eso es incluso sin números, que generalmente se aceptan incluso en esquemas de contraseña "simples".

Bruce Schneier a menudo habla sobre cómo cambiar a frases de contraseña largas y memorables sería mucho más seguro que las contraseñas cortas y aleatorias de aspecto extraño.
Ahora ves por qué.

    
respondido por el AviD 24.03.2011 - 11:10
fuente
17

Le preocupa que debido a que la frase de contraseña use palabras del diccionario, podría ser más fácil de descifrar que algo que debe ser forzado.

tl; dr: Esta es una preocupación teórica válida, pero en este momento no es una preocupación práctica.

"Voy a almorzar esta noche" es una frase de cinco palabras que usa palabras de las 5000 más comunes en el idioma inglés. De manera ingenua, adivinar que es isomórfico es adivinar una contraseña de 5 letras en un alfabeto de 5000 letras, que es 3x10 ^ 18 posibilidades. Es casi lo mismo que una contraseña de 10 caracteres que usa mayúsculas y minúsculas, números y símbolos.

Por supuesto, un programa de craqueo lo suficientemente inteligente podría reducir esto considerablemente. La oración es una prosa estándar en inglés, que sigue reglas tan estrictas que tiene una tasa de entropía de información de alrededor de 1 bit por letra . Eso significa que su frase tiene 33 bits de entropía, lo que la hace tan compleja como una contraseña perfectamente aleatoria de 5 caracteres ASCII imprimibles.

Eso no es muy complejo.

Sin embargo, para aprovechar esa falta de complejidad, necesitaría un "cracker de frase de contraseña en inglés" que podría optimizar algo como el modelado de cadenas de Markov en núcleos para el procesamiento de GPGPU. Hasta donde sé, nada de eso está incluso en desarrollo en este momento. Entonces, a menos que alguien con los recursos para crear ese software quiera tu frase de contraseña, deberías estar seguro por un buen rato.

    
respondido por el user502 24.03.2011 - 13:58
fuente
15

La entropía es algo extraño a medida.

Publicación especial 800-63 de NIST, Guía de autenticación electrónica incluye guías para estimación de la fuerza de la contraseña:

  

La entropía varía mucho según si un usuario selecciona una contraseña o si se genera de forma aleatoria. Estadísticamente, adivinar el primer carácter de una contraseña seleccionada por un usuario es difícil, pero adivinar el segundo es más fácil y el tercero es aún más fácil. Las pautas del NIST le dan al primer carácter 4 bits de entropía cuando se usan los 94 caracteres disponibles en los teclados estándar, pero solo 2 bits para cada uno de los siguientes siete caracteres, y así sucesivamente.

     

Las contraseñas seleccionadas al azar no muestran patrones, por lo que cada personaje tiene el mismo nivel de entropía, aproximadamente 6.6 bits.

     

Esto significa que una contraseña de ocho caracteres seleccionada por un usuario tiene 18 bits de entropía, mientras que una contraseña aleatoria de la misma longitud tiene aproximadamente 52.7 bits.

En otras palabras, si puede determinar los primeros 3 caracteres de mi contraseña son

  

Awe

Entonces las probabilidades de que el siguiente carácter sea s son mucho más altas que si fuera * .

Entonces, cuando decimos que un carácter de contraseña puede ser cualquier , eso no es realmente cierto; la mayoría de las personas usan palabras que tienen patrones fuertes y reducen implícitamente el posible conjunto de los siguientes caracteres, lo que genera una contraseña con menor entropía (aleatoriedad).

    
respondido por el Jeff Atwood 11.08.2011 - 07:08
fuente
14

No estoy seguro de cómo "voy a almorzar esta noche" el diccionario es vulnerable, es una frase de siete palabras. Donde "th1 $ .v4l" es una frase de dos palabras con una combinación de caracteres, y la sustitución de caracteres es algo con lo que los crackers de contraseñas han tratado desde siempre, parece.

Algunos probadores de contraseñas usan cracklib + ajax como pruebas con una pequeña base de reglas para eliminar su contraseña "this.val".

    
respondido por el hpavc 24.03.2011 - 10:37
fuente
8

La cuestión de la fiabilidad de los comprobadores de seguridad de contraseñas también se extiende a la seguridad del comprobador en general. Da miedo ver una proliferación de medidores de fuerza de contraseña en línea. ¡Está exponiendo innecesariamente su contraseña a algún sitio en Internet! Incluso las aplicaciones locales para la comprobación de contraseñas pueden ser nefastas. No se puede confiar en las afirmaciones de que el sitio utiliza javascript y nunca transmite la contraseña a través de Internet. Algunos sitios de prueba de seguridad de contraseñas son manejados por sombreros negros, quienes simplemente los agregan a sus diccionarios junto con cualquier otra información que puedan reunir sobre usted. Otros sitios son administrados por personas con buenas intenciones, pero posiblemente con malas implementaciones, como un servidor vulnerable o falta de https. Y aún otros son vulnerables a los ataques de "las autoridades" que tienen formas de obligar al sitio a revelar, por ejemplo. las contraseñas enviadas por ciertos rangos de direcciones IP.

Sugiero que cualquier persona que use un sitio así nunca debe enviar una contraseña que realmente pretende usar.

    
respondido por el nealmcb 22.05.2011 - 19:22
fuente
7

La longitud es casi todo cuando se trata de defenderse contra los ataques de fuerza bruta.

Incluso los crackers básicos de contraseñas permiten sustituciones de estilo de habla 1337, por lo que en su ejemplo está comparando efectivamente una frase de contraseña de 7 palabras con una frase de contraseña de 2 palabras.

Mientras tengas frases de contraseña largas (donde la definición exacta de largo puede variar dependiendo de tus necesidades, pero debería tener al menos más de 13 caracteres para minimizar las probabilidades de un ataque de mesa de arco iris) obligas a un atacante a probar otros formas de ataque, como la ingeniería social; averiguar dónde escribió la frase de contraseña; sosteniendo a su gato como rehén, etc.

    
respondido por el Rory Alsop 24.03.2011 - 11:27
fuente
6

Teóricamente, los "medidores de seguridad de contraseña" no pueden funcionar . La herramienta solo ve el resultado del proceso de generación de contraseña, mientras que la "fuerza" de la contraseña es realmente una propiedad del proceso. Consulte esta respuesta y luego esa respuesta para más detalles.

Lo mejor que te puede dar una aplicación de medidor de fortaleza de contraseña es cuánto tiempo le habría llevado romper la contraseña; en otras palabras, supone que el atacante ejecuta exactamente el mismo código y no sabe nada más sobre ti. Esto no es una suposición razonable en la práctica: el atacante, cuando te ataca, está, bueno, detrás de ti, específicamente. Confiar en un medidor de contraseñas para la seguridad es como rezar para que todos los atacantes sean incompetentes: es una especie de "salto de fe".

    
respondido por el Thomas Pornin 03.02.2013 - 16:13
fuente
5

Mirando el Javascript para esa herramienta de Microsoft, parece que solo tiene una lista limitada de palabras del diccionario (vea las Líneas 264 en adelante en js archivo ), por lo que podría explicar por qué su frase de contraseña está obteniendo una calificación más alta de lo que quizás debería.

Personalmente recomendaría este comprobador de seguridad de contraseñas que proporciona un buen desglose de los elementos que conforman su contraseña y le explica cómo puede ser mejorado. Califica tu contraseña "voy a almorzar esta noche" al 56% y tu segunda contraseña "th1 $ .v4l" al 74%, lo que parece más realista.

Sin embargo, esta herramienta no usa ninguna lista de palabras en absoluto: su frase de contraseña está marcada solo por ser minúsculas, mientras que "voy a almorzar esta noche". obtiene el 98%. Puede sacar sus propias conclusiones acerca de qué tan útiles son las calificaciones de% de edad.

En lo que respecta al efecto en la duración de la verificación del tiempo de craqueo este artículo . Sin embargo, tenga en cuenta que desde el 2009, y los crackers de contraseñas basados en GPGPU ahora pueden administrar 10 ^ 9 / seg (el nivel más alto de ataque "clase F" en el artículo) en una sola PC de estación de trabajo / juego con una GPU de $ 500 tarjeta.

    
respondido por el Mark Davidson 24.03.2011 - 10:24
fuente
3

Bueno, si define la fortaleza de una contraseña como su dificultad o probabilidad de ser descifrado, entonces casi de manera contraintuitiva, la fortaleza de una contraseña es más una función de su longitud que su dificultad para recordar.

Cuando un atacante potencial no sabe nada acerca de su contraseña y solo puede usar Brute-Force para descifrar su contraseña, una contraseña más larga es mucho más fácil de recordar, como

"Voy a almorzar esta noche"

tardará más tiempo en resquebrajarse que

"th1 $ .v4l"

simplemente porque hay más caracteres que el atacante tendría que adivinar correctamente para descifrar la contraseña. Las contraseñas más largas presentan un espacio de búsqueda más grande para agotar, dan a su aguja (contraseña) un pajar mucho más grande para esconder.

    
respondido por el Daniel Miladinov 28.12.2011 - 03:55
fuente
3

Hace poco vi un cómic en el periódico. O tal vez fue una copia digital en línea de un cómic, no lo recuerdo.

Ilustró este mismo debate. Y ahora te explicaré el punto señalado:

El hecho de que una contraseña sea corta no significa que sea fácil de adivinar, como en el caso de "th1 $ .v4l". Pero solo porque una contraseña sea larga no significa que sea fácil de adivinar tampoco, como en el caso de "voy a almorzar esta noche".

El hecho del asunto es que ningún hacker humano serio se sentará allí y adivina su contraseña. Podrían usar palabras de diccionario, pero esos diccionarios no contienen todas las oraciones posibles. Sólo palabras.

No, lo que hacen los piratas informáticos (cuando han agotado un diccionario típico de PALABRAS), es que normalmente hacen que la computadora repase sistemáticamente todas las combinaciones posibles. Principio a fin. Si son forzados a seguir este camino, cuanto más corta es la contraseña, peor. Cuanto más tiempo, mejor. Independientemente de si hay dígitos o símbolos. Los dígitos y los símbolos solo importan a los humanos que recuerdan y los humanos adivinan Para una computadora, son lo mismo ... una secuencia de 1 y 0 ... y no hace ninguna diferencia.

Hazte un favor. Mantenlo largo pero simple. Corto y complejo puede costar tiempo a un hacker, pero largo y simple hará lo mismo. La pregunta es, ¿quieres una contraseña que sea fácil de recordar o difícil de recordar?

    
respondido por el CogitoErgoCogitoSum 03.02.2012 - 12:51
fuente
3

Bueno, todas las herramientas del comprobador de seguridad de contraseñas verifican cuánto esfuerzo tomará encontrar la contraseña utilizando la fuerza bruta y el ataque de diccionario.

como si comparas tus resultados aquí con ambas contraseñas.

  

enlace

"th1 $ .v4l" es

  

Contraseña segura con 74%

"Voy a almorzar esta noche" es

  

Buena contraseña 56%

esta contraseña tardará menos tiempo en descifrar el uso de la fuerza bruta.

    
respondido por el mr_eclair 25.03.2011 - 06:30
fuente
3

La seguridad de la contraseña solo puede ser estimada por usted solo o por otra persona si les dice cómo crear sus contraseñas. Por ejemplo, si uso un generador de contraseñas aleatorias utiliza un conjunto de 50 caracteres y mi contraseña tiene 8 caracteres, mi contraseña será 1 entre aproximadamente 3.9 × 10 13 o 2 45 . Si utilizo contraseñas basadas en Pinyin chino y mi contraseña es una frase de 4 palabras, dado que cada palabra está fuera de 2.050 posibles , mi contraseña es 1 de un posible 1.8 × 10 13 . La romanización de Pinyin promedio de un carácter chino es de aproximadamente 3 a 4 caracteres y hace una contraseña de "4 palabras" de aproximadamente 16 caracteres. Sin embargo, esta contraseña de Pinyin es más débil que la contraseña de 8 caracteres generada a partir de un conjunto de caracteres de 50.

Si un atacante sabe cómo se generó una contraseña (por ejemplo, examinando las contraseñas de texto sin formato robadas de algunos sitios inseguros) por una determinada persona, tiene el conocimiento necesario para reducir la dificultad de forzar la fuerza bruta mediante mucho ! Como saben que ya no está utilizando todos los caracteres posibles en su teclado, pueden eliminar combinaciones imposibles y ahorrar tiempo.

La próxima vez que genere una contraseña, piense en el algoritmo / método que está usando para generar una contraseña. Al utilizar Password Safe para generar una contraseña de 21 caracteres de un conjunto de 72 caracteres ( +-=_@#$%^&<>/~\?abcdefghijkmnopqrstuvwxyzandABCDEFGHJKLMNPQRTUVWXY346789 ), obtiene aproximadamente 1.0 × 10 39 combinaciones posibles o 130 bits de seguridad.

    
respondido por el Kevin Li 19.04.2014 - 01:56
fuente

Lea otras preguntas en las etiquetas