Devenez maître en gestion des mots de passe
Alors que l’ère des passkey commence à peine, les mots de passe, sésames ayant un rôle prépondérant dans la sécurité informatique, n’ont pas dit leur dernier mot. Comment gérer les mots de passe, codes, et autres secrets ? Vous aurez les clés en main après la lecture de cet article.
Introduction
Il convient de définir les termes et l’unité de mesure. Cette partie est sommaire afin de ne pas alourdir la lecture.
Un mot de passe est un moyen d’authentification, un élément qui est généralement connu ou possédé uniquement par l’utilisateur et qui permet de l’authentifier de manière unique […]. Il s’agit d’une preuve utilisée pour démontrer son identité. (ANSSI)
Pour mesurer la force d’un mot de passe, on calcule son entropie (distinct de l’entropie au sens de la thermodynamique !). Il s’agit du logarithme en base 2 du “nombre de mots de passe possibles” selon la manière dont on l’a généré (nombre de caractères possibles et longueur). On parle alors de “bits d’entropie”.
Illustrons cela à travers un exemple : combien y a-t-il de codes possibles sur un cadenas à codes à 3 chiffres ? Un rapide calcul indique $10 \times 10 \times 10 = 1000$ (il y a bien dix chiffres possibles). Si cela ne vous semble pas intuitif, essayez de représenter le problème sous forme d’arbre.
L’entropie associée serait alors $log(1000,2) ≈ 10$ bits d’entropie. Et pour un mot de passe composé de 10 lettres ? Avec 26 lettres dans l’alphabet, $26 \times 26 \times … \times 26 = 26^{10} = 141,167,095,653,376$. Cela représente environ 47 bits d’entropie. Vous en conviendrez, la notion d’entropie est bien plus parlante pour nous, simples humains !
Pour une explication plus formelle sur l’entropie des mots de passe, je vous recommande cet article en anglais.
Reportez-vous à la section Créer des mots de passe forts pour connaître l’entropie minimale d’un mot de passe.
Gestionnaire de mots de passe
Pourquoi un gestionnaire de mots de passe ?
Comparons les mots de passe aux clés (physiques). Utilisez-vous la même clé pour déverrouiller votre voiture, votre maison, votre bureau au travail ? Non, et fort heureusement, car la perte d’une telle clé permettrait à la personne qui la trouverait d’aller absolument partout dans vos espaces privés.
Vos clés sont-elles des simple tiges ou sont-elles de complexes ensembles de rouets et de râteaux ? À priori, la seconde option est de mise, afin de décourager les crocheteurs novices.
Enfin, vos clés sont-elles éparpillées chez vous ? Il y a plutôt fort à parier que, pour éviter tout égarement et pour des raisons pratiques, à défaut d’être rassemblées sur un porte-clé/trousseau, elles sont ordonnées et rangées dans une boîte, elle même souvent verrouillée par une clé ou un code !
Faisons une analogie avec les mots de passe. Il doivent être :
- Uniques et distincts, pour éviter qu’un hacker ayant mis la main sur l’un d’eux (par exemple via une fuite de données) ne puisse accéder à tous vos comptes ;
- Complexes (ne pouvant pas être devinés simplement par un ordinateur, ni un humain), avec une part d’aléatoire ou d’imprévisibilité ;
- Rassemblés dans un (ou plusieurs) gestionnaire de mots de passe (le trousseau de clés serait un gestionnaire de mots de passe en ligne, pour avoir ses mots de passe sous la main, la boîte à clé un gestionnaire de mots de passe hors ligne).
C’est pourquoi vous êtes fortement encouragé à utiliser un gestionnaire de mots de passe. Vous n’aurez plus qu’un mot de passe maître à retenir pour déverrouiller ce “coffre fort numérique”.
Quels critères pour choisir un gestionnaire de mots de passe ?
Vient alors la question suivante : comment choisir un “bon” gestionnaire de mots de passe ? Voici ci-dessous les critères non négociables à mon sens :
- Audit indépendant.
La solution a été testée, éprouvée par un acteur tiers, sans conflit d’intérêt. Le résultat doit être publique dans un soucis de transparence. - Utilisation d’algorithmes de chiffrement réputés.
Avec bien sûr des tailles de clés suffisamment élevées, de préférence la plus élevée possible (tout en gardant la solution utilisable). Par exemple AES-256, ChaCha20…La sécurité des algorithme peut changer à travers le temps, faites des recherches pour être au goût du jour.
- Pas d’incidents de sécurité.
Pour savoir si la société/l’organisme derrière la solution est fiable, faites des recherche telles que “data leak solution”, “data breach solution”, “vulnerability solution” .
Prenons en exemple LastPass, le champion toute catégorie pour les fuites de données, à fuir absolument en conséquence.À noter que les vulnérabilités sont légions et inévitables en informatique, ce qui compte, c’est la gestion de celles-ci (réactivité, transparence, politique quant à la divulgation/bug bounty, …). Des recherches dans ce sens peuvent également être intéressantes.
- Bonne intégration aux navigateurs.
Afin de pouvoir remplir automatiquement vos identifiants sur les pages web, comme le ferait le gestionnaire de mots de passe intégré à votre navigateur (gain de temps). C’est également un atout pour éviter les tentatives de phishing : le gestionnaire de mots de passe fonctionnant par reconnaissance de nom de domaine, il ne vous proposera pas de remplir les identifiants si vous visitez une copie malveillante d’un site ! Méfiance si le remplissage n’est pas proposé, donc. - Bonne interopérabilité des données.
Possibilité d’exporter et d’importer ses mots de passe aisément entre différentes solutions (vitale pour les export de sauvegardes et pour changer de solution dans le cas où souhaitez changer de programme/service).
D’autres critères, plus personnel :
- Code ouvert.
La solution devrait être open-source, c’est-à-dire que n’importe qui peut consulter le code source de celle-ci, surtout les développeurs et experts en sécurité logicielle, pour vérifier qu’elle ne contient pas de backdoor et que les mécanismes de chiffrement sont implémentés correctement. Cela relève d’une opinion de ma part : je pense que tout logiciel étant vendu comme “sécurisé” grâce à l’emploi de la cryptographie devrait être open source, afin de pouvoir vérifier la véracité des promesses. Si le code n’est pas en source ouverte, le minimum est un audit indépendant avec revue du code (impératif). - Fonctionnalités supplémentaires et goûts personnels.
Suggestion de solutions
Voici donc une sélection de choix répondant à l’ensemble des critères ci-dessus.
Attention, ces choix peuvent être remis en cause par un non-respect futur des critères ci-dessus, un arrêt d’activité, des changements de politiques, etc. Faites vos propres recherches !
- Bitwarden (en ligne) : gratuit, disponible sur l’ensemble des plateformes. Supporte les passkeys et les codes OTP (abonnement).
- Proton Pass (en ligne) : abonnement (fonctionnalités gratuites limitées), disponible sur l’ensemble des plateformes. S’intègre bien à l’écosystème Proton, offre des fonctionnalités intéressantes (génération et intégration d’alias, des adresses e-mail qui redirigent vers notre boîte principale pour éviter de la révéler, surveillance des fuites de données). Supporte les passkeys et les codes OTP (abonnement).
- KeePassXC (local) : complètement gratuit, supporte les passkeys et les codes OTP. Enregistrement dans un fichier en local, que l’on peut éventuellement synchroniser via réseau local entre ses appareils.
- Vaultwarden (auto-hébergé) : gratuit, mais hébergé par vous. C’est une implémentation non officielle du côté serveur de Bitwarden, vous permettant d’avoir un contrôle total sur vos mots de passe, et d’avoir accès aux fonctionnalités premium sans abonnement. Deux possibilités s’offrent à vous :
- Hébergement et exposition (potentiellement faible si via connexion VPN) : nécessite une bonne sécurisation de son infrastructure.
- Hébergement en réseau local seulement : accès hors ligne pour l’extension et les applications, et synchronisation uniquement sur le réseau local, avec impossibilité de créer des identifiants sans être sur le réseau local.
- Passbolt (auto-hébergé) : gratuit, auto-hébergé ou en SaaS, version pro avec abonnement. Je recommande cette solution davantage pour des besoins de collaboration (permet de partager des mots de passe entre utilisateurs, avec permissions). Idéal pour une entreprise ou une association, par exemple. La version gratuite propose bien assez de fonctionnalités. Nécessite un serveur mail (SMTP). Nécessite d’être connecté au serveur pour accéder aux mots de passe (pas de cache hors ligne !).
Stratégie de gestion de nos mots de passe
À mon sens, il n’est pas nécessaire de se limiter à un seul choix. Je recommanderai même d’utiliser plusieurs gestionnaires de mots de passe. Premièrement, pour segmenter les usages : par exemple, un pour les comptes professionnels (si l’on ne vous fournit pas déjà une solution propre à l’entreprise), et un pour les personnels.
Deuxièmement, car certains “secrets” (mots de passe, codes, …) ne sont pas nécessaires au quotidien mais sont critiques (ex : identifiants de comptes bancaires, code de CB que l’on n’utilise pas quotidiennement, mots de passe de déchiffrement de disque/conteneur de fichiers, code d’un coffre fort physique…). Pour ce deuxième cas, un gestionnaire de mots de passe local est davantage à préconiser.
Je recommande de centraliser les mots de passe de tous ces services dans un gestionnaire de mots de passe, cette fois local. Voici un schéma d’exemple :
Et ensuite ?
Vous avez fait vos choix et mis en place une stratégie de gestion de vos mots de passe ? Félicitations ! Il vous reste quelques étapes à suivre :
- Explorer les paramètres de vos solutions. Soyez curieux et faites des recherches si vous ne comprenez pas certaines notions. Allez dans le détails, demandez conseil si nécessaire.
En particulier concernant les paramètres de sécurité ! Par exemple, Bitwarden vous laisse le choix quant à l’algorithme de dérivation de clé, voir la vidéo ci-dessous.
- Noter l’ensemble de vos mots de passe dans vos gestionnaires de mots de passe. Qui n’a jamais oublié un mot de passe, s’étant dit “je ne l’oublierai pas, celui-là” ?
Faire des sauvegardes régulières. Assurez vous d’avoir plusieurs copie hors ligne de vos mots de passe : copie de votre fichier base de données si hors ligne, export de votre gestionnaire de mots de passe si en ligne. Bien évidement, ces sauvegardes devront également être chiffrées. Dans le cas d’un export, je recommande fortement d’enregistrer un export en clair (j’ai déjà eu des ennuis en essayant de restaurer une sauvegarde chiffrée par le gestionnaire !), sur un support chiffré (ex : VeraCrypt ou Cryptomator).
Attention à retenir ce mot de passe (voir la section suivante), ou à le conserver en lieu sûr.
Vous pouvez profiter de cet espace chiffré pour stocker vos codes de récupération (lors de l’activation du 2FA) et autres fichiers secrets associés.
- Mettre en place un Accès d’urgence. Certains gestionnaires de mots de passe proposent un système “d’accès d’urgence”, pour permettre à un tiers (famille, conjoint) d’accéder à votre compte & coffre de mot de passe s’il vous arrive un problème. C’est le cas de Bitwarden (version payante, à ce jour à 10$/an). Le principe est simple : après désignation d’un tiers de confiance (dans le cas de Bitwarden, il peut s’agir d’un compte gratuit), celui-ci peut demander l’accès à vos mots de passe. Après un certain nombre de jours sans réponse de votre part, l’accès est accordé automatiquement.
Créer des mots de passe forts
Les français ont encore du pain sur la planche : en 2019, 93 % des Français utilisaient des mots de passe faibles.
Mais qu’est-ce qu’un bon mot de passe ? C’est un mot de passe qui n’est pas facilement “devinable” (par un humain comme un ordinateur !), et éventuellement facilement mémorisable.
Un bon mot de passe ne doit pas contenir d’informations vous concernant ou concernant vos proches (nom, prénom, date de naissance, nom d’un animal de compagnie, …). C’est la règle de base pour qu’il soit complexe à deviner.
Il doit dans l’idéal comprendre une part d’aléatoire (voir la notion d’entropie pour les mots de passe en introduction).
A ce jour, la force d’un mot de passe idéale est de 128 bits d’entropie ou plus.
Plusieurs choix s’offrent à vous :
- Meilleur option : des caractères sélectionnés complètement aléatoirement. Appuyez-vous sur le générateur de mots de passe de votre gestionnaire de mots de passe, ne le créez pas à la main ! Quand cela est possible, utilisez des caractères spéciaux, et si autorisés par le système/service concerné, vous pouvez même rajouter des caractères UTF8 (par exemple, des lettres grecques).
- Avantage : impossible à deviner, entropie élevée. Particulièrement adaptés pour être enregistrés dans vos gestionnaires de mots de passe, pour faire usage du remplissage automatique ou de copier-coller.
- Inconvénient : complexe, voire impossible à taper (si usage de caractères non présents sur le clavier).
- Option pour retenir les mots de passe : générer des mots aléatoirement. Plus communément appelée passphrase (phrase de passe).
- Avantage : plus facile à retenir pour un humain. Vous pouvez choisir des dictionnaires différents, par exemple celui en français.
- Inconvénient : plus naturel mais beaucoup plus long à taper au clavier (votre phrase de passe doit contenir plusieurs mots pour dépasser les 128 bits d’entropie).
- Option pour ne pas retenir les mots de passe : générer une suite pseudo-aléatoire de caractères via une donnée tangible et un algorithme. Par exemple, un code par livre, que l’on peut adapter pour créer des mots de passe.
- Avantage : il n’y a plus qu’à retenir la méthode de dérivation du mot de passe et les medias utilisés (livre, …)
- Inconvénient : attention à ne pas oublier l’un des deux, et à concevoir un algorithme de dérivation un minimum complexe.
Pour aller plus loins : Password cracking techniques
Mesures supplémentaires
Voici quelques bonnes pratiques et mesures complémentaires pour gérer ses mots de passe comme un pro de la cybersécurité.
Authentification
Quand cela est possible, utilisez des passkeys. Ce sont de bons concurrents pour remplacer les mots de passe à l’avenir, supportées par la plupart des gestionnaires de mots de passe. Elles permettent une authentification fluide et davantage sécurisée : en cas de fuite de données, il n’est plus possible de déduire votre moyen d’accès (car les passkeys s’appuient sur la cryptographie asymétrique : vous ne délivrez plus un secret, mais la preuve que vous possédez un secret.)
Revue périodique des comptes
Il y a fort à parier que vous faites périodiquement une revue de vos finances/comptes bancaires. Par exemple, 1x/an. Et pourquoi pas de vos comptes en ligne ? Cette pratique vous permet de faire le bilan des comptes en ligne que vous n’utilisez plus, et ainsi réduire les traces que vous laissez sur la toile (chaque service en ligne supplémentaire augmentant le risque que vos données personnelles finissent un jour dans une brèche de données). Cela peut être l’occasion de changer l’ensemble de vos mots de passe pour les plus précautionneux.
Pour les plus déterminés, vous pouvez même constituer votre “RPTD” (Registre Personnel de Traitement de Données, invention de ma part !). Il s’agit de notes sur l’ensemble des comptes en ligne que vous avez supprimés, les requêtes RGPD et leurs suites, les fuites de données qui vous ont affecté et les actions effectuées en conséquence, etc.
Authentification à 2 facteurs
Dès que cela est possible, mettez l’authentification à multiples facteurs en place sur vos comptes en ligne. En particulier sur votre gestionnaire de mot passe ! Cela rend la tâche plus difficile pour un attaquant d’accéder à votre compte s’il obtient votre mot de passe.
La meilleure solution reste une clé physique (ex : Yubikey). Autrement, utilisez une application pour générer des codes OTP en local sur votre appareil, par exemple Aegis.
Attention à bien faire des sauvegardes des clés OTP en lieu sûr ! Ainsi que des différents codes de récupération générés par les différents comptes en ligne.
Vous pouvez également utiliser la méthode du Double-Blind Password.
Par exemple, si vous utilisez une phrase de passe telle que « i-love-game-of-thrones » et que vous l’écrivez dans votre gestionnaire de mots de passe, il est facile pour quelqu’un de pirater le compte associé lorsqu’il accède à votre coffre-fort.
Si votre personnage préféré de « Game of Thrones » est Arya, vous pouvez l’ajouter à la fin du mot de passe réel sans le saisir dans votre gestionnaire de mots de passe. Vous pourrez vous souvenir du mot de passe complet lorsque vous verrez l’entrée dans le gestionnaire de mots de passe, mais cette information ne sera pas aussi utile à quelqu’un qui essaie de pirater votre compte.
L’avantage des mots de passe en double aveugle est qu’ils réduisent le besoin de mémorisation sans pour autant vous exposer à un risque d’accès non autorisé. Vous ne pouvez probablement pas vous souvenir d’un mot de passe unique pour chaque compte, mais il est beaucoup plus facile de se souvenir de la fin d’un mot de passe si vous en stockez le début dans votre gestionnaire de mots de passe.
Dans l’idéal, n’utilisez pas de 2FA par SMS (risque de SIM-swapping). Si vous n’avez pas le choix, utilisez un numéro de téléphone secondaire que vous n’utiliserez pas à d’autres fins et que vous ne diffuserez pas (forfait à bas coût sans données, application donnant accès à un numéro secondaire…).
Fuites de données
Surveillez les fuites de données ! Certains gestionnaires de mots de passe (dont Proton Pass) proposent une fonctionnalité pour vérifier que vos identifiants ne sont pas dans des fuites de données (parfois appelé “surveillance du Dark Web”). Activez cette option !
A défaut, inscrivez vos e-mails sur Have I Been Pwned. En cas de fuite de données, changez systématiquement le mot de passe du compte associé.
Vous pouvez également vous tenir informé de l’actualité concernant les fuites de données, par exemple via le site d’actualité Zataz et la chaîne YouTube anglophone Surveillance Report.
Récupération
- Gardez un accès sur une machine secondaire. C’est-à-dire, installer l’application de votre/vos gestionnaire(s) de mots de passe sur une machine/un appareil en lieu sûr, pour pouvoir accéder rapidement à vos mots de passe en cas de désastre. Le plus pratique étant un smartphone car facile à transporter, et peut également vous permettre de conserver un accès secondaire à d’autres services critiques (ex : applications bancaires). Vous pouvez également lire une base KeePass avec KeePassDX sous android et Strongbox sous IOS.
- Faites des sauvegardes régulières. Vous devez toujours disposer de plusieurs copies de vos données les plus critiques, dont vos exports et bases de mots de passe ainsi que de vos codes de récupération. Inspirez-vous par exemple de la méthode 3-2-1.
Sécurité physique
- Assurez-vous de ne pas laisser votre session ouverte sans surveillance, et que les mots de passe synchronisés en local sont protégés au moins par un code pin (en plus de votre mot de passe de session/déverrouillage de téléphone).
L’idéal est en plus de chiffrer son disque, pour éliminer tout risque de récupération de vos mots de passe par un acteur malveillant ayant un accès physique à votre machine.
Attention, cela ne vous protège que dans le cas où votre machine est éteinte. Allumée, des techniques existent pour extraire la clé de déchiffrement de la mémoire.
- Assurez-vous également de garder dans un coffre-fort (physique) l’ensemble des mots de passe que vous stockez sous format papier et autres dispositifs d’accès physiques (le + étant en plus un coffre ignifugé pour éviter toute perte suite à un désastre). Prenez le temps de regarder les caractéristiques et garanties des constructeurs lors de l’achat de votre coffre !
A NE PAS faire
- Perdre l’accès à ses mots de passe. Par exemple, en oubliant son mot de passe maître, ou en enregistrant le mot de passe maître dans le gestionnaire de mots de passe qu’il protège (oui, certains ont essayé), ou bien le mot de passe permettant de déverrouiller la sauvegarde de ce même gestionnaire de mots de passe. Établir une stratégie de gestion de mots de passe demande de la réflexion et de l’abstraction !
La méthode la plus simple pour éviter de “s’enfermer dehors” consiste à dessiner un schéma de “dépendance” entre vos différentes ressources (où sont les mots de passe pour déverrouiller les différentes ressources) à la recherche de boucles, à éliminer alors. Ce schéma devrait comprendre : vos gestionnaires de mots de passe (en ligne comme en local), comptes en lignes contenant des informations d’identification, fichiers/volumes chiffrés, votre cerveau, les supports papiers contenant des mots de passe, les appareils/clés physiques d’identifications (téléphone pour l’OTP, Yubikey par exemple), etc. - Utiliser des mots de passe faibles. Quel intérêt de mettre tous ses mots de passe dans un “coffre numérique blindé” si ceux-ci sont facilement devinable/cassable ? Autant profiter de passer à un gestionnaire de mots de passe pour changer tous ses mots de passe, et par la même occasion faire une revue de compte (comme détaillé plus haut).
- Réutiliser des mots de passe. On l’a vu tantôt, cela vous expose à un risque de compromission de plusieurs comptes si l’un d’entre eux fuite.
Vous pourriez supposer que cela est plus rare de nos jours, mais détrompez-vous : en 2019, Meta a été condamné à 91 millions d’euros d’amende pour avoir stocké en clair des millions de mots de passe Facebook et Instagram !