Debunkage de la vidéo sur les mots de passe de Fabien Olicard : mémorabilité, densité et entropie irréconciliables ?

Alors que les mots de passe deviennent toujours plus longs et complexes à retenir d’une part, et que les attaques informatiques augmentent en intensité d’autre part, nous voyons encore en 2026 des débats autour des méthodes sur la composition d’un mot de passe.

En avril 2026, Fabien Olicard, lancé dans le défi de publier une vidéo courte par jour pendant un an, a publié une vidéo intitulée “Votre Mot de Passe est Nul (mais j’ai la solution)”. Dans sa vidéo, il donne des conseils sur la composition d’un mot de passe, dont l’impact en sécurité informatique est très dommageable. Nous détaillerons pourquoi dans cet article (et qui sait, cela lui donnera peut-être un sujet pour une prochaine vidéo 😅).

Plus inquiétant/intéressant encore, dans la section commentaires, de nombreuses personnes mentionnaient des techniques de composition de mots de passe de leur cru. Une qui est ressortie particulièrement est d’utiliser une phrase complète telle que “J’ai mangé 3 croissants le jour de mon mariage”. L’argumentaire des personnes proférant ce conseil est qu’une longue phrase en toutes lettres rend les attaques par recherche exhaustive (c’est-à-dire d’essayer toutes les combinaisons de mots/caractères possibles) extrêmement longue.

Florilège :

Je suis désolé d’invalider ton propos mais je pense que, partant de ta phrase perso, le mieux est de la prendre telle quelle, donc “J ai mangé 3 croissant le jour de mon mariage”, avec ou sans les espaces, en y ajoutant un caractère spécial, afin de respecter cette exigence de la plupart des sites nécessitant un mot de passe.

Perso, je mets des phrases random généralement et en entier XD

oui, lune phrase longue est un meilleur mot de passe qu’un mdp court avec caractère spéciaux… le problème, c’est que tout les sites ne permettent pas de le faire

On peut aussi choisir une phrase d’un livre que l’on aime particulièrement, dans un chapitre précis , dans un passage de ce livre, passage que l’on aime particulièrement…

Tu m’es simple la phrase t’elle qu’elle sans les espaces.Tu à tout la majuscule le chiffre et c’est incracable

S’en est suivi un débat auquel j’ai participé et que je souhaiterais reprendre ici, loin de la censure de Youtube qui supprime assez arbitrairement des commentaires. Ma position est que toute structure dans un mot de passe nuit à sa qualité. Nous définirons et détaillerons cette affirmation dans le corps de l’article.

Recommandations institutionnelles

Les institutions françaises publient des recommandations concernant les mots de passe.

Ainsi, la CNIL publie des recommandations et un évaluateur de la sécurité des mots de passe. De manière intéressante, les recommandations de la CNIL ont évolué vers le mieux en 2022, celles publiées en 2017 présentant de vrais problèmes pour la sécurité des usagers.

De son côté, l’ANSSI publie un guide de recommandations relatives à l’authentification multifacteur et aux mots de passe. Par transparence, précisons que l’auteur du présent article a participé à son élaboration.

La recommandation de Fabien Olicard

Synthèse de la vidéo

Dans sa vidéo courte, Fabien nous propose d’utiliser les lettres initiales de chaque mot d’une phrase personnelle, avec quelques modifications additionnelles. Ainsi, la phrase “J’ai mangé 3 croissants le jour de mon mariage” est transformée en “Jam3cljdmm”. Ensuite, il propose de rajouter un caractère spécial à intervalle régulier, par exemple tous les 6 caractères. Il suggère ici le tiret, ce qui donne “Jam3cl-jdmm”. Enfin, il suffixe au mot de passe un “abrégé” du site pour lequel ce mot de passe est destiné. En guise d’exemple, il propose “Nfx” pour Netflix. Le suffixe ne contient jamais de caractères spéciaux rajoutés ; il est donc préfixé du caractère spécial. Ainsi, le mot de passe Netflix serait “Jam3cl-jdmm-Nfx”.

En points positifs, Fabien indique bien de préférer une phrase personnelle à une phrase bien connue, comme une citation. En effet, une citation connue, ou un extrait de livre auraient une forte probabilité d’être la source d’inspiration de nombreuses personnes, qui se retrouveraient alors avec un mot de passe quasi identique et “public”. Fabien suggère également qu’il est nécessaire d’utiliser des mots de passe distincts par site, ce qui est une bonne pratique de sécurité.

