Cómo restablecer una autenticación de segundo factor sin comprometer el proceso de autenticación

2

Estoy diseñando un sistema que usa autenticación de dos factores. Donde el usuario solo puede otorgar acceso solo si los dos factores de autenticación pasaron la verificación.

Supongamos que el primer factor es simplemente una autenticación basada en contraseña y el segundo factor es una biométrica de huellas dactilares.

Ahora, si el usuario quiere restablecer su contraseña, no hay un gran problema. El usuario presionó un botón para restablecer la contraseña y el sistema le envió un correo electrónico al enlace para restablecer la contraseña o tal vez el sistema puede ser más agresivo y le pide al usuario que verifique su identidad usando la huella dactilar antes de enviarle por correo electrónico el enlace para restablecer la contraseña. Para mí, esto suena bien

Pero al revés es lo que no me gusta. Digamos que el usuario desea restablecer su huella digital, por supuesto, alguien puede preguntar por qué no cambia la huella digital (a pesar de que esto no es del todo correcto), pero digamos que el usuario usará otro dedo como el pulgar. en lugar del dedo índice. Aquí, puedo ver un problema, el nivel de seguridad del sistema cae al nivel de seguridad basado en contraseña.

Un hacker que logró obtener la contraseña de usuario para nuestro sistema. Puede afirmar que quiere restablecer su huella dactilar porque su dedo está lesionado. Si le permitimos restablecer su huella digital, ¿por qué tenemos una autenticación de segundo factor?

Puedo enviar al usuario un enlace a su correo electrónico donde solo puede restablecer su huella digital a través de este enlace. Pero nuevamente, la casilla de correo electrónico solo está protegida por contraseña. De hecho, podría ser peor si nuestro sistema y la casilla de correo electrónico del usuario utilizan un único signo o un directorio activo.

No veo una solución técnica para este problema. Creo que solo una política de seguridad solo puede ayudar en este caso. Pero no estoy seguro de cuál es exactamente la política.

    
pregunta Ubaidah 03.04.2015 - 00:16
fuente

1 respuesta

2

Aquí hay tres soluciones:

Tenga un número limitado de códigos de recuperación de un solo uso que el usuario debe imprimir y almacenar en una ubicación físicamente segura. Esto es esencialmente un sustituto de "algo que tienes" ya que es poco probable que el usuario recuerde alguno de los códigos. Este es el enfoque utilizado por Google.

Use la confianza transitiva, esto funciona si sabe que existe una relación entre los usuarios. Por ejemplo, si sabe que dos cuentas pertenecen a empleados de la misma empresa, podría permitir que un empleado que se haya autenticado completamente apruebe la autenticación para que otro empleado inicie sesión solo con su contraseña. Hasta cierto punto, AWS utiliza este método ya que no existe una funcionalidad de restablecimiento de 2FA explícita, pero puede permitir que algunos usuarios tengan permiso para modificar la configuración de 2FA para otros.

Introduzca un retraso de tiempo en los restablecimientos de autenticación con la oportunidad de rechazarlo. Por ejemplo, si el usuario inicia sesión con su contraseña y decide iniciar un restablecimiento de la huella digital, entonces tiene que esperar 72 horas antes de poder continuar. Durante ese tiempo, se envía una alerta al usuario por correo electrónico, SMS, etc. y, en cualquier momento, el usuario puede iniciar sesión utilizando tanto su contraseña como su huella dactilar y cancelar la solicitud de restablecimiento. Apple utiliza este enfoque cuando habilita 2FA para evitar que los usuarios que solo tienen contraseñas se salgan de su cuenta por un pirata informático que habilita 2FA.

    
respondido por el thexacre 03.04.2015 - 01:18
fuente

Lea otras preguntas en las etiquetas