Suponiendo que SSL / TLS no se puede usar en este contexto, ¿es este método lo suficientemente seguro como para autenticar a alguien sin que alguien esté escuchando para poder recuperar la contraseña de la información transmitida?
- El cliente envía una solicitud de inicio de sesión.
- El servidor responde con un identificador único para el inicio de sesión
- El usuario ingresa la contraseña
- El cliente hace un hash de la contraseña y encripta el identificador con la contraseña de hash (
encryption(value: identifier, key: hash(password))
) - El cliente envía el identificador cifrado + el nombre de usuario
- El servidor recibe el mensaje cifrado, obtiene la contraseña de descifrado de la base de datos con el nombre de usuario que proporcionó el cliente y comprueba si puede recuperar el identificador con la contraseña.
- Si el identificador se recupera con éxito, la autenticación del servidor es exitosa.