¿Implementando la verificación de 2 pasos por correo electrónico para aplicaciones web?

3

Estaba pensando en aplicar la verificación de 2 pasos a mis aplicaciones web que funcionará de manera similar a la verificación de 2 pasos de SMS / voz de Gmail, excepto que mi aplicación web solo enviará un correo electrónico con el código de verificación cada vez que un usuario inicie sesión.

Me preguntaba si es una buena práctica o ¿sigue siendo vulnerable? Lo pregunto porque nadie parece implementar esto. Por ejemplo, Paypal usa un gadget, mientras que Blizzard usa una aplicación para teléfonos inteligentes para su verificación en dos pasos. Creo que también podrían usar códigos de verificación de correo electrónico, pero no lo hacen. ¿Algún problema con el correo electrónico?

    
pregunta IMB 19.04.2012 - 22:47
fuente

1 respuesta

2

Consulte Si incluyo un servicio de Olvidé mi contraseña, ¿para qué usar una contraseña? . Esa pregunta considera si podemos usar la función "Olvidé mi contraseña; por favor, envíeme un código de restablecimiento" como la forma principal de iniciar sesión en su cuenta. Los problemas son similares.

En particular, el principal inconveniente es que, desde una perspectiva de usabilidad, puede ser molesto tener que esperar a que aparezca el correo electrónico cada vez que el usuario inicia sesión.

Desde una perspectiva de seguridad, es (en mi opinión) un enfoque razonable, aunque no es perfecto. El principal inconveniente de la seguridad es que la cuenta de correo electrónico del usuario se convierte en un riesgo importante: si la cuenta de correo electrónico del usuario es hackeada, el atacante puede tener acceso a la cuenta (por ejemplo, si el usuario usa la misma contraseña para la cuenta de correo electrónico y su cuenta en su servicio). Además, la forma en que maneja el restablecimiento de la contraseña se vuelve crítica para la seguridad. Si sigue la práctica estándar de enviar un correo electrónico al usuario con un enlace de restablecimiento, entonces ha creado una gran debilidad en su sistema: esto facilita que un atacante que haya comprometido la cuenta de correo electrónico del usuario luego robe la cuenta del usuario en su servicio. , sin adivinar, utilizando el proceso de restablecimiento de contraseña.

Por cierto, esto no es realmente una autenticación de 2 factores. No espere que esto ofrezca el mismo nivel de seguridad que la autenticación real de 2 factores, como la verificación de voz / SMS de Google. Por ejemplo, si alguien obtiene acceso a la computadora del usuario (p. Ej., La computadora del usuario es robada; el compañero de cuarto del usuario le está jugando una mala pasada), entonces esa persona podrá acceder a la cuenta del usuario en su servicio.

P.S. Consulte también ¿Qué problemas tiene este procedimiento de "recuperación de cuenta"? , La contraseña se envió por correo electrónico al momento del registro , Envíe la contraseña olvidada o envíe ¿Restablecer enlace, tanto como inseguro? . Y te recomiendo usar SSL en todo el sitio si puedes.

    
respondido por el D.W. 23.04.2012 - 18:42
fuente

Lea otras preguntas en las etiquetas