Pourquoi et comment définir un mot de passe sécurisé ?

15 Avr, 2020  - écrit par  dans Sécurité

Selon un article du Wall Street Journal de 2017, l’ancien ingénieur du National Institute of Standards and Technology (NIST), Bill Burr, revient sur ses propos et avoue regretter ce qu’il a écrit pour l’Institut en 2003.

Et il a de bonnes raisons. Dans son rapport au NIST, il partageait ses recommandations quant à la mise en place d’une politique de mots de passe efficace. Parmi ces exigences, il préconisait notamment l’utilisation d’un nombre minimum de lettres majuscules et minuscules, de chiffres et de caractères spéciaux dans les mots de passe, ainsi que l’obligation de les changer tous les 90 jours.

Toutefois, ses recommandations se sont traduites par le développement de mauvaises pratiques : les utilisateurs écrivent leurs mots de passe sur des post-it apposés sur leurs écrans, « changent » les anciens mots de passe en ajoutant un 1, 2, 3, 4, etc. à la fin de la version précédente, et l’orthographe des mots comme « p@$$w0rd ».

En 2017, peu avant que Burr n’avoue ses remords au Wall Street Journal, le NIST a révisé ces recommandations. Mais le problème d’un « bon » conseil en matière de mot de passe est qu’il se concentre généralement sur la défense contre une seule menace – un hackeur qui a eu accès au fichier de mots de passe, sans prendre en considération le maillon le plus faible de toute sécurité : l’utilisateur.

Il en résulte un mélange confus de conseils qui amène au même résultat que les recommandations du NIST de 2003 – un faux sentiment de sécurité basé sur l’équilibre entre la sécurité du compte et la complexité d’un mot de passe seul.

Ne vous méprenez pas. Il est important d’avoir un mot de passe complexe. Mais il est encore plus important de considérer le problème des mots de passe de manière plus globale. Dans cet article, nous examinerons les conseils les plus courants en matière de mots de passe, les raisons pour lesquelles ils sont recommandés et leurs limites.

1. Utiliser des caractères spéciaux

Pourquoi est-ce recommandé ?

« Entropie », voici le terme clé en matière de politique de sécurité des mots de passe. Un bien grand mot, mais dont le sens est assez simple : l’entropie est un moyen de mesurer l’imprévisibilité d’un mot de passe. Plus l’imprévisibilité est importante, plus une personne mettra du temps à craquer votre mot de passe. L’entropie est basée sur les caractères utilisés et sur la longueur du mot de passe.

Combinaisons de mots de passe à 8 caractères

Jeu de caractères Nombre de caractères Nombre de combinaisons
Mots du dictionnaire N/A 600.000 combinaisons
0-9 10 caractères 100.000.000 combinaisons
a-z 26 caractères 208.827.064.576 combinaisons
A-Z, a-z 52 caractères 53.459.728.531.456 combinaisons
A-Z, a-z, 0-9 62 caractères 218.340.105.584.896 combinaisons
All allowed printable characters 72 caractères 1.853.020.188.851.840 combinaisons

Le tableau ci-dessus vous donne un aperçu du concept de l’entropie. Ainsi, plus vous utilisez un grand nombre de caractères pour former votre mot de passe, plus le nombre de combinaisons possibles est important, et donc plus il sera sécurisé.

Les limites

Le calcul de l’entropie pour un mot de passe à 8 caractères suppose que les mots de passe sont parfaitement aléatoires et donc qu’en incluant tous les caractères spéciaux ainsi que les chiffres, les lettres majuscules et minuscules, les hackers cherchent une aiguille dans une botte de foin.

Mais en réalité, le comportement humain n’est pas si aléatoire.

Le mot de passe « P@$Sw0rD » et le mot de passe « Q)%Fk6xF » ne sont qu’une des 1.853.020.188.851.840 combinaisons de 8 caractères de tous les caractères autorisés. Mais « P@$Sw0rD » est bien plus susceptible d’être le vrai mot de passe de quelqu’un que « Q)%Fk6xF ». Tout simplement parce qu’il est plus facile à retenir pour son propriétaire.

Et le pire, c’est que « P@$Sw0rD » est une variante de l’un des mots de passe les plus populaires –  les hackers sont beaucoup plus susceptibles d’essayer de deviner « P@$Sw0rD » en premier.

