Salar su contraseña: ¿mejores prácticas? [cerrado]

Resuelto Randolpho asked hace 15 años • 8 respuestas

Siempre he tenido curiosidad... ¿Qué es mejor al agregar sal a una contraseña para hash: prefijo o postfijo? ¿Por qué? ¿O importa, siempre y cuando le pongas sal?

Para explicar: todos (con suerte) ya sabemos que debemos agregar sal a una contraseña antes de guardarla en la base de datos [ Editar: para que pueda evitar cosas como lo que le sucedió a Jeff Atwood recientemente ]. Normalmente, esto se hace concatenando el salt con la contraseña antes de pasarla por el algoritmo hash. Pero los ejemplos varían... Algunos ejemplos anteponen la sal antes de la contraseña. Algunos ejemplos agregan la sal después de la contraseña. Incluso he visto algunos que intentan poner la sal en el medio.

Entonces, ¿cuál es el mejor método y por qué? ¿Existe algún método que reduzca la posibilidad de una colisión de hash? Mi búsqueda en Google no ha arrojado un análisis decente sobre el tema.

Editar: ¡ Excelentes respuestas amigos! Lo siento, solo pude elegir una respuesta. :)

Randolpho avatar Mar 24 '09 02:03 Randolpho
Aceptado

El prefijo o sufijo es irrelevante, solo se trata de agregar algo de entropía y longitud a la contraseña.

Deberías considerar esas tres cosas:

  1. La sal tiene que ser diferente para cada contraseña que almacene. (Este es un malentendido bastante común).
  2. Utilice un generador de números aleatorios criptográficamente seguro.
  3. Elija una sal lo suficientemente larga. Piensa en el problema del cumpleaños.

Hay una excelente respuesta de Dave Sherohman a otra pregunta de por qué debería usar sales generadas aleatoriamente en lugar del nombre de un usuario (u otros datos personales). Si sigues esas sugerencias, realmente no importa dónde pongas la sal.

Georg Schölly avatar Mar 23 '2009 19:03 Georg Schölly

Creo que todo es semántica. Ponerlo antes o después no importa excepto contra un modelo de amenaza muy específico.

Se supone que el hecho de que esté ahí derrota a las mesas arcoíris.

El modelo de amenaza al que aludí sería el escenario en el que el adversario puede tener tablas de arcoíris de sales comunes añadidas o antepuestas a la contraseña. (Diga la NSA) Supongo que lo tienen agregado o antepuesto, pero no ambos. Eso es una tontería y una mala suposición.

Sería mejor suponer que tienen la capacidad de almacenar estas tablas de arco iris, pero no, digamos, tablas con sales extrañas intercaladas en medio de la contraseña. En ese caso concreto, conjeturaría que lo mejor sería intercalar.

Como dije. Es semántica. Elija un salt diferente para cada contraseña, un salt largo e incluya caracteres impares como símbolos y códigos ASCII: ©¤¡

Tom Ritter avatar Mar 23 '2009 19:03 Tom Ritter