Analysons maintenant pourquoi la recommandation de Fabien est problématique.

Analyse critique

Pour comprendre les problèmes de la recommandation de Fabien, il faut d’abord comprendre comment sont généralement stockés les mots de passe par les sites web, et comment ils sont attaqués.

Pour s’authentifier, on envoie généralement son mot de passe au site web (il existe des manières de s’authentifier où ce n’est pas le cas).

sequenceDiagram
actor you as Vous
actor website as Site Web

you ->> website: Envoie du mot de passe
website ->> website: Dérive le mot de passe
website ->> website: Vérifie le dérivé avec celui stocké en base de données
alt Les dérivés correspondent
    website ->> you: Vous donne accès
else
    website ->> you: Rejette la connexion
end

Ce mot de passe n’est pas comparé directement avec le mot de passe que nous avons envoyé lors de notre inscription sur le site web. En effet, pour limiter les risques en cas de compromission du site web, ce dernier stocke les mots de passe fournis à l’inscription sous une forme dérivée. Cette dérivation se produit en utilisant des algorithmes spécialement conçus pour le stockage de mots de passe.

Pour vérifier le mot de passe qu’on envoie lorsqu’on veut se connecter à un site web, ce dernier va appliquer un algorithme de dérivation sur le mot de passe envoyé. Le résultat de cet algorithme, appelé dérivé, est ensuite comparé avec le dérivé stocké dans sa base de données, lors de l’inscription.

Si les deux dérivés sont identiques, alors bingo ! Nous avons prouvé notre connaissance du mot de passe, et donc notre identité au site web !

Si le site web venait à être compromis, l’attaquant·e n’obtiendrait que les dérivés des mots de passe stockés en base de données. Les algorithmes de dérivation de mots de passe sont conçus spécifiquement pour qu’il soit très difficile pour un·e attaquant·e de retrouver le mot de passe à partir du dérivé. L’attaquant·e ne peut qu’essayer de retrouver le mot de passe à partir du dérivé en générant des mots de passe, en les dérivant, et en comparant ces dérivés avec les dérivés récupérés lors du piratage. On appelle cela l’attaque par force brute, bruteforce, ou par recherche exhaustive.

Nous en savons maintenant assez pour comprendre quelques-uns des problèmes de la recommandation de Fabien.

Fabien propose d’utiliser un mot de passe “Jam3cl-jdmm” suffixé d’un abrégé désignant le site web sur lequel ce mot de passe est utilisé. Dans l’exemple “-Nfx”. Si l’utilisateur·rice utilise aussi Amazon Prime, le suffixe sera, par exemple, “-AmzP” et son mot de passe sera “Jam3cl-jdmm-AmzP”.

Ainsi, les suffixes “-Nfx” et “-AmzP” jouent le rôle de diversificateurs. L’essentiel du mot de passe reste cependant identique !

Imaginons maintenant que le site d’Amazon Prime contienne un bug, et qu’il n’utilise pas d’algorithmes de dérivation de mots de passe. À la place, il stocke directement le mot de passe de l’utilisateur·rice dans la base de données. Si celle-ci est piratée, ou qu’Amazon est malveillant, l’attaquant·e pourra voir que le mot de passe de Fabien sur Amazon Prime est “Jam3cl-jdmm-AmzP” ! L’effort mental pour imaginer que pour Netflix, le suffixe est “-Nfx” est minimal. L’attaquant·e ou Amazon pourront alors facilement deviner que le mot de passe pour Netflix est “Jam3cl-jdmm-Nfx” et pirater le compte Netflix de Fabien ! 😱

Ce constat est déjà très problématique en soi. Il revient à utiliser quasiment le même mot de passe partout, ce qui est décrié depuis des années par toutes les personnes vaguement compétentes pour parler du sujet.
Certaines personnes l’ont d’ailleurs présenti dans les commentaires :

Excellente l’idée de rajouter le sigle du site à la fin. Cela permet de réutiliser la phrase.
Mais en cas de soucis ou doute, il faudra changer touts les mots de passe…🙄

