¿Cómo funciona la autenticación si la contraseña proporciona un salt diferente en cada inicio de sesión?

1

¿Cómo autentica una aplicación la contraseña de un usuario si cada vez que proporciona su contraseña para acceder a su cuenta, la contraseña proporciona un salt diferente?

    
pregunta Joy 06.07.2017 - 09:21
fuente

2 respuestas

6

La premisa de tu pregunta es incorrecta. No se utiliza una sal diferente cada vez que se proporciona la contraseña.

Así es como funciona la autenticación basada en contraseña:

  • Al registrarse, el usuario envía su contraseña al servidor. El servidor genera una sal aleatoria y almacena el hash salado y la sal.
  • Al iniciar sesión, el usuario vuelve a enviar su contraseña al servidor. El servidor recupera la sal almacenada para ese usuario, vuelve a hacer con ella la contraseña y la compara con el hash almacenado.
respondido por el Anders 06.07.2017 - 09:31
fuente
1

Podría aclararse si separa el proceso de registro del proceso de autenticación.

En el momento de la inscripción:

  • El usuario proporciona credenciales. La mayoría de las veces esto incluye UserID + Password. Tenga en cuenta que el usuario (o el agente de usuario) no proporciona sal en esta etapa.

  • El servidor genera una sal única para ese usuario y la usa en un algoritmo de hashing de una sola vía para generar un resumen de contraseña.

  • La sal se almacena en la base de datos junto con el resumen de la contraseña.

En el momento de la autenticación (cuando el usuario vuelve a iniciar sesión), cada vez:

  • El usuario proporciona la ID de usuario + contraseña. Tenga en cuenta que el usuario no proporciona ninguna sal.

  • El servidor utiliza el UserID como clave de búsqueda y recupera el salt y el resumen de contraseña almacenado para ese usuario

  • El servidor luego combina la contraseña suministrada por el usuario + el sal recuperado de la misma manera que antes: para generar un resumen basado en la contraseña proporcionada por el usuario. Tenga en cuenta que la sal se recupera de la base de datos, no se genera recientemente.

  • El servidor luego compara el resumen de contraseña almacenada con el resumen basado en contraseña suministrada por el usuario para decidir si la autenticación es exitosa o no.

respondido por el Sas3 06.07.2017 - 11:58
fuente

Lea otras preguntas en las etiquetas