|
|
Comment durcir les mots de passe
Anti-attaques sur mots de passe
Comment durcir les mots de passe ?
Un bon mot de passe doit ou ne doit pas...
La première contre-mesure aux casseurs de mots de passe est d'utiliser des mots de passe relativement incassables.
- Ils doivent avoir au minimum 9 caractères de long
- Ils doivent être constitués d'un mélange de chiffres, lettres, signes spéciaux, majuscules et minuscules
- Ils doivent, lorsque vous les composez au clavier, provoquer une gesticulation de vos mains telle qu'il sera difficile de "lire" par-dessus votre épaule
- Ils ne doivent pas être constitués de mots ou juxtaposition de mots pouvant se trouver dans un dictionnaire (dans toutes les langues) y compris à l'envers car ils seront cassés rapidement par des attaques en force brute par dictionnaire.
- Ils ne doivent pas être constitués de patronymes ni de prénoms ni de la juxtaposition des deux ni de la juxtaposition de l'un d'eux avec les initiales de l'autre ni de ces mêmes patronymes ou prénoms écrits à l'envers etc. ... de quelque pays que ce soit, des dictionnaires de patronymes et de prénoms existant pour toutes les régions du globe et permettant des attaque en force brute par dictionnaire.
- Ils ne doivent pas être constitués d'informations que l'on peut trouver ou imaginer dans votre vie (date de naissance, code de porte, noms ou initiales de vos ascendants, descendants, du chien, du chat, du poisson rouge, numéro du passeport, du permis de conduire, de la carte d'identité, code postal de votre commune...)
- Ils ne doivent jamais être identiques au code d'identification (au login)
- Ils ne doivent jamais être ceux livrés d'origine avec certains ordinateurs, certains logiciels... (ceux par défaut comme admin, 123456, internet, password, abcdef etc. ...). Ceux là sont connus et insérés dans tous les outils casseurs de mots de passe.
- Ils ne doivent pas être stockés dans un fichier, même s'il ne s'agit pas des fichiers usuels de mots de passe. Evidemment, ne pas créer un document s'appelant, en toute simplicité, "Mes mots de passe " stocké dans le répertoire "Mes documents" !
- Ils ne doivent pas être notés sur votre écran ou votre clavier
- Ils ne doivent pas être notés dans votre portefeuille ou ailleurs - on pourrait vous voler ces documents et vos mots de passe avec eux.
- Ils doivent être changés régulièrement - tous les mois par exemple...
- Vous ne devez jamais les communiquer à quiconque et surtout pas à votre patron qui trouverait là une magnifique occasion de vous virer.
- Ne vous laissez jamais impressionner, même si vous croyez recevoir une injonction de communiquer votre mot de passe émanant, par e-mail ou au téléphone, prétendument, de votre directeur informatique ou de votre patron
Compte tenu de la puissance des ordinateurs actuels, le temps nécessaire pour casser des mots de passe dont la création suivrait ces consignes, serait très long, plusieurs dizaines d'années...
Un bon mot de passe est celui qui est suffisamment lent à casser
Un bon mot de passe n'est pas celui qui est définitivement incassable. Cela n'existe probablement pas et n'existera jamais. Un bon mot de passe est celui qui va résister assez longtemps pour que ce qu'il protège n'ait plus besoin d'être protégé le jour où le mot de passe sera cassé : l'information sera tellement ancienne qu'elle aura perdu toute signification ou ne méritera plus de confidentialité. Donc on choisira un mot de passe dont la complexité est nécessaire et suffisante : ni trop ni trop peu.
Si on considère qu'un très bon programme de cassage de mots de passe écrit en assembleur, donc très rapide, peut, actuellement, tester 1.000.000 de possibilités à la seconde, le calcul de la longueur du mot de passe est le suivant :
nota : pour déterminer le nombre de mots de passe possibles on additionne le nombre de combinaisons lorsque le mot de passe est vide plus le nombre de combinaisons lorsque le mot de passe est de 1 caractère plus le nombre de combinaisons lorsque le mot de passe est de 2 caractères plus le nombre de combinaisons lorsque le mot de passe est de 3 caractères etc. ... On retient que les mots de passe peuvent utiliser les 26 lettres de l'alphabet, les 10 chiffres et une dizaine de caractères spéciaux soit 46 caractères par position. On ne tient pas compte des majuscules / minuscules car certains algorithmes mettent cela à plat (par exemple, l'algorithme de chiffrement LanManager Hash sous Windows 98, commence par transformer les minuscules en majuscules) avant de calculer l'empreinte d'un mot de passe ou de le crypter.
Cas sans différentiation majuscules/minuscules
26 lettres + 10 chiffres + 10 caractères spéciaux
La formule est 1 + 46 + 46 2 + 46 3 + 46 4 + 46 5 + 46 6 + ...
|
Mots de passe de n caractères |
|
6 |
7 |
8 |
9 |
10 |
11 |
12 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
46 |
46 |
46 |
46 |
46 |
46 |
46 |
2 |
2116 |
2116 |
2116 |
2116 |
2116 |
2116 |
2116 |
3 |
97336 |
97336 |
97336 |
97336 |
97336 |
97336 |
97336 |
4 |
4477456 |
4477456 |
4477456 |
4477456 |
4477456 |
4477456 |
4477456 |
5 |
205962976 |
205962976 |
205962976 |
205962976 |
205962976 |
205962976 |
205962976 |
6 |
9474296896 |
9474296896 |
9474296896 |
9474296896 |
9474296896 |
9474296896 |
9474296896 |
7 |
|
435817657216 |
435817657216 |
435817657216 |
435817657216 |
435817657216 |
435817657216 |
8 |
|
|
20047612231936 |
20047612231936 |
20047612231936 |
20047612231936 |
20047612231936 |
9 |
|
|
|
922190162669056 |
922190162669056 |
922190162669056 |
922190162669056 |
10 |
|
|
|
|
42420747482776600 |
42420747482776600 |
42420747482776600 |
11 |
|
|
|
|
|
1951354384207720000 |
1951354384207720000 |
12 |
|
|
|
|
|
|
89762301673555200000 |
|
|
|
|
|
|
|
|
|
Nombre de mots de passe possibles
|
|
9684836827 |
445502494043 |
20493114725979 |
942683277395035 |
43363430760171600 |
1994717814967890000 |
91757019488523100000 |
|
|
|
|
|
|
|
|
|
Temps de cassage maximum à raison d'1 millions de tests à la seconde
En moyenne, il faut diviser ce temps par 2
|
secondes |
9685 |
445502 |
20493115 |
942683277 |
43363430760 |
1994717814968 |
91757019488523 |
minutes |
161 |
7425 |
341552 |
15711388 |
722723846 |
33245296916 |
1529283658142 |
heures |
2,69 |
123,75 |
5692,53 |
261856,47 |
12045397,43 |
554088281,94 |
25488060969,03 |
jours |
0,11 |
5,16 |
237,19 |
10910,69 |
501891,56 |
23087011,75 |
1062002540,38 |
mois |
|
0,17 |
7,91 |
363,69 |
16729,72 |
769567,06 |
35400084,68 |
années |
|
0,01 |
0,66 |
30,31 |
1394,14 |
64130,59 |
2950007,06 |
Le temps moyen étant la moitié des temps maximums calculés ci-dessus, un mot de passe de 6 caractères utilisant une combinaison de chiffres, lettres et caractères spéciaux sera cassé, en utilisant 1 seul gros PC pour le calcul, en 2,69h/2 soit en 1h et 34 centièmes d'heure soit en 1h et 21 minutes !
Résumé
- Un mot de passe de 6 caractères résistera environ 1h15
- Un mot de passe de 7 caractères résistera un peu plus de 2,5 jours
- Un mot de passe de 8 caractères résistera près de 4 mois
- Un mot de passe de 9 caractères résistera 15 ans
- Un mot de passe de 10 caractères résistera près de 700 ans
Cas avec différentiation majuscules/minuscules
26 majuscules + 26 minuscules + 10 chiffres + 10 caractères spéciaux
La formule est 1 + 72 + 722 + 723 + 724 + 725 + 726 + ...
|
Mots de passe de n caractères |
|
6 |
7 |
8 |
9 |
10 |
11 |
12 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
72 |
72 |
72 |
72 |
72 |
72 |
72 |
2 |
5184 |
5184 |
5184 |
5184 |
5184 |
5184 |
5184 |
3 |
373248 |
373248 |
373248 |
373248 |
373248 |
373248 |
373248 |
4 |
26873856 |
26873856 |
26873856 |
26873856 |
26873856 |
26873856 |
26873856 |
5 |
1934917632 |
1934917632 |
1934917632 |
1934917632 |
1934917632 |
1934917632 |
1934917632 |
6 |
139314069504 |
139314069504 |
139314069504 |
139314069504 |
139314069504 |
139314069504 |
139314069504 |
7 |
|
10030613004288 |
10030613004288 |
10030613004288 |
10030613004288 |
10030613004288 |
10030613004288 |
8 |
|
|
722204136308736 |
722204136308736 |
722204136308736 |
722204136308736 |
722204136308736 |
9 |
|
|
|
51998697814229000 |
51998697814229000 |
51998697814229000 |
51998697814229000 |
10 |
|
|
|
|
3743906242624490000 |
3743906242624490000 |
3743906242624490000 |
11 |
|
|
|
|
|
269561249468963000000 |
269561249468963000000 |
12 |
|
|
|
|
|
|
19408409961765300000000 |
|
|
|
|
|
|
|
|
|
Nombre de mots de passe possibles
|
|
141276239497 |
10171889243785 |
732376025552521 |
52731073839781500 |
3796637316464270000 |
273357886785427000000 |
19681767848550800000000 |
|
|
|
|
|
|
|
|
|
Temps de cassage maximum à raison d'1 millions de tests à la seconde
En moyenne, il faut diviser ce temps par 2
|
secondes |
141276 |
10171889 |
732376026 |
52731073840 |
3796637316464 |
273357886785427 |
19681767848550800 |
minutes |
2355 |
169531 |
12206267 |
878851231 |
63277288608 |
4555964779757 |
328029464142513 |
heures |
39 |
2826 |
203438 |
14647521 |
1054621477 |
75932746329 |
5467157735709 |
jours |
1,64 |
117,73 |
8476,57 |
610313,35 |
43942561,53 |
3163864430,39 |
227798238987,86 |
mois |
0,05 |
3,92 |
282,55 |
20343,78 |
1464752,05 |
105462147,68 |
7593274632,93 |
années |
|
0,33 |
23,55 |
1695,31 |
122062,67 |
8788512,31 |
632772886,08 |
Le temps moyen étant la moitié des temps maximums calculés ci-dessus, un mot de passe de 6 caractères utilisant une combinaison de chiffres, lettres majuscules et minuscules et caractères spéciaux sera cassé, en utilisant 1 seul gros PC pour le calcul, en 39h/2 soit en 19h et 50 centièmes d'heure soit en 19h et 30 minutes !
Résumé
- Un mot de passe de 6 caractères résistera moins de 1 jour
- Un mot de passe de 7 caractères résistera moins de 2 mois
- Un mot de passe de 8 caractères résistera moins de 12 ans
- Un mot de passe de 9 caractères résistera plus de 8 sciècles
- Un mot de passe de 10 caractères résistera près de 61 millénaires
Il faut revoir ces durées à la baisse à cause des techniques de calcul distribué qui permettent de mettre des centaines ou des milliers de PC simultanément au service de la résolution d'un même problème ce qui justifie bien notre recommandation d'utiliser des mots de passe d'au moins 9 caractères de long.
Il est évident qu'un attaquant ne patientera pas des centaines d'années pour casser un mot de passe très long. Il emploiera d'autres méthodes plus expéditives comme le vol de mot de passe (password stealer), le keylogger etc. ... L'utilisation d'un mot de passe long et complexe ne suffit pas. D'autres mesures doivent être prises et des précautions doivent être respectées.
Casser un mot de passe Windows en 5 secondes
Les compromis temps-mémoire et leur utilisation pour casser les mots de passe Windows
(Les compromis temps-mémoire ou comment cracker un mot de passe windows en 5 secondes.)
Laboratoire de Securité et de Cryptographie (LASEC)
Ecole Polytechnique Fédérale de Lausanne
Où l'on y parle de John The Ripper (le meilleur casseur de mot de passe prétendument utilisé en sécurité pour démontrer à des employés la mauvaise qualité de leurs mots de passe - attaques en force brute, par dictionnaires et par dictionnaires étendus) lorsque les "Rainbowtables" deviennent inefficaces (tables de hashcodes pré-calculés pour une longueur donnée et un jeu de caractères donné).
http://lasecwww.epfl.ch/pub/lasec/doc/Oech04.pdf
Un bon mot de passe, on ne s'en souvient pas
Comment se souvenir d'un "bon mot de passe", c'est-à-dire d'un mot de passe difficile à trouver et qui n'est noté nulle part ? L'une des méthodes est celle, mnémotechnique, de la phrase dont on se souvient et dont on fait un mot de passe. Par exemple, prenons le début (les six premiers mots) de la phrase servant à se rappeler la valeur de (PI): "Que j'aime à faire connaître le nombre utile aux sages" (3,1415926535). Il y en a qui ont déjà décroché ? Conservons juste les initiales des 6 premiers mots soit "qjaafc". Ceci est déjà un mot de passe difficile à trouver mais un peu court. Des programmes comme PWLInside ou Brutus ou LophtCrack le casseraient en quelques minutes. On peut donc le porter à 12 caractères en intercalant des chiffres. Pas n'importe lesquels. Utilisons le nombre de caractères de chaque mot soit que=3 j=1 aime=4 a=1 faire=5 connaître=9. Notre mot de passe devient q3j1a4a1f5c9. Ceci est un mot de passe solide, très long à casser, impossible à deviner, impossible même de s'en rappeler mais qui repose sur un moyen mnémotechnique simple. Essayez avec :
- Ma chienne s'appelle Nikita
- La belle de Cadix
- Deux et deux font quatre
- Etc. ...
Essayez de choisir des phrases qui sont liées à des événements personnels dont vous seul avez souvenance. Et si de plus, la phrase est loufoque ou un non-sens, vous aurez plus de chance de la retenir et elle sera plus difficile à deviner, même par quelqu'un qui vous connaît très bien.
Autre astuce (de Vazkor - sur nos forums - une mise en oeuvre similaire avec l'outil automatique bookmarklet - voir l'encart "en savoir plus" ci-dessus) pour ne pas utiliser un même mot de passe sur différents forums de discussion: se créer un mot de passe pseudo-aléatoire de base, tel que RpKxFlQy et le faire précéder (ou suivre) de lettres ou initiales des noms des forums, pour créer des variantes.
Cela donnerait
- ASRpKxFlQy pour les forums d'Assiste
- CCRpKxFlQy pour Comment ça marche
- IPRpKxFlQy pour InfoPrat.
Le même principe est applicable pour des mots de passe de comptes e-mail.
- YHRpKxFlQy pour un compte Yahoo
- TDRpKxFlQy pour un compte TeleDisnet
- etc. ...
Vazkor - sur nos forums a écrit :
|
Vous pouvez utiliser un générateur de mots de passe et en choisir un qui à l'heur de vous plaire, mais ce mot de passe sera complètement aléatoire et vous serez obligé de le noter quelque part, ce qui est une autre faille dans votre sécurité.
Si vous devez noter des mots de passe, faites le dans un carnet (pas sur feuilles volantes) que vous rangez quelque part, de préférence pas à côté du PC et sous clé si nécessaire. Et profiter de ce même carnet pour y noter les coordonnées, login et mot de passe utilisés sur différents sites et les codes des programmes que vous avez payé, tant que vous y êtes.
Certains programmes permettent de conserver vos mots de passe sur votre PC en les cryptant et en protégeant le tout par un seul mot de passe. C'est très bien, sauf si vous avez un crash et que vous n'y avez plus accès. Même une disquette peut être impossible à relire. Rien ne remplace donc le papier, le crayon et la gomme, ce qui permet de corriger/modifier/supprimer sans raturer.
Revenons à nos moutons, comment choisir un mot de passe à la fois solide mais facile à retenir?
Vous savez sûrement que pour être solide un mot de passe doit être composé d'un minimum de 8 caractères et ne pas être facile à deviner ou trouver dans un dictionnaire. Donc pas de prénom, nom de famille, date de naissance qui ont un rapport avec vous. Pas de Admin, Dieu, Moi, etc.
Il vous faut créer un mot de passe qui ait tout à fait l'air aléatoire et utilise tout le jeu de caractères disponible sur votre clavier, donc des minuscules, majuscules, chiffres et caractères spéciaux.
Une attaque par force brute sera d'autant plus difficile (plus longue voire impensable) que le mot de passe sera long et qu'il utilisera des caractères parmi tout le jeu étendu disponible sur votre clavier.
Avec six caractères:
- rien que des chiffres, 0 à 999.999 -> 1 million de possibilités (10^6). Statistiquement, après 10^6/2 soit 500 000 essais, votre mot de passe sera découvert, càd en quelques secondes sur un PC moderne.
- rien que des minuscules, aaaaaa à zzzzzz -> 26^6 possibilités ~ 309 millions
- en utilisant tous les caractères affichables facilement disponibles:
10 chiffres, 52 lettres, la quarantaine de signes de ponctuation et caractères spéciaux, cela fait plus de 100 caractères. Vous avez plus de 100^6 possibilités, plus de 1000 milliards (1.e+12)
Avec 14 caractères, cette dernière valeur passe à plus de 8.69e+50 possibilités!
Comment décider du nombre de caractères à utiliser?
Vous n'avez pas besoin de la même solidité pour protéger votre compte sur un groupe de discussion ou sur un forum que pour protéger votre compte administrateur sur votre PC. Disons que pour les forums, etc. huit caractères c'est plus que suffisant. Par contre, utilisez toujours 14 caractères ou plus pour votre compte Admin.
Il n'est pas nécessaire de créer des mots de passe différents pour les forums, vous pouvez en avoir quelques-uns toujours les mêmes, que vous réservez à cet usage. Si vous ne savez plus lequel vous avez utilisé lors d'une inscription, il vous suffit de les essayer l'un après l'autre.
Comment créer un mot de passe solide mais très facile à retenir (et à retrouver en cas d'oubli partiel)?
Il existe plusieurs méthodes, mais celle que je préfère est la suivante.
- Choisir une phrase que vous ne risquez pas d'oublier: un souvenir d'enfance, un événement personnel, un ver ou une citation ou un non-sens total (plus c'est loufoque, mieux c'est).
- Prenez les premières lettres de tous les mots (éventuellement en négligeant les mots de moins de quatre caractères, autre que les verbes et les noms) et gardez la ponctuation existante. Par exemple :
Ne pas oubliez de sortir les poubelles le mardi! -> Npodslplm! (10 caractères. C'est déjà bien!)
- Maintenant nous allons le durcir en remplaçant des minuscules par des majuscules: prenons comme convention de mettre les initiales des noms communs en Majuscule, à la mode allemande -> NpodslPlM!
- Introduisons des chiffres et caractères spéciaux supplémentaires en jouant sur les ressemblances avec les lettres: o -> 0 (zéro), l -> 1, s ->$, g -> 9, etc. en ne remplaçant que la première occurrence de la lettre. (Utilisez toujours le même jeu d'équivalences que vous pouvez bien sûr afficher en clair à côté de votre PC, mémoriser dans un fichier texte...).
NpodslPlM! donne facilement Np0d$1PlM! (Maintenant que vous l'avez, notez le dans votre petit carnet secret, par pure précaution, ou mettez le sur un bout de papier dans une enveloppe scellée et rangez le tout en lieu sûr.)
Si vous tenez à utiliser des mots de passe différents sur chaque forum
Ajoutez les initiales du forum devant ou derrière votre mot de passe de base, qui deviendrait donc fAc-Np0d$1PlM! ou Np0d$1PlM!-fAc pour les forums d'Assiste.com. Vous avez maintenant obtenu sans problème un mot de passe extrêmement solide de 14 caractères. Même la NSA s'y casserait les dents.
Faites preuve d'imagination!
Comme phrase de base vous pouvez très bien utiliser l'adresse de vos beaux-parents que même vos proches ne connaissent sûrement pas:
Trucmuche, hôtel Georges V, 269 Av des Champs-Elysées, Paris (N° au hasard) donnerait directement T,hG5,269AdC-E,P
Autre exemple, à ne pas utiliser parce que académique:
Tous pour un, un pour tous! donne Tp1,1pt! (huit caractères et déjà très bon s'il n'était pas archi-connu)
Pour PGP, qui utilise une phrase de passe comme clé, j'utilise un moyen mnémotechnique semblable et je peux même laisser traîner ma clé sur le PC sans risque. Pourquoi? Parce que je n'écris que: "la_courte_phrase_loufoque Code PLAQUE" où
Code est mon code de carte bancaire, que je suis le seul à connaître, et Plaque c'est le N° d'immatriculation de ma dernière voiture, dont je suis certain que personne, pas même mon fils, se souvient. Seule la phrase loufoque est en clair. Ce que je note est donc du genre: Quand les poules auront des dents Code PLAQUE
L'important est de n'utiliser que des choses faciles à retenir mais que personne même de votre entourage ne peut deviner (ou se souvenir).
Ma phrase loufoque est une inscription en dessous d'une caricature de ma belle-mère qu'un ami de mon fils avait faite sur un tableau blanc collé sur la porte de mon ancien bureau.
Je me marrais chaque fois que la belledoche venait me déranger parce qu'elle poussait la porte et restait dans l'entrée. Elle n'a donc jamais vu ce dessin pendant toutes les années où il est resté sur le tableau.
Moi je ne risque pas de l'oublier.
|
|
|
|