Les problèmes de la recommandation de Fabien vont cependant plus loin. Les mots de passe ainsi construits ont une structure. Le sujet de la structure est complexe, et nombre des commentateur·rices ne l’ont pas saisi ; c’est ce qui a motivé l’écriture du présent article.

Le problème de la structure des mots de passe

Commençons par acquérir une intuition du problème que représente la structure. Nous pourrons ensuite généraliser et formaliser le propos.

Biais statistique de la lettre initiale

En vulgarisant, on pourrait dire qu’en français, plus de mots commencent par un D que par un Z. Plus formellement, on dirait que les mots français ne sont pas uniformément distribués en 26 catégories correspondant à la lettre initiale de chaque mot.
En prenant le dictionnaire libre aspell, on peut calculer le graphique suivant, avec la commande :

for i in {a..z} ; do aspell -d /usr/lib64/aspell-0.60/francais-lrg.alias dump master | grep -c "^$i" ; done
xychart
    title "Répartition des mots dans le dictionnaire par leur lettre initiale"
    x-axis "Lettres initiales" [A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z]
    y-axis "Nombre de mots" 0 --> 70000
    bar [ 25187, 15642, 35126, 65442, 21728, 12855, 10470, 6147, 12059, 11801, 537, 69161, 53765, 59390, 5441, 27644, 55430, 37415, 36184, 53545, 1038, 7307, 190, 63, 94, 800 ]

Le mot de passe de Fabien “Jam3cl-jdmm” est composé des lettres initiales des mots présents dans la phrase personnelle “J’ai mangé 3 croissants le jour de mon mariage.” Certaines lettres ont donc statistiquement beaucoup plus de chances d’apparaitre que d’autres dans un mot de passe fabriqué en suivant la technique de Fabien.
Lorsque l’attaquant·e essaie de trouver le mot de passe d’une personne, il pourra donc mener sa recherche en essayant d’abord avec les lettres les plus fréquentes, afin d’accélérer sa recherche et trouver plus vite le mot de passe !

Il convient de noter que ce problème existe également si l’on compose ses mots de passe avec la méthode dite syllabique, où le mot de passe est élaboré à partir d’une phrase décomposée en phonèmes (par exemple, “J’ai” devient la lettre “G” par proximité phonologique). La méthode syllabique était conseillée, à tort, par la CNIL en 2017.

Biais statistiques liés à la structure de la phrase

La fréquence des initiales n’est pas le seul biais de ce type lié à la structure du mot de passe. En français, la plupart des phrases sont construites sous la forme SVO : sujet, verbe, objet. En généralisant, la plupart des langues possèdent une syntaxe propre ne permettant pas d’ordonner les mots de manière arbitraire.

💡 En contre-exemple, l’Esperanto utilise le suffixe -n pour marquer l’accusatif. Ainsi, “amikoj” désigne le sujet de la phrase et “amikojn” porte la marque de l’accusatif et est donc l’actant ou le complément d’objet direct, quelle que soit sa position dans la phrase. Ces trois phrases (“J’ai des amis.”) sont syntaxiquement identiques : “Mi havas amikojn. Amikojn mi havas. Mi amikojn havas.” Pour être complet, l’ordre des composants de la phrase pourra traduire une intention d’attirer spécifiquement l’attention sur l’une des informations de la phrase.

La syntaxe d’une langue permet de concevoir des chaines de Markov. Il s’agit d’un outil mathématique permettant, par exemple, de déterminer quels sont les mots les plus probables suivant un autre mot. Si cela vous évoque les grands modèles de langage (LLM), ce n’est pas un hasard.

Mais pour en revenir à nos moutons, intuitivement, on peut se dire qu’après l’article “la”, nous ne trouverons pas en français correct de mots commençant par une voyelle.

Lorsqu’un·e attaquant·e tentera de retrouver un mot de passe consistant en une phrase en langage naturel (comme le français), il pourra donc intégrer ces informations pour tester en premier les combinaisons probables, et donc accélérer sa recherche. En effet, les attaquant·es ne limitent pas leur recherche des mots de passe à la seule technique par recherche exhaustive bête et méchante : a, b, …, aa, bb, …, aaa, bbb, … Les outils modernes de “cassage de mots de passe” sont parfaitement capables d’utiliser des techniques variées, incluant la recherche de mots dans les dictionnaires, les chaines de Markov, des masques, et bien d’autres.

