Générateur de mot de passe fort : guide technique pour créer et évaluer la robustesse
## Qu’est-ce qu’un mot de passe vraiment fort ? Comprendre l’entropie
Le générateur de mot de passe fort est l’outil de sécurité le plus basique mais aussi le plus incompris. Combien de fois ai-je entendu, lors de mes audits, « J’ai un mot de passe fort parce qu’il a une majuscule et un symbole » ? C’est une idée reçue dangereuse.
Du point de vue sécurité, la robustesse d’un mot de passe se mesure en **entropie** — une mesure mathématique de l’imprévisibilité. L’entropie se mesure en bits : plus elle est élevée, plus le mot de passe est difficile à deviner ou casser.
La formule de base est : **Entropie = log2(N^L)**
Où N est la taille de l’alphabet (ensemble des caractères possibles) et L est la longueur du mot de passe.
Exemples concrets :
– Mot de passe 8 caractères, minuscules seulement (N=26) : 8 × log2(26) = 37,6 bits
– Mot de passe 8 caractères, mix maj/min/chiffres/symboles (N=95) : 8 × log2(95) = 52,6 bits
– Mot de passe 16 caractères, mix complet (N=95) : 16 × log2(95) = 105 bits
– Passphrase 6 mots du dictionnaire Diceware (N=7776) : 6 × log2(7776) = 77,5 bits
Ce que révèle l’audit de ces chiffres : l’augmentation de la longueur a plus d’impact sur l’entropie que l’augmentation de la complexité. Un mot de passe de 16 caractères minuscules (98 bits) est plus solide qu’un mot de passe de 8 caractères complexes (52 bits).
## Combien de bits d’entropie est suffisant ?
La bonne pratique c’est de viser au minimum :
**80 bits** : Suffisant pour la plupart des usages grand public. Pratiquement incassable avec les ressources informatiques disponibles hors services gouvernementaux ou très grands acteurs.
**100 bits** : Recommandé pour les comptes sensibles (banque, email principal, gestionnaire de mots de passe).
**128 bits** : Niveau paranoïaque mais justifié pour les accès critiques (infrastructure, administration système).
Pour atteindre 100 bits avec des caractères alphanumérique (62 caractères) : 100 / log2(62) = 16,8 caractères. Donc un mot de passe de **17 caractères alphanumériques** offre 100 bits d’entropie.
Avec le jeu complet de caractères imprimables ASCII (95 caractères) : 100 / log2(95) = 15,9 caractères. Un **mot de passe de 16 caractères complexes** atteint 100 bits d’entropie.
## Les meilleurs générateurs de mots de passe comparés
### 1. Les générateurs intégrés aux gestionnaires de mots de passe
C’est la méthode que je recommande. Les générateurs de NordPass, 1Password, Bitwarden et Dashlane sont de qualité cryptographique — ils utilisent des générateurs de nombres pseudo-aléatoires cryptographiquement sécurisés (CSPRNG), pas le générateur standard du langage de programmation.
**NordPass :**
Du point de vue sécurité, NordPass génère des mots de passe jusqu’à 60 caractères avec contrôle total sur les types de caractères. L’interface permet de visualiser la force estimée en temps réel. J’apprécie la fonctionnalité de génération de mots de passe mémorisables (mots séparés par des séparateurs) pour les cas où vous devez mémoriser le mot de passe.
**1Password :**
Le générateur de 1Password propose trois modes : mot de passe aléatoire (caractères), passphrase (mots) et code PIN. Le mode passphrase utilise une liste de mots curatée — chaque mot ajoute ~12,9 bits d’entropie. 4 mots = ~51,5 bits, 6 mots = ~77,5 bits, 8 mots = ~103 bits.
**Bitwarden :**
Le générateur Bitwarden offre un contrôle granulaire : longueur, majuscules, minuscules, chiffres, symboles, évitement des caractères ambigus (0/O, l/I…). La fonctionnalité d’évitement des caractères ambigus est pratique quand vous devez taper manuellement un mot de passe.
**Dashlane :**
Dashlane propose des mots de passe de 4 à 40 caractères. Moins de personnalisation que Bitwarden, mais l’intégration lors de la création de compte est la plus fluide du marché.
### 2. Les générateurs en ligne (à utiliser avec précautions)
Des outils comme 1password.com/password-generator ou bitwarden.com/password-generator sont accessibles sans compte. Ils fonctionnent côté client (JavaScript), ce qui signifie que le mot de passe est généré dans votre navigateur et n’est pas transmis au serveur.
La bonne pratique c’est de vérifier la politique de confidentialité et d’éviter les générateurs de sources inconnues. Certains « générateurs en ligne » malveillants collectent les mots de passe générés.
### 3. Les outils en ligne de commande
Pour les développeurs et administrateurs système :
“`bash
# Via OpenSSL (Linux/Mac)
openssl rand -base64 24
# Génère un mot de passe de 32 caractères base64 (environ 192 bits d’entropie)
# Via /dev/urandom (Linux)
cat /dev/urandom | tr -dc ‘a-zA-Z0-9!@#$%^&*()’ | fold -w 20 | head -n 1
# Génère un mot de passe de 20 caractères complexes (environ 131 bits d’entropie)
# Via Python
python3 -c “import secrets, string; print(secrets.token_urlsafe(20))”
# Génère un token URL-safe de 27 caractères environ
“`
`openssl rand` et `secrets` Python utilisent des sources d’entropie cryptographiquement sécurisées (équivalent au CSPRNG).
## Les pièges à éviter dans la génération de mots de passe
**Piège 1 — Substitutions prévisibles.**
Remplacer les lettres par des chiffres (a→4, e→3, i→1, o→0) ou des symboles (a→@, s→$) est une technique tellement connue que les dictionnaires d’attaque par bruteforce l’incluent. « P@ssw0rd! » est presque aussi faible que « Password1 ».
**Piège 2 — Patterns personnels.**
Mot de passe basé sur votre date de naissance, nom de votre enfant, équipe de sport… Ces informations sont souvent disponibles sur les réseaux sociaux et constituent les premières tentatives lors d’attaques ciblées.
**Piège 3 — Longueur minimale des règles de sécurité.**
Beaucoup de sites imposent un minimum de 8 caractères, une majuscule, un chiffre, un symbole. Ces règles définissent un plancher — pas un objectif. Générez toujours plus long que le minimum requis.
**Piège 4 — Réutilisation avec légères variations.**
« MonMotDePasse1! » sur site A et « MonMotDePasse2! » sur site B. Si site A est compromis et votre pattern découvert, site B est immédiatement vulnérable.
**Piège 5 — Générateurs pseudoaléatoires non cryptographiques.**
Le `Math.random()` de JavaScript ou `random()` de Python ne sont pas des CSPRNG. Pour un usage non-cryptographique ils suffisent, mais pour générer des mots de passe, seuls les CSPRNG (`crypto.getRandomValues()`, `secrets` Python, `/dev/urandom`) sont acceptables.
## Passphrases Diceware : la mémorisation sécurisée
Pour les mots de passe que vous devez mémoriser (mot de passe maître de votre gestionnaire, connexion système), les passphrases Diceware offrent le meilleur compromis entre sécurité et mémorisation.
Le principe : lancer un dé physique 5 fois, noter le résultat (ex: 13524), trouver le mot correspondant dans la liste Diceware (ex: « banjo »), répéter 5-8 fois.
Une passphrase de 6 mots Diceware offre ~77 bits d’entropie. 8 mots : ~103 bits. Et c’est mémorisable — le cerveau humain retient beaucoup mieux une séquence de mots que des caractères aléatoires.
Exemple : « cheval-batterie-agrafe-correct-soleil-lune » (70 caractères, mémorisable, forte entropie)
## Application pratique : stratégie de génération selon le contexte
**Mot de passe maître du gestionnaire :** Passphrase Diceware 7-8 mots (~90-103 bits). Vous devez le mémoriser — la passphrase est le bon choix.
**Mots de passe des comptes critiques (banque, email):** 20 caractères aléatoires complexes (~131 bits) générés par le gestionnaire.
**Mots de passe des comptes courants :** 16 caractères aléatoires (~105 bits) générés par le gestionnaire.
**Codes PIN :** 8 chiffres minimum pour les codes importants. 4 chiffres seulement si le service limite le nombre de tentatives.
**Tokens API, secrets d’application :** Minimum 32 caractères aléatoires base64 (~192 bits) générés via `openssl rand -base64 32`.
Détails sur les générateurs dans NordPass : [nordpass.com](https://nordpass.com)
Détails sur le générateur 1Password : [1password.com](https://1password.com)
Générateur Bitwarden : [bitwarden.com](https://bitwarden.com)
## FAQ — Générateur de mot de passe fort
