Un "bon" mot de passe, c'est quoi ?

sécurité 7 nov. 2017

Un mot de passe pour sécuriser un compte en ligne, c’est la base. Un bon mot de passe, c’est mieux. Mais c’est pas toujours simple à retenir.

On va donc prendre un peu de temps pour parler des mots de passe, de ce qu’est un « bon » mot de passe, et en quoi un gestionnaire de mots de passe comme Passman peut nous servir au quotidien.

 

Un « bon » mot de passe ?

Ce qu’on entend généralement par « bon mot de passe », c’est un mot de passe robuste, qui protégera efficacement votre compte sur n’importe quel service en ligne de tout accès indésirable.

Pour être résistant, un mot de passe ne doit pas être choisi au hasard, et quelques règles basiques doivent être respectées. Les plus importantes sont :

  • La complexité : un mot de passe doit faire au minimum 12 caractères de long, avec une combinaison des 4 « types » de caractères : majuscules, minuscules, chiffres, caractères spéciaux. On peut réduire cette complexité, mais seulement si on cumule plusieurs facteurs d’authentification (voir l’encart juste en dessous). Et surtout, on ne prend pas des mots du dictionnaire, même si on se dit « jvé ékrir en l33t » : choisir « password » ou « p4ssw0rd » c’est du pareil au même.
  • la variété : règle d’or, un compte = un mot de passe. Non, on ne choisit pas un mot de passe qu’on réutilise partout, et non, choisir une racine commune et complexe et rajouter le nom du service devant ou à la fin ne fait pas partie des conditions nécessaires et suffisantes pour avoir un mot de passe correct. Un robot ne fera qu’une bouchée de Azerty123Skyblog et Azerty123GMail.
  • l’ingénierie sociale : le prénom du chat, la plaque d’immatriculation, ce genre de données peuvent être devinées. On bannit donc tout ça des composants de son mot de passe.
  • ON NE NOTE PAS SON MOT DE PASSE. Je vous entends ricaner derrière votre écran, ça semble grotesque, mais vous n’avez même pas idée du nombre de post-it sur l’écran, sous le clavier… que j’ai croisé sur une année au service des contrôles de la CNIL. Pareil pour les tableur et fichiers texte qui récapitulaient tout ça. En clair. Sur le réseau. #facepalm
  • Dans la même logique, on ne communique jamais son mot de passe à quelqu’un…

Pour les plus curieux, la CNIL (Commission Nationale de l’Informatique et Libertés, l’autorité indépendante souvent surnommée « le gendarme des données personnelles ») a mis à jour début 2017 ses recommandations relatives aux mots de passe. C’est, pour faire simple, ce qu’elle demandera d’appliquer à toute entreprise contrôlée dont la politique de sécurité relative aux mots de passe serait jugée insuffisante. Cette recommandation (qui, finalement, ne porte de « recommandation » que le nom) est disponible sur Légifrance.

 

Crédits : Martin Vidberg / CNIL

 

 

Mais je vais galérer à retenir tout ça !

Ouais c’est pas faux. Se rappeler que votre compte Facebook utilise « w51I6@^9&%xS » et que votre mail c’est « 64Jd7%T$W4Gn », je peux admettre que ce ne soit pas à la portée de tout le monde. 😉

C’est là qu’entre en jeu le gestionnaire de mots de passe. Pour la faire courte, c’est un outil qui va servir à stocker ces mots de passe très compliqués, qu’il peut même générer pour vous. Les plus complet gèrent également la 2FA, et la plupart d’entre eux proposent des extensions pour les navigateurs les plus courants. Vous les croiserez peut-être sous le nom de « coffre-forts de mots de passe ».

 

Ils se rangent dans 2 catégories : en ligne, et hors-ligne. En ligne, vos identifiants sont stockés « à l’extérieur » et une extension du navigateur se charge de faire le lien, et hors-ligne comme son nom l’indique se résume à un stockage local, avec éventuellement une extension là aussi pour faire un lien direct et vous faciliter la vie.

 

NON. Placer le fichier local dans sa Dropbox pour le récupérer au boulot ne se fait pas.
TOUJOURS NON, enregistrer ses mots de passe dans votre navigateur. Mauvaise idée. Ils ne sont pas chiffrés, on peut les afficher, et si je vous vole votre PC je peux simplement récupérer votre « profil » et me les approprier dans le même temps. Quand à Google Chrome, mention spéciale, si quelqu’un récupère/devine votre mot de passe et se connecte à Chrome avec votre profil, hop tous vos mots de passe sont rapatriés. Chiffrés, oui. Mais avec votre mot de passe comme clé de déchiffrement. Le serpent qui se mord la queue…

 

