Actualmente estoy en el proceso de diseñar un formulario de registro para que los usuarios registren cuentas. Las cuentas contendrán una gran cantidad de información personal, por lo que quiero garantizar la mayor seguridad posible. La falla / problema más grande en el requisito es que el nombre de usuario debe ser la primera letra del usuario seguido de su apellido, y por lo tanto, encontrar un nombre de usuario es una tarea fácil. Debido a eso, me aseguro de hacer cumplir un mínimo de 12 contraseñas de caracteres que incluyen números y mayúsculas y minúsculas.
Sin embargo, me preguntaba si un usuario se va de vacaciones o si tiene un hijo o si se toma un tiempo de licencia prolongado y luego regresa sin recordar la contraseña. ¿Qué medios tendría para él recuperar / restablecer su contraseña?
Encontré problemas en cualquier enfoque que se me ocurra.
Hacer preguntas de seguridad no parece ser una buena opción, ya que parece anular el propósito de hacer cumplir contraseñas largas. Hoy en día, muchas personas no son demasiado inteligentes y, por lo tanto, las respuestas a muchas preguntas de seguridad se pueden encontrar fácilmente en línea haciendo una investigación.
El simple hecho de enviar un enlace de restablecimiento o una nueva contraseña temporal al correo electrónico del usuario sin realizar alguna autenticación también parece inútil, porque si el usuario tiene una contraseña muy débil en su correo electrónico, el atacante intentará descifrar su correo electrónico en lugar de su cuenta.
Y casi cualquier otra contraseña para restablecer / recuperar significa que puedo pensar que parece anular el propósito de garantizar que un usuario tenga una contraseña larga.
¿Qué método de autenticación / restablecimiento recomendarías para esto?
Cualquier ayuda será muy apreciada.