Columna de base de datos separada para salt

1

¿Es aconsejable almacenar la sal en una columna de base de datos separada o debemos concatenarla junto con la contraseña? ¿Hay alguna diferencia? Me he encontrado con implementaciones de ambos tipos.

Ejemplo de sal concatentado utilizada en la función de hash de wordpress.

$P$Bo3k0g.yPKzWx.xmABq/hCuGLLd7A20
    
pregunta limbenjamin 16.12.2014 - 18:07
fuente

2 respuestas

3

Realmente no hace un poco de diferencia. La sal de ninguna manera debe mantenerse segura. Podría decirse que hay algunas ventajas de seguridad muy pequeñas para que permanezca en secreto (ya que proporcionaría cierta protección contra el descifrado de contraseñas triviales), pero si su seguridad depende de eso, entonces su seguridad está rota.

Además, es improbable que la diferencia entre estar en la misma columna y estar en una diferente sea un poco diferente si se compromete la base de datos. Podría ser mínimamente beneficioso colocar ambas en una columna cifrada, pero si son dos columnas cifradas o una no hace mucha diferencia tampoco.

    
respondido por el AJ Henderson 16.12.2014 - 18:34
fuente
1

Yo diría que es más una cuestión de rendimiento, básicamente cuál de estos esquemas de base de datos implica menos sobrecarga. De cualquier manera, si el DB está comprometido, un atacante podría encontrar fácilmente el salt para cada hash de contraseña. Dado que un salt solo lo protege de los ataques de precomputación, pero es necesario para la autenticación, es difícil y realmente no vale la pena intentar separarlo del hash de contraseña.

    
respondido por el theterribletrivium 16.12.2014 - 22:10
fuente

Lea otras preguntas en las etiquetas