Vous vous en doutez, je vous déconseille fortement de stocker vos identifiants chez un tiers, là où vous n’avez aucune maîtrise de ce qu’il fait avec, a fortiori si l’éditeur du service n’a pas publié le code source de son outil. Exit les merdasses comme Dashlane (par ailleurs troué). Notez au passage que tous ne sont pas gratuits. On peut citer LastPass, qui pourrait convenir à pas mal d’entre vous (joli, simple, sécurité convenable, libre, mais hébergé chez un tiers).

 

 

On peut citer deux solutions sympatoches, KeePass, et Passman, que je présenterai fort probablement dans de futurs articles :

  • KeePass est libre, compatible avec la plupart des systèmes d’exploitation, et fonctionne en local. Il existe même une application Android ! Des extensions pour les navigateurs sont disponibles, mais pas forcément officielles (comme c’est un outil libre et sérieux, tout le monde l’a fait à sa sauce). Notez l’existence de KeeWeb, une application Nextcloud, qui vous permet d’y accéder en ligne malgré tout. Une version (un peu ancienne, certes) a été auditée, et validée par l’ANSSI (Agence Nationale de la Sécurité des Systèmes d’Information), l’autorité en charge de la sécurité informatique des services de l’État, des OIV, etc. Vous en pensez ce que vous voulez, mais comme tout audit, il est à prendre avec des pincettes, d’autant que l’audit portait sur une version précise (2.10) qui a évolué depuis, avec peut-être de nouvelles failles. Et je ne dis pas seulement ça parce qu’il y a eu un souci sur cette version « validée » :mrgreen: (autre exemple, TrueCrypt est validé ANSSI également, pourtant tout le monde sait qu’il ne faut plus l’utiliser).
  • Passman est une application Nextcloud, un genre de « lastpass » que vous pouvez héberger chez vous, du coup. Il existe des extensions officielles pour Chromium/Chrome et Firefox, ainsi qu’une application Android. Passman gère également la 2FA (via TOTP).

 

 

Authentification à double facteur

De plus en plus de services en ligne proposent ce moyen de renforcer la sécurité de l’authentification. Comme je le précisais plus haut, cela implique d’avoir recours à un second élément, en plus du mot de passe : code envoyé par mail/SMS (même si c’est à éviter pour différentes raisons), clé type Yubikey (très sûr, mais parfois un peu pénible à utiliser sur un poste qui n’est pas le vôtre –même si à titre personnel j’évite autant que faire se peut de m’authentifier où que ce soit si je ne suis pas sûr de la machine), ou pour un excellent compromis entre sécurité et simplicité d’usage : l’application pour smartphone qui génère des codes à usage unique.

C’est de ces applications qu’on va parler aujourd’hui.

Pour faire simple, quand vous activez l’authentification à deux facteurs sur un site web (Facebook, Google, Mastodon, LinkedIn… y’en a des tas), il vous affiche un QR Code à scanner, lequel contient un secret qui sera donc partagé entre le service et vous, et qui permettra à votre smartphone de générer des codes acceptés par ce site web. Ils sont à usage unique, et basés sur l’horloge (un code n’est valable que pour un temps très court).

Plusieurs applications sont capables de générer de tels codes. Le souci (pour moi), c’est que beaucoup (trop) de services appellent ça des « codes Google Authenticator », du nom de l’application Android éditée par Google. Cette application était open-source au début, puis Google a refermé le code, ce qui fait qu’on ne la trouve plus sur F-Droid (la version archivée est super vieille). Question (légitime) : pourquoi refermer le code d’une application quand ce qu’elle est supposée faire est définie par des spécifications publiques ? Voilà. Y’a clairement anguille sous roche, si c’est pas brontosaure sous grain de sable. Je ne peux décemment pas vous conseiller de confier à Google, dans une boîte noire, la gestion de votre authentification auprès de services tiers. Je ne serais qu’à moitié surpris d’apprendre que les données de Authenticator sont sauvegardées « pour votre bien » sur les serveurs de Google.

Sauf qu’ici on n’aime pas spécialement Google et (surtout) j’utilise un smartphone sans les Google Apps, je n’ai pas le Play Store, et plus largement pas d’applications non-libres sur mon smartphone.

