Construire un mot de passe

Appréciation : 

Pour quel type de lecteur ?
Tout le monde

Cet article vient en complément de l’article sur le PGP (que je vous invite à lire si ça n'est pas déjà fait ;-)).
En effet, lors de la création d’une clé publique/privée il vous est demandé une passphrase. Celle-ci sert à rendre accessible la clé privée sur votre ordinateur afin d’éviter qu’une personne tierce puisse y accéder et donc lire vos courriels ou documents chiffrés. Il faut donc utiliser un mot de passe sécurisé pour ce type de chiffrement. C’est comme avoir un coffre-fort chez soi et laisser le code ou la clé accroché à son mur, cela ne sert à rien.

Par conséquent, je vais présenter ici un court billet sur comment construire un mot de passe fiable, facile à mémoriser et sécurisé.

En effet, les études sur les codes des téléphones arrivent toutes aux mêmes conclusions : une très grande majorité des téléphones ne sont absolument pas protéger. Vous pouvez voir ci-dessous le top 10 des codes les plus utilisés (étude réalisée sur 204 508 iPhone) :

  1. 1234 (no comment) ;
  2. 0000 (code par défaut quand on achète un nouveau téléphone) ;
  3. 2580 (verticale sur un clavier de téléphone) ;
  4. 1111 ;
  5. 5555 (sérieux ??) ;
  6. 5683 (le mot “love” en mode T9, il a au moins le mérite d’être romantique ^^) ;
  7. 0852 (le 3. dans l’autre sens) ;
  8. 2222 ;
  9. 1212 ;
  10. 1998 ;

Grosso modo si vous trouvez un téléphone dans la rue vous avez beaucoup de chance de le débloquer en essayant les 10 codes ci-dessus.
Et pourtant ces mots de passe protègent toutes les informations présentent sur un téléphone : compte mail, réseaux sociaux, numéros de téléphone, adresses et même pour certaines des données bancaires…

Il n’est pas compliqué de trouver un mot de passe à 4 chiffres un peu moins évident que les 10 cités ci-dessus. De plus, les téléphones actuels permettent d’attribuer un code à la carte SIM et un second code pour le téléphone lui-même, deux barrières valent mieux qu’une.
Pour ce qui est des mots de passe, beaucoup de gens mettent des mots sans aucune complexité comme leur nom de famille, le nom de leur animal de compagnie ou encore leur date de naissance… Ça n’est pas avec ce genre de mots de passe que vos données seront bien sécurisées.

Par conséquent il faut passer à un autre niveau de complexité si vous voulez réellement protéger vos données personnelles.

Construire son mot de passe sûr

Un mot de passe relativement fiable doit contenir (au minimum) entre 8 et 10 caractères, comprenant lettres minuscules et majuscules, chiffres et caractères spéciaux (#, %, -, ?, @, etc.).
Voilà quelques exemples de mots de passe sécurisés générés aléatoirement (via ce site par exemple) :

  • LEtmE!8Cq9 ;
  • ^fXTLbfn94 ;
  • 2&&MuVPkFR.

Je vous entends déjà me dire que c’est impossible à retenir de tels mots de passe… et je suis évidemment d’accord avec vous.

Pour cela il existe d’autres moyens pour les construire.

Mots de passe créés à partir d’un mot quelconque

Il suffit de prendre un mot quelconque et de le modifier un peu. En effet certaines lettres ressemblent beaucoup à d’autres caractères comme des chiffres ou des caractères spéciaux, il suffit donc de les remplacer dans le mot pour complexifier le code.
Prenons un exemple :
Imaginons le mot cryptographie.
À première vue il n’est pas très compliqué et le nombre de solutions pour le trouver est égal à 2613 (26 pour le nombre de lettres dans l’alphabet et 13 le nombre de caractères dans le mot) soit 2,48 × 1018) solutions. OK, je vous l’accorde cela peut paraître énorme mais on peut faire encore mieux. Surtout que ce mot appartient au dictionnaire et par conséquent le nombre de solution dégringole à 200 000 en comptant l’ensemble des mots de la langue française… dont environ 35 000 sont présents dans les dictionnaires courants. En ne comptant que les mots de tous les jours ce nombre passe à seulement… 3 000. Soit quelques minutes pour un logiciel bien construit pour le trouver.
C’est pour cela qu’il faut le complexifier un peu. Voilà les modifications possibles dans ce mot :

  • i ⇒ !
  • e ⇒ 3 (en effet le « e » majuscule est souvent permuté par un 3)
  • o ⇒ 0 (le chiffre zéro)
  • a ⇒ @
  • c ⇒ C

Regardons avec ces 5 permutations ce que donne le mot de passe : Crypt0gr@ph!3.
Pas besoin d’aller plus loin, nous avons tout : plus de 10 caractères, des chiffres, des lettres minuscules et majuscules, des caractères spéciaux et, le plus important, un moyen mnémotechnique pour s’en souvenir.
Le tour est joué : le nombre de solutions est maintenant de 8713 (87 pour le nombre de caractère possibles dans un mot de passe) soit pour notre exemple environ 1,64 × 1025 solutions.
Vous venez de multiplier par environ 7 millions le nombre de solutions possibles. Bravo ! :-) Imaginez qu’il faille 1 jour pour trouver le premier mot de passe par brutforce (méthode utilisée pour trouver un mot de passe en testant toutes les possibilités), il faudra maintenant attendre près de 2 millénaires pour le trouver.

