1. Introduction
Cet article aborde une lacune fondamentale dans le discours sur la sécurité des mots de passe : l'absence d'une définition rigoureuse de la « robustesse d'un mot de passe ». Il soutient que les approches actuelles sont souvent anecdotiques et ne tiennent pas compte de la stratégie de l'attaquant. Les auteurs proposent une mesure canonique basée sur l'efficacité des attaques par devinette potentielles, déplaçant ainsi l'attention des caractéristiques du mot de passe vers les caractéristiques de l'attaque.
2. État de l'art
L'article critique l'état actuel de la sécurité des mots de passe, le qualifiant d'« aussi sombre que la médecine médiévale », citant l'observation de Bruce Schneier selon laquelle une grande partie des conseils repose sur des anecdotes plutôt que sur des analyses. Il souligne l'absence d'une méthode satisfaisante pour mesurer la robustesse d'un ensemble de mots de passe, comme noté dans la littérature récente [3]. Les vérificateurs de robustesse courants sont rejetés comme mesurant une « imitation » plutôt qu'une véritable résistance aux attaques intelligentes.
3. Idée centrale & Enchaînement logique
Idée centrale : La robustesse d'un mot de passe n'est pas une propriété intrinsèque d'une chaîne de caractères ; c'est une propriété relationnelle définie entièrement par la stratégie de devinette de l'attaquant. L'objectif du défenseur n'est pas de créer un « mot de passe fort » dans le vide, mais d'en créer un qui performe mal face à l'ensemble des stratégies d'attaque réalisables qu'un adversaire rationnel pourrait employer.
Enchaînement logique : L'argumentation procède avec une précision formelle :
- Définir une attaque par devinette comme une liste ordonnée (dictionnaire) de mots de passe candidats.
- Prouver que deux attaques ne diffèrent que par l'ordre de cette liste.
- Conclure que la robustesse d'un mot de passe face à une attaque spécifique est sa position dans le dictionnaire de cette attaque.
- Puisque le défenseur ne peut connaître l'ordre exact de l'attaque, il doit considérer un ensemble d'attaques plausibles.
- Par conséquent, la mesure de robustesse du défenseur est la valeur attendue de la position du mot de passe sur cet ensemble d'attaques.
4. Forces & Faiblesses
Forces :
- Rigueur conceptuelle : Fournit la première définition formelle et centrée sur l'attaque de la robustesse des mots de passe, dépassant les règles empiriques.
- Fondation en théorie des jeux : Cadre correctement la sélection du mot de passe comme une interaction stratégique, en accord avec l'analyse de sécurité moderne comme celle de la recherche en Théorie des jeux pour la sécurité.
- Expose les heuristiques erronées : Démontre efficacement l'inefficacité des politiques axées sur la conformité (par ex., « doit inclure un chiffre et un symbole ») qui génèrent des motifs prévisibles.
Faiblesses & Limites :
- Complexité computationnelle : La métrique centrale — calculer le rang attendu sur toutes les attaques plausibles — est computationnellement irréalisable pour de grands espaces de mots de passe. C'est un idéal théorique, pas un outil pratique pour les vérificateurs en temps réel.
- Omet des réalités clés : Le modèle suppose une attaque par « devinette hors ligne » avec un nombre illimité de tentatives, ignorant la limitation du débit, le verrouillage des comptes et les systèmes de détection en ligne qui modifient fondamentalement la stratégie de l'attaquant.
- Aucune guidance sur l'ensemble d'attaques : Le saut critique de l'article — définir « l'ensemble des attaques réalisables » — reste sous-spécifié. Comment un défenseur modélise-t-il pratiquement cet ensemble ? C'est le nœud du problème.
5. Perspectives pratiques
Pour les praticiens de la sécurité, cet article impose un changement de paradigme :
- Arrêter de mesurer l'imitation : Abandonner les vérificateurs qui ne contrôlent que les classes de caractères. Ils entraînent les utilisateurs à créer des mots de passe forts face au vérificateur, pas face à un attaquant.
- Penser en distributions, pas en règles : Au lieu d'imposer des symboles, encourager les utilisateurs à sélectionner des mots de passe à partir d'une distribution à haute entropie qui a peu de chances de correspondre aux dictionnaires d'attaque courants (par ex., en utilisant diceware ou des gestionnaires de mots de passe).
- Modéliser votre adversaire : Pour les systèmes critiques, effectuer une modélisation des menaces pour définir les stratégies d'attaque plausibles (par ex., force brute, dictionnaire basé sur des fuites passées, informations personnelles ciblées). Adapter les politiques de mots de passe pour perturber ces stratégies spécifiques.
- Accepter l'incertitude : Admettre qu'une mesure parfaite de la robustesse est impossible. L'objectif est d'augmenter le coût et l'incertitude pour l'attaquant, pas d'obtenir un score parfait.
6. Cadre technique
6.1 Modèle d'attaque formel
L'article modélise une attaque par devinette $A$ comme une séquence ordonnée (dictionnaire) $D_A = (w_1, w_2, w_3, ...)$ de mots de passe candidats, où $w_i$ est un mot d'un alphabet fini. L'attaquant essaie les mots de passe dans cet ordre jusqu'au succès. L'attaque est « hors ligne », ce qui signifie que l'interface fournit un retour immédiat de succès/échec sans limites.
6.2 Formalisation mathématique
Soit $p$ un mot de passe spécifique. Pour une attaque donnée $A$, la robustesse de $p$ est définie comme son rang dans $D_A$ : $$S_A(p) = \text{rank}_A(p)$$ où $\text{rank}_A(p) = i$ si $p = w_i \in D_A$.
Puisque le défenseur ne connaît pas l'attaque exacte $A$, il considère un ensemble $\mathcal{A}$ d'attaques possibles. La robustesse canonique du mot de passe $C(p)$ est alors le rang attendu : $$C(p) = \mathbb{E}_{A \sim \mathcal{A}}[\,S_A(p)\,] = \sum_{A \in \mathcal{A}} P(A) \cdot \text{rank}_A(p)$$ où $P(A)$ est la probabilité (ou la vraisemblance) attribuée à l'attaque $A$ dans l'ensemble $\mathcal{A}$. Cette formulation lie directement la robustesse à la croyance du défenseur concernant la stratégie de l'attaquant.
7. Résultats expérimentaux & Analyse
Expérience conceptuelle & Implication : Bien que l'article lui-même ne présente pas de données empiriques issues d'exécutions logicielles, il démontre logiquement la nécessité de son modèle à travers une expérience de pensée. Il montre que deux mots de passe, « Password123! » et « xQ37!z9pLm », pourraient recevoir des scores similaires d'un vérificateur naïf contrôlant la longueur et la variété des caractères. Cependant, « Password123! » aura un rang très bas (forte robustesse) dans un ordre d'attaque par force brute mais un rang extrêmement bas (faible robustesse) dans une attaque par dictionnaire qui priorise les mots de base et motifs courants. La mesure canonique $C(p)$, en faisant la moyenne sur les deux types d'attaque, révélerait la véritable faiblesse de « Password123! » par rapport à la chaîne aléatoire.
Interprétation du graphique (conceptuel) : Imaginez un diagramme à barres comparant trois méthodes d'évaluation pour un échantillon de mots de passe :
- Méthode A (Vérificateur naïf) : Montre « Password123! » et « xQ37!z9pLm » comme étant également forts.
- Méthode B (Rang dans une attaque par dictionnaire) : Montre « Password123! » comme très faible (numéro de rang bas) et « xQ37!z9pLm » comme fort (numéro de rang élevé).
- Méthode C (Mesure canonique $C(p)$) : Montre une moyenne pondérée. Le score de « Password123! » chute en raison de sa forte probabilité dans les attaques par dictionnaire, tandis que la chaîne aléatoire conserve un score élevé. Ce graphique argumenterait visuellement que $C(p)$ est mieux corrélé avec la capacité réelle à être craqué.
8. Cadre d'analyse : Étude de cas
Scénario : La politique de mots de passe d'une entreprise exige : « Au moins 12 caractères, incluant majuscule, minuscule, un chiffre et un symbole. »
Analyse traditionnelle : Un mot de passe comme « Été2024!$ » satisfait la politique et obtient une évaluation « Fort » d'un vérificateur typique.
Analyse par mesure canonique :
- Définir l'ensemble d'attaques $\mathcal{A}$ :
- $A_1$ : Attaque par dictionnaire utilisant des mots courants (« Été »), saisons, années et suffixes de symboles courants (« !$ »). Probabilité : Élevée (0,7).
- $A_2$ : Attaque ciblée utilisant le nom de l'entreprise, les informations des employés. Probabilité : Faible pour une attaque massive (0,1).
- $A_3$ : Force brute complète sur l'espace des 12 caractères. Probabilité : Extrêmement faible (0,001).
- $A_4$ : Attaque utilisant des mots de passe provenant de fuites précédentes d'entreprises similaires. Probabilité : Moyenne (0,199).
- Estimer les rangs :
- $\text{rank}_{A1}("Été2024!$")$ : Très bas (par ex., dans le top 10 millions).
- $\text{rank}_{A2}(p)$ : Pourrait être bas si ciblé.
- $\text{rank}_{A3}(p)$ : Très élevé (~$95^{12}$).
- $\text{rank}_{A4}(p)$ : Potentiellement bas si le motif est courant.
- Calculer $C(p)$ : Le rang attendu est dominé par l'attaque par dictionnaire à haute probabilité $A_1$, résultant en un score de robustesse canonique faible, exposant l'échec de la politique.
9. Applications futures & Orientations
- Politiques de mots de passe adaptatives : Les systèmes pourraient utiliser le cadre canonique pour créer des politiques dynamiques. Au lieu de règles statiques, un service backend pourrait estimer $\mathcal{A}$ en fonction du renseignement sur les menaces actuel (par ex., nouveaux dictionnaires divulgués) et rejeter les mots de passe ayant un score $C(p)$ faible face à ce modèle mis à jour.
- Intégration aux gestionnaires de mots de passe : Les gestionnaires de mots de passe sont idéaux pour mettre cela en œuvre. Ils peuvent maintenir un modèle local de $\mathcal{A}$ (basé sur des données de fuites mondiales et des règles heuristiques) et l'utiliser pour générer des mots de passe qui maximisent $C(p)$. Cela transforme le modèle théorique en une amélioration de sécurité pratique et transparente pour l'utilisateur.
- Preuves de sécurité formelles : Le modèle fournit une base pour prouver formellement les propriétés de sécurité des algorithmes de génération de mots de passe dans la littérature académique, de la même manière que les algorithmes de chiffrement sont analysés.
- Modèles de menace hybrides : Les travaux futurs doivent intégrer la mesure canonique avec les contraintes du monde réel comme la limitation du débit. L'ensemble d'attaques $\mathcal{A}$ inclurait alors non seulement les ordonnancements de mots de passe, mais aussi les stratégies de répartition des tentatives dans le temps et entre les comptes.
- Apprentissage automatique pour $\mathcal{A}$ : Le problème ouvert majeur — définir l'ensemble d'attaques — pourrait être abordé avec le ML. Les systèmes pourraient entraîner des modèles sur des tentatives de craquage réelles et des mots de passe divulgués pour apprendre et mettre à jour continuellement la distribution de probabilité $P(A)$ sur les stratégies, créant une cible mouvante pour les attaquants.
10. Références
- Panferov, E. (2016). A Canonical Password Strength Measure. arXiv:1505.05090v4 [cs.CR].
- Schneier, B. (2007). Schneier on Security. Wiley.
- Bonneau, J. (2012). The Science of Guessing: Analyzing an Anonymized Corpus of 70 Million Passwords. IEEE Symposium on Security and Privacy.
- Shannon, C. E. (1948). A Mathematical Theory of Communication. The Bell System Technical Journal.
- Florêncio, D., & Herley, C. (2007). A Large-Scale Study of Web Password Habits. Proceedings of the 16th International Conference on World Wide Web.
- Ur, B., et al. (2015). Do Users' Perceptions of Password Security Match Reality? Proceedings of the 2015 CHI Conference on Human Factors in Computing Systems.
- NIST Special Publication 800-63B (2017). Digital Identity Guidelines: Authentication and Lifecycle Management.
- Wang, D., et al. (2016). The Tangled Web of Password Reuse. NDSS Symposium 2016.