Ce biais affecte directement la méthode de Fabien pour fabriquer un mot de passe, puisque les lettres sont des initiales de mots. Pour chaque lettre du mot de passe, même sans connaitre le mot qui lui est associé, on peut prendre la liste des mots commençant par cette lettre. Ensuite, on peut calculer quels mots sont les plus probables après chacun de ces mots. Enfin, on calcule la lettre initiale la plus commune parmi ces derniers. Cela permet à l’attaquant·e d’optimiser sa recherche exhaustive !

Mais on peut généraliser ce biais et faire la déclaration que certain·es trouvent excessive : toute structure induit un biais réduisant l’entropie ou la densité.

Structure, entropie et densité

Définition de l’entropie et de la densité

L’entropie est un terme du technolecte informatique lié à la théorie de l’information de Shannon. Ce terme est souvent mécompris. Nous commencerons par en apporter une définition afin de faciliter la lecture du reste de l’article.

L’entropie désigne la quantité d’information dans une donnée. La quantité d’information désigne l’incertitude de ce que sera une information compte tenu des informations précédemment connues.

Intuitivement, la donnée représentant le mot de passe aaaaaa contient relativement peu d’informations, si ce mot de passe est construit exclusivement en répétant six fois la lettre a. Au mieux, on peut avoir deux informations : le nombre de lettres et la lettre répétée. Les mêmes deux informations auraient pu être communiquées de manière plus dense en écrivant 6a.

Il convient également de tordre le cou à une croyance bien ancrée, et qui se trouve être également très populaire chez les personnes œuvrant en informatique. Il n’est pas possible de déterminer l’entropie en observant une donnée !

Ainsi, 999999 pourrait tout à fait contenir plus d’entropie que hjf3U&àSD/r-. Pour comprendre cela, il faut comprendre comment est calculée l’entropie. Une définition formelle est disponible sur Wikipedia. Intuitivement, il faut comprendre que ce qui compte n’est pas tant l’aspect de la donnée que le degré d’incertitude de chaque élément composant la donnée.

Le mot de passe hjf3U&àSD/r- semble complexe, et il a probablement été généré en tirant 12 caractères aléatoirement, avec des minuscules, des majuscules, des chiffres et des caractères spéciaux. L’ensemble des minuscules (26 éléments), majuscules (26 éléments), chiffres (10 éléments) et caractères spéciaux (disons une quarantaine) signifie que chaque caractère a une chance sur 92 (26 + 26 + 10 + 40) d’être sélectionné comme le prochain caractère du mot de passe. Répété 12 fois, on obtient 9212 combinaisons possibles (367666387654882241806336 ou environ 3,68 * 1023 ). Cela correspond à log2(9212 ) ≈ 78 bits d’entropie.

Comparativement, le mot de passe 999999 semble être un chiffre répété six fois. Cependant, il se pourrait aussi qu’il s’agisse du nombre tiré aléatoirement entre zéro et 2128 . Ou même de 6 nombres concaténés et constitués de un chiffre chacun, tirés entre 0 et 2128 ! Dans le premier cas, l’entropie serait de moins de 20 bits. Dans le second, l’entropie serait de 128 bits, soit nettement supérieure aux 78 bits de hjf3U&àSD/r-. Dans le dernier cas, l’entropie serait même de 768 bits ! 🤯

Il résulte de cet argumentaire que tout “calculateur d’entropie” où l’on saisit son mot de passe pour qu’il en fasse une analyse statistique d’uniformité est irrémédiablement incorrect, puisqu’il repose sur ce qui est observable dans le mot de passe et non sur l’analyse de sa méthode de fabrication ! Cette erreur est également présente sur des gestionnaires/générateurs de mots de passe, comme KeePassXC qui calcule l’entropie d’un mot de passe en fonction des caractères le composant plutôt qu’en fonction du nombre de caractères le composant ET de la taille de l’ensemble des caractères possibles pour chacun d’entre eux ! 😭

Les mots de passe fonction de l’aléa

Dans la section précédente de cet article, l’entropie a été mesurée en bits. Ce n’est pas un hasard ; cette unité est liée à la génération de secrets en cryptographie.

