comparando algoritmos de hashing de contraseñas - ¿ideas de PoC?

5

Bien, comencé a trabajar para una empresa de consultoría de seguridad y recomendamos SHA 256 (con salt) para el hashing de contraseñas porque MD5 es demasiado débil. He leído algunas respuestas brillantes (¡la lista es demasiado larga!) En sec.SE sobre el hashing de la contraseña durante los últimos meses y sería un pecado no intentar demostrarles a mis colegas y adultos mayores que MD5 y SHA no son adecuado para el hashing de contraseñas.

Pensé que sería una buena idea crear un PoC (bases de datos de demostración que contenga contraseñas con MD5, SHA 256 y bcrypt e intentar medir el tiempo necesario para generar el hash) acompañado de algunas referencias estándar. Estoy dispuesto a hacer son:

  1. Usar SHA 256 sobre MD5 para el hashing de contraseñas no mejora la seguridad. Un algoritmo de hashing de contraseñas (bcrypt, PBKDF2) sería una opción mucho mejor para almacenar contraseñas, por supuesto, con sales únicas.
  2. Algunas referencias estándar para apoyar estas vistas. Las referencias son importantes para apoyar las vistas.

p.s. Tengo experiencia en programación, pero soy un novato en lo que respecta al descifrado de contraseñas basado en hardware. No es una pregunta "dame el código"; Solo pido ideas y sugerencias para hacer de este un mejor PoC.

    
pregunta Shurmajee 12.10.2013 - 20:51
fuente

3 respuestas

2

Si sus colegas no están lo suficientemente impresionados por explicaciones detalladas o por puntos de referencia publicados , y realmente necesita un Sello de aprobación por parte de "investigadores reales" (sea lo que sea) o, lo que es peor, algunos organismo gubernamental, luego muéstrales:

El punto difícil, por supuesto, es hacer que conozcan lo que ya deberían saber, sin hacerles sentir que, bueno, ya deberían saberlo, con ser una firma de consultoría de seguridad y todo eso. Exponer a las personas a su propia incompetencia puede ocasionalmente desencadenar un reflejo saludable de humildad y una voluntad de aprender; sin embargo, a menudo induce reacciones agresivas que serán contraproducentes, es decir, no dejarán de usar el hashing de contraseñas incorrecto, pero te despedirán por tu falta de decisión.

    
respondido por el Tom Leek 15.06.2014 - 22:49
fuente
3

Usted dijo que trabajaba en una compañía de seguridad, pero al mismo tiempo, dice que no están convencidos de que SHA-256 no sea adecuado para contraseñas. Entonces, no estoy seguro de cómo saben sus colegas, pero agregaría algunos gráficos que explican cómo funciona el hash para SHA-256 y cómo funciona para Scrypt. Quizás un buen punto de partida es el episodio de Security Now sobre problemas de memoria difícil , que explica cómo funciona Scrypt y por qué Es mejor para las contraseñas.

Nota al margen: hace algún tiempo, hice una presentación similar a algunos desarrolladores de una empresa. Tomé las contraseñas de sus usuarios y ejecuté el hashcat contra ellos, mientras explicaba que SHA-256 no era realmente adecuado y que Scrypt sería una mejor opción. Mientras hablaba, las contraseñas estaban rodando en el fondo. Basta con decir que, al final de la presentación de media hora, estaban bastante convencidos de que SHA-256 no era lo suficientemente bueno. A veces, una demostración práctica es mejor que PowerPoint con números ;-)

    
respondido por el jpkrohling 14.10.2013 - 14:41
fuente
3

Tome una lista de 1,000 contraseñas: algunas triviales (password, cat), algunas basadas en patrones (mY $ p455w0rd), algunas aleatorias (s% Xn3,0a9aN), y trátelas de tres maneras diferentes: MD5 con sal, SHA -256 con sal, y bcrypt.

Utilice hashcat en los resultados.

    
respondido por el Stephen Touset 12.10.2013 - 21:30
fuente

Lea otras preguntas en las etiquetas