L’alternative que je vous conseille, c’est OneTimePad. Entièrement compatible avec Google Authenticator, elle implémente la RFC dont je parlais plus haut. Petit plus : les secrets sont chiffrés en mémoire du téléphone, dans une appli qui ne se lance que sur saisie du mot de passe permettant de les déchiffrer. C’est cool si vous avez un smartphone qui n’est pas intégralement chiffré : si on vous le pique, l’appli et ses secrets sont inutilisables.
Bonus ultime : sur certains services, le QR Code secret n’est affiché qu’une fois, sans possibilité de le réafficher ultérieurement. OneTimePad permet de le faire : c’est top pour avoir cette application sur plusieurs périphériques (une tablette et un smartphone, par exemple).

 

OneTimePad est en version 2.2.2 « finale », c’est-à-dire qu’elle ne recevra plus de mises à jour puisque son auteur la considère comme complète et terminée. Au besoin, un fork verra le jour !
L’application figure (déjà… alors qu’elle a été actualisée début novembre 2017) dans le dépôt « Archive » de F-Droid, pensez à l’activer si ce n’est pas fait, afin de pouvoir l’installer !

 

Je vous vois venir : c’est chiant là, le combo gestionnaire de mots de passe + code unique…

 

Eh bien… non 😀

Mettons que vous soyez sur votre poste à la maison, pour vous authentifier sur LinkedIn, et que ce fameux code TOTP vous est demandé. Le téléphone est hors de portée (plus d’un bras quoi). Eh bien un gestionnaire de mots de passe comme Passman pourra le générer pour vous, lui qui a déjà retenu votre mot de passe complexe. 😉

Et Passman/KeePass existent également en version Android, donc même à l’extérieur, c’est tout bon !

 

Le mot de la fin (temporaire)

Temporaire, oui, parce que d’autres articles sur la question suivront, pour présenter les gestionnaires de mots de passe associés à l’OTP.

Je tenais quand même à conclure sur un rappel basique : la sécurité de vos données, c’est super important. Choisir comment protéger l’accès à votre vie privée par ailleurs fortement mise à mal, c’est essentiel. Vous êtes mal à l’aise en imaginant le facteur lire la carte postale de Tata Jeannine, postée sans enveloppe. Sécuriser l’accès à vos infos, c’est mettre la carte dans une enveloppe blindée serrure 3 points, et partager la clé avec qui vous voulez (ou même pas du tout, selon les services –un compte Facebook est fait pour être partagé avec ses proches/amis/collègues/whatever, un trousseau de mots de passe non). Si vous fermez l’enveloppe avec un bête point de stick UHU l’histoire de dire « tavu c’est fermé » (cas du mot de passe « 12345 » :-P), l’utilité est proche du néant.

Donc voilà, prenez soin de vos mots de passe, c’est pas rien.

Mention spéciale aux entreprises qui forcent le renouvellement de mots de passe à intervalles (trop) réguliers, avec interdiction de réutiliser les X derniers mots de passe : c’est nul. NUL. C’est rajouter une complexité monumentale pour vos utilisateurs, qui doivent mémoriser un mot de passe d’ouverture de session suffisamment complexe pour être considéré comme robuste, et qui en plus change. J’ai récemment vu une entreprise qui imposait un renouvellement tous les 30 jours, avec un historique de 13 mots de passe (une grosse année quoi), et 3 critères de complexité sur les 4 (rappel : minuscules, majuscules, chiffres, caractères spéciaux) pour un total de minimum 12 caractères. Analyse technique : MDR. C’est comme ça qu’on se retrouve avec des utilisateurs qui finissent par ne plus pouvoir retenir leur mot de passe et qui vont inévitablement le noter quelque part. Ou trouver un truc mnémotechnique à la con et ajouter le numéro du mois à la fin, et changer ça tous les mois (le mois à la fin seulement, pas la phrase de passe) : on retombe dans le cas de la partie fixe + partie incrémentale, à proscrire également.
Un mot de passe un peu moins robuste, une fréquence de renouvellement un peu plus espacée (voire pas de renouvellement –c’était un des grands sujets de discussion entre collègues contrôleurs à la CNIL), un nombre de tentatives limité avant suspension du compte, c’est bien plus efficace, pour un scénario de risque « normal ».

 

N’hésitez pas à me poser vos questions dans les commentaires, j’y répondrai avec plaisir 😉

 

 

 

Crédits : XKCD

Mots clés