En cryptographie, un nombre aléatoire doit disposer de deux propriétés : dans sa représentation binaire, chaque bit (c’est-à-dire chaque 0 ou 1 qui le compose) doit être indépendant et la distribution doit être uniforme.

L’uniformité d’une représentation binaire signifie que chaque bit composant un nombre aléatoire avait autant de chance d’être un 0 qu’un 1. Intuitivement, c’est comme de faire un pile ou face avec une pièce non truquée.

L’indépendance signifie qu’aucun des bits ne doit être en mesure d’influencer la probabilité qu’un ou plusieurs bits suivants soient un 0 ou un 1. Intuitivement, c’est comme de dire que chaque lancer de pile ou face ne peut pas influencer le résultat des futurs lancers. Par exemple, 01010101 est parfaitement uniforme (il y a autant de zéros et de uns), mais il semblerait bien que ce soit une alternance de zéros et de uns. Si cette séquence est le pur fruit du hasard, alors parfait ! Si, par contre, lors de la génération, cette séquence alternée de zéros et de uns était délibérée, alors les bits ne sont pas indépendants ! On touche à nouveau du doigt les biais et l’intentionnalité dans l’algorithme de fabrication du mot de passe.

Pour éviter les biais, une méthode est de demander à une machine de nous générer un mot de passe. Pour cela, cette dernière utilise un générateur de bits aléatoires, afin de générer N bits d’entropie.

Une fois ces bits générés, ils sont consommés par une fonction, que nous appellerons T, afin de transformer cet aléa en mot de passe. La fonction T peut être tout et n’importe quoi, mais le principe général est de consommer une partie des bits encore non consommés pour choisir aléatoirement le prochain “composant” d’un mot de passe.

Par exemple, admettons que les bits aléatoires générés par la machine soient les suivants (regroupés en groupes de six bits pour des raisons qui deviendront évidentes dans quelques lignes) :

101010 101000 111000 101101

Admettons ensuite que le mot de passe que l’on cherche à générer est un mot de passe composé de caractères alphanumériques et de quelques caractères spéciaux. L’ensemble des caractères pouvant constituer un mot de passe sont au nombre de 64 et sont les suivants :

a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 - _

Chaque groupe de 6 bits représente un nombre entre 0 et 63 en base 2 (c’est-à-dire en binaire). Ainsi, 101010 représente le nombre 42. On prend donc le 43e caractère (42 + 1, le +1 étant parce qu’on commence à compter à partir de 0) parmi la liste de caractères précédemment listés.

En répétant cet algorithme, on obtient ainsi :

Bits aléatoires Caractère du mot de passe
101010 Q
101000 O
111000 4
101101 T

Le mot de passe généré est donc QO4T et contient autant d’entropie que le nombre de bits générés précédemment : 4 groupes de 6 bits, soit 24 bits.

Dans cet exemple, la fonction T est donc de consommer les bits, six par six, pour tirer un caractère aléatoire dans une liste de 64 caractères distincts. On aurait pu imaginer une fonction Tbis où l’on consomme les bits quatre par quatre et où l’on répète alternativement la lettre A ou la lettre B un nombre de fois égal au nombre formé en base 2 par ces groupes de 4 bits ! Cela donnerait :

1010 1010 1000 1110 0010 1101
Bits aléatoires Séries de A ou de B
1010 AAAAAAAAAA
1010 BBBBBBBBBB
1000 AAAAAAAA
1110 BBBBBBBBBBBBBB
0010 AA
1101 BBBBBBBBBBBBB

Le mot de passe serait alors AAAAAAAAAABBBBBBBBBBAAAAAAAABBBBBBBBBBBBBBAABBBBBBBBBBBBB. Bien qu’il soit nettement plus long (c’est-à-dire moins dense) que QO4T, il contient la même quantité d’entropie : 24 bits.

Un attaquant qui voudrait casser ce mot de passe aurait à deviner 25 bits d’entropie : 24 bits aléatoires et si c’est la fonction T ou la fonction Tbis qui a été utilisée. Il a une chance sur deux de tenter la fonction T et une chance sur deux de tenter la fonction Tbis , ce qui représente donc une incertitude de 1 bit.

