Si les mots de passe sont stockés hachés, comment un ordinateur pourrait-il savoir que votre mot de passe est similaire au dernier si vous essayez de réinitialiser votre mot de passe? Les deux mots de passe ne seraient-ils pas totalement différents puisqu'un est haché et ne peut pas être inversé?
11
Réponses:
Si vous réinitialisez le mot de passe, vous pouvez généralement également saisir votre ancien mot de passe. Vous pouvez simplement utiliser la comparaison de similarité de chaîne régulière dans cette situation, car vous avez les deux mots de passe sous forme de texte brut à ce stade.
Une autre façon d'implémenter ceci est de normaliser le mot de passe, par exemple les caractères accentués sont normalisés aux alphabets anglais les plus proches, essayez de transcrire le texte phonétiquement, en supprimant les nombres, etc., et en précalculant plusieurs versions des hachages générés à partir du mot de passe qui avait été normalisé de différentes manières. Notez que cela affaiblit le mécanisme de hachage d'une quantité non spécifiée. Je ne considérerais pas cela comme une meilleure pratique de sécurité.
la source
La réponse simple est qu'un système sécurisé ne sait pas s'ils sont similaires.
Mais certains systèmes réduisent intentionnellement la sécurité d'un mot de passe spécifique d'une manière ou d'une autre pour empêcher que de nouveaux mots de passe soient d'anciens mots de passe ou similaires. Le compromis coût-avantage est qu'un nouveau mot de passe sera créé avant que quelqu'un ne pirate par malveillance le mot de passe actuel même avec les informations de similitude.
En général, chacune de ces techniques réduit la sécurité des mots de passe.
La conservation des anciens mots de passe réduit la sécurité de ces mots de passe. Si l'un de ces mots de passe est piraté, il y a de fortes chances que le mot de passe actuel leur soit similaire, la plupart des gens ne changent qu'un nombre.
Le clouage du pouce et les statistiques peuvent éliminer les mauvaises suppositions de mot de passe plus rapidement que d'essayer de hacher la supposition et de comparer. En effet, les hachages, en particulier les hachages sécurisés, sont compliqués à calculer et nécessitent des efforts, même si le matériel est accéléré. Alors qu'un calcul plus simple qui dit `` certainement pas '' ou `` peut-être '' peut éliminer la plupart de ces suppositions, après tout, les vérifications de similitude sont destinées à vous empêcher d'utiliser des mots de passe similaires, pas d'utiliser un mot de passe complètement nouveau qui ne ressemble en rien à l'ancien.
En bref, méfiez-vous de tout site qui indique une mesure de similitude avec votre mot de passe actuel / ancien. A moins qu'ils ne disent que le nouveau mot de passe est l'ancien mot de passe.
la source
Vous générez plusieurs mots de passe similaires à partir de celui que l'utilisateur a entré et vérifiez si l'un de leurs hachages correspond à celui de l'ancien mot de passe.
la source
Un autre modèle est que votre système hache certains sous-ensembles caractéristiques de votre mot de passe et stocke ces hachages pour vérifier si les sous-ensembles du nouveau mot de passe correspondent à l'ancien, c'est-à-dire: mot de passe: "Admin2018" & sous-ensemble: "Admin" = ne peut pas entrer "Admin2019" comme nouveau.
la source
Une façon serait de stocker les cinq derniers mots de passe hachés dans un tableau comme «Historique des mots de passe» et lorsque l'utilisateur essaie de définir un nouveau mot de passe, hachez-le et comparez-le aux mots de passe hachés dans le tableau.
la source