¿Es más seguro mezclar hash y sal de contraseña en el mismo campo de la base de datos?

2

Estoy almacenando en mi base de datos el hash y salt de la contraseña del usuario.

Me gustaría saber si la combinación de hash y sal en el mismo campo está agregando complejidad a un posible pirata informático que tuvo acceso a la base de datos.

Me gusta esto:

h:hash and S:salt
hhhhhhhhhhhhhhhhSSSS

E incluso así:

hhShhhhhSShhhhShhShhhh

Las posiciones de los octetos de sal se elegirán de forma arbitraria, y el hash y la sal se reconstruirán en tiempo de ejecución.

¿Es útil? ¿O completamente inútil?

    
pregunta Carl Sagan 03.08.2017 - 19:45
fuente

2 respuestas

4

Tener el salt y la contraseña juntos es bastante común, bcrypt usa algo similar. El hash devuelto por bcrypt tiene el siguiente formato

$prefix$cost$salt+hash

Acerca de la codificación, si bien puede brindarte algún tipo de protección contra la mayoría de los atacantes, solo agrega seguridad a través de la oscuridad. En la medida en que el atacante no sabe cómo está codificando el resultado, brindará cierta protección, pero una vez que el atacante sepa que no brindará ninguna protección.

En general, la seguridad a través de la oscuridad no se recomienda como la única capa de seguridad, pero en este caso es una práctica adicional sobre las buenas prácticas de hashing de contraseñas (supongo que utiliza bcrypt o algún algoritmo de hashing de contraseñas de manera equivalente segura). Pero IMO, se puede obtener una mejor mejora de la seguridad aumentando el costo / iteraciones de la función de hashing utilizada

    
respondido por el Mr. E 03.08.2017 - 20:23
fuente
0

Yo diría que esto es un buen endurecimiento, sin embargo no es algo en lo que confiar.

Las prácticas adecuadas, como usar un algoritmo de hash lento (bcrypt) y proteger su servidor son mucho más importantes.

Si alguien tiene acceso a su servidor, es probable que puedan averiguar cómo se organizan el hash y el salt dentro de la cadena.

Si solo se filtraran las cadenas, sería mucho más difícil la fuerza bruta, ya que no serían hash válidos.

Idea creativa, sin embargo, me gusta.

    
respondido por el jamieweb 03.08.2017 - 20:17
fuente

Lea otras preguntas en las etiquetas