On peut imaginer encore d’autres fonctions T :

  • choisir un mot aléatoirement dans un dictionnaire (si le dictionnaire contient 8192 mots, alors on consomme les bits treize par treize) comme le fait Bitwarden ;

  • choisir un smiley aléatoire dans une liste de smileys ;

  • choisir aléatoirement un phonème dans une langue (s’il y a 36 phonèmes dans une langue, alors on consomme les bits 6 par 6, car 25 < 36 < 26 ) comme le fait Apple ;

  • choisir aléatoire un livre dans sa bibliothèque, choisir aléatoirement une page, choisir aléatoirement un paragraphe dans la page, choisir aléatoirement un mot dans le paragraphe et recommencer jusqu’à avoir consommé tous les bits d’entropie ;

  • choisir un chemin de neurones pseudo-aléatoire déterministe pour fabriquer une phrase dans un langage naturel, comme peuvent le faire les LLM…

Contrairement à ce que l’on pourrait croire intuitivement, l’existence de nombreuses fonctions T n’est pas un frein majeur pour un attaquant. Si nous pouvons imaginer 1024 fonctions T distinctes, cela n’augmente l’entropie que de 10 bits (car log2(1024) = 10).

Et pire : il existe un nouveau biais dans ces 10 bits si la fonction T est choisie par un humain en fonction de ses préférences et sa capacité à se souvenir du résultat de la fonction T ! Gageons que AAAAAAAAAABBBBBBBBBBAAAAAAAABBBBBBBBBBBBBBAABBBBBBBBBBBBB est moins facilement mémorisable que QO4T et que peu de personnes préfèreront la fonction Tbis .

Pour maintenant généraliser et formaliser ces conclusions, les fonctions T sont des bijections entre :

  • un domaine de départ composé de nombres ou bits aléatoires ;

  • un domaine d’arrivée composé de symboles (caractères, mots, phonèmes, etc.) ayant pour but d’être plus aisément mémorisables par un humain.

S’agissant de bijections, la fonction T est inversible (T-1 ), ce qui signifie qu’en connaissant le fonctionnement de la fonction T et en observant le résultat d’une fonction T, on peut retrouver les bits aléatoires ayant servis à fabriquer ce résultat.

On peut donc formaliser que l’objectif d’un·e attaquant·e est de retrouver les bits aléatoires ayant servis à fabriquer le mot de passe, quelque soit sa représentation humainement mémorisable et quelle que soit la fonction T appliquée. Avec un mot de passe de 24 bits d’entropie et une fonction T connue, il faudra 224 (≈ 16 millions) tentatives à l’attaquant pour le trouver avec une probabilité de 1 (100%), et 212 (= 4096) tentatives pour le trouver avec une probabilité de 0.5 (50%), dû au paradoxe des anniversaires.

Le compromis entre entropie, densité et mémorabilité

Dans sa recommandation de 2022, la CNIL définit un seuil minimal d’entropie de 80 bits pour un mot de passe utilisé comme seul moyen d’identification. Cette recommandation est adressée sans spécifier de méthode de fabrication du mot de passe spécifique. Le choix de la fonction T est donc libre.

En reprenant les exemples précédents, on peut calculer la longueur des mots de passe comme suit dans ce tableau.

Taille de l’ensemble dans lequel sélectionner aléatoirement des éléments Complexité du mot de passe Entropie
un ensemble de 64 caractères (alphanumériques + caractères spéciaux ) 14 caractères ≈ 84 bits
un dictionnaire de 7776 7 mots ≈ 83 bits
un ensemble de 36 phonèmes 16 phonèmes ≈ 83 bits

On peut observer que la densité est très variable, pour une même entropie.

Alors qu’utiliser des caractères aléatoires représente 14 caractères à taper au clavier lors de l’authentification, taper des mots du dictionnaire représente 55 caractères, les mots faisant en moyenne 7 caractères, avec un caractère séparant les 7 mots (7 * 7 + 6). Sachant que la frappe de ces 55 caractères se fait généralement à l’aveugle, la moindre faute de frappe coute un temps considérable ! D’un autre côté, se souvenir de 14 caractères aléatoires sans aucun sens peut représenter un défi insurmontable pour la plupart des utilisateur·rices !

Certain·es pourraient être alors tenté·es, comme suggéré par Fabien, d’utiliser des mots ou des phrases ayant un sens personnel particulier. Mais est-ce que 7 mots choisis par un humain contiennent bien 80 bits d’entropie ?!

