¿Qué es mejor el cifrado hash o openssl con sal?

5

Estoy usando php y estaba buscando almacenar contraseñas en una base de datos mysql. Me preguntaba qué sería más seguro utilizar un cifrado hash o openssl con sal. Si utilizo un hash salado generado al azar único para cada usuario y almaceno la sal en la base de datos, ¿hay alguna manera de que alguien pueda descubrir la sal y descifrarla? ¿O si uso la función openssl_public_encrypt para cifrar la contraseña usando la clave pública, es más seguro que usar un hash con sal?

    
pregunta Aaron Holland 01.06.2012 - 21:03
fuente

2 respuestas

13

Generalmente, el hashing y el cifrado son para dos cosas diferentes. La distinción principal en su caso es que el hash es de una manera, y el cifrado es bidireccional. Es decir, puede descifrar la contraseña para obtenerlas en texto sin formato, pero no puede "deshacer" algo.

Si su sistema se ve comprometido y está utilizando el cifrado, el atacante probablemente tendrá toda la información necesaria para descifrar todas las contraseñas. Esto obviamente no es bueno. Si hasheado la contraseña, incluso si el atacante tuvo acceso a la contraseña y al valor inicial, no pudo obtener la contraseña de texto sin formato.

Por esta razón, es mejor codificar la contraseña en lugar de cifrarla. Por supuesto, esto asume que estás haciendo el hash correctamente. Mira algo como bcrypt para hacer esto por ti.

    
respondido por el Oleksi 01.06.2012 - 21:13
fuente
3

Debería codificar la contraseña usando scrypt, bcrypt o PBKDF2.

Hay muchos consejos en este sitio sobre este tema. Busque "hashing de contraseñas" y lo encontrará.

Vea, por ejemplo, ¿Cómo hacer hash de forma segura las contraseñas? , ¿Qué método de hash de contraseña debo usar? , ¿La mayoría de los algoritmos (s) hash de contraseña segura? , ¿Los expertos en seguridad recomiendan? bcrypt para el almacenamiento de contraseñas? .

Desea utilizar un algoritmo de hashing de contraseñas tan lento como pueda soportar, para evitar ataques de diccionario sin conexión en las contraseñas de las personas si su base de datos está en peligro.

Busca en el sitio y encontrarás mucho más.

    
respondido por el D.W. 03.06.2012 - 07:05
fuente

Lea otras preguntas en las etiquetas