Comment générer des mots de passe robustes

· 9 min de lecture

Un mot de passe faible est la vulnérabilité la plus exploitée de l'internet grand public. Année après année, les corpus de fuites publiés par les attaquants montrent la même poignée de chaînes en tête : « 123456 », « password », « qwerty », « admin ». Si l'un de vos comptes partage cet ADN, il est déjà posé sur une wordlist qui tourne dans un botnet quelque part. Un mot de passe solide est la défense la moins chère et la plus rapide que vous puissiez déployer, et quelques secondes avec un générateur battent tout ce qu'un cerveau humain produit sous pression.

Une brève histoire des mots de passe informatiques

Les mots de passe informatiques datent de 1961, quand l'équipe de Fernando Corbató au MIT les a introduits pour le Compatible Time-Sharing System (CTSS), permettant à plusieurs utilisateurs de partager un même ordinateur central tout en gardant leurs fichiers privés. Le système a connu sa première intrusion en 1962 quand le doctorant Allan Scherr a imprimé le fichier maître des mots de passe pour obtenir plus de temps de calcul que son quota hebdomadaire de quatre heures. La leçon, que stocker des secrets en clair à côté des comptes qu'ils protègent est une mauvaise idée, a mis près de vingt ans à être vraiment digérée.

En 1979, Robert Morris et Ken Thompson ont publié « Password Security: A Case History » et livré le hachage DES salé dans Unix Version 7 : un sel aléatoire de 12 bits plus 25 itérations de DES ont transformé le fichier de mots de passe d'un trophée éclair en une cible de brute-force modérément coûteuse. Les rainbow tables, « Crack » d'Alec Muffett (1991) et des GPU toujours plus rapides ont fini par submerger ces défenses, et le domaine est passé à des fonctions de hachage volontairement lentes : bcrypt (1999), scrypt (2009), et Argon2 (2015, gagnant actuel du PHC).

Le côté utilisateur des recommandations sur les mots de passe a évolué plus lentement. Les directives NIST de 2003 (largement rédigées par Bill Burr) recommandaient une rotation périodique forcée et un mélange obligatoire de classes de caractères, conseils devenus la norme en entreprise pendant quinze ans. Burr lui-même a désavoué ces règles dans une interview de 2017. La même année, NIST SP 800-63B Révision 3 a formellement abandonné la rotation périodique et les règles de composition, les remplaçant par deux idées plus simples : préférer les secrets mémorisés longs, et vérifier les candidats contre les corpus de fuites avant de les accepter.

Ce qui rend un mot de passe solide

La résistance d'un mot de passe au devinement se ramène à une seule quantité : l'entropie, mesurée en bits. Chaque bit double l'espace de recherche. Un PIN à 4 chiffres a environ 13 bits d'entropie (10 000 combinaisons). Une chaîne de 16 caractères minuscules seulement a environ 75 bits. Une chaîne de 16 caractères casse mixte + chiffres + symboles a environ 105 bits. À 100 GH/s, ce qu'un GPU grand public haut de gamme peut atteindre contre des hachages salés rapides, 50 bits tombent en jours, 70 bits en millénaires.

Deux conséquences pratiques.

La longueur l'emporte sur la complexité. Ajouter un caractère tiré d'un alphabet de 70 symboles multiplie l'espace de recherche par 70, soit environ 6,1 bits supplémentaires. Ajouter une règle de composition (par exemple, mélanger la casse à longueur constante) ne fait que doubler l'espace, un seul bit. Douze caractères minuscules aléatoires battent à tous les coups huit caractères casse mixte + symboles.

L'aléatoire n'est pas négociable. Une chaîne de 20 caractères faite de mots anglais ne fait pas 130 bits d'entropie ; face à un attaquant sérieux, elle en fait peut-être 40, parce que les outils de cassage lancent des wordlists plus des règles de mutation, pas du brute-force aveugle. Les mots de passe générés donnent pleine entropie par caractère. Les mots de passe choisis par un humain presque jamais.

Comment fonctionne un générateur de mots de passe

Un générateur dans le navigateur utilise crypto.getRandomValues(), le générateur de nombres pseudo-aléatoires cryptographiquement sûr (CSPRNG) de la plateforme, alimenté par le pool d'entropie du système d'exploitation. C'est la même source qui sert à dériver les clés de session TLS et les vecteurs d'initialisation AES. L'antique Math.random() n'est pas cryptographiquement sûr et ne doit jamais être utilisé pour des mots de passe ni pour aucun autre besoin de sécurité.

