¿Es seguro usar un derivado de una contraseña como un salt

0

Sé por un hecho que las sales son una parte importante del almacenamiento seguro de una contraseña en una base de datos. La mayoría de las personas almacenan el hash de la contraseña y la sal que se utilizó para ello. Esto, he aprendido, no es tan seguro como muchos pensarían, ya que un cracker dedicado podría usar un ataque de diccionario para averiguar la contraseña (aunque sabía que estaba usando la sal).

Por lo tanto, estoy preguntando, ¿es seguro usar algún tipo de versión transformada de la contraseña como la sal? O es que una sal normal va a hacer exactamente el mismo trabajo.

(Para ser claros, no estoy creando mi propio criptográfico)

    
pregunta Aurora 24.12.2014 - 16:15
fuente

2 respuestas

3

El propósito de la sal es asegurar que dos usuarios separados que usen la misma cadena de contraseña no generen el mismo hash de contraseña. Si está definiendo de manera determinista la sal en función de la contraseña, y dos usuarios tienen la misma contraseña, es casi seguro que seleccionará la misma sal para ambas, y habrá fallado en el propósito original de usar una sal.

(Se puede imaginar un esquema mediante el cual se determina el valor de sal calculando un índice en la contraseña basada en el nombre de usuario, lo que significaría que dos usuarios diferentes con las mismas contraseñas obtendrían diferentes sales derivadas de sus contraseñas. sigue leyendo.)

Además, mi instinto me dice que cuando está extrayendo información de la contraseña para utilizarla de forma más pública que la sal, corre el riesgo de filtrar información sobre la contraseña en sí. Cualquiera de los más expertos en criptografía en este sitio probablemente puede dar capítulo y verso si eso es lo que se siente correctamente.

La conclusión es que el secreto no es necesario para la protección que proporciona la sal. No pretende complementar la calidad deficiente de las contraseñas, solo hacer que dos contraseñas iguales den como resultado diferentes hashes, lo que hace que los ataques de fuerza bruta sean más caros. Debería considerar cuidadosamente si realmente obtiene alguna mejora de seguridad haciéndola más compleja, y creo que la respuesta es no.

    
respondido por el gowenfawr 24.12.2014 - 16:27
fuente
0
  

no es tan seguro como muchos pensarían, ya que un cracker dedicado podría usar un ataque de diccionario para encontrar la contraseña

Como dijo gownfawr, el trabajo de salt es garantizar que dos usuarios con la misma contraseña no tengan el mismo hash almacenado en la base de datos. Es el trabajo del algoritmo de hash y la complejidad de la contraseña para protegerlo de ataques de fuerza bruta + diccionario. La sal no tiene que estar oculta dentro de la base de datos. Otra sal (en realidad llamada pimienta) a veces se oculta / almacena en otro lugar y se usa para eliminar las contraseñas de hash y proporcionar la oscuridad que está sugiriendo.

gownfawr tiene razón en que su idea de obtener la sal de la contraseña anularía el propósito de la sal.

    
respondido por el mcgyver5 24.12.2014 - 16:46
fuente

Lea otras preguntas en las etiquetas