Aussi disponible en : English · Español · Português · العربية
Testeur de force de mot de passe
Estime combien de temps un mot de passe tiendrait face à une vraie attaque par devinette, et montre à quel point les indicateurs habituels le surestiment.
Qu’est-ce qu’un testeur de force de mot de passe ?
Il prend un mot de passe et estime le nombre d’essais nécessaires à un attaquant. Presque tous le font en comptant les caractères et les types de caractères : voilà pourquoi ils récompensent une majuscule et un symbole et vous annoncent que P@$$w0rd1! est solide.
Celui-ci note comme la devinette fonctionne réellement : il cherche ce qu’un jeu de règles de cassage essaie en premier — mots du dictionnaire, substitutions leet, parcours de clavier, années, suites — et chiffre votre mot de passe à ce que cela coûte. Il affiche ensuite, côte à côte, ce qu’un indicateur comptant les caractères aurait prétendu.
Votre mot de passe ne quitte pas cette page. Aucune requête, aucun journal, aucun serveur : ouvrez l’onglet réseau de votre navigateur et vérifiez, ou déconnectez-vous d’internet et continuez à l’utiliser. C’est la seule conception admissible pour un tel outil.
Comment utiliser le testeur
- Saisissez ou collez un mot de passe. Il est analysé au fil de la frappe, sur votre propre machine. Servez-vous du bouton afficher/masquer si vous n’êtes pas seul.
- Choisissez un attaquant. Formulaire avec limitation, formulaire sans limitation, base de données volée à empreinte lente ou à empreinte rapide. La réponse bouge de onze ordres de grandeur entre ces quatre-là, et c’est pourquoi ils sont proposés.
- Lisez le tableau des motifs. Il énumère ce qu’un attaquant reconnaîtrait dans votre mot de passe et ce que chaque morceau coûte à deviner. Si votre mot de passe est un mot avec des ornements, cela se voit ici.
Les règles qu’imposent la plupart des indicateurs ont été retirées par la norme qui les avait inventées
La publication spéciale NIST 800-63B est le document derrière l’essentiel des politiques de mots de passe en entreprise. Sa révision actuelle est sans ambiguïté et mérite d’être citée plutôt que paraphrasée. Sur les types de caractères, les vérificateurs « SHALL NOT impose other composition rules (e.g., requiring mixtures of different character types) for passwords » : ils ne doivent pas imposer de règles de composition. Sur l’expiration : ils ne doivent pas exiger de changement périodique. Ce sont des interdictions, non des suggestions, et toutes deux sont l’inverse de ce que fait un formulaire d’inscription ordinaire.
Ce qu’elle exige, en revanche, c’est la longueur. Un mot de passe employé comme facteur unique « SHALL » comporter au minimum 15 caractères, et non les 8 que presque tous les indicateurs traitent comme la barre. Avec un second facteur, le minimum descend à 8. Elle impose aussi de comparer le mot de passe à une liste de mots de passe compromis, seule exigence que cet outil n’implémente délibérément pas, pour les raisons exposées dans les limites.
L’arithmétique derrière cette préférence n’est pas serrée. Huit caractères pris parmi les 95 imprimables de l’ASCII donnent 6,63e15 possibilités, soit 52,6 bits. Quinze caractères de minuscules seulement donnent 1,68e21, soit 70,5 bits. Le mot de passe qui échoue à toutes les règles de composition a un espace de recherche 252 820 fois plus grand que celui qui les respecte toutes.
Et les règles de composition sont pires qu’inutiles, car il existe une manière évidente de les satisfaire. Prenez un mot courant, mettez-lui une majuscule, remplacez quelques lettres par des symboles ressemblants, ajoutez un chiffre et une ponctuation à la fin. Nous avons passé cette recette sur les 10 000 mots anglais les plus courants : 99,2 % des résultats satisfont les quatre classes de caractères. La recette entière — chaque mot, les deux capitalisations, en leet ou non, chaque chiffre ou année finale, chaque symbole — couvre 29 millions de possibilités, environ 24,8 bits. Un indicateur qui compte les caractères note P@$$w0rd1! à 65,7 bits. Il surestime la difficulté d’un facteur de deux mille milliards.
Une dernière chose mérite d’être dite, car elle contredit un conseil que ce site répéterait autrement. La fameuse phrase de quatre mots tirés au hasard vaut 51,7 bits quand les mots viennent de la liste de 7 776 que recommandent la plupart des guides — très légèrement moins que ces huit caractères d’ASCII imprimable. Quatre mots était un bon conseil quand il a été écrit ; il est juste aujourd’hui. Cinq mots font 64,6 bits, six 77,5, et l’écart se creuse vite. Si vous ne retenez qu’un nombre de cette page, retenez cinq plutôt que quatre.
Limites assumées
L’estimation est un plafond de faiblesse, non un certificat de solidité. Si l’outil trouve un motif, cela prouve que votre mot de passe ne peut pas être plus fort que ce motif, et ce sens-là est fiable. S’il ne trouve rien, cela prouve seulement que cet outil n’a rien reconnu, ce qui est bien plus faible. Fiez-vous à une mauvaise note, et traitez une bonne comme une absence de preuve.
Le vocabulaire est constitué des 5 000 mots les plus fréquents de douze livres du domaine public, et c’est le mauvais corpus d’une manière précise qu’il faut déclarer : les mots que les gens mettent réellement dans leurs mots de passe ne sont pas ceux qu’employaient les romanciers victoriens. « Password », « admin », « letmein » et « sunshine » manquent totalement, tandis que « monkey » et « dragon » sont présents parce qu’ils figurent dans les romans. La liste d’un vrai attaquant commence justement par les mots qui manquent ici : le nombre réel d’essais pour un mot de passe courant est donc inférieur à celui affiché.
La vérification contre les listes de fuites qu’exige la norme n’est pas implémentée, et c’est un refus délibéré, non un oubli. Comparer à des mots de passe compromis connus demande soit un téléchargement de plusieurs centaines de mégaoctets, soit une requête vers le serveur d’un tiers. Il existe un protocole bien conçu pour le second cas — on envoie un court préfixe d’empreinte et jamais le mot de passe — mais cela reste une requête réseau depuis une page qui promet qu’il n’y en a aucune. Faites cette vérification à part, avec un outil honnête sur la requête qu’il effectue.
Les temps de cassage dépendent entièrement de la vitesse d’attaque, et c’est pourquoi cette page vous fait en choisir une plutôt que de la supposer en silence. Les quatre vitesses proposées sont des ordres de grandeur pour le scénario nommé, non des mesures d’un système particulier, et la vitesse réelle dépend de l’empreinte choisie par le site, du matériel, et du fait que l’attaquant dispose ou non de la base. Un indicateur qui affiche une durée sans dire sa vitesse ne vous dit rien de vérifiable.
Le moteur porte 48 assertions. La principale est la borne : plusieurs milliers de mots de passe bâtis sur la recette ci-dessus doivent tous être notés faibles, assortis d’un contrôle confirmant que des mots de passe réellement aléatoires de même longueur ne le sont pas. Deux vrais bogues ont ainsi été pris : le décodage leet est un-vers-plusieurs et une table à valeur unique faisait que W1th1! ne se résolvait jamais en « with », et la lacune du corpus ci-dessus, désormais affirmée pour qu’elle ne passe plus inaperçue.
Pourquoi est-ce gratuit ?
Comparer des motifs à une liste de mots, c’est un travail que votre machine fait en une milliseconde. Il n’y a pas de serveur à payer, et c’est aussi pourquoi il n’y a ni compte ni envoi : les deux faits n’en sont qu’un.
Si vous cherchez un mot de passe plutôt qu’un verdict sur le vôtre, le générateur de mots de passe de ce site en fabrique. Son entropie est exacte là où celle de cette page est une borne, et la différence est instructive : la force d’un mot de passe engendré se connaît par construction, celle d’un mot de passe retenu ne peut que s’estimer de l’extérieur.