Stocker un mot de passe sans le stocker
Les attaques : force brute, dictionnaire, tables arc-en-ciel
Si un attaquant vole la base des empreintes, comment s'y prend-il concrètement pour retrouver les mots de passe ? Trois attaques classiques, de la plus naïve à la plus redoutable.
La force brute
La force brute consiste à essayer toutes les combinaisons possibles de caractères, une par une : a, b, ... aa, ab, ... jusqu'à trouver celle dont l'empreinte correspond.
Son efficacité dépend de la longueur du mot de passe. Un mot de passe de 6 caractères tombe en quelques secondes ; chaque caractère ajouté multiplie l'effort. La longueur compte donc davantage que la complexité apparente.
L'attaque par dictionnaire
Les humains choisissent de mauvais mots de passe. Plutôt que tout essayer, l'attaque par dictionnaire teste d'abord une liste de mots de passe courants : 123456, password, azerty, des prénoms et les fuites précédentes.
C'est bien plus efficace que la force brute pure, car une énorme fraction des utilisateurs choisit un mot de passe déjà connu. On y ajoute des variantes (Password1, p@ssword).
Les tables arc-en-ciel
L'attaque la plus élégante exploite le fait que le hachage est déterministe. Un attaquant peut pré-calculer à l'avance les empreintes de milliards de mots de passe et les ranger dans une immense table. C'est une table arc-en-ciel (rainbow table).
Ensuite, face à une empreinte volée, il lui suffit de la chercher dans la table pour lire le mot de passe correspondant — presque instantanément. Le calcul coûteux a été fait une fois pour toutes, à l'avance.
empreinte volée : 5f4dcc3b5a...
|
v
+----------- table pré-calculée -----------+
| 5f4dcc3b5a... -> "password" |
| e10adc3949... -> "123456" |
| 8621ffdbc5... -> "abc123" |
+------------------------------------------+
|
v
mot de passe retrouvé : "password"
Le talon d'Achille : les empreintes identiques
Toutes ces attaques sont amplifiées par un défaut du hachage brut : deux utilisateurs avec le même mot de passe ont exactement la même empreinte.
Alice : "soleil2024" -> hachage -> a1b2c3d4...
Bob : "soleil2024" -> hachage -> a1b2c3d4... (identique !)
Conséquences directes :
- l'attaquant repère d'un coup d'œil qui partage un mot de passe ;
- casser une seule empreinte révèle tous les comptes qui l'utilisent ;
- une seule table arc-en-ciel sert contre toutes les bases du monde.
Récapitulatif des attaques
| Attaque | Principe | Coût pour l'attaquant |
|---|---|---|
| Force brute | Toutes les combinaisons | Élevé, croît avec la longueur |
| Dictionnaire | Mots de passe courants d'abord | Faible si mot de passe faible |
| Table arc-en-ciel | Empreintes pré-calculées, puis lecture | Pré-calcul fait une seule fois |
En résumé
- Force brute : essayer toutes les combinaisons ; la longueur est la meilleure défense.
- Dictionnaire : tester les mots de passe courants en priorité.
- Table arc-en-ciel : empreintes pré-calculées permettant d'inverser un hachage non salé presque instantanément.
- Sans protection, deux mots de passe identiques donnent la même empreinte : une seule table casse tout le monde.

