¿Por qué debería elegir SHA (como SHa-512), en lugar de bcrypt o PBKDF2, para cumplir con FIPS?

12

Debido a la regulación, mi empresa debe ser compatible con FIPS.

Estaba mirando la lista actual de métodos criptográficos aprobados por FIPS y yo observe que ni bcrypt ni PBKDF2 están en esta lista.

  • ¿Eso significa que debo usar salado SHA-512 para el almacenamiento de contraseñas?

  • ¿Es una buena idea?

pregunta John Assymptoth 31.08.2015 - 19:12
fuente

2 respuestas

19

FIPS 140-2 no cubre el tema de hashing de contraseña . Por lo tanto, no hay una función de hashing de contraseña que sería "aprobada por FIPS" en ese sentido. El uso de SHA-512 "tal como está", con o sin algo de sal y sin importar cómo inyecte dicha sal en el motor, no le otorgaría la aprobación del NIST. NIST simplemente no aprueba (o desaprueba) el hashing de contraseñas.

Lo más cerca que puede acercarse al mundo NIST es SP 800-132 , que enumera los métodos aprobados para derivación de clave basada en contraseña , algo que es bastante cercano (pero no idéntico) al hashing de contraseña. El NIST aprueba el PBKDF2, siempre y cuando la primitiva subyacente utilizada en el PBKDF2 esté "aprobada" (es decir, se use HMAC con una de las funciones SHA-2).

    
respondido por el Tom Leek 31.08.2015 - 19:35
fuente
5

FIPS 140-2 no lista los algoritmos de hashing de contraseñas. Si realmente necesita usar el algoritmo validado FIPS 140-2, necesita encontrar soluciones que fueron validadas por el NIST para su nivel de cumplimiento requerido.

Probablemente necesite verificar esto con un auditor de FIPS, pero PBKDF2 tiene implementaciones como PBKDF2-HMAC-SHA256 o 512, por ejemplo. Eso podría considerarse como compatible ya que la implementación usa SHA256 o 512.

    
respondido por el Lucas Kauffman 31.08.2015 - 19:31
fuente

Lea otras preguntas en las etiquetas