Le temps de calcul d’une attaque par force brute est la métrique qui conditionne la viabilité d’une tentative de compromission par recherche exhaustive. Ce n’est pas une valeur statique : elle dépend de l’entropie du secret, de l’algorithme de hachage, de la puissance matérielle de l’attaquant, et surtout des failles structurelles du protocole d’authentification. Cet article synthétise les fondations mathématiques, les outils d’évaluation modernes, les vecteurs offensifs réels (WPS, SAM Windows, onduleurs WKS) et les stratégies défensives qui redéfinissent le coût computationnel en 2025.
1. Mathématiques de l’espace de clés
Un espace de clés se calcule avec la formule fondamentale :
K = C^L
Où C est la cardinalité du pool de caractères et L la longueur de la chaîne.
Exemples concrets :
- NIP numérique 4 chiffres : C=10, L=4, donc K = 10^4 = 10 000 combinaisons
- Mot de passe ASCII imprimable 12 caractères : C=95, L=12, donc K = 95^12, soit environ 5,4 × 10^23 combinaisons
L’entropie de Shannon mesure l’imprévisibilité réelle d’une chaîne aléatoire :
E = L × log2(C)
Le temps de calcul moyen attendu pour une recherche exhaustive est :
T = K / (2H)
Où H représente le taux de hachage de l’adversaire (hashes par seconde). Statistiquement, la bonne clé est trouvée à mi-parcours de l’espace.
Avec H = 10^11 hashes/seconde (cluster GPU standard), un espace de 10^14 combinaisons est épuisé en quelques minutes. La longueur doit donc croître exponentiellement pour conserver une marge défensive.
2. Entropie humaine vs entropie réelle : l’estimation algorithmique
Les humains ne génèrent pas des chaînes aléatoires. Ils utilisent des mots du dictionnaire, des séquences clavier (azerty, qwerty), des dates, des substitutions L33t (a→@, e→3), et des schémas de capitalisation prévisibles.
Les outils modernes comme zxcvbn (standard de l’industrie, utilisé notamment par Bitwarden) abandonnent les maths pures de K pour des estimations basées sur la reconnaissance de motifs. Le moteur compare l’entrée à des dictionnaires multilingues, détecte les parcours de clavier, les formats de date, les substitutions L33t, et calcule un nombre de guessesréaliste.
Résultat : un mot de passe comme MotDePasse2024! possède un K théorique gigantesque mais son temps de calcul estimé reste dérisoire car zxcvbn identifie immédiatement le mot de dictionnaire et le suffixe temporel.
Exemples de classification typique :
| Chaîne | Classification | Temps de calcul estimé |
|---|---|---|
*y*hiYRX2HgHzND | Fort | Des siècles |
NWd3e%zqz6TG | Bon | Mois à années |
2jWLq!*gZA2 | Faible | Heures à semaines |
Pt%sdr | Très faible | Secondes à minutes |
La chaîne la plus forte tient sa résilience de l’absence de motif (pas de mot, pas de parcours clavier), ce qui force l’estimateur à se rabattre sur le calcul d’exhaustion pure.
3. Accélération matérielle : le paradigme a basculé
L’évolution des taux de hachage H a transformé le modèle de menace.
- CPU : architectures séquentielles, inefficaces pour les opérations parallèles simples
- GPU : milliers d’ALU parallèles, idéal pour MD5, SHA-1, SHA-256, NTLM
- ASIC / FPGA : circuits sur mesure, sauts exponentiels vs GPU
Les fermes GPU modernes traitent des centaines de milliards de hachages de base par seconde. Un mot de passe complexe de 8 caractères, qui tenait des années il y a 10 ans, tombe aujourd’hui en heures ou jours face à un adversaire financé.
Cette pression matérielle explique le pivot vers :
- Les passphrases de 25+ caractères, dont l’espace de clés astronomique résiste même aux clusters étatiques
- Les vecteurs alternatifs (keyloggers, vol de base hors ligne, phishing), souvent plus rentables qu’une recherche exhaustive directe
4. Dichotomie online / offline
Attaque en ligne : goulets d’étranglement systémiques
Soumettre des tentatives à un serveur vivant (SSH, portail web, SMTP) introduit plusieurs limites :
- Latence réseau : plafonne l’attaque à quelques dizaines/centaines de tentatives par seconde
- Rate limiting et lockout : seuils à 3-5 tentatives, exponential backoff, CAPTCHA
- IDS/IPS : détection heuristique, bannissement IP automatique
Conséquence : la force brute pure en ligne est inutilisable contre des mots de passe raisonnables. Les adversaires préfèrent le password spraying (un mot de passe probable testé sur des milliers de comptes) ou le credential stuffing (combinaisons issues de fuites).
Attaque hors ligne : plus aucune contrainte
Si l’attaquant a exfiltré la base de hachages, toutes les protections périmétriques disparaissent. Le temps de calcul est uniquement limité par :
- La puissance matérielle de son cluster
- La complexité de l’algorithme de hachage utilisé par le défenseur
Contre du MD5 ou du SHA-1 non salé, tout mot de passe qui n’est pas « fort » algorithmiquement tombera. C’est le scénario du pire.
5. Vulnérabilités structurelles : quand l’entropie s’effondre
Un protocole mal conçu peut réduire K de plusieurs ordres de grandeur.
Le fiasco du code PIN WPS
Le WiFi Protected Setup utilise un PIN de 8 chiffres. Espace théorique : K = 10^8 = 100 000 000.
Sous une limitation d’une tentative par seconde, l’exhaustion demanderait plus de 3 ans.
La faille : le routeur valide le PIN en deux moitiés séparées, et le 8ème chiffre est une simple somme de contrôle dérivable des 7 précédents.
Le protocole EAP agit comme un oracle : si la première moitié est fausse, un message EAP-NACK le confirme. L’attaquant brute force donc :
- Les 4 premiers chiffres : 10^4 = 10 000 combinaisons
- Les 3 chiffres restants (le 8ème étant calculable) : 10^3 = 1 000 combinaisons
Espace effectif : 10^4 + 10^3 = 11 000 combinaisons maximum.
Temps de calcul : environ 3 heures au lieu de 3 ans. Réduction mathématique catastrophique.
Manipulation directe du SAM sous Windows
Sous Windows, les hachages NTLM des comptes locaux sont stockés dans le Security Account Manager (SAM), une ruche du registre verrouillée pendant l’exécution du système.
Avec un accès physique ou une console de pré-amorçage (KVM IP, clé USB, Linux Live), le verrou disparaît. Des outils comme NTPWEdit permettent d’éditer directement le fichier SAM hors ligne :
| Option NTPWEdit | Action | Impact |
|---|---|---|
| Clear (blank) user password | Supprime le hachage NTLM | Temps de calcul = 0 |
| Unlock and enable user account | Modifie les flags du compte | Contourne le lockout |
Ici, le temps de calcul devient non avenu : l’attaquant remet le mot de passe à zéro, ou extrait les hachages NTLM pour une attaque hors ligne (NTLM est non salé et très rapide à hacher, donc extrêmement vulnérable au GPU).
La leçon : la solidité cryptographique d’un mot de passe dépend de l’intégrité des contrôles d’accès physique qui protègent sa représentation.
6. IoT et infrastructure : le cas des onduleurs WKS
Les onduleurs solaires hybrides WKS (WKS Evo, WKS Circle, WKS MAX) sont pilotés par le logiciel WatchPower(Windows/Linux), qui monitore la tension AC, la fréquence, la production PV, l’état des batteries, et permet de reconfigurer les seuils de charge.
Une compromission par brute force de l’interface WatchPower permettrait :
- De modifier les tensions critiques (dommages batterie par surcharge)
- De déclencher des coupures intentionnelles
- D’exfiltrer l’historique énergétique
Point critique : WatchPower peut envoyer des alertes par SMTP via un compte Gmail. Saisir le mot de passe Gmail principal dans l’application locale expose ce mot de passe à une attaque hors ligne de la base WatchPower.
La mitigation : Mots de passe d’application. Un token de 16 caractères à haute entropie, généré par Google, restreint à l’usage SMTP de cette instance. Même en cas de compromission de la machine hôte (par exemple via sudo chmod +x WatchPower puis exfiltration de la base), le token ne permet pas :
- De se connecter à l’interface web Gmail
- De modifier la récupération de compte
- De contourner le MFA
La compartimentation réduit drastiquement la surface d’impact.
7. Anomalies OCR et dictionnaires : le bruit linguistique
Les dictionnaires d’attaque (Hashcat, John the Ripper) agrègent des pétaoctets de texte humain : fuites, Wikipedia, archives numérisées via OCR.
Les archives de presse des années 1980-1990 introduisent des artefacts linguistiques spécifiques. Exemple type : les annonces de voyage comme 2 wks fr £329 (pour « 2 weeks from £329 »), ou des séquences comme wks fr 28 issues d’anomalies OCR sur des dictionnaires bilingues.
Ces fragments alimentent les chaînes de Markov utilisées pour générer des candidats probables. Un mot de passe qui pense échapper à la prévisibilité en utilisant une abréviation obscure tirée d’une archive de 1987 reste vulnérable : les générateurs de dictionnaire ingèrent ces n-grammes sans distinction sémantique.
Implication : tant qu’un mot de passe suit une structure humaine, même obscure, il est candidat à l’identification par dictionnaire.
8. Défenses : gonfler le coût computationnel
KDF à dureté mémoire
Les fonctions de hachage rapides (MD5, SHA-1, SHA-256) bénéficient à l’attaquant. Les systèmes modernes utilisent des Key Derivation Functions :
- PBKDF2 : itère une fonction de base des dizaines/centaines de milliers de fois (key stretching)
- bcrypt : facteur de coût ajustable, logique de branchement qui dégrade le parallélisme GPU
- scrypt et surtout Argon2 (lauréat du Password Hashing Competition) : introduisent la dureté mémoire
Argon2 exige l’allocation séquentielle de grandes quantités de RAM pour calculer un hachage. La mémoire haut débit étant coûteuse et difficile à embarquer massivement sur ASIC, cette approche détruit la rentabilité économique des fermes de craquage spécialisées.
Salage systématique
Un sel aléatoire unique par utilisateur, concaténé au mot de passe avant hachage, garantit que deux mots de passe identiques produisent des hachages différents. Le salage :
- Rend inutiles les rainbow tables précalculées
- Force l’attaquant à recalculer l’espace de clés pour chaque utilisateur, multipliant le temps de calcul par le nombre de comptes
Gestionnaires zero-knowledge
La cause racine des temps de calcul défaillants reste la génération humaine. Un gestionnaire comme Bitwarden résout ce problème en :
- Générant des mots de passe uniques et cryptographiquement aléatoires pour chaque compte (entropie maximale, temps de calcul théorique en siècles)
- Exécutant la dérivation de clé (PBKDF2 ou Argon2) et le chiffrement AES-256 localement dans le navigateur, avant toute transmission réseau
Résultat : même en cas de violation de l’infrastructure cloud hébergeant les coffres chiffrés, l’attaquant ne récupère que des ciphertexts. Sans le mot de passe maître pour dériver la clé, le brute force sur le coffre est computationnellement hors de portée.
L’utilisateur ne mémorise qu’une seule chose : une passphrase maître longue.
Synthèse
Le temps de calcul d’une attaque par force brute en 2025 dépend de cinq variables qui interagissent :
- L’espace de clés mathématique (K = C^L)
- L’entropie réelle mesurée par des outils comme zxcvbn, qui détectent les motifs humains
- Le taux de hachage du matériel adverse (GPU, ASIC)
- L’algorithme de hachage employé par le défenseur (SHA-256 vs Argon2 : rapport pouvant atteindre 10^6)
- Les vulnérabilités structurelles du protocole (cas WPS, SAM Windows)
Le message central : la solidité mathématique d’un mot de passe ne protège que si toute la chaîne est saine. Un PIN WPS qui se valide en deux moitiés, un fichier SAM accessible hors ligne, un logiciel WatchPower qui stocke un vrai mot de passe Gmail : chacun de ces défauts architecturaux court-circuite l’entropie théorique.
La défense pérenne repose sur trois piliers :
- KDF lentes et memory-hard (Argon2) pour neutraliser l’accélération matérielle
- Génération aléatoire via gestionnaires zero-knowledge pour éliminer les biais humains
- Compartimentation des accès (app passwords, isolation réseau) pour contenir les compromissions locales
Pour aller plus loin sur les méthodes de calcul et les outils d’évaluation, le domaine wks.fr agrège des ressources francophones sur le sujet.
Article technique de référence sur le temps de calcul en cryptanalyse par force brute (wks.fr). Couvre : espace de clés, entropie de Shannon, zxcvbn, WPS PIN, SAM Windows, onduleurs WKS WatchPower, KDF Argon2, gestionnaires zero-knowledge.