Con ASIC bitcoin miners, ¿debe considerarse SHA256 inseguro para el hashing de contraseñas?

14

Estoy seguro de que todos aquí han visto el aumento y un mayor aumento de Bitcoin. El proceso utilizado para la minería de bitcoins es básicamente "forzamos bruscamente un hash SHA256 que es menor que esta cantidad"

Dicho esto, parece ser realmente popular. Ahora hay extremadamente mineros rápidos de ASIC que son capaces de más de 60,000 Mhashes / s

Aunque probablemente estén bastante especializados en bitcoins, asumo que no sería imposible utilizarlos con un sombrero negro / gris y emplear su poder de fuerza bruta para encontrar una contraseña de un salt y hash. Debido a esto, ¿debe considerarse SHA256 un algoritmo de riesgo para confiar las contraseñas?

    
pregunta Earlz 15.04.2013 - 19:31
fuente

3 respuestas

13

La capacidad de calcular muchos hashes muy rápido con hardware dedicado es un problema para los hashes de contraseña, pero no un problema nuevo . Antes de la llegada de ASIC especializada en SHA-256, ya estábamos tomando FPGA en cuenta (ver, por ejemplo, esta máquina de investigación , desde hace ya cinco años). Un ASIC se puede sincronizar aproximadamente dos o tres veces la frecuencia del FPGA equivalente; La producción en masa reduce aún más los costos. Esto no cualitativamente cambia la situación, pero sí da un impulso al atacante, algo así como, por ejemplo, 3 bits o entropía.

Por supuesto, un SHA-256 simple para el hashing de contraseña no es una buena idea; es demasiado rápido incluso cuando el atacante tiene "solo" PC clásica; Supongo que estamos hablando de PBKDF2 , una construcción para el hashing lento que se basa en un PRF subyacente, generalmente HMAC , que se construye sobre una función hash como SHA-256.

La teoría ya dice que, en igualdad de condiciones, el hash de contraseña debe usar la función hash subyacente que es más eficiente en el hardware que la procesará en el "sistema honesto", es decir, una PC. Ese es el punto de las funciones de hashing como bcrypt o scrypt. Si quieres mantenerte en PBKDF2, usar SHA-512 sería una buena idea, porque SHA-512 usa muchas operaciones aritméticas de 64 bits, algo en lo que una PC moderna es muy buena, pero a la que la GPU apesta. ASIC especializado en SHA-256 no cambia esa recomendación.

    
respondido por el Thomas Pornin 15.04.2013 - 19:49
fuente
5

SHA256 nunca se ha considerado un algoritmo seguro para el hashing de contraseñas. Utilice bcrypt , pbkdf2 o scrypt en su lugar.

Consulte esta es una respuesta increíble de @ThomasPornin para obtener más información.

    
respondido por el Ayrx 15.04.2013 - 19:32
fuente
4

Los ASIC suelen ser OTP (una vez programables [se hacen directamente a partir de obleas]), por lo que no puede reprogramarlos (por ejemplo, cambiar a SHA1 o implementar HMAC) y usarlos para el craqueo. Bitcoin usa SHA256 dos veces iterado ( Minería ), lo cual es bastante inútil en términos de seguridad.

Por favor, consulte Wikipedia en relación con ASIC

    
respondido por el Dr.Ü 15.04.2013 - 19:57
fuente

Lea otras preguntas en las etiquetas