Robustesse d'un mot de passe

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche

La robustesse d'un mot de passe est la mesure de la capacité d'un mot de passe à résister au cassage de mot de passe.

On mesure la robustesse d'un mot de passe en estimant le nombre de tentatives nécessaires à un attaquant pour casser le mot de passe.

La robustesse d'un mot de passe est une fonction de

  • la longueur du mot de passe (un mot de passe de 10 caractères est plus robuste qu'un mot de passe de 6 caractères);
  • sa complexité, c'est-à-dire du nombre de symboles différents utilisés pour construire le mot de passe (à longueur égale, un mot de passe permettant des chiffres et des lettres sera plus robuste qu'un mot de passe ne permettant que des chiffres) ;
  • du caractère aléatoire du mot de passe (le mot de passe 428195 est plus robuste que le mot de passe 123456 qui est un mot de passe très populaire[1].

L'entropie comme mesure de la robustesse d'un mot de passe[modifier | modifier le code]

Dans l'industrie informatique, la robustesse d'un mot de passe est exprimée en termes d'entropie de Shannon, mesurée en bits. Il s'agit d'un concept de la théorie de l'information. Au lieu de mesurer la robustesse par le nombre de combinaisons de caractères qu'il faut tester pour trouver le mot de passe avec certitude, on utilise le logarithme en base 2 de ce nombre. Cette mesure est appelée l'entropie du mot de passe. Un mot de passe avec une entropie de 42 bits calculée de la sorte serait aussi robuste qu'une chaîne de 42 bits choisie au hasard.

En d'autres termes, un mot de passe de 42 bits de robustesse ne serait brisé de façon certaine qu'après 242 (4 398 046 511 104) tentatives lors d'une attaque par force brute. L'ajout d'un bit d'entropie à un mot de passe double le nombre de tentatives requises, ce qui rend la tâche de l'attaquant deux fois plus difficile. En réalité, en moyenne, un attaquant devra essayer la moitié des mots de passe possibles avant de trouver le bon[2].

Entropie des mots de passe aléatoires[modifier | modifier le code]

Un mot de passe aléatoire est une chaîne de symboles d'une longueur spécifiée, tirée d'un ensemble de symboles et produite par un processus de sélection aléatoire dans lequel chaque symbole a la même probabilité d'être sélectionné. Les symboles peuvent être des caractères individuels d'un jeu de caractères (par exemple, le jeu de caractères ASCII), des syllabes conçues pour former des mots de passe prononçables ou même des mots d'une liste de mots (formant ainsi une phrase secrète).

La robustesse des mots de passe aléatoires dépend de l'entropie réelle du générateur de nombres aléatoires sous-jacent. Malheureusement, souvent, les générateurs de nombres aléatoires ne sont pas vraiment aléatoires, mais pseudo aléatoires. Certains générateurs de mots de passe utilisent des générateurs de nombres aléatoires trouvés dans des bibliothèques de programmation offrant une entropie limitée. Heureusement, la plupart des systèmes d'exploitation modernes proposent aussi des générateurs de nombres aléatoires puissants sur le plan cryptographique et adaptés à la génération de mots de passe robustes.

Pour les mots de passe générés par un processus qui sélectionne de manière aléatoire une chaîne de symboles de longueur « L », à partir d'un ensemble de « N » symboles, le nombre de mots de passe possibles est le nombre de symboles N élevé à la puissance L, i.e. NL.

Augmenter L ou N renforcera le mot de passe généré. La force d'un mot de passe aléatoire, telle que mesurée par l'entropie de Shannon, est simplement le logarithme binaire ou log2 du nombre de mots de passe possibles, en supposant que chaque symbole du mot de passe est produit indépendamment. Ainsi, l'entropie H d'un mot de passe aléatoire est donnée par la formule

où « N » est le nombre de symboles possibles et « L » est le nombre de symboles du mot de passe. « H » est mesuré en bits[2],[3].

Entropie par symbole[modifier | modifier le code]

Selon la formule précédente, l'entropie augmente avec la longueur du mot de passe et chaque addition d'un symbole augmente l'entropie d'une valeur constante qui dépend du nombre de symboles dans l'ensemble de symboles duquel le symbole est tiré.

Le tableau suivant indique l'augmentation de l'entropie obtenue en allongeant un mot de passe d'un symbole pour différents ensembles de symboles.

Entropie par symbole pour différents ensembles de symboles
Ensemble de symboles Nombre de
symboles « N »
Entropie par
symbole « H »
Chiffres arabes (0–9) (e.g. PIN) 10 3,322 bits
Nombres hexadécimaux (0–9, A–F) (e.g. WEP keys) 16 4.000 bits
Alphabet latin insensible à la casse (a–z or A–Z) 26 4,700 bits
Caractères alphanumériques insensible à la casse (a–z or A–Z, 0–9) 36 5,170 bits
Alphabet latin sensible à la casse (a–z, A–Z) 52 5,700 bits
Caractères alphanumériques sensible à la casse (a–z, A–Z, 0–9) 62 5,954 bits
Caractères imprimables ASCII sauf l'espace 94 6,555 bits
Caractères imprimables ASCII 95 6,570 bits
Caractères imprimables ASCII étendu 218 7,768 bits
Nombre binaire de 8 bits (0–255 or 8 bits or 1 byte) 256 8,000 bits
Liste de mots de Diceware 7776 12,925 bits par mot

Longueur d'un mot de passe pour atteindre une certaine entropie[modifier | modifier le code]

En augmentant la longueur d'un mot de passe, on augmente son entropie.

La longueur L nécessaire pour atteindre une robustesse H, avec un mot de passe tiré au hasard parmi un ensemble de N symboles se calcule de la façon suivante :

, arrondi au nombre entier suivant.

Le tableau suivant utilise cette formule pour afficher les longueurs requises de mots de passe pour obtenir divers niveau d'entropie pour des jeux de symboles courants. Notez que l'entropie désirée sera obtenue seulement si les mots de passe sot générés de façon parfaitement aléatoire.

La longueur "L" d'un mot de passe généré de manière parfaitement aléatoire nécessaire pour obtenir une entropie "H" pour les jeux de symboles contenant les symboles "N".
Entropie "H" désirée Chiffres arabes Chiffres hexadécimaux Alphabet latin insensible à la casse Caractères alphanumériques insensible à la casse Alphabet latin sensible à la casse Caractères alphanumériques sensible à la casse Caractères imprimables ASCII Caractères imprimables ASCII étendu Liste de mots de Diceware
8 bits
(1 byte)
3 2 2 2 2 2 2 2 1 mot
32 bits (4 bytes) 10 8 7 7 6 6 5 5 3 mots
40 bits (5 bytes) 13 10 9 8 8 7 7 6 4 mots
64 bits (8 bytes) 20 16 14 13 12 11 10 9 5 mots
80 bits (10 bytes) 25 20 18 16 15 14 13 11 7 mots
96 bits (12 bytes) 29 24 21 19 17 17 15 13 8 mots
128 bits (16 bytes) 39 32 28 25 23 22 20 17 10 mots
160 bits (20 bytes) 49 40 35 31 29 27 25 21 13 mots
192 bits (24 bytes) 58 48 41 38 34 33 30 25 15 mots
224 bits (28 bytes) 68 56 48 44 40 38 35 29 18 mots
256 bits (32 bytes) 78 64 55 50 45 43 39 33 20 mots

Recommandations pour des mots de passe robustes pour les mots de passe forts[modifier | modifier le code]

Les humains sont notoirement inefficaces à générer des mots de passe robustes parce qu'ils ont tendance à générer des mots de passe facile à retenir plutôt que des mots de passe contenant des caractères choisis aléatoirement. Selon une étude portant sur un demi-million d'utilisateurs, l'entropie moyenne des mots de passe a été estimée à 40,54 bits[4].

Ainsi, dans une analyse de plus de 3 millions de mots de passe de huit caractères, la lettre « e » a été utilisée plus de 1,5 million de fois, alors que la lettre « f » n'a été utilisée que 250 000 fois. Une distribution uniforme aurait utilisé chaque caractère environ 900 000 fois. Le nombre le plus couramment utilisé est « 1 », tandis que les lettres les plus courantes sont a, e, o et r[5].

Les utilisateurs utilisent rarement pleinement les grands jeux de caractères pour former des mots de passe. Par exemple, les résultats de piratage obtenus à partir d'un système de phishing sur MySpace en 2006 ont révélé 34 000 mots de passe, dont seulement 8,3% utilisaient des majuscules, des chiffres et des symboles[6].

Pour éviter les faiblesses mentionnées dans les paragraphes précédents et d'autres faiblesses semblables, les partisans de la sécurité des systèmes logiciels proposent les recommandations semblables[7],[8],[9],[10],[11] :

  • utiliser une longueur de mot de passe minimale de 8 caractères, si autorisé ;
  • inclure des caractères alphabétiques minuscules et majuscules, des chiffres et des symboles, si autorisé ;
  • générer des mots de passe au hasard lorsque cela est possible ;
  • n'utiliser par le même mot de passe plusieurs fois (par exemple, sur plusieurs comptes d'utilisateurs et / ou systèmes logiciels) ;
  • éviter les répétitions de caractères, les motifs de clavier, les mots du dictionnaire, les séquences de lettres ou de chiffres, les noms d'utilisateur, les prénoms et les noms de famille, les liens romantiques (actuels ou passés) et les informations biographiques (numéros d'identification, noms d'ancêtres ou dates, par exemple) ;
  • n'utiliser pas des informations qui sont ou pourraient devenir publiquement associées à l'utilisateur ou au compte ;
  • n'utiliser pas des informations dont les collègues et / ou les connaissances de l'utilisateur pourraient savoir qu'elles sont associées à l'utilisateur ;
  • n'utiliser pas de mots de passe constitués d'une combinaison des composants faibles susmentionnés.

