¿Registro sin verificación cuando el usuario ha sido invitado?

4

El procedimiento de registro típico es, por supuesto:

  1. Alice ingresa la dirección de correo electrónico y la contraseña deseada (y posiblemente otros datos).
  2. Se envía un correo electrónico de verificación a la dirección que Alice proporcionó.
  3. Alice confirma su dirección de correo electrónico a través de un enlace (con un token único) en el correo electrónico.
  4. Alice ahora tiene acceso al servicio.

Pero en el caso de servicios donde los usuarios invitan a otros al ingresar sus direcciones de correo electrónico, ¿tiene sentido simplificar el procedimiento de registro? Si el nuevo usuario llega al sitio a través de un enlace de correo electrónico, ¿no se puede omitir el correo electrónico de verificación?

El flujo sería en su lugar:

  1. Alice (un usuario existente) invita a Bob al servicio ingresando su dirección de correo electrónico en la función de invitación del servicio.
  2. Bob recibe el correo electrónico, que tiene un enlace (nuevamente con un token) a la página de registro.
  3. La página de registro está precargada con la dirección de correo electrónico de Bob, por lo que todo lo que tiene que hacer es elegir una contraseña (el token también se propaga, por lo que Bob no puede enviar una solicitud para anular la dirección de correo electrónico rellenada).
  4. Bob tiene acceso inmediatamente.

No me sorprendería si algunos servicios ya lo hacen, simplemente no he visto ninguno (al menos ninguno que pueda recordar).

Por lo que puedo decir, el segundo flujo proporciona la misma cantidad de verificación / confirmación que el primero; en cualquier caso, el usuario sigue un enlace con un token único que está vinculado a su dirección. O, en cualquier caso, una cuenta de correo electrónico a la que tengan acceso.

¿Pero es lo mismo? ¿El flujo alterado proporciona un punto de apoyo para los atacantes?

    
pregunta Flambino 05.07.2016 - 14:08
fuente

2 respuestas

3

Podría imaginar el siguiente escenario:

  1. Bob lee el correo electrónico y piensa "No para mí, pero este sitio sería perfecto para mi buen amigo Mallory". Bob le reenvía el correo electrónico.
  2. Mallory ahora tiene la capacidad de registrarse con el correo electrónico de Bobs.
  3. Mallory usa la habilidad de hacerse pasar por Bob, por ejemplo. ataca los ataques de ingeniería social, o simplemente para manchar la reputación de Bobs.

Dependiendo de cómo formule el correo electrónico, el riesgo de que esto ocurra podría ser bastante pequeño. Pero no importa lo claro que seas, el punto 3 está obligado a pasar algunas veces, porque incluso si eres claro, la gente realmente no lee lo que escribes en los correos electrónicos.

También se debe tener en cuenta que Bob tendría la capacidad de detener a Mallory haciendo un restablecimiento de contraseña (la contraseña se enviaría al correo electrónico de Bobs). Pero para entonces Mallory ya podría haber causado algún daño.

    
respondido por el Anders 13.07.2016 - 10:46
fuente
2

En general, no es necesario exigir al usuario que vuelva a ingresar su dirección de correo electrónico si el enlace se recibe a través de esa misma dirección de correo electrónico. Sin embargo, es importante utilizar SSL, caducar el enlace tan pronto como se crea una contraseña y considerar la caducidad del enlace si no se ha creado una contraseña después de un cierto período de tiempo.

Dicho esto, es ligeramente más seguro si aún así se requiere que el usuario vuelva a ingresar su dirección de correo electrónico. Es posible que un atacante pueda obtener acceso al enlace sin el correo electrónico, por ejemplo, en la memoria caché de un usuario que hizo clic en el enlace desde una computadora pública y luego no terminó de configurar una contraseña. Sin embargo, consideraría este escenario bastante artificial, en comparación con la conveniencia de llenar previamente el correo electrónico.

    
respondido por el TTT 05.07.2016 - 16:29
fuente

Lea otras preguntas en las etiquetas