Question

Nous avons travaillé sur l'application web où nous avons besoin de mettre en œuvre la fonctionnalité web-apps traditionnelles de récupération de mot de passe. Selon les tendances, il y a des approches comme ..

  1. Envoyer lien nouveau mot de passe à l'électronique de l'utilisateur.
  2. Demander question secrète à l'utilisateur pour la récupération de mot de passe.
  3. Remise à zéro du mot de passe existant et de créer un nouveau mot de passe et l'envoyer à l'utilisateur. Cela peut également forcer l'utilisateur à changer le mot de passe lors de la connexion suivante.

Avons-nous une technique non traditionnelle pour la mise en œuvre mécanisme de récupération de mot de passe? Quelles autres approches que vous avez essayé pour cela?

Merci.

Était-ce utile?

La solution

Cela dépend du niveau de sécurité que vous visez, les coûts de soutien et les problèmes de convivialité.

Emailing un lien de réinitialisation de mot de passe est l'approche privilégiée pour plusieurs raisons:

  • Les coûts de soutien - C'est le principal facteur d'un point de vue commercial. Les utilisateurs oublient souvent même leurs conseils de mot de passe ou d'utiliser une adresse postale ou faux oublier leur nom d'utilisateur. Tous ces éléments sont des préoccupations légitimes pour lesquelles vous pourriez recevoir des demandes de soutien. Cela crée une autre question, vous devez établir la légitimité de l'utilisateur en les interrogeant sur l'activité récente du compte et que non. Si vous ne fournissez pas que le niveau de soutien d'un grand nombre d'utilisateurs novices seront déçus. Emailing un lien de réinitialisation de mot de passe atténue ces préoccupations parce que les utilisateurs ont généralement une ou deux adresses e-mail et ils peuvent facilement récupérer leur nom d'utilisateur / mot de passe en fournissant leur adresse e-mail.

  • Problèmes de sécurité - C'est le principal facteur du point de vue technique. Il y a diverses préoccupations ici que vous avez à peser. Un compte de messagerie compromis signifie que le pirate peut aller pour accéder à tous les services des utilisateurs qui permettent un lien de réinitialisation de mot de passe sera envoyé par courriel. Vous pouvez régler un terrain d'entente qui consiste à envoyer un lien de réinitialisation de mot de passe à l'utilisateur qui à son tour demande à l'utilisateur une question passe de soupçon après quoi il leur permet de réinitialiser leur mot de passe. Encore une fois, vous ne devriez jamais exposer le mot de passe de l'utilisateur sur tout support. En fait, si vous avez la possibilité de leur montrer leur mot de passe de votre système est déjà précaire, car il implique que vous n'êtes pas les stocker à l'aide d'un hachage sécurisé comme SHA-1 et un développeur dans votre entreprise peut obtenir au mot de passe de chacun.

  • Usability - Ce facteur est le plus grand du point de vue de l'utilisateur. Emailing un lien de réinitialisation de mot de passe exige que l'utilisateur aller vérifier leur adresse e-mail qui peut signifie le temps de réaliser la tâche peut aller jusqu'à 2 ou même 3 minutes. Cependant, je pense que ce n'est pas une grosse affaire. La plupart des utilisateurs ne semblent pas à l'esprit parce qu'ils sentent qu'ils sont en faute et cela est une mesure de sécurité dans leur intérêt. Je ne hypothétisation de son expérience personnelle et les utilisateurs en général pourraient se sentir différemment. Je mettrais la sécurité comme une priorité plus élevée que l'expérience utilisateur, car les utilisateurs rarement, voire jamais besoin de récupérer leurs mots de passe (utilisateur n'a pas ouvert une session depuis longtemps et a oublié son mot de passe, l'utilisateur avait sauvé son mot de passe dans le navigateur qui a été réinstallé et d'autres cas de pointe).

Autres conseils

D'autres options que j'ai vu dans la pratique comprennent:

  • permettant à un second mot de passe quand quelque chose va mal -. Quelque chose comme le Super-PIN utilisé avec les téléphones cellulaires
  • la création d'un jeton de fichier (généralement une clé PGP) que l'utilisateur téléchargera lors de la création de compte et le stocker sur une clé USB, ou archiver pour une utilisation ultérieure. Quand il y a un problème que l'utilisateur télécharge le jeton, prouvant ainsi qu'il est le « propriétaire » du compte, et que l'application permettra à l'utilisateur de modifier le mot de passe. Cela peut être un jeton constant, ou un fichier avec plusieurs jetons (semblable à un TANs bancaires en ligne) -. Chaque fois que l'on utilise un jeton, il est également invalidée

Les méthodes ci-dessus ne sont pas simples à mettre en œuvre, mais sont très convivial (car il n'y a rien de nouveau à leur sujet et sont présents dans d'autres jours par des situations de jour).

À mon avis, l'envoi d'un lien de réinitialisation de mot de passe à l'e-mail de l'utilisateur est la meilleure façon. Ceci est la façon dont Digg fait, et cela est la façon dont je le fais.

Mais dans cette méthode, nous devons compter sur l'utilisateur pouvoir accéder à son courrier électronique.

En ce qui concerne la méthode de la question secrète: le plus souvent, la réponse de la question secrète n'est pas aussi secret que nous le souhaiterions. Il serait dans les meilleurs intérêts de nos utilisateurs de bloquer cette méthode d'un « compte-hack ».

Un site web et ses administrateurs ne doivent pas savoir le mot de passe en texte clair de ses utilisateurs. Il ne devrait y avoir un hachage à sens unique du mot de passe enregistré pour la comparaison lors d'événements d'authentification. Ainsi, l'envoi d'un mot de passe en texte clair ne doit pas être une option.

Personnellement, j'aime le lien de réinitialisation de mot de passe envoyé à l'utilisateur. Rappelez-vous d'expirer ce lien si. En outre, avertir l'utilisateur par courrier électronique des tentatives de réinitialisation de mot de passe (peut être le même email que le lien de réinitialisation), ainsi après la réinitialisation réussie.

Une approche ajouté au lien de réinitialisation de mot de passe peut être créer une clé aléatoire qui ne va pas dans le lien e-mail que l'utilisateur devra taper une fois que le lien a été cliqué. Cela contribuerait à l'encontre des personnes capturant l'e-mail.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top