Certaines directives conseillent de ne pas écrire les mots de passe, tandis que d’autres, reconnaissant l'impossibilité pour l'utilisateur de mémoriser un grand nombre de mots de passe robustes différents, encouragent l’écriture de mots de passe tant que les listes de mots de passe écrites sont conservées dans un endroit sûr [12].

Gestionnaires de mots de passe[modifier | modifier le code]

Article principal : Gestionnaire de mots de passe.

Un compromis raisonnable pour l'utilisateur qui doit gérer un grand nombre de mots de passe robustes consiste à les enregistrer dans un gestionnaire de mots de passe, qui comprend des applications autonomes, des modules d'extension de navigateur Web ou un gestionnaire intégré au système d'exploitation. Un gestionnaire de mots de passe permet à l'utilisateur d'utiliser des centaines de mots de passe différents et de ne devoir mémoriser qu'un seul mot de passe, celui qui ouvre la base de données de mots de passe cryptée.

Inutile de dire que le mot de passe du gestionnaire de mots de passe doit être fort et bien protégé (non enregistré nulle part). La plupart des gestionnaires de mots de passe peuvent créer automatiquement des mots de passe robustes à l'aide d'un générateur de mot de passe aléatoire cryptographiquement sécurisé, ainsi que calculer l'entropie du mot de passe généré. Un bon gestionnaire de mots de passe fournira une résistance contre les attaques telles que les enregistreurs de frappe, les enregistreurs de presse-papiers et diverses autres techniques d'espionnage de la mémoire.