A l’inverse, « Q)%Fk6xF » est un mot de passe sûr, mais il est difficile à retenir. S’il s’agit d’un compte professionnel, vous serez peut-être tenté de l’écrire sur un bout de papier et de le laisser sur votre bureau pour ne pas l’oublier, n’en garantissant pas la sécurité.

Et c’est ici que se dessine le périlleux équilibre à trouver entre :

  1. Un mot de passe simple qui n’est qu’une variation d’un mot de passe facilement craquable.
  2. Un mot de passe que vous ne parvenez pas à retenir.

Conclusion

Dans la mesure du possible, il est indispensable d’utiliser des caractères spéciaux, des chiffres, des majuscules et des minuscules dans votre mot de passe. Mais n’ayez pas recours à des astuces comme remplacer le O par un 0, ou un A par un @ ou un 4, etc. Elles sont bien trop communes et sont donc particulièrement vulnérables.

Ne choisissez pas non plus un mot de passe qui vous sera impossible à retenir ! Toute la complexité du monde ne servira pas à grand-chose si vous devez soit noter votre mot de passe, soit le réinitialiser chaque fois que vous souhaitez vous connecter à votre compte.

Utiliser un gestionnaire de mots de passe ?

Un gestionnaire de mots de passe est une application qui vous permet de générer et de stocker des mots de passe complexes et totalement aléatoires, pour plusieurs comptes. Nous vous recommandons vivement d’en utiliser un ! Certains navigateurs intègrent désormais cette fonctionnalité.

C’est la solution la plus fiable afin d’allier mots de passe à entropie élevée et facilité d’accès.

Soyez toutefois vigilant quant à la conservation des mots de passe. Un gestionnaire de mots de passe – comme une adresse électronique – est un point d’échec unique. Les entreprises qui mettent en place des gestionnaire pour les mots de passe investissent beaucoup de ressources pour s’assurer que leurs mots de passe soient stockés en toute sécurité, mais des fuites peuvent toujours se produire ! Il est peut-être préférable pour vous de mettre tous vos œufs dans un seul panier, mais dans ce cas, n’oubliez pas justement que tous vos œufs sont dans un seul et même panier.

2. Créer un mot de passe long

Pourquoi est-ce recommandé ?

Une autre façon d’augmenter l’entropie de votre mot de passe est d’en allonger la longueur.

Combinaisons possibles pour un mot de passe de 10 caractères

Jeu de caractères Nombre de caractères Nombre de combinaisons
0-9 10 caractères 10.000.000.000 combinaisons
a-z 26 caractères 141.167.095.653.376 combinaisons
A-Z, a-z 52 caractères ~144.555.105.949.057.000 combinaisons
A-Z, a-z, 0-9 62 caractères ~839.299.365.868.340.200 combinaisons
Tous les caractères autorisés 72 caractères ~3.743.906.242.624.487.000 combinaisons

Ainsi, vous pouvez voir que le simple fait d’ajouter deux caractères supplémentaires à notre mot de passe de 8 caractères augmente tout de suite le nombre de combinaisons. Un mot de passe de 20 caractères composé d’une combinaison des 72 caractères serait l’une des ~14.016.833.953.562.610.000.000.000.000.000.000.000.000 combinaisons.

Bien sûr, la même critique que plus haut s’applique – cette solution est inutile si vous ne parvenez pas à mémoriser le mot de passe.

En bref, plus votre mot de passe est long et complexe, plus son entropie est élevée et plus il faudra de temps à un logiciel pour réussir à le forcer et à le craquer.

Les limites

Toutes ces précautions ne sont pas suffisantes si :

  1. Le hacker a accès au fichier de mots de passe,
  2. Le fournisseur de compte ne l’a pas correctement haché,
  3. Le fournisseur de compte a vendu les mots de passe cryptés.

Faisons le tour de ces menaces.

Tout d’abord, un hacker doit avoir accès au fichier des mots de passe. Pour cela, il doit compromettre le système sur lequel le fichier de mots de passe est stocké par une sorte de cyberattaque.

Ensuite, si le fournisseur du compte n’a pas correctement haché le fichier de mots de passe, cela signifie qu’il est simplement stocké en texte clair ou en clair.

Le hachage est un processus spécifique qui consiste à brouiller un mot de passe en utilisant un algorithme particulier de sorte que si le fichier de mots de passe est compromis, le mot de passe lui-même ne soit pas divulgué.

Mais le hachage peut également avoir un impact sur la sécurité que procure l’ajout de ces caractères supplémentaires à votre mot de passe.

