Considere un escenario en el que un usuario se registra para una aplicación web con su correo electrónico y contraseña . Después de registrarse, el usuario recibe un correo electrónico de confirmación que requiere un inicio de sesión / sesión para confirmar la dirección de correo electrónico. Para restablecer su contraseña, el usuario debe confirmar un correo de restablecimiento de contraseña que se envía a su dirección de correo electrónico almacenada.
Esto no debe confundirse con esta pregunta similar, ya que la otra pregunta trata con un acceso de cuenta temporal que no se proporciona aquí: ¿Debería poder restablecer una contraseña sin verificar primero la dirección de correo electrónico? En otras palabras: Mi pregunta no se refiere a un cambio de dirección de correo electrónico, sino al proceso de registro inicial.
¿Hay algún problema de seguridad si el usuario puede restablecer su contraseña si aún no se ha confirmado su dirección de correo electrónico?
Escenario # 1 Alice escribe mal su dirección de correo electrónico
- Por accidente, el correo electrónico de confirmación se envía a Eve.
- Eve recibe la solicitud de confirmación pero no puede confirmar su dirección de correo electrónico.
- Sin embargo, Eve puede restablecer su contraseña.
- Finalmente, Eve puede confirmar su dirección de correo electrónico y obtener el control total de la cuenta de Alice.
Resultado: Se omite el requisito de inicio de sesión / sesión para la confirmación por correo electrónico. Por lo tanto, creo que esta es una mala idea. Sin embargo, si el restablecimiento de la contraseña no está disponible sin una dirección de correo electrónico verificada, podría suceder lo siguiente:
Escenario # 2 Alice olvida su contraseña y aún no ha confirmado su dirección de correo electrónico
- Alice se registra con su propia dirección de correo electrónico y contraseña.
- Alice pierde su sesión y olvida su contraseña.
- Alicia no puede iniciar sesión (contraseña incorrecta) y no puede verificar su correo electrónico (se requiere inicio de sesión / sesión). Tampoco puede restablecer su contraseña (correo electrónico no verificado).
- Alice perdió el control de su cuenta (para siempre).
Entonces, como puede ver, el escenario # 1 produce un riesgo que es más o menos malo (probablemente no sea tan malo si no se recopila otra información al registrarse). Sin embargo, el escenario 2 ofrece una buena razón para aceptar ese riesgo y habilitar el restablecimiento sin una dirección de correo electrónico confirmada. ¿Se puede aceptar el riesgo o me falta algo?