Pregunta

Hemos estado trabajando en la aplicación web en la que en la que necesitamos para implementar la funcionalidad tradicional de aplicaciones web de recuperación de la contraseña. De acuerdo con las tendencias existen enfoques como ..

  1. Envío de restablecimiento de contraseña enlace al correo electrónico del usuario.
  2. Hacer pregunta secreta al usuario para la recuperación de contraseña.
  3. Restablecimiento de la contraseña existente y crear una nueva contraseña y enviarla al usuario. Esto también puede obligar al usuario a cambiar la contraseña en próximo inicio de sesión.

¿Tenemos alguna técnica no tradicional para la implementación de mecanismo de recuperación de la contraseña? ¿Qué otros enfoques que haya probado para esto?

Gracias.

¿Fue útil?

Solución

Depende del nivel de seguridad que se está buscando, los costos de soporte y preocupaciones de usabilidad.

enviando un correo electrónico un enlace de restablecimiento de contraseña es el enfoque preferido para un número de razones:

  • los gastos de apoyo - Este es el mayor factor desde una perspectiva empresarial. Los usuarios a menudo se olvidan incluso sus consejos de contraseñas o utilizar una dirección de correo falso o se olvidan de su nombre de usuario. Todas estas son preocupaciones legítimas para las que las que podría recibir solicitudes de soporte. Esto a su vez crea otro problema, tiene que establecer la legitimidad del usuario preguntándoles acerca de la actividad reciente de la cuenta y lo que no. Si usted no proporciona ese nivel de apoyo a muchos usuarios novatos se sentirán decepcionados. Envío por correo electrónico un enlace de restablecimiento de contraseña mitiga estos problemas debido a que los usuarios suelen tener una o dos direcciones de correo electrónico y se puede recuperar fácilmente su nombre de usuario / contraseña al proporcionar su dirección de correo electrónico.

  • Las preocupaciones Seguridad - Este es el mayor factor desde una perspectiva técnica. Hay varias preocupaciones aquí, que hay que sopesar. Una cuenta de correo electrónico comprometida significa que el hacker puede ir para acceder a todos los servicios de los usuarios que permiten a un enlace de restablecimiento de contraseña para ser enviado por correo electrónico. Puede conformarse con el punto medio que se va a enviar por correo electrónico un enlace de restablecimiento de contraseña para el usuario que a su vez hace una pregunta indicio de contraseña después de lo cual les permite restablecer su contraseña del usuario. Una vez más, nunca se debe exponer a la contraseña del usuario en cualquier medio. De hecho, si usted tiene la capacidad de mostrar la contraseña de su sistema ya es insegura, ya que implica que no está almacenando usando un hash seguro como SHA-1 y un desarrollador en su empresa puede llegar a la contraseña de todos.

  • Usabilidad - Este es el mayor factor de la perspectiva del usuario. Envío por correo electrónico un enlace de restablecimiento de contraseña requiere ir el usuario y verificar su dirección de correo electrónico que puede significa el tiempo para lograr la tarea puede ir hasta 2 o incluso 3 minutos. Sin embargo, yo creo que esto no es un gran problema. La mayoría de los usuarios no le importó porque sienten que tienen la culpa y esto es una medida de seguridad en su mejor interés. Sólo estoy hypothesizing de la experiencia personal y usuarios en general podría sentir de manera diferente. Me volvería a poner la seguridad como una prioridad más alta que la experiencia del usuario ya que los usuarios rara vez o nunca necesita para recuperar sus contraseñas (usuario no ha iniciado sesión durante mucho tiempo y se olvidó de su contraseña, el usuario le habían salvado la contraseña en el navegador que fue reinstalado y algunos otros casos de borde).

Otros consejos

Otras opciones que he visto en la práctica serían:

  • permitiendo una segunda contraseña cuando algo va mal -. Algo así como el Super-PIN utilizado con teléfonos celulares
  • crear una ficha de archivo (por lo general una clave PGP) que el usuario se descarga en la creación de cuentas y almacenarla en una memoria USB, o archivar para su uso posterior. Cuando hay un problema, el usuario cargue el token, lo que demuestra que él es el "dueño" de la cuenta, y la aplicación que le permitirá al usuario cambiar la contraseña. Esto puede ser una señal constante, o un archivo con varias fichas (similar a un TAN de banca en línea) -. Cada vez que se utiliza una ficha, también es invalidada

Los métodos anteriores no son tan simples de implementar, pero son bastante fáciles de usar (ya que no hay nada nuevo acerca de ellos y están presentes en otras situaciones día a día).

En mi opinión, el envío de un enlace de restablecimiento de contraseña al correo electrónico del usuario es la mejor manera. Esta es la forma en Digg lo hace, y esto es lo mismo que yo.

Sin embargo, en este método hay que confiar en que el usuario pueda acceder a su correo electrónico.

En cuanto al método de la pregunta secreta: más de las veces, la respuesta de la pregunta secreta no es tan secreta como nos gustaría. Lo que sería en el mejor interés de nuestros usuarios para bloquear este método de una "cuenta-hack".

Un sitio web y sus administradores no deben conocer la contraseña de texto de sus usuarios. Sólo debe haber un hash unidireccional de la contraseña almacenada para la comparación en los eventos de autenticación. Por lo tanto el envío de un texto claro contraseña no debe ser una opción.

En lo personal me gusta el enlace de restablecimiento de contraseña enviada al usuario. Recuerde que debe expirar ese vínculo sin embargo. También, notificar al usuario por correo electrónico de los intentos de restablecimiento de contraseña (puede ser el mismo correo electrónico como el enlace de restablecimiento), así después del restablecimiento éxito.

Una aproximación al enlace de restablecimiento de contraseña añadida puede ser la creación de una clave aleatoria que no salir en el enlace de correo electrónico que el usuario tendrá que escribir una vez que el enlace se ha hecho clic. Esto ayudaría a las personas que capturan el correo electrónico.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top