La question n’est pas simple, car il n’est pas possible de connaitre la fonction T qui a été utilisée ; il faudrait faire une imagerie du cerveau de la personne pour comprendre, au moment de la création du mot de passe, par quel procédé elle a inventé ce mot de passe ! 🧑‍⚕️

Quand bien même, il est déjà possible de répondre à propos des phrases en langage naturel. En français, il existe presque 300 mots-outils, et leur occurrence dans un texte serait de l’ordre d’un tiers du texte ! Cela veut dire qu’un mot sur trois porte en lui au maximum 8 bits (log2(300) ≈ 8,23) contre presque 13 bits quand on choisit un mot dans le dictionnaire de 7776 mots évoqué plus haut (log2(7776) ≈ 12,92). Cela réduit donc drastiquement la densité : l’entropie de 2 mots du dictionnaire est supérieure à celle de 3 mots-outils. Il en résulte donc la nécessité de mots de passe plus longs que 55 caractères pour maintenir une même quantité d’entropie.

Outre les mots-outils, le français, comme toutes les langues, est structuré, comme expliqué plus haut dans cet article. Cela signifie que, dans une phrase syntaxiquement valide, le contexte détermine la nature des mots pouvant suivre ceux déjà sélectionnés, ce qui diminue encore la densité. Intuitivement “Je mange une pomme” est syntaxiquement correct et plus probable que “Mange je pomme une” qui est encore plus probable que “Rouge voiture conduit anticatastase”.

Ensuite, concernant la taille du vocabulaire actif d’un français adulte, les chiffres ne sont pas clairs, et beaucoup de faux chiffres semblent circuler. D’après une étude du département de psychologie expérimentale de Ghent, en Belgique, l’adulte moyen de 20 ans, natif des États-Unis d’Amérique, connait 42000 lemmes. Chaque lemme serait alors porteur d’environ 15 bits d’entropie (log2(42000) ≈ 15.36), en admettant qu’ils soient choisis de manière aléatoire. L’amélioration est marginale: 6 lemmes sont nécessaires pour atteindre 80 bits d’entropie, contre 7 avec le dictionnaire !

Reste à déterminer si un humain est capable de faire un choix réellement aléatoire (uniforme et indépendant) parmi ces 42000 lemmes. Comme le démontre très bien Fabien dans ses vidéos, l’humain est abominablement mauvais pour choisir quoi que ce soit aléatoirement. Les biais dans le choix “aléatoire” effectué par un humain viennent à nouveau réduire l’entropie, et incidemment réduire la densité si l’on veut garder le même niveau de sécurité. Il en résulte des mots de passe toujours plus longs 😱.

Conclusion

L’objectif d’un mot de passe est de fournir un moyen d’identification mémorisable par un humain. Dès lors que ce dernier ne peut plus être mémorisé, il doit être stocké dans un gestionnaire de secrets. Et dès qu’on utilise un gestionnaire de secrets, alors la longueur du mot de passe ou sa mémorabilité cessent d’être un sujet : la machine peut mémoriser des téraoctets de données sans broncher.

Simultanément, plus le mot de passe est facilement mémorisable, plus il est porteur de sémantique. Or, la structure du mot de passe et sa sémantique résultent en une sélection biaisée des constituants du mot de passe, et une diminution de la densité ou de l’entropie.

Il en résulte une tension insoluble :

  • un mot de passe à forte entropie peut être dense, mais il sera aussi peu mémorisable ;

  • un mot de passe mémorisable est soit peu dense, et donc peu utilisable en pratique, soit il n’est pas de bonne qualité, car ne comportant pas une entropie d’au moins 80 bits.

La méthode qui semble la plus propice à réduire cette tension est d’utiliser une série de mots indépendants et sélectionnés par la machine, et d’ensuite y donner du sens ou de les mémoriser tels quels par des méthodes comme celles promues par Fabien Olicard sur ses chaines Youtube (palais mental, etc.).

Le mot de passe est cependant appelé à disparaitre tôt ou tard, à mesure que la puissance de calcul des machines grandit et avec elle la capacité des attaquant·es à retrouver toujours plus vite les mots de passe. Des solutions existent (comme les passkeys) mais leur adoption par le grand public reste encore à améliorer.