Une fonction de hachage populaire est appelée « bcrypt ». Elle est particulièrement résistante aux attaques par force brute, ce qui ralentit le temps nécessaire aux hackers pour craquer votre mot de passe. Cependant, elle limite également l’entropie de votre mot de passe.

Plus précisément, la limite est de 50-72 octets. Au-delà, votre mot de passe est tronqué, ce qui signifie qu’un mot de passe de 72 caractères sera haché par bcrypt de la même manière que s’il comportait 73, 84 ou 104 caractères.

Enfin, les mots de passe hachés doivent être salés.

L’existence de tables de fonctions de hachage précalculées – appelées « tables arc-en-ciel » – signifie que le hachage seul n’est pas suffisant.

C’est pourquoi le salage est nécessaire. Avec le salage, un site web ajoute une chaîne de caractères aléatoire supplémentaire dans le mot de passe haché afin de perturber la découverte du mot de passe associé.

Et tout ceci est basé sur la volonté de rendre plus difficile le craquage d’un mot de passe dans le cas où un fichier serait compromis. Toutefois, ne continuez pas à utiliser un mot de passe qui a été stocké dans un fichier qui a fuité !

Conclusion

Vous pouvez avoir le mot de passe le plus long et le plus complexe jamais créé, sa sécurité ne sera garantie si le site web sur lequel vous l’utilisez ne hache pas et ne sale pas ses mots de passe. Et même dans ce cas, en fonction de l’algorithme de hachage utilisé, des limites peuvent être relevées quant à la longueur réelle du mot de passe.

Encore une fois, ne réutilisez pas un mot de passe qui a déjà fait l’objet d’une fuite ! Des sites comme « Have I been pwned » peuvent vous aider à savoir si votre mot de passe a été piraté.

Cependant, changer votre mot de passe alors qu’il n’a pas été piraté entraîne le risque de l’oublier.  Et devoir le réinitialiser chaque fois que vous vous connectez n’est pas plus sûr qu’un mot de passe que vous pouvez mémoriser.

Ce qui nous amène à notre prochain point :

3. Définissez un mot de passe mémorisable

Pourquoi est-ce recommandé ?

A ce stade, l’expérience utilisateur entre en ligne de mire. L’accent mis sur la complexité des mots de passe a conduit à des recommandations qui ne prennent pas en compte l’un des aspects les plus importants pour les utilisateurs, à savoir qu’ils doivent être capables de se souvenir de leurs mots de passe.

Les recherches montrent que l’utilisateur moyen passe 12 minutes par semaine ou 11 heures par an à saisir ou à réinitialiser son mot de passe. Si l’on multiplie ce chiffre par le nombre d’employés d’une entreprise, le coût peut rapidement peser dans la balance.

Il est cependant possible de créer un mot de passe avec une entropie importante, sans pour autant le complexifier au point de ne pouvoir le mémoriser.

Voici une méthode simple : Associez trois mots, sans rapport entre eux, qui ont chacun plus de cinq caractères, comme par exemple « FidèleAutorouteImprimante ». Alors qu’il vous suffit de vous souvenir de ces trois mots, plus ils sont imprévisibles, mieux c’est, un craqueur de mots de passe devra faire des millions de suppositions pour y parvenir. Ce qui n’est pas le cas d’un mot de passe comme « p@$$w0rd1 ! » qui en plus d’être relativement difficile à retenir, serait extrêmement facile à deviner pour un craqueur de mots de passe.

Vous pouvez utiliser une mécanique appelée Diceware pour générer un ensemble de mots totalement aléatoires. Avec Diceware, vous lancez un dé cinq fois (ou cinq dés une fois) pour générer un seul mot, que vous pouvez trouver dans une liste Diceware composée de mots aléatoires faciles à retenir. (Vous pouvez même utiliser un dé à 20 faces et une liste de mots imaginaires !)

Et si vous estimez que cette méthode n’est pas assez sûre pour vous, les chercheurs ont mis au point des techniques pour vous aider à développer vos propres algorithmes pour créer des mots de passe.

Prenons par exemple notre mot de passe de 3 mots ci-dessus : « FidèleAutorouteImprimante ». Choisissez maintenant une lettre « joker » – défini ici comme le « z ». Et enfin, une combinaison de lettres majuscules, de chiffres et de symboles. C’est votre « chaîne spéciale ». Nous allons choisir « $O2 ».

