"Mot de passe oublié" - Comment gérer cela?

18

J'ai lu cette réponse et trouvé un commentaire insistant pour ne pas envoyer de mot de passe par email:

les mots de passe ne devraient pas pouvoir être récupérés par e-mail, je déteste ça. Cela signifie que mon mot de passe est stocké en texte brut quelque part. il doit être réinitialisé uniquement.

Cela me soulève la question de la gestion de l'option Mot de passe oublié?

À tout prix, le mot de passe brut doit être affiché dans n'importe quelle interface utilisateur afin que l'utilisateur puisse le lire. Alors, quelle serait la façon de gérer "Mot de passe oublié"

Gopi
la source
Je viens de passer 15 minutes à expliquer la fonction de mot de passe oublié PHPBB.
Peter Turner du
Duplication possible du processus de réinitialisation
GNAT
1
@gnat Avez-vous eu la chance de vérifier lequel était le plus ancien des deux?
Gopi
1
L'âge des questions @TechJerk n'a pas d'importance, comme expliqué ici
moucher

Réponses:

35

Une bonne conception d'application ne pourra pas récupérer explicitement le mot de passe d'un utilisateur. En effet, il est généralement stocké après avoir été exécuté à travers une sorte de hachage qui est une opération à sens unique.

La meilleure façon de gérer le mot de passe perdu est d'effectuer une réinitialisation, envoyer au compte des utilisateurs un lien avec un paramètre généré cloué sur qui l'identifie comme une réinitialisation du mot de passe valide pour le compte en question. À ce stade, ils peuvent définir un nouveau mot de passe.

Cela suppose que vous avez une adresse e-mail d'utilisateurs dans le fichier.

Chris
la source
Il existe des "meilleures pratiques" supplémentaires qui, bien que non critiques (comme ne pas stocker les mots de passe en premier lieu), devraient être en place si le temps le permet, y compris le fait que le jeton d'accès temporaire expire à certains événements et au fil du temps (de sorte que le compte de quelqu'un n'est pas compromis si sa boîte de réception l'est).
Steven
7

Vous ne devez pas stocker le mot de passe principal des utilisateurs sous forme de texte en clair, mais vous POUVEZ stocker un mot de passe temporaire sous forme de texte en clair, c'est-à-dire

l'utilisateur réinitialise le mot de passe -> le mot de passe temporaire est créé -> le mot de passe temporaire est envoyé par e-mail -> l'utilisateur est obligé de changer de mot de passe à la prochaine connexion (le nouveau mot de passe ne peut pas être un mot de passe temporaire peut-être)

Viper_Sb
la source
2
Je l'ai fait sur plusieurs sites. Bien que vous puissiez affirmer qu'un snooper de messagerie peut obtenir le mot de passe, il peut également obtenir tout autre jeton temporaire, etc. que vous enverriez par courrier électronique. Cette approche est plus simple pour l'utilisateur (ils peuvent copier et coller ou même taper le mot de passe temporaire) et ne prend pas un coup de sécurité.
Kate Gregory
À moins que quelqu'un utilise un moyen sécurisé pour se connecter au serveur de messagerie (c'est-à-dire le courrier Web via HTTPS ou POP3 sur TLS), une telle communication pourrait être facilement reniflée. Dans ce cas, certains "haX0r" pourraient facilement se connecter au compte d'un autre utilisateur. C'est pourquoi c'est une mauvaise idée. Le lien de réinitialisation doit être envoyé comme Chris le suggère et une question de sécurité doit être posée avant de permettre à l'utilisateur de changer son mot de passe. Toujours pas sûr à 100% (autant de fois que les réponses à de telles questions de sécurité pourraient être facilement devinées), mais je ne vois pas de meilleure solution.
Paweł Dyda,
2
@Pawel Dyda Un lien de réinitialisation peut également être reniflé, si votre e-mail est reniflé, je pense qu'avoir un mot de passe temporaire dans votre e-mail est le moindre de vos soucis.
Viper_Sb
C'est pourquoi j'ai écrit sur une question de sécurité.
Paweł Dyda,
5

Le commentaire est contre l'envoi du mot de passe d'origine par e-mail, et n'envoie rien par e-mail. Si l'institution peut envoyer le mot de passe d'origine, cela signifie qu'ils l'ont, et c'est un problème de sécurité. Le commentateur ne s'est pas opposé à l'envoi d'un mot de passe par e-mail, car c'est à peu près nécessaire dans la plupart des cas.

La bonne façon est d'attribuer un nouveau mot de passe utilisable une fois, pour quelque raison que ce soit. Peut-être qu'il est déjà marqué comme expiré par le système, peut-être qu'il se connecte simplement à une page pour changer le mot de passe généré dynamiquement une fois et une seule fois, peu importe.

David Thornley
la source
4

Ce que j'aime le plus, c'est que l'application envoie un e-mail à l'utilisateur sur l'adresse e-mail enregistrée avec un lien unique valable pendant X heures qui fournit une page "Modifier le mot de passe".

L'utilisateur peut alors définir le mot de passe comme il le souhaite sans risquer de le mettre dans un mail.


la source
4

Mon fournisseur de carte de crédit a une option "mot de passe oublié" qui vous pose quelques questions de sécurité (ce n'est pas extrêmement sécurisé en soi mais beaucoup de banques le font), puis génère un nouveau code et vous donne la moitié à l'écran et vous envoie des courriels la seconde moitié à vous. De cette façon, vous ne pouvez pas casser le compte sans accéder à la fois à la page Web et à l'adresse e-mail.

J'ai posé quelques questions à ce sujet du point de vue de la convivialité il y a quelque temps.

glénatron
la source