Vous choisissez trois choses :

Le générateur tire alors uniformément dans l'alphabet choisi jusqu'à atteindre la longueur demandée, sans biais ni motif.

Comment générer un mot de passe solide

  1. Décidez la longueur. Douze caractères est un plancher raisonnable pour les nouveaux comptes, 16 à 20 pour les comptes qui détiennent de l'argent ou des secrets, 25 ou plus pour les mots de passe maîtres et les identifiants root.
  2. Activez toutes les classes de caractères sauf si le site refuse les symboles. Les règles de composition cachées coûtent quelques bits d'entropie et autant inclure les caractères les plus difficiles à deviner quand un gestionnaire remplit le champ pour vous.
  3. Générez, puis auditez. La plupart des générateurs affichent l'entropie estimée ; visez au moins 80 bits pour les comptes ordinaires, 100 ou plus pour les comptes de grande valeur.
  4. Sauvegardez dans un gestionnaire avant de coller. Fermer l'onglet perd le mot de passe à jamais s'il n'est pas stocké d'abord. C'est l'auto-but le plus courant.
  5. Testez l'aller-retour de connexion. Une fraction faible mais réelle de sites tronquent silencieusement les mots de passe à 16, 20 ou 32 caractères, ou enlèvent certains symboles côté serveur. Déconnectez-vous et reconnectez-vous une fois pour confirmer ce qui a réellement été accepté.

Longueur, alphabet et entropie en un coup d'œil

LongueurAlphabetCombinaisonsEntropie (bits)
8minuscules seulement (26)2,1 × 10^1138
12minuscules + chiffre (36)4,7 × 10^1862
16casse mixte + chiffre (62)4,8 × 10^2895
20casse mixte + chiffre + 32 symboles4,5 × 10^37125
25clavier complet (environ 94)2,0 × 10^49164

En dessous de 64 bits, c'est fragile face à un attaquant hors-ligne déterminé. Au-dessus de 100 bits, c'est confortablement à l'épreuve de la prochaine décennie face au matériel classique. Les attaques quantiques divisent par deux l'entropie effective via l'algorithme de Grover, donc 100 bits classiques donnent 50 bits post-quantique, encore très au-dessus de toute menace pratique.

Les phrases de passe comme alternative

Pour le petit ensemble de mots de passe que vous devez vraiment mémoriser (le mot de passe maître de votre gestionnaire, un déverrouillage d'appareil, un code de récupération d'urgence), une phrase de passe bat une chaîne aléatoire sur la mémorabilité sans sacrifier la sécurité. La recette classique est Diceware, inventée par Arnold Reinhold en 1995 : lancez cinq dés physiques, cherchez le nombre à cinq chiffres dans une liste de 7 776 entrées (7 776 = 6^5), recommencez pour le nombre de mots voulu. Chaque mot ajoute environ 12,9 bits d'entropie, donc une phrase de six mots comme correct horse battery staple cargo lumen donne environ 77 bits, équivalent à une chaîne aléatoire de 13 caractères casse mixte + chiffre.

En 2016, l'Electronic Frontier Foundation a publié des listes à la Diceware réactualisées, avec des mots plus longs et plus mémorables (7 caractères en moyenne contre 4,3 chez Reinhold), toujours 7 776 entrées, toujours la même entropie par mot, plus faciles à taper et à dicter au téléphone. L'une ou l'autre fonctionne.

La seule erreur qui détruit la sécurité d'une phrase de passe est de choisir les mots soi-même plutôt que de lancer les dés. Les humains se concentrent sur 1 000 à 2 000 noms et verbes courants, donc une phrase de six mots inventée par vous tourne souvent plus près de 60 bits d'entropie effective et est parfois carrément dans la wordlist du casseur (correct horse battery staple elle-même, popularisée par le comic xkcd, figure maintenant dans toute attaque dictionnaire moderne).

Conseils pour de meilleurs mots de passe

Erreurs courantes

Au-delà des mots de passe : gestionnaires, MFA et passkeys

Un gestionnaire de mots de passe n'est plus optionnel. L'alternative réaliste est soit la réutilisation de mots de passe faibles, soit les notes papier, les deux pires que n'importe quel gestionnaire réputé. Une courte comparaison des options principales :

