¿Mi método hash es seguro? [duplicar]

0

Utilizo bcrypt (32 rondas) y una vez que se produce el hash, obtengo el sha512 de ese hash y luego lo hago con blow fish y una vez hecho esto, lo hago nuevamente con sha512 con una sal que se ha recortado con bcrypt (94 rondas) que tiene 33 caracteres en cada contraseña de usuario.

¿Eso es seguro o no?

    
pregunta sss 10.03.2014 - 17:29
fuente

2 respuestas

14

Sí, pero todo después del primer bcrypt es completamente innecesario. bcrypt genera y agrega automáticamente un salt también (en la implementación de ruby de todos modos), y cambiar el número de rondas es suficiente para garantizar que el esquema de hashing sea lo suficientemente lento como para disuadir el forzamiento de brutos fuera de línea.

    
respondido por el Slicedpan 10.03.2014 - 17:33
fuente
8

Su esquema es tan seguro como bcrypt con 32 rondas, pero mucho más complicado. Agregar complejidad no aumenta la seguridad del sistema, solo hace que sea más probable que tenga errores.

Los hashes SHA-512 y Blowfish no agregan ningún factor de trabajo significativo en comparación con bcrypt. Y las rondas adicionales de bcrypt aplicadas a la sal no añaden nada a la dificultad de adivinar la contraseña de fuerza bruta, ya que solo se debe calcular una vez por cada contraseña de destino, no una por cada.

Yo sugeriría encarecidamente el uso de bcrypt estándar. Para aumentar la fuerza de hash solo aumenta el número de rondas. (Mucho, suponiendo que signifique 32 iteraciones, eso es casi nada. Consulte Cantidad recomendada de rondas para bcrypt para números más realistas.)

Esto ayudará a la interoperabilidad y te permitirá aumentar el número de rondas a medida que avanzas sin romper todos tus hashes existentes.

    
respondido por el bobince 10.03.2014 - 18:50
fuente

Lea otras preguntas en las etiquetas