¿Debe un usuario poder restablecer su contraseña si su dirección de correo electrónico aún no se ha verificado?

4

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

  1. Por accidente, el correo electrónico de confirmación se envía a Eve.
  2. Eve recibe la solicitud de confirmación pero no puede confirmar su dirección de correo electrónico.
  3. Sin embargo, Eve puede restablecer su contraseña.
  4. 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

  1. Alice se registra con su propia dirección de correo electrónico y contraseña.
  2. Alice pierde su sesión y olvida su contraseña.
  3. 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).
  4. 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?

    
pregunta hurb 22.09.2016 - 15:02
fuente

1 respuesta

3

El procedimiento de registro correcto es el siguiente:

  • Alices se registra con una nueva contraseña y una dirección de correo electrónico (x @ y)
  • la cuenta se crea como bloqueada hasta la validación de la dirección de correo electrónico
  • Alices intenta iniciar sesión y solo recibe un mensaje que dice que debe activar su cuenta con los correos enviados a la dirección x @ y
  • si la validación no se produce en el tiempo esperado (entre 4 y 24 horas), la cuenta se destruye, lo que impide que Alice se olvide de validar su dirección de correo
  • Alices valida del correo y se le pide la contraseña. Si no puede proporcionar la contraseña correcta después de tres intentos, se destruye la cuenta; esto evita que Eves use la cuenta de Alice si recibió el correo de validación

El caso problemático real (ya visto en el mundo real) es:

  • Alice se registra con una cuenta de correo correcta de su ISP y la valida
  • más tarde, Alice cambia de ISP, usa una nueva cuenta de correo electrónico, pero olvida declararla en su cuenta
  • incluso más tarde, Alice olvida su contraseña. ¡Morapio! Ella está definitivamente excluida de su cuenta

No puedo imaginar una manera de mitigar ese problema

    
respondido por el Serge Ballesta 22.09.2016 - 15:50
fuente

Lea otras preguntas en las etiquetas