A quoi doit résister un mot de passe ?

Le mot de passe doit résister à 2 menaces:

  • l'attaque online: dans le cas d'un service en ligne, l'attaquant teste les combinaisons via internet. (Exemple: pour trouver le mot de passe d'un compte mail. ) L'attaque est lente car il existe généralement des mécanismes limitant le nombres de tentatives dans le temps (exemple : pas plus de X tentatives par minute pour un compte donné). Cela allonge considérablement le temps d'attaque.
  • l'attaque offline: les informations sont analysées en direct (cas d'un serveur piraté où la liste des mots de passe est accessible, ou autre vol de données). Dans ce cas, la recherche n'est plus limitée en vitesse. Par ailleurs, le décryptage peut se faire en parallèle sur un ensemble des comptes.

Tout comme la sécurité d'une maison ne peut pas se résumer à la qualité de la serrure de la porte d'entré, la sécurité informatique ne dépend pas seulement du mot de passe. Il faut donc prendre ses précautions et se méfier:

  • des sites qui stockent les mots de passe sans les crypter...(et sont donc capables de vous renvoyer votre mot de passe par mail)
  • des mécanismes de réinitialisation de mot de passe (réinitialisation vers une adresse mail ou via une question secrète)
  • la sécurité physique de vos données sensibles

Le meilleur coup possible

En sécurité informatique on utilise un vocabulaire précis. On parle de "faille", d'"intrusion", etc. En particulier, quand on dit que quelque chose est sécurisé cela veut dire, que le niveau de sécurité est élevé (comme pour les portes, même une porte sécurisée peut être forcée) et qu'il n'existe pas de façon connue de passer facilement outre cette sécurité.

Pour que ce raisonnement fonctionne, on respecte un concept basique de la théorie du jeu: on suppose toujours que l'adversaire joue le meilleur coup possible.

Concernant les mots de passe, cela veut dire que l'attaquant va chercher la combinaison de la façon la plus efficace possible. Du plus simple, au plus compliqué:

- les mauvais mots passe : mot de passe par "defaut", "123", "dieu", "password", ...

- les informations personnelles: noms des enfants, dates de naissances, etc ...

- les mots contenus dans des dictionnaires, noms communs, noms propres

- les combinaisons de ces éléments

- Si il y a une majuscule, c'est souvent la première lettre

- des combinaisons des éléments précédents

Bien que "password" soit un mot de passe de 8 caractères. Il ne peut pas être considéré comme résistant à une attaque. De même, pierre1975 est prédictible par l'attaquant. De même, n'importe quel mot contenu dans un dictionnaire est trop courant pour être sécurisé.

Résistance d'un mot de passe

On devrait évaluer la qualité d'un mot de passe au nombre de combinaisons à réaliser pour le trouver en se basant sur la meilleure méthode possible.

En admettant que le temps nécessaire pour cracker un mot de passe est proportionnel au nombre de combinaisons, la puissance 10 du nombre de combinaisons devrait être un bon indicateur.

haystack-calculator.pngComment dénombrer le nombre de possibilités?

c'est le nombre de composants possibles du mot de passe (chaque caractère possible) exposant

En ligne, l'outil Haystack Calculator dénombre les possibilités

exemple. un mot de passe composé de 5 lettres minuscules.

Il y a 26 lettres minuscules: 26^5 =11881376 =1,1881376 x 10 7

Dans cet article on s’intéressera à la valeur de l'exposant.

Les fausses bonnes idées

Il est d'abord nécessaire de tordre le cou à certaines idées reçues ou à certain raccourcis: La sécurité c'est comme les régimes: ce n'est pas facile. Si quelqu'un vous propose une méthode facile: Fuyez!

1-The Usability of Passwords

Par exemple, on entend souvent qu'il mot de passe composé de 2 ou 3 mot quelconque va être un bon mot de passe (car long)

Cette méthode présente l'avantage d'aboutir à des mots de passe facile à retenir.
C'est la thèse développé par :"The Usability of Passwords", http://www.baekdal.com/tips/password-security-usability. La méthode a été illustrée par xkcd (voir ci contre). Cela date un petit peu mais les mauvaises idées ont parfois la vie dure.

A la lecture de ce billet, on pourrait penser que le mot de passe "alpinefun" atteint un niveau de sécurité à l'échelle d'une vie et qu'en plus il est facile à retenir. L'article met opposition les mots de passes classiques (genre jD4fs<2b ) et les mots de passes facile à retenir (alpinefun).

Quelle conclusion à la lecture de cet article ?

  • Que les responsables sécurités sont conservateurs et fermés à toutes innovations ?
  • "Adieu les post-it sur lesquels j'écrivais les mots de passes imposés" ?
  • "la DSI c'est les mecs qui ne comprennent pas que "Second life" et le "Web 2.0": c'est l'avenir!" (à actualiser en 2012 avec "facebook" et "cloud") ?

Pourtant, en y regardant de près il semble que finalement les vieilles méthodes ne sont pas si mauvaises que ça et que "alpinefun" a une sécurité bien plus faible que ne laisse l'article précédent.

En appliquant la méthode défendue par "The Usability of Passwords". Générons un mot de passe long: "attentionpeinturefraiche" . Ce mot de passe est-il sécurisé ? Comment est-il vulnérable ?

Cherchons à comprendre comment il est généré et comment il pourrait être trouvé.

On peut d'abord se dire. Un mot de passe de 24 lettres c'est  26^24 = 9,1 x 10 33 de combinaisons possibles.
Toutefois ce n'est pas le meilleur coup possible que peut réaliser l'attaquant. On devrait plutôt se dire qu'on a un mot de passe de 3 mots parmi un dictionnaire de 100 000 mots français (environ... on va voir ensuite )
100 000^3 = 1 x 10 15 ... ce n'est pas déjà la même chose !

y'a pas photos ...

Avec un mot de passe de 8 caractères composé de lettres minuscules, majuscules de chiffres et de caractères de ponctuations, on arrive à:

(26+26+10+33)^8 = 6,6 x10 15

Donc un mot de passe de 3 mots c'est génial ? Le problème c'est l’échantillonnage.

Sur http://www.lingulab.fr/perception-de-texte.htm, on peut lire que "le vocabulaire actif est le vocabulaire, la dans vie quotidienne utiliser. On estime à une moyenne de 8 000 à 15 000 mots."

On trouve également des statistiques sur l’occurrence des mots. La source données utilisées ici inclus les formes dérivées (accords et conjugaison)

attention: 19 727°  1 952

peinture 3 883°

fraîche 11 560 °(merci l'accent circonflexe)

On voit donc, que notre exemple se base finalement sur un échantillon moins de 15 000 mots.

L'attanquant peut donc tout à fait réaliser une attaque de dictionnaire en privilégiant les mots par leurs fréquences d'utilisation.

On retombe donc à 15 000³ = 3,37 x 10 12

Donc même très long, on peut considérer ce mot de passe comme faible.

Et une petite voix dit "Oui, mais avec 4 mots..". Heu,... déjà 24 lettres c'est long à taper. non?

Il n'en reste pas moins que pour 3,37x10 12 possibilités, il est infiniment plus facile de retenir attentionpeinturefraiche que frHG39*(

Par ailleurs, si frHG39*( fini sur un post-it ... c'est perdu.

2 - Écrire comme un Pir4te!

A la recherche d'un compromis, il serait possible d'inclure un peu de complexité dans le mot de passe pour augmenter sa résistance, sans le rendre beaucoup plus compliqué à retenir. Par exemple:

Attention1Peinturefraiche!

Mais, là aussi, il est malheureusement assez prévisible d'avoir un mot de passe se terminant par ? . ou !. De même l'inclusion d'un chiffre entre les mots n'apporte qu'une complexité limité. L'utilisation des majuscule de manière non systématique apporte approximativement un doublement de l’échantillonnage des possibilités.

40 000^3*10*4 = 2,56 x 10 15

On peut pousser en faisant des permutations. Par exemple: 4ttenti0nPeinturefra!che
Les permutations sont assez prévisible : A=4 o=0 i = ! mais leur répartition n'est pas systématique et aléatoire. Un seul des 3 i a été remplacé. un seul des 2 a.

mieux
a22ent\onpEinturefraich_
oui : 2.95 x 10 47 ?
Là, on s'approche d'un vrai mot de passe fort mais on retombe dans une difficulté importante pour retenir le mot de passe.

3-le mot de passe prononçable

Si vous arrivez à le prononcer. C'est déjà plus facile à retenir. Mais cela limite d'autant les possibilités...

4-les gestionnaires de mots de passe

Qu'il est tentant de stocker tous ces mots de passe dans un même outil trouver sur un site lambda: lastpass, ,...

Les solutions

Retenir son mot de passe

Il faut peut-être prendre le problème dans le sens inverse. Plutôt que de partir de quelque chose de facile à mémoriser et d'essayer d'en faire quelque chose de robuste, pourquoi ne pas partir de quelque chose de robuste pour arriver à le mémoriser.

Choisir son mot de passe parmi une liste de mots de passe générés aléatoirement.

En regardant une liste de 20,30 mots de passe, vous allez automatiquement réagir du genre : c'est marrant celui là avec cette particularité (chiffre, réplétion, ..) on dirait que ... il vous est famillié parce qu'il est particulier. Comme quand on regarde le ciel. Les nuages semblent prendre des formes connues! (ou pour les taches d'encres,...)  Pour les mots de passe ça marche aussi (bon,ok, l'effet n'est pas aussi fort qu'avec les nuages...)

Je m'étonne de ne retrouver nul part ce principe de choix parmis un ensemble généré automatiquement.

et la taille ?

Pendant longtemps on a considéré les mots de passes aléatoires de 8 caractères comme une réponse adéquat.
Les progrès réalisés dans le calcul parallèle rendent obsolète cette mesure. En effet, l'utilisation de la puissance de calcul des cartes graphiques pour des opérations de calculs est l'une des avancées qui augmente considérablement la puissance de décryptage. Le coût de la puissance de calcul a fortement chuté en quelques années.
8digits-strong_password.png 10digits_password.png

Un mot de passe de 10 caractères aléatoires est un minimum.
Le lecteur est invité à méditer le sens du mot : minimum.

Les problématiques connexes

Pourquoi essayer de cracker un mot de passe quand on peut le récupérer plus facilement ?
En 2009, l'entreprise Twitter avait été largement espionnée suite au piratage d'un compte yahoo d'un de ces employés.
Yahoo avait réagit en mettant en place le système de question secrète dont on parlait déjà dans ce blog.
Mais qui s'inquiète de protéger les questions secrètes ?

Tous les webmails proposent l'association du compte à une autre adresse mail de confiance. Pour y renvoyer le mot de passe si besoin. Mais si cette adresse est une adresse yahoo compromise ?

2 recommandations:
- Utiliser un autre mot de passe fort comme réponse aux questions secrètes
- ne pas utiliser une adresse d'un webmail pour le

Conclusion : Et sur le web ?

Étanchéité: un mot de passe sert pour 1 site.
(si votre mot de passe de facebook = mot de passe de gmail = mot de passe d'un site qui ne crypte pas votre mot de passe , ... dîtes Adieu à votre compte facebook et à vos mails.)
Aléatoire et long: aujourd'hui 10 caractères aléatoires sont un minimum.

Vous avez lu cet article jusqu'au bout? Vous êtes à la moitié du chemin car:
  • vous êtes intéressés (ou inquiétés) par ce problème
  • maintenant, il faut vérifier que vos mots de passes sont forts

Quelques pointeurs :

  • liste de mot français : http://www.3zsoftware.com/fr/wordmagic/listes.php (petit Larousse illustré)
  • Illustration : http://xkcd.com/936/
  • les mots de passe les plus courant:
  • http://www.clubic.com/antivirus-securite-informatique/virus-hacker-piratage/piratage-informatique/actualite-459648-etude-top-25-pires-mots-americains-edition-2011.html
  • Sociologie des mots de passe: http://www.pcinpact.com/news/71389-mots-de-passe-etude-age-complexite.htm
  • Jamais les mot de passe n'ont été aussi facile à cracker: http://owni.fr/revue-du-web/les-mots-de-passe-nont-jamais-ete-aussi-faciles-a-casser/
  • Attention aux indices de mots de passes: http://korben.info/userpasswordhint.html
  • http://tantsurleplan.blogspot.fr/2012/09/urgence-mots-de-passe-et-securite-de.html
  • D'autres pistes existent:
    http://www.clubic.com/antivirus-securite-informatique/actualite-504724-chercheurs-planchent-apprentissage-implicite-mots.html