Références[modifier | modifier le code]

  1. (en) « Cyber Security Tip ST04-002 », Choosing and Protecting Passwords, US-CERT (consulté le 20 juin 2009).
  2. a et b « SP 800-63 – Electronic Authentication Guideline » [archive du july 12, 200#redirect4] [PDF], NIST (consulté le 20 avril 2014)
  3. Schneier, B: Applied Cryptography, 2e, page 233 ff. John Wiley and Sons.
  4. Dinei Florencio et Cormac Herley, « A Large-Scale Study of Web Password Habits », Proceeds of the International World Wide Web Conference Committee,‎ (lire en ligne[archive du ])
  5. (en) Mark Burnett, Perfect Passwords, Syngress Publishing, (ISBN 1-59749-041-5), p. 181
  6. Bruce Schneier, « MySpace Passwords aren't so Dumb », Wired Magazine,‎ (lire en ligne[archive du ])
  7. Microsoft Corporation, Strong passwords: How to create and use them « https://web.archive.org/web/20080101132156/http://www.microsoft.com/protect/yourself/password/create.mspx »(ArchiveWikiwixArchive.isGoogleQue faire ?),
  8. Bruce Schneier, Choosing Secure Passwords « https://web.archive.org/web/20080223002450/http://www.schneier.com/blog/archives/2007/01/choosing_secure.html »(ArchiveWikiwixArchive.isGoogleQue faire ?),
  9. Google, Inc., How safe is your password? « https://web.archive.org/web/20080222225549/https://www.google.com/accounts/PasswordHelp »(ArchiveWikiwixArchive.isGoogleQue faire ?),
  10. University of Maryland, Choosing a Good Password « https://web.archive.org/web/20140614022254/http://www.cs.umd.edu/faq/Passwords.shtml »(ArchiveWikiwixArchive.isGoogleQue faire ?),
  11. Teri Bidwell, Hack Proofing Your Identity in the Information Age, Syngress Publishing, (ISBN 1-931836-51-5)
  12. « Write Down Your Password - Schneier on Security » [archive du ], sur www.schneier.com

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]