48 votes

Algorithmes de génération de mots de passe mémorisables

Arrière-plan

Tandis que dans la salle de sport, l'autre jour, je travaillais avec mon cadenas à combinaison, et a réalisé quelque chose qui serait utile pour moi en tant que programmeur. À savoir, ma combinaison est trois séparée des ensembles de nombres que soit ressemblent, ou avoir une autre relation qui les rend faciles à retenir. Par exemple, 5-15-25, 7-17-2, 6-24-5. Ces exemples semblent facile à retenir.

Question

Comment pourrais-je mettre en place quelque chose de similaire pour les mots de passe? Oui, ils devraient être dur à craquer, mais ils doivent également être facile pour l'utilisateur final de se souvenir. Serrures à combinaison de le faire avec un mélange de chiffres qui ont les mêmes sons, et avec des nombres qui ont des propriétés similaires (7-17-23: Tous les premiers, 17 roule juste au large de la langue après l'7 et 23 est un autre premier, et est (de ce groupe), le " dur " pour se souvenir).

Critères

  • Le Mot de passe doit être facile à retenir. Dog!Wolf est facile à retenir, mais une fois qu'un attaquant sait que votre site donne cette combinaison, il est infiniment plus facile à vérifier.
  • Les mots ou les lettres doivent suivent pour la plupart les mêmes sons (pour la plupart).
  • Au moins 8 lettres
  • Ne pas utiliser !@#$%^&*();'{}_+<>?,./ Ces signes de ponctuation, tout approprié pour le " dur "des mots de passe, ne pas avoir un "facile à retenir".

Ressources

Cette question est indépendant de la langue, mais s'il y a une mise en œuvre spécifique pour le C#, je serais heureux d'entendre parler d'elle.

Mise à jour

Quelques utilisateurs ont dit que "c'est mauvais mot de passe de sécurité". Ne pas supposer que c'est pour un site web. Cela pourrait être juste pour moi de faire une demande pour moi-même qui génère des mots de passe en fonction de ces règles. Voici un exemple.

Les lettres A-C-C-L-I-M-O-P "de flux", et ils se trouvent être deux régulièrement des mots mis ensemble (Acclimater et Mop). En outre, lorsqu'un utilisateur dit ces lettres, ou dit qu'un mot, c'est un vrai mot pour eux. Facile à retenir, mais difficile de fissure (attaque par dictionnaire, bien évidemment).

Cette question a un double objectif:

  1. Construire des mots de passe à partir des lettres que son semblable (à l'aide de l'allitération) ou
  2. Construire des mots de passe qui maille les mots communs de la même façon pour en produire une troisième série de lettres qui n'est pas dans un dictionnaire.

30voto

Can Berk Güder Points 39887

Vous voudrez peut-être regarder:

  • L'algorithme de génération de mot de passe pronouncable utilisé par apg et expliqué dans FIPS-181
  • Koremutake

19voto

Suma Points 11966

Tout d'abord assurez-vous que le mot de passe est long. Envisagez l'utilisation d'une "phrase de passe" au lieu d'un seul "mot de passe". La rupture de passer des phrases comme "les Chiens et les loups se détestent les uns les autres." est très dur, mais ils sont assez faciles à retenir.

Certains sites peuvent également vous donner un conseil qui peut être utile, comme des mots de passe Forts: Comment créer et utiliser (liée à partir de vérificateur de Mot de passe, qui est un outil utile sur son propre).

Aussi, au lieu d'essayer de créer facile à mémoriser le mot de passe, dans certains cas, une bien meilleure solution est d'éviter de se souvenir du mot de passe en utilisant (et de la formation des utilisateurs à l'utilisation) d'un bon mot de passe de l'utilitaire de gestion (voir qu'est-Ce que vos préférés mot de passe de stockage de l'outil?) - lors de cette opération, la seule partie de gauche est de créer un dur pour le crack de mot de passe, ce qui est facile (tout assez longtemps aléatoire phrase).

12voto

Joe Koberg Points 9627

Je suis surpris que personne n'ait mentionné l'algorithme Multics décrit à l' adresse http://www.multicians.org/thvv/gpw.html , qui est similaire à l'algorithme FIPS mais repose sur des trigrammes plutôt que des digraphes. Il produit des sorties telles que

 ahmouryleg
thasylecta
tronicatic
terstabble
 

J'ai également porté le code en python: http://pastebin.com/f6a10de7b

11voto

Alex Reitbort Points 9120

Vous pouvez utiliser les chaînes de Markov pour générer des mots qui sonnent comme l’anglais (ou toute autre langue de votre choix), mais ils ne sont pas de vrais mots.

La question de facile à retenir est vraiment subjective, donc je ne pense pas que vous puissiez écrire un algorithme comme celui-ci qui convienne à tout le monde.

Et pourquoi utiliser des mots de passe courts sur des sites Web / applications informatiques plutôt que des expressions de passe? Ils sont faciles à retenir mais difficiles à craquer.

8voto

SPWorley Points 5439

Après de nombreuses années, j'ai décidé d'utiliser la première lettre des mots dans une phrase. Il est impossible de fissure, polyvalent pour la longueur et les restrictions comme "vous devez avoir un chiffre", et difficile de faire des erreurs.

Cela passe par la création d'une phrase. Un plaisir fou vif sujet est utile! "Stack Overflow étrangers débarqués sans l'aide de fusées ou de roues". Prenez la première lettre de votre mot de passe est "soalwurow"

Vous pouvez saisir ce rapidement et avec précision , puisque vous êtes en ne se souvenant pas lettre par lettre, vous êtes juste de parler d'une phrase à l'intérieur de votre tête.

J'aime aussi avoir des mots alternative de gauche et le côté droit du clavier, il vous donne un tout petit peu plus rapide la vitesse de frappe et plus agréable de rythme. Avis dans mon exemple, vos mains alternative gauche-droite-gauche-droite.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X