¿Cuáles son los beneficios e inconvenientes de enviar por correo electrónico a un usuario un token / enlace de inicio de sesión?

1

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?

    
pregunta Scott Helme 17.08.2013 - 12:43
fuente

5 respuestas

3

Si confía en la dirección de correo electrónico para verificar la identidad del usuario original, ya sea para el inicio de sesión o para restablecer la contraseña, un compromiso de la cuenta de correo electrónico significa un compromiso de la cuenta del sitio web. Por lo tanto, no veo ningún riesgo de seguridad elevado en este esquema de inicio de sesión. De hecho, esto es esencialmente como usar un servicio de autenticación de terceros. Piense, inicie sesión en StackExchange con su cuenta de GMail.

La combinación de este esquema de inicio de sesión con una buena práctica de seguridad, como el uso de HTTPS, evitar vulnerabilidades de inyección, etc. puede hacer que esté a la par con un esquema de inicio de sesión basado en contraseña. La única ventaja que veo aquí es que el usuario ahora tendrá que recordar un número menor de contraseñas, eso es todo. La desventaja obvia es, por supuesto, el inconveniente de tener que ir a mi bandeja de entrada, abrir el mensaje y hacer clic en el enlace cada vez que tengo que iniciar sesión en ese sitio web.

Si planea usar esto, le recomiendo tener una opción alternativa para permitir que el usuario inicie sesión con su contraseña en caso de que no tenga acceso a su cuenta de correo electrónico por cualquier motivo.

    
respondido por el Adi 17.08.2013 - 16:36
fuente
1

Es posible que un usuario desee visitar su sitio web desde una computadora donde no tenga acceso a su cuenta de correo electrónico o no quiera acceder a él. Su proceso limitaría las computadoras donde el usuario puede acceder a su sitio.

    
respondido por el Jeff 17.08.2013 - 14:43
fuente
0

El mayor inconveniente de este método es que ofrece una protección absolutamente nula contra un ataque dirigido a uno de sus usuarios. Los correos electrónicos se pueden interceptar con bastante facilidad en un ataque dirigido y tiene absolutamente ninguna posibilidad de protegerse contra este tipo de situaciones.

Además de la obvia falla de seguridad, existe un gran problema de usabilidad. Requerir que inicie sesión en mi correo electrónico solo para acceder a su sitio es realmente molesto y probablemente desalentará a muchas personas a iniciar sesión.

    
respondido por el Ayrx 17.08.2013 - 12:48
fuente
0

A veces los usuarios tienen que cambiar sus direcciones de correo electrónico, tal vez debido a un correo no deseado o porque han cambiado de empleador. Si son miembros de muchos de estos sitios web, deben recordar todos estos sitios y actualizar el correo electrónico de contacto. Si olvidan una, más adelante ya no podrán iniciar sesión en este sitio y, por lo tanto, no podrán cambiar la dirección de correo electrónico.

Así que diría que no hay ninguna ventaja, ya sea que tenga que recordar las contraseñas o que tenga que recordar los sitios donde debe iniciar sesión para actualizar el correo electrónico de contacto. De cualquier manera, es bueno tener una herramienta como KeePass donde pueda almacenar toda la información de inicio de sesión de manera segura.

Tal vez haya incluso una desventaja, habrá gente que solicite acceso, porque cambiaron la dirección de correo electrónico. Entonces usted, como administrador, enfrentará el problema de creer a esta persona o no.

    
respondido por el martinstoeckli 17.08.2013 - 17:09
fuente
0

Esto podría ser una buena idea, si primero debe escribir las credenciales completas (nombre de usuario y contraseña) y luego enviar el correo electrónico con el enlace del token. Esto funcionaría como una verificación en dos pasos (escriba su contraseña, que solo usted debe saber y luego ingrese su correo electrónico, que también, solo se supone que debe ingresar).

Sin embargo, desea implementar algo como contraseñas de correo electrónico de un solo uso. Hay muchas desventajas de esta idea.

Primero, como se mencionó anteriormente, algunas personas tienen acceso limitado a sus cuentas de correo electrónico. En segundo lugar, a algunas personas les gusta tener arreglos / limpieza en sus bandejas de entrada. La eliminación de todos los correos electrónicos de su sitio web, después de un inicio de sesión exitoso, podría ser algo molesto.

Pero estas son solo desventajas de usabilidad. Echemos un vistazo más de cerca a su idea, desde el punto de vista de la seguridad.

¿Qué pasa con el spamming tus usuarios? Si un atacante conociera el nombre de usuario / correo electrónico, podría usar su método de inicio de sesión para enviar toneladas de correos electrónicos a sus usuarios. Esta situación podría hacer que sus clientes se molesten (bueno, apuesto a que recibir un montón de mensajes como Click here to login no es algo que les encantaría recibir :)). Su correo electrónico (el que utiliza para enviar mensajes con token-link) también podría estar en la lista negra (debido al gran tráfico que genera) y sus otros clientes no podrían recibir otros correos electrónicos de inicio de sesión.

Bien, podrías decir - No spamming! I'll implement CAPTCHA and allow to send only Nth email in short period of time . Bueno, respondería: acceda a su correo electrónico, CAPTCHA. ¿Qué más puede hacer que su sitio web sea difícil de usar? Volvamos a la charla sobre usabilidad :). Hablando de solicitudes de bloqueo en poco tiempo, no olvide que el atacante podría usar este método para bloquear a sus usuarios genuinos y evitar que accedan a su sitio web.

Otra razón por la que esta idea es incorrecta es el phishing. Si su sitio web envía muchos correos electrónicos, sus clientes son más vulnerables a los ataques de phising. Si algún usuario típico, a diario, hace clic en el enlace de su dominio: es más probable que no examine sus correos electrónicos tan cuidadosamente como los correos electrónicos de su banco. Los atacantes podrían usar su política de inicio de sesión y enviar correos electrónicos falsificados a sus clientes (por ejemplo, con enlaces a contenido malicioso).

    
respondido por el p____h 19.08.2013 - 19:24
fuente

Lea otras preguntas en las etiquetas