Pour générer un mot de passe en utilisant cette logique, vous utilisez le nom du site web pour lequel vous créez le mot de passe. Ensuite, vous trouvez chaque lettre du nom de ce site web dans votre mot de passe prédéfini et vous choisissez la lettre suivante. Si une lettre n’est pas dans vos trois mots, vous la remplacer par le joker. Ajoutez ensuite votre chaîne spéciale.

A titre d’exemple, pour un compte Gandi, nous générerons ce mot de passe :

g > FidèleAutorouteImprimante > (lettre absente, joker) > z

a > FidèleAutorouteImprimante > FidèleAutorouteImprimante > u

n > FidèleAutorouteImprimante > FidèleAutorouteImprimante > t

d > FidèleAutorouteImprimante > FidèleAutorouteImprimante > e

i > FidèleAutorouteImprimante > FidèleAutorouteImprimante > d

Auquel nous ajoutons notre combinaison spéciale et voici : zuted$02.

Bien qu’il ne soit pas plus simple à retenir, vous n’avez pas besoin de vous en souvenir, vous devez juste le calculer !

Les limites

En se basant une fois de plus sur le comportement des utilisateurs, les chercheurs ont découvert qu’ils ont tendance à choisir des phrases secrètes qui sont des expressions courantes, comme « nuit des trois chiens » ou « chance du tirage au sort », ou même des noms d’équipes sportives.

Un hacker peut être entraîné à rechercher des combinaisons de mots, ce qui rend ces phrases de passe à peine plus sûres qu’un simple mot aléatoire.

4. Ne dépendez pas d’un mot de passe unique

Les mots de passe ont toujours été imparfaits. Ils ont été inventés dans les années 1960 pour empêcher les ingénieurs informatiques de se faire des farces les uns aux autres. Et presque immédiatement ces mêmes ingénieurs ont découvert comment voler les fichiers de mots de passe. Même à cette époque, ils n’étaient pas conçus pour assurer la sécurité sur un réseau complexe, rempli d’utilisateurs lambdas (comme Internet).

Tout comme pour les recommandations du NIST de 2003 que l’ingénieur Bill Burr regrette tant d’avoir formulées, les conseils liés à la sécurité des mots de passe se concentrent souvent sur la nécessité d’un mot de passe fort – un code long et complexe, difficile à craquer et facile à retenir. Mais cela ne répond qu’à une seule possibilité de cyberattaque pour accéder à votre compte, et ignore la nature humaine.

Les mots de passe sont soumis à différentes formes de cyberattaques. Vous pourriez être amené à donner votre mot de passe par un courriel de phishing qui prétend provenir d’un tiers de confiance, ou un traqueur de clés pourrait s’installer sur votre ordinateur lorsque vous téléchargez et installez par inadvertance un logiciel malveillant. Quelqu’un pourrait même obtenir votre mot de passe en interceptant une connexion non chiffrée.

Là encore, la responsabilité incombe aussi, dans une certaine mesure, au fournisseur du compte. Les mots de passe qui ont déjà été divulgués – même s’ils ont une entropie élevée – ne doivent pas être réutilisés. L’essentiel est que votre mot de passe ne doit pas être votre seule ligne de défense pour vos comptes sensibles.

Le dispositif de sécurité dont nous avons déjà parlé est l’authentification à facteurs multiples (MFA) tels que TOTP et U2F. L’authentification à deux facteurs est essentielle pour assurer la sécurité des données importantes. Les hardwares qui utilisent l’U2F sont encore plus sûrs.

Toutefois, les mots de passe sont une solution de sécurité souvent trop limitée face aux enjeux subjacents.

Mais il en va de même pour d’autres systèmes d’authentification fréquemment utilisés, comme les cartes de crédit, les codes PIN des distributeurs automatiques de billets, les numéros de permis de conduire et les numéros de sécurité sociale. L’entropie de ces codes d’authentification couramment utilisés est extrêmement faible. La sécurité de ces systèmes ne repose pas sur des mots de passe forts – un code PIN à 4 chiffres pourrait être facilement craqué – mais repose essentiellement autant sur une détection tenace et répétée des fraudes que sur la fiabilité des nouvelles technologies.

L’avenir des mots de passe ne se limite pas aux mots de passe, bien que renforcés par des facteurs d’authentification supplémentaires tels que TOTP, U2F, l’authentification unique et la biométrie. Mais avec des approches plus intelligentes de la part des fournisseurs et des gestionnaires de comptes afin de garantir la sécurité des données utilisateurs et de détecter les tentatives de piratage des comptes.