La pregunta
Anoche estaba leyendo un foro sobre la idea de enviar por correo electrónico a un usuario un enlace de inicio de sesión, como un enlace para restablecer la contraseña, por lo que no requieren una contraseña. Su dirección de correo electrónico ya se verificó al registrarse utilizando un enlace similar y los veo en principio bastante similares a un enlace para restablecer la contraseña.
El proceso
El usuario visitará el sitio, ingresará su nombre de usuario y recibirá un correo electrónico con un enlace de inicio de sesión válido por 5 minutos. Hacen clic en el enlace en el correo electrónico y se registran.
Drawbacks
- Mi preocupación inicial era si un atacante tenía acceso a su correo electrónico, pero simplemente podían usar el proceso de restablecimiento de contraseña en la mayoría de los sitios para acceder a la cuenta en esta situación.
- El inconveniente para el usuario de tener que iniciar sesión en su correo electrónico para recuperar el enlace.
- El correo electrónico no es necesariamente un medio seguro para intercambiar el enlace de inicio de sesión.
Advantages
- Como anfitrión, no es necesario que almacene la contraseña del usuario y se preocupe por una infracción que lo revele.
- SSO presenta un único objetivo de alto valor para un atacante y requiere implementación en su sitio. ¿Dibuja este método un paralelo pero sin la dependencia del servicio SSO?
- El usuario no tiene que recordar otra contraseña que probablemente sea un duplicado de una contraseña en otro lugar o muy débil.
Thoughts
El token de inicio de sesión tendría que ser fuerte y aleatorio para evitar intentos de fuerza bruta y también podría contener algún tipo de ID de usuario para reducir el alcance de un ataque. ¿Hay otras ventajas o desventajas importantes que pueda señalar en el punto de vista de seguridad desde arriba?