¿Scrypt ha resistido la prueba del tiempo?

11

Siempre he escuchado que scrypt era mejor que bcrpyt ... debido a que la memoria hace que la GPU sea un momento muy difícil de descifrar. Sin embargo, la noción siempre fue que scrypt no se había probado, era una especie de nuevo método de cifrado, y que debería esperar a que se probara antes de usarlo.

¿Ha llegado ese momento en el que las personas han hecho de scrypt el nuevo estándar para usar? ¿O todavía está en fase beta?

    
pregunta Arian Faurtosh 26.09.2013 - 02:07
fuente

3 respuestas

14

Scrypt ha principalmente sobrevivido. No está mal; simplemente resulta que las ventajas promocionadas de scrypt sobre la competencia (principalmente bcrypt y PBKDF2) pueden no ser tan maravillosas como se afirma en primer lugar. Como siempre, es un compromiso: como cualquier función de hash de contraseñas, su función es hacer que el hash de contraseñas sea costoso para todos, atacantes y defensores. Scrypt usa una gran cantidad de RAM para forzar al atacante a usar el mismo hardware que el defensor (una PC). Sin embargo, el punto negativo es que utiliza una gran cantidad de RAM .

Consulte esta presentación para obtener información sobre el presente del hashing de contraseñas. Se está ejecutando una competencia abierta , para obtener, publicar y analizar funciones nuevas y con suerte mejores (actualmente en la fase de recolección de candidatos).

    
respondido por el Thomas Pornin 26.09.2013 - 02:39
fuente
5

Un poco de la seguridad inherente en scrypt es que no hace ninguna promesa específica, pero de hecho se garantiza que es al menos tan bueno como las alternativas existentes.

En el peor de los casos, scrypt es tan bueno como las técnicas de composición de hash iterativas existentes. Dado que scrypt es, en sí mismo, una técnica de composición iterativa, y dado que las técnicas existentes son relativamente ingenuas, es difícil imaginar cómo scrypt podría ser menos seguro que la alternativa. Su seguridad en este sentido se basa en el hecho de que utiliza hashes bien establecidos en la configuración recomendada.

En el mejor de los casos, scrypt también aumentará el precio de cualquier hardware que usarías para los hashes de contraseña de fuerza bruta. ¿Por cuanto? Sin garantía. El objetivo del diseño es que los dispositivos de "hash cracking" tengan que tener una cantidad significativa de RAM dedicada, que es la forma más sencilla de aumentar dramáticamente la cantidad de espacio de colorante de chip que tendría que ir a ese dispositivo, o limitar dramáticamente el Velocidad del dispositivo, ya que la memoria es muy lenta o muy costosa.

Pero no hay una métrica para el éxito, ningún ataque específico contra el cual defenderse. Solo hay un reclamo general "probablemente hace que el hardware sea más caro" que no es un reclamo en absoluto.

El principal inconveniente, por supuesto, es que probablemente hace que el hardware sea más caro. Tu hardware, esta vez. El objetivo del diseño es aumentar el costo del hash, lo que significa que su computadora tendrá que costar más o un rendimiento peor que una configuración equivalente con otras estrategias de hash. Si no entiendes para qué es scrypt , entonces esto puede ser un problema real.

    
respondido por el tylerl 26.09.2013 - 09:15
fuente
3

Teniendo en cuenta la respuesta más excelente de Thomas Pornin , uno interino la opción es usar un mecanismo que frustrará los sistemas de cracking basados en GPU de hoy, pero con la expectativa de migrar a los resultados de la competencia de hashing de contraseña una vez que estén disponibles.

Por ejemplo, el uso de PBKDF2-HMAC-SHA512 evitará el agrietamiento de las GPU de hoy en día gracias al uso de SHA512. Pero este tipo de medida debe considerarse solo como un enfoque temporal . No es una solución a largo plazo.

    
respondido por el Jeffrey Goldberg 26.09.2013 - 07:24
fuente

Lea otras preguntas en las etiquetas