Que vous soyez responsable d'un projet, d'un service bureautique, d'une mission de développement ou de tout autre activité en lieu direct avec les utilisateurs, vous avez sans doute au moins une fois entendu ces derniers vous dire : "Pourquoi tant de contraintes sur les mots de passe ?".
La réponse tient en un mot : "Robustesse". Plus le mot de passe sera robuste et plus il résistera à une tentative de cassage. A la manière d'un cadenas ou d'un antivol à code, la robustesse déterminera bien souvent le temps que mettre l'attaquant à en venir à bout.
La notion de robustesse dépend du type de menaces. Ici nous adresserons les menaces liées à l'attaque ou cassage de mot de passe par force brute.
Attaque par force brute
L'objectif d'une attaque par force brute est de tenter de découvrir un mot de passe en essayant toutes les combinaisons possibles :
- dans le cas d'une application ou d'un système en ligne, l'attaquant tente sa chance en espérant obtenir un écran différent de la mire d'authentification (ce qui lui indiquera le succès de son opération).
- dans le cas où des données cryptées auraient été volées, l'attaquant tente là aussi sa chance en espérant obtenir un contenu "clair" (fichier crypté) ou un mot de passe crypté identique (attaque par comparaison des résultats).
Note: qui n'a jamais tenté une attaque par brute force sur le vieux cadenas à code de sa valise après avoir oublié le code configuré ?
Critères de robustesse
Dans le contexte choisi, trois critères sont à prendre en compte pour assurer la robustesse de vos mots de passe :
- la longueur du mot de passe : plus il est long et plus le nombre de combinaisons est grand
- la taille de l'alphabet utilisé : plus l'alphabet est grand et plus les combinaisons sont nombreuses
- la durée de vie du mot de passe : moins longtemps il est exposé et moins il est vulnérable
Il est essentiel de préciser ici que nous écartons l'hypothèse d'attaques de type Social Engineering car il exploite d'autres faiblesses que celles inhérentes à la robustesse d'un mot de passe.
Outillage
De nombreux outils disponibles publiquement, permettent de générer un mot de passe, qu'il s'agisse d'une interface pour les utilisateurs ou d'une librairie pour les développeurs.
Néanmoins, il est judicieux de constater que la multiplication des mots de passe (session système, boîtes aux lettres, interfaces web, sites de eCommerce, sites des réseaux sociaux) ne permet pas aux gestionnaires de comptes d'imposer une politique visant à générer un mot de passe pour l'utilisateur.
La tendance, la plus naturelle par ailleurs, consiste à laisser l'utilisateur définir lui-même son mot de passe en appliquant lors de cette procédure des contraintes de robustesse (utilisation d'un majuscule au moins, d'un caractère spécial, d'un chiffre ...).
Comment définir alors la politique de robustesse et les contraintes à appliquer ? Voici 4 outils en ligne permettant à tout un chacun d'aborder cette question de manière ludique et pédagogique (comme dit le proverbe : "inutiles donc indispensables).
How Secure Is My Password ?
"A quel point mon mot de passe est-il sûr ?". le site http://howsecureismypassword.net/ tente d'y répondre de manière simple et vulgarisée. Il affiche à l'utilisateur le temps nécessaire pour casser un mot de passe en se basant sur une puissance machine capable d'analyser 10 millions de combinaisons par seconde.
Niveau pédagogique : Faible
Niveau de vulgarisation : Fort
Population concernée : des utilisateurs à sensibiliser
Remarques sur l'outil : l'affichage d'une unité de temps renforce le côté sensibilisation
Microsoft Password Checker
Intégré dans la rubrique sécurité des PC du site Microsoft, l'outil Password Checker disponible à l'adresse https://ww.microsoft.com/security/pc-security/password-checker.aspx n'est pas à la hauteur de ce que pourrait offrer le géant du logiciel.
Niveau pédagogique : Faible
Niveau de vulgarisation : Faible
Population concernée : des utilisateurs (non-initiés à la sécurité) à sensibiliser
Remarques sur l'outil : l'utilisation de simples couleurs relève du jeu éducatif pour enfants
Password Meter
Beaucoup plus élaboré que les deux outils précédents, http://www.passwordmeter.com/ vous informe de la robustesse de votre mot de passe en détaillant les critères de notation utilisés. Ainsi il vous indiquera pour chacun des critères de robustesse si votre mot de passe y répond de manière rédhibitoire, insuffisante, suffisante ou exceptionnelle.
Niveau pédagogique : Fort
Niveau de vulgarisation : Moyen
Population concernée : des personnes souhaitant aborder les critères de robustesse
Remarques sur l'outil : à première vue rebutant, l'outil s'avère très pédagogique
Passwords Strength Test
Dans un registre proche de l'outil précédent, http://rumkin.com/tools/password/passchk.php présente une interface austère mais riche de quelques informations importantes. Le résultat des tests effectués détaille de manière succincte les métriques utilisées pour la note finale (longueur de l'alphabet, niveau d'entropie). Accolée à la note globale, un texte permet à l'utilisateur de comprendre dans quelque contexte sont mot de passe est utilisable et quelles sont éventuellement les axes d'amélioration du score.
Niveau pédagogique : Moyen
Niveau de vulgarisation : Moyen
Population concernée : des personnes souhaitant aborder les critères de robustesse
Remarques sur l'outil : l'interface relativement austère n'incite pas à l'utilisation
Notes complémentaires
Les technologies utilisées par les sites de ce type s'appuient sur le JavaScript des navigateurs web. En règle générale, aucune donnée n'est transmise au serveur, ceci limitant le risque d'avoir un attaquant masqué derrière le site hébergeant l'outil... Néanmoins, il est conseillé de ne pas taper son mot de passe mais une déclinaison de ce dernier (en décalant ou en inversant des caractères par exemple).
Les sites proposés ici sont de langue anglaise et ne faciliteront pas forcément leur compréhension par une population en maitrisant pas cette langue. Si vous disposez de sites en langue française, pédagogiques et non publicitaires (des outils universitaires par exemple), ils seront volontiers cités dans cet article.
L'article ne s'attarde pas ici sur les mécanismes d'utilisation de dictionnaires. En effet, de nombreux outils d'attaque par force brute commencent leurs tests par des combinaisons prédéfinies : liste de prénoms, de noms de villes, de noms communs, ... accélérant ainsi la vitesse de l'attaque. Des mécanismes plus complexes comme l'utilisation de Tables Arc-en-Ciel permettent également d'optimiser de manière conséquente le temps nécessaire au cassage d'un mot de passe.