¿La denegación rápida indica que sus contraseñas se almacenan en texto sin formato?

7

Diga que está utilizando un sitio web e ingrese incorrectamente su contraseña. Luego, el sitio web aparece "instantáneamente" con un mensaje de "nombre de usuario / contraseña incorrecto".

¿Sería seguro inferir que el sitio web no tiene contraseñas de hash?

Según tengo entendido, los hash criptográficos generalmente están diseñados para tomar un cierto tiempo mínimo para disuadir los ataques de fuerza bruta.

    
pregunta Liam 25.04.2016 - 04:01
fuente

4 respuestas

23

No puedes hacer esa suposición. El hash se produce extremadamente rápido, incluso una contraseña que contiene sal, y utiliza un algoritmo seguro "lento" (o incluso un conjunto de algoritmos encadenados) que devolverá muy rápido (para los humanos). Una estimación aproximada para el uso de PBKDF2 con 10,000 iteraciones por cada intento de inicio de sesión podría manejar 100,000 intentos en un segundo (cuando solo se observa el tiempo de hashing). Lo que parece "instantáneo" para usted en realidad es bastante tiempo para el sistema.

Recuerde también que es posible que la página no tenga que volver a cargar ningún contenido, ya que el diálogo ya no se muestra. O la página podría usar una conexión persistente en lugar de crear una nueva conexión al enviar las credenciales. Ambos acelerando el tiempo de respuesta.

Eso no quiere decir que el error de un nombre de usuario / contraseña incorrecto no pueda revelar información. Algunos sitios devolverán su mensaje de error más rápido si el nombre de usuario no es válido (y, por lo tanto, no se molestó en comprobar la contraseña). Esto puede llevar a un atacante a enumerar los nombres de usuario de la cuenta.

Estimaciones de hash: enlace

    
respondido por el Daisetsu 25.04.2016 - 08:00
fuente
2

Tu suposición es incorrecta. Los hashes criptográficos no están generalmente diseñados para ser lentos. Por el contrario, los hashes más utilizados, como MD5 y la serie SHA de función criptográfica hash, se desarrollaron explícitamente teniendo en cuenta la velocidad. Deben serlo, ya que pueden utilizarse para agrupar grandes archivos o proporcionar una verificación de integridad de las estructuras de datos internas del sistema de archivos y no deben ralentizar el acceso de lectura / escritura. El mayor requisito para una función de hash criptográfica es que es imposible generar rápidamente un archivo de entrada que coincida con un hash determinado, no que sea lento.

Dicho esto, hay un subconjunto de funciones hash criptográficas desarrolladas explícitamente para su uso como hashes de contraseña. Y estos están de hecho desarrollados para ser (configurablemente) lentos para disuadir ataques de fuerza bruta. Dos ejemplos son PBKDF2 y bcrypt. Pero eso no significa que los almacenes de contraseñas solo usen estos tipos de funciones criptográficas de hash.

Por lo tanto, no puede deducir la presencia de hashing de contraseñas a partir de un rechazo rápido.

    
respondido por el Dreamer 25.04.2016 - 15:56
fuente
1

Supongo que depende de las circunstancias.

Si está ejecutando una máquina con Windows 95 en una conexión de acceso telefónico a un servicio web que se ejecuta en un cuadro de Unix sobrecargado desde 1990, entonces sí, me imagino que tomará uno o dos segundos para devolver un resultado.

Sin embargo, estamos en 2016, donde las CPU se ejecutan en el rango de GHz y las velocidades de Internet se encuentran en los MB / s. El hashing a una computadora hoy en día es una hazaña trivial, que tomaría una fracción de segundo. Para el humano, es prácticamente instantáneo.

Si utilizamos AJAX y el renderizado anticipado dice "ventana emergente", veremos un resultado instantáneamente en el mejor de los casos. Pruébalo en Facebook, o Google. Verás un resultado de inmediato. Inténtalo de nuevo en una Raspberry Pi. Verás lo mismo.

    
respondido por el Virtual Anomaly 25.04.2016 - 09:54
fuente
-16

No, porque tu contraseña hash es solo texto sin formato de todos modos. El hashing se produce cuando creas la cuenta, no cada vez que inicias sesión. Si alguien usa la misma contraseña que tú, también tendrá la misma contraseña hash, por lo que muchos sitios requieren contraseñas complejas.

Esas contraseñas de texto sin formato tardarán tanto en recuperarse como en crearlas, incluso si utilizas un método más lento, la contraseña se creará instantáneamente.

¿Cómo pueden las contraseñas creadas tan rápido ser seguras? Porque es una forma de cifrado; lo que reduce drásticamente el trabajo que necesita hacer un servidor.

    
respondido por el Doug 25.04.2016 - 11:17
fuente

Lea otras preguntas en las etiquetas