OutilTarifModèle de stockageForce notable
BitwardenGratuit / payantSync cloud, option auto-hébergéeOpen source, audité, palier gratuit généreux
1PasswordPayantSync cloud, chiffrement de bout en boutUX soignée, partage famille, Travel Mode
DashlanePayantSync cloudSurveillance dark-web, VPN inclus
KeePassXCGratuitFichier local (sync à votre façon)Hors-ligne complet, aucun risque fournisseur
Proton PassGratuit / payantSync cloud, chiffrement de bout en boutInclus dans le compte Proton, alias e-mail
Trousseau AppleGratuit sur appareils AppleSync iCloudNatif, gratuit, enfermé dans l'écosystème Apple
Intégrés aux navigateursGratuitSync par compte navigateurGratuit et intégré, plus faible face aux malwares sur la machine

L'authentification à deux facteurs (2FA) fait passer le coût d'un mot de passe volé d'une prise de contrôle instantanée à « l'attaquant doit aussi intercepter le second facteur ». Préférez les mots de passe à usage unique basés sur le temps (TOTP, via une app authentificatrice comme Aegis, Raivo ou 2FAS) au SMS, vulnérable aux attaques de SIM-swap. Préférez les clés de sécurité matérielles (YubiKey, Titan, SoloKey) au TOTP pour les comptes de plus grande valeur.

Les passkeys (FIDO2 / WebAuthn) remplacent le mot de passe par une clé cryptographique liée à l'appareil. Apple, Google et Microsoft ont annoncé conjointement un support élargi des passkeys en mai 2022, et les passkeys sont désormais disponibles sur iOS 16+, Android, Chrome, Safari, Edge et Windows Hello. Une passkey est inphishable car le navigateur refuse de l'utiliser sur un domaine pour lequel elle n'a pas été enregistrée, et il n'y a aucun secret partagé dans une base côté serveur à fuir lors d'une brèche. Là où un site propose des passkeys, activez-les ; vous pouvez en général garder le mot de passe en repli pendant que l'écosystème mûrit.

Confidentialité et générateur

Le générateur de mots de passe tourne entièrement dans votre navigateur. Il appelle crypto.getRandomValues() une fois par caractère, tire dans l'alphabet choisi et affiche le résultat. Rien n'est journalisé, rien n'est envoyé à un serveur, rien n'est stocké après que vous quittez la page. Le mot de passe généré ne quitte jamais votre appareil sauf si vous choisissez de le coller quelque part. Pour quelque chose d'aussi fondamental que la clé d'un compte, ce flux strictement local est le bon défaut : pas de télémétrie, pas d'analytics, pas de scripts tiers, pas de cache. Tout l'outil peut tourner hors-ligne une fois la page chargée, ce que vous pouvez vérifier en coupant le réseau et en cliquant à nouveau sur Générer.

Questions fréquentes

Quelle longueur doit avoir mon mot de passe ?

Utilisez au moins 12 caractères pour une sécurité correcte, 16 ou plus pour des comptes sensibles. Chaque caractère supplémentaire rend le mot de passe exponentiellement plus difficile à casser.

Faut-il inclure des caractères spéciaux ?

Oui. Combiner majuscules (A-Z), minuscules (a-z), chiffres (0-9) et caractères spéciaux (!@#$%^&*) augmente sensiblement la robustesse en élargissant le jeu de caractères qu'un attaquant devrait deviner.

Un générateur de mots de passe est-il sûr ?

Oui, quand il tourne dans votre navigateur. Les générateurs côté navigateur utilisent le générateur de nombres aléatoires cryptographique de votre appareil et n'envoient jamais le mot de passe sur un serveur.

À quelle fréquence changer ses mots de passe ?

Les recommandations actuelles (NIST et autres) conseillent de ne changer les mots de passe qu'en cas de preuve de compromission, pas selon un calendrier fixe. Les changements forcés fréquents produisent des mots de passe plus faibles, les gens en choisissant de plus simples à retenir.

Is a passphrase as good as a random password?

Yes, if it is long enough and the words are chosen randomly (for example with Diceware or the EFF wordlist). Six randomly-chosen words give about 77 bits of entropy, comparable to a 13-character random password. Self-invented phrases are usually much weaker because humans cluster around the same few thousand common words.