Cependant, pour revenir à mon histoire de la complexité du mot de passe pour le chiffrement par PGP, une autre méthode est conseillée : la passphrase.

Générer une passphrase

La grande différence entre une passphrase et un mot de passe est la longueur du code. Alors qu’un mot de passe est généralement compris entre 8 et 10 caractères, une passphrase peut quant à elle en avoir plusieurs dizaines (30, 40 voire plus). Ce qui augmente énormément le nombre de solutions et la complexité du code.

La méthode est exactement la même que précédemment sauf qu’au lieu de choisir un mot, on choisit une phrase.

Exemple :
Portez ce whisky au vieux juge blond qui fume (cette phrase est célèbre pour être constituée de toutes les lettres de l’alphabet, c’est un pangramme).
Refaisons maintenant les permutations :

  • i ⇒ !
  • o ⇒ 0
  • e ⇒ 3
  • s ⇒ 5
  • x ⇒ *
  • a ⇒ @
  • espace ⇒ -

Le résultat est le suivant : P0rt3z-c3-wh!5ky-@u-v!3u*-jug3-bl0nd-qu!-fum3.

Et là je peux vous assurer que cette passphrase peut subir toutes les épreuves de bruteforce possibles, elle va tenir.
Pour info, il y a un peu moins de 2 × 1087 solutions (un 2 suivit de 87 zéros) possible pour ce code à 45 caractères.

Ceci est particulièrement intéressant pour le chiffrement PGP comme je le disais plus haut du fait que plus le mot de passe est long et complexe, mieux c’est. En effet, le PGP n’étant pas possible à déchiffrer sans posséder la clé privée, la méthode la plus simple est d’aller chercher directement la clé privée là où elle se trouve. Si elle est mal sécurisée, le chiffrement de vos communications se retrouve alors affaibli.

Bien sûr, vous n’êtes pas obligés de pousser aussi loin le changement de caractère, mes exemples sont des cas extrêmes mais c’est pour donner un ordre d’idée pour construire vous-même vos mots de passe par la suite.

Conclusion

Générer un mot de passe ne doit pas être fait à la va-vite et doit être adapté à son environnement. En effet, je ne vous conseille pas non plus d’utiliser un code à 45 caractères pour débloquer votre téléphone c’est démesuré. Cependant, ayez toujours à l’esprit qu’un mot de passe sécurisé est généralement très important et pas forcément impossible à retenir.

De plus, il existe depuis maintenant pas mal de temps des plugins sur les navigateurs Web (Firefox par exemple) permettant de conserver l’ensemble des mots de passe afin d’éviter d’avoir à les écrire tout le temps. Cette technique est très pratique en effet, mais encore faut-il que le mot de passe déverrouillant les autres soit sécurisé… Cette méthode permet aussi de créer un mot de passe différent par service afin de ne pas utiliser tout le temps le même sans pour autant devoir en connaître 50. ;-)

Catégorie: 

Ajouter un commentaire

S'abonner à Comments for "Construire un mot de passe"