J'ai testé l'outil de Microsoft disponible ici qui teste la force des mots de passe et les évalue. Pour un mot de passe tel que "je vais déjeuner ce soir", l'outil évalue sa force comme "MEILLEUR" et pour un mot de passe tel que "th1 $ .v4l" il le note comme "moyen".
Je me demande à quel point la longueur du mot de passe est vraiment importante. Dans ce cas, le premier mot de passe est meilleur selon leur outil, mais est-il vraiment meilleur? Il est basé sur des mots du dictionnaire et n'a aucune combinaison de chiffres et d'autres caractères en dehors des espaces, et semble très facile à déchiffrer (sans tenir compte de la force brute).
Cet outil donne-t-il la priorité à la longueur plutôt qu'à la force réelle?
"Ne pas considérer la force brute" - c'est exactement ce que ces outils mesurent.
Évidemment, ils n'essayent pas l'ingénierie sociale, ou essayent de découvrir si c'est l'anniversaire du chien de la première petite amie de l'utilisateur. L'attaquant le sait peut-être, mais ces outils ne le savent pas.
Ce qu'ils mesurent, c'est simplement la difficulté pour un outil de bruteforcing de le casser. Pas même l'entropie du mot de passe, qui est un attribut de la méthode de génération, juste une estimation du temps qu'il faudrait à un outil de renforcement pour trouver avec succès le mot de passe correct.
Évidemment, l'entropie a un effet sur cela, mais c'est seulement total l'entropie qui compte, pas l'entropie par caractère. Alors oui, avoir beaucoup d'options équi-probables pour chaque caractère ajoute à l'entropie, mais la longueur peut jouer un rôle encore plus important pour rendre un mot de passe non craquable, en augmentant l'entropie par caractère à une puissance supérieure, par caractère compter. Cela fait beaucoup plus entropie totale, ce qui est la seule chose qui compte.
Donc, dans votre cas - oui, la phrase de passe à 32 caractères uniquement alpha est beaucoup plus forte que le mot de passe de ponctuation à 8 caractères.
Je vais essayer de faire les calculs ici un peu: (veuillez me corriger quand je me trompe):
Si nous supposons un clavier de style américain standard, il y a 85 caractères imprimables possibles (peut-être pour en gratter quelques autres, mais laisse aller pour l'instant): lettres minuscules + majuscules + chiffres + ponctuation standard + espace.
Cela accorde une force de ~ 6,3 bits par caractère; à 8 caractères, le mot de passe vous donne une force de ~ 50,4 bits.
Note vraiment très forte ... Même si nous ajoutons quelques caractères "spéciaux" de plus, vous n'allez pas beaucoup améliorer cela.
Maintenant, pour votre phrase de passe de 32 caractères uniquement alpha ...
Supposons uniquement les lettres minuscules et majuscules (même si vous n'en avez utilisé aucune), plus un espace (U + 32). Pas même des chiffres ...
Cela vous donne 54 caractères possibles, environ ~ 5,8 bits par caractère. À 32 caractères de long, c'est plus de 185 bits. substantiellement plus fort. Et c'est même sans chiffres, qui sont généralement acceptés même dans les schémas de mot de passe "simples".
Bruce Schneier parle souvent de la façon dont le passage à de longues phrases de passe mémorables serait beaucoup plus sûr que des mots de passe courts et aléatoires d'aspect étrange.
Vous voyez maintenant pourquoi.
Vous craignez que parce que la phrase secrète utilise des mots du dictionnaire, il pourrait être plus facile de craquer que quelque chose qui doit être forcé par la force.
tl; dr: C'est une préoccupation théorique valable, mais pour l'instant ce n'est pas une préoccupation pratique.
"Je vais déjeuner ce soir" est une phrase de cinq mots utilisant des mots parmi les 5000 les plus courants en anglais. Naïvement, le deviner est isomorphe à deviner un mot de passe à 5 lettres dans un alphabet de 5000 lettres, ce qui représente 3x10 ^ 18 possibilités. C'est à peu près la même chose qu'un mot de passe à 10 caractères utilisant des majuscules et des minuscules, des chiffres et des symboles.
Bien sûr, un programme de craquage suffisamment intelligent pourrait réduire considérablement cela. La phrase est une prose anglaise standard, qui suit des règles si strictes qu'elle a un taux d'entropie d'informations d'environ 1 bit par lettre . Cela signifie que votre phrase a 33 bits d'entropie, ce qui la rend aussi complexe qu'un mot de passe parfaitement aléatoire de 5 caractères imprimables ASCII.
Ce n'est pas très complexe.
Cependant, pour exploiter ce manque de complexité, vous auriez besoin d'un "cracker de mots de passe anglais" spécialisé qui pourrait optimiser quelque chose comme la modélisation de la chaîne de Markov en noyaux pour le traitement GPGPU. À ma connaissance, rien de tel n'est même en cours de développement en ce moment. Donc, à moins que quelqu'un avec les ressources pour créer ce logiciel ne veuille votre phrase secrète, vous devriez être en sécurité pendant un bon moment.
L'entropie est une chose étrange à mesurer.
Publication spéciale NIST 800-63, Directives d'authentification électronique comprend des guides pour estimer la force des mots de passe:
L'entropie varie considérablement selon qu'un mot de passe est sélectionné par un utilisateur ou généré de manière aléatoire. Statistiquement, il est difficile de deviner le premier caractère d'un mot de passe sélectionné par un utilisateur, mais il est plus facile de deviner le second et le troisième. Les directives du NIST donnent au premier caractère 4 bits d'entropie lors de l'utilisation des 94 caractères disponibles sur les claviers standard, mais seulement 2 bits pour chacun des sept caractères suivants, et ainsi de suite.
Les mots de passe sélectionnés au hasard n'affichent pas de modèles, de sorte que chaque caractère porte le même niveau d'entropie, environ 6,6 bits.
Cela signifie qu'un mot de passe à huit caractères sélectionné par un utilisateur a 18 bits d'entropie, tandis qu'un mot de passe aléatoire de la même longueur a environ 52,7 bits.
En d'autres termes, si vous pouvez déterminer les 3 premiers caractères de mon mot de passe,
Admiration
Les chances que le caractère suivant soit s
sont bien plus élevées que *
.
Donc, quand nous disons qu'un caractère de mot de passe peut être n'importe quel caractère, ce n'est pas vraiment vrai; la plupart des gens utilisent des mots qui ont des motifs forts en eux et réduisent implicitement l'ensemble possible des caractères suivants - produisant ainsi un mot de passe avec une entropie plus faible (caractère aléatoire).
Je ne sais pas comment "je vais déjeuner ce soir" est vulnérable au dictionnaire, c'est une phrase de sept mots. Où "th1 $ .v4l" est une expression de deux mots avec une jointure de caractère, et la substitution de caractère quelque chose que les crackeurs de mot de passe ont traité depuis toujours.
Quelques testeurs de mots de passe utilisent des tests de type cracklib + ajax avec une petite base de règles pour éliminer votre mot de passe "this.val".
La question de la fiabilité des vérificateurs de force de mot de passe s'étend également à la sécurité du vérificateur en général. Il est effrayant de voir une prolifération de mesureurs de force de mot de passe en ligne. Vous exposez inutilement votre mot de passe à un site sur Internet! Même les applications locales de vérification de mot de passe peuvent être néfastes. Les allégations selon lesquelles le site utilise javascript et ne transmet jamais le mot de passe sur Internet ne sont pas fiables. Certains sites de test de résistance des mots de passe sont sûrement gérés par des chapeaux noirs, qui les ajoutent simplement à leurs dictionnaires avec toutes les autres informations qu'ils peuvent recueillir sur vous. D'autres sites sont gérés par des personnes ayant de bonnes intentions, mais éventuellement de mauvaises implémentations, comme un serveur vulnérable, ou un manque de https. Et d'autres encore sont vulnérables aux attaques des "autorités" qui ont des moyens de contraindre le site à révéler, par exemple les mots de passe soumis par certaines plages d'adresses IP.
Je suggère à quiconque utilise un tel site de ne jamais soumettre de mot de passe qu'il a réellement l'intention d'utiliser.
La longueur est presque tout lorsque vous essayez de vous défendre contre les attaques par force brute.
Même les crackers de mot de passe de base permettent des substitutions de style à 1337 mots, donc dans votre exemple, vous comparez efficacement une phrase de passe de 7 mots avec une phrase de passe de 2 mots.
Tant que vous avez de longues phrases de passe (où la définition exacte de long peut varier en fonction de vos besoins, mais devrait au moins dépasser 13 caractères pour minimiser les chances d'une attaque de table Rainbow), vous forcez un attaquant à essayer d'autres formes d'attaque. , comme l'ingénierie sociale; découvrir où vous avez écrit la phrase secrète; tenir votre chat en otage, etc.
Théoriquement, les "indicateurs de force de mot de passe" ne peuvent pas fonctionner . L'outil ne voit que le résultat du processus de génération de mot de passe, tandis que la "force" du mot de passe est vraiment une propriété du processus. Voir cette réponse puis cette réponse pour plus de détails.
Le mieux qu'une application de mesure de la force du mot de passe puisse vous donner est le temps qu'il aurait fallu pour briser votre mot de passe - en d'autres termes, il suppose que l'attaquant exécute exactement le même code et ne sait rien de plus sur vous. Ce n'est pas une hypothèse raisonnable dans la pratique: l'attaquant, quand il vous attaque, est bien après vous, en particulier. S'appuyer sur un compteur de mots de passe pour la sécurité, c'est comme prier pour que tous les attaquants soient incompétents: c'est une sorte de "acte de foi".
En regardant le Javascript pour cet outil Microsoft, il semble qu'il ne dispose que d'une liste limitée de mots du dictionnaire (voir les lignes 264 et suivantes dans le fichier js ), ce qui pourrait expliquer pourquoi votre phrase secrète obtient une note plus élevée que peut-être qu'il devrait.
Personnellement, je recommanderais ce testeur de force de mot de passe il donne une bonne ventilation des éléments qui composent votre mot de passe et vous indique comment il peut être amélioré. Il évalue votre mot de passe "je vais déjeuner ce soir" à 56% et votre deuxième mot de passe "th1 $ .v4l" à 74% ce qui semble plus réaliste.
Cependant, cet outil n'utilise aucune liste de mots - votre phrase secrète est marquée uniquement pour être en minuscules, tandis que "je vais déjeuner ce soir!" obtient 98%. Vous pouvez tirer vos propres conclusions sur l'utilité des pourcentages d'âge.
En ce qui concerne l'effet sur la longueur de la vérification du temps de fissuration cet article . Notez que cela remonte à 2009, cependant, et les crackers de mot de passe basés sur GPGPU peuvent désormais gérer 10 ^ 9/sec (le niveau d'attaque le plus élevé de la "classe F" dans l'article) sur un seul PC de jeu/station de travail avec un GPU de 500 $ carte.
J'ai vu récemment une bande dessinée dans le journal. Ou peut-être que c'était une copie numérique en ligne d'une bande dessinée, je ne m'en souviens pas.
Il a illustré ce débat même. Et je vais maintenant vous expliquer le point soulevé:
Ce n'est pas parce qu'un mot de passe est court qu'il est facile à deviner, comme dans le cas de "th1 $ .v4l". Mais ce n'est pas parce qu'un mot de passe est long qu'il est facile à deviner, comme dans le cas de "je vais déjeuner ce soir".
Le fait est qu'aucun pirate humain sérieux ne va s'y asseoir et deviner votre mot de passe. Ils peuvent utiliser des mots de dictionnaire, mais ces dictionnaires ne contiennent pas toutes les phrases possibles. Juste des mots.
Non, ce que font les pirates (lorsqu'ils ont épuisé un dictionnaire typique de MOTS), c'est qu'ils demandent généralement à l'ordinateur de passer systématiquement par toutes les combinaisons possibles. Du début à la fin. S'ils sont contraints de suivre ce chemin, plus le mot de passe est court, pire c'est. Plus c'est long, mieux c'est. Peu importe s'il y a des chiffres ou des symboles. Les chiffres et les symboles importent uniquement aux humains qui se souviennent et aux humains qui devinent. Pour un ordinateur, c'est la même chose ... une séquence de 1 et de 0 ... et cela ne fait aucune différence.
Fais toi plaisir. Gardez-le long mais simple. Court et complexe peut coûter un temps de pirate, mais long et simple fera la même chose. La question est, voulez-vous un mot de passe facile à retenir ou difficile à retenir?
La force du mot de passe ne peut être estimée que par vous seul ou par quelqu'un d'autre si vous lui dites comment vous créez vos mots de passe. Par exemple, si j'utilise un générateur de mot de passe aléatoire qui utilise un jeu de 50 caractères et mon mot de passe est de 8 caractères, mon mot de passe sera 1 parmi environ 3,9 × 1013 ou 245. Si j'utilise des mots de passe basés sur le pinyin chinois et que mon mot de passe est une phrase de 4 mots, étant donné que chaque mot est sur un possible 205 , mon mot de passe est 1 sur un possible 1,8 × 1013. La romanisation Pinyin moyenne d'un caractère chinois est d'environ 3 à 4 caractères, ce qui fait un mot de passe "4 mots" d'environ 16 caractères. Pourtant, ce mot de passe Pinyin est plus faible que le mot de passe à 8 caractères généré à partir d'un jeu de caractères de 50.
Si un attaquant sait comment un mot de passe a été généré (disons en examinant les mots de passe en texte brut volés sur quelques sites non sécurisés) par une certaine personne, il a les connaissances nécessaires pour réduire la difficulté du forçage brutal par beaucoup ! Parce qu'ils savent que vous n'utilisez plus tous les caractères possibles sur votre clavier, ils peuvent éliminer les combinaisons impossibles et gagner du temps.
La prochaine fois que vous générez un mot de passe, pensez à l'algorithme/méthode que vous utilisez pour en générer un. Utilisation de Password Safe pour générer un mot de passe de 21 caractères à partir d'un jeu de 72 caractères (+-=_@#$%^&<>/~\?abcdefghijkmnopqrstuvwxyzandABCDEFGHJKLMNPQRTUVWXY346789
), vous obtenez environ 1,0 × 1039 combinaisons possibles ou 130 bits de sécurité.
Eh bien, tous les outils de vérification de la force des mots de passe vérifient les efforts nécessaires pour trouver le mot de passe en utilisant la force brute et l'attaque par dictionnaire.
comme si vous comparez vos résultats ici des deux mots de passe.
"th1 $ .v4l" est
Mot de passe fort avec 74%
"je vais déjeuner ce soir" est
Bon mot de passe 56%
ce mot de passe prendra moins de temps à se fissurer en utilisant la force brute.
Eh bien, si vous définissez la force d'un mot de passe comme sa difficulté ou sa probabilité d'être fissuré, alors presque contre-intuitivement, la force d'un mot de passe est plus fonction de sa longueur que de sa difficulté à se souvenir.
Lorsqu'un attaquant potentiel ne sait rien de votre mot de passe et ne peut utiliser que la force brute pour casser votre mot de passe, un mot de passe plus long qui est beaucoup plus facile à retenir, comme
"je vais déjeuner ce soir"
prendra plus de temps à se fissurer que
"th1 $ .v4l"
simplement parce qu'il y a plus de caractères que l'attaquant aurait besoin de deviner correctement pour casser le mot de passe. Les mots de passe plus longs présentent un espace de recherche plus grand à épuiser, donnez à votre aiguille (mot de passe) un plus grand meule de foin pour se cacher.
Les vérificateurs de force des mots de passe ne sont généralement pas très fiables. Ils ont tendance à s'appuyer sur des calculs trop simplistes qui supposent que les attaquants tenteront seulement de deviner votre mot de passe en essayant toutes les combinaisons possibles de caractères, une hypothèse qui est rarement vraie dans la pratique.
En réalité, un attaquant motivé peut proposer toutes sortes de stratégies différentes pour deviner votre mot de passe, dont certaines n'ont jamais été programmées pour vérifier la force du mot de passe.
Par exemple, le mot de passe "! QAZXSW @ # EDC" peut sembler assez aléatoire, jusqu'à ce que vous vous rendiez compte que je l'ai écrit en appuyant sur un modèle de touches très simple sur un clavier anglais standard. Un attaquant utilisant un programme conçu pour deviner les mots de passe basés sur la disposition du clavier pourrait facilement casser un tel mot de passe en quelques minutes. (Et en effet, ai-je été Pwned Pwned Passwords Checker indique que ce mot de passe exact a déjà été utilisé et craqué plusieurs fois.) De même, "je vais déjeuner ce soir" peut sembler fort à votre typique vérificateur de force de mot de passe, mais il pourrait être facilement piraté par un attaquant utilisant un programme conçu pour deviner des phrases anglaises courantes.
Il y a il y a vérificateurs de la force des mots de passe qui sont meilleurs dans ce genre de chose que d'autres ( ZXCVBN , par exemple, peuvent détecter le mot de passe basé sur un motif de clavier que j'ai donné ci-dessus et donne une estimation de force plus réaliste) mais finalement il n'est pas toujours possible de dire à quel point un mot de passe est solide simplement en analysant le mot de passe lui-même . Il n'est pas sûr de supposer que, simplement parce que le vérificateur de la force du mot de passe que vous utilisez ne peut pas deviner quelle méthode vous avez utilisée pour choisir votre mot de passe, un attaquant qui essaie de deviner votre mot de passe ne le fera pas. Cette hypothèse est connue sous le nom de "sécurité par obscurité" et il est considéré comme une mauvaise pratique de s'appuyer sur la communauté de la sécurité de l'information.
Alors, que devez-vous faire à la place? Choisissez vos mots de passe au hasard, en utilisant de préférence une source d'aléatoire comme des dés qui ne peuvent pas être affaiblis par des préjugés humains naturels. De cette façon, même si vous supposez que l'attaquant sait exactement comment vous avez généré votre mot de passe, vous pouvez toujours calculer facilement le nombre de suppositions que l'attaquant devra essayer avant de deviner correctement votre mot de passe.
Diceware est un bon exemple d'une telle méthode pour générer des mots de passe. Quatre mots Diceware aléatoires prendront 77764/ 2 = ~ 1,83 quadrillion de devinettes en moyenne pour un attaquant à deviner, même s'il connaît la exacte liste de mots à partir desquels vous avez choisi votre mot de passe. Les mots de passe générés par un gestionnaire de mots de passe sont forts pour des raisons similaires.
Pour plus d'informations sur la façon de choisir des mots de passe en toute sécurité, je recommande réponse de Thomas Pornin à "XKCD # 936: mot de passe complexe court ou longue phrase de passe du dictionnaire?", Qui décrit en détail l'entropie des mots de passe et comment calculer la force d'un mot de passe généré de manière aléatoire.