Un « bon » mot de passe, c’est quoi ?

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

18 réflexions sur “ Un « bon » mot de passe, c’est quoi ? ”

  • 7 novembre 2017 à 13 h 39 min
    Permalink

    Très intéressant. Il va falloir que j’étudie ça de plus près !

    Réponse
  • 7 novembre 2017 à 14 h 12 min
    Permalink

    Hello,

    Je pense que tu as oublie Enpass que je trouve efficace.

    Sinon pour les utilisateurs de Firefox, c’est possible de chiffrer les mots de passe stocker avec un masterpassword, ce n’est pas le toooop mais c’est toujours mieux que de les garder en clair.

    A+

    Réponse
    • 7 novembre 2017 à 16 h 07 min
      Permalink

      Hello,

      alors (sans méchanceté aucune), non. Je ne connaissais pas Enpass, j’ai regardé ça, et… Ce n’est pas open-source (du moins je n’ai trouvé nulle part un accès au code), donc je n’accorde pas ma confiance à cette solution pour gérer mes mots de passe. J’ai regardé les changelogs, ça fait un peu usine à gaz (API Dropbox etc. alors que je veux juste un coffre-fort à mots de passe, pas un truc qui se connecte partout et je sais pas quand/comment).
      Je ne recommande que du libre ici, ou a minima open-source. Là on n’est clairement pas dedans 😀
      EDIT: je viens de parcourir l’EULA, clairement c’est pas open-source.

      Pour Firefox en effet il y a la possibilité d’utiliser le Master Password mais ce n’est pas actif par défaut et ne permet pas, en soi, de répondre à l’ensemble des points discutés ici, dont sécuriser le stockage sans perdre le côté portable. Si je veux utiliser le navigateur de LineageOS sur le téléphone et Firefox à la maison, je suis coincé si je stocke tout dans le trousseau local de Firefox.

      Réponse
      • 7 novembre 2017 à 16 h 12 min
        Permalink

        Merci pour ta réponse 😉
        Et non pas de méchanceté vu que c’est constructif ^^
        Oui ce n’est pas open source, mais (avis perso) l’algorithme de cryptage utilise est open source et c’est du off-line du coup je stocke le fichier crypte sur ma machine et le mdp du cryptage c’est dans ma tête 🙂

        Pour Firefox effectivement tu as raison, mais bon c’est juste pour info au cas ou pour les gens qui ne connaissent pas cette option :p

        Amicalement ^^

        Réponse
        • 7 novembre 2017 à 16 h 36 min
          Permalink

          Après le but n’était pas d’être exhaustif quant au panel de solutions (on aurait pu citer Lesspass également, tu peux regarder, c’est offline et libre *mais* basé sur des dérivés de clés (pas parfait mais très bon quand même).

          L’algo de _chiffrement_ (rappel important : cryptage n’existe pas) est public oui, mais attention : si on sait qu’il est à ce jour robuste, le fait que Enpass soit un logiciel privateur pousse au minimum à envisager 2 choses :
          (1) que l’éditeur indique utiliser AES-256 mais ne le fasse pas (pas d’accès au code == zéro garantie que ce soit le cas, juste c’est la norme donc autant afficher comme les autres)
          (2) que l’éditeur utilise bel et bien AES-256 mais implémenté comme un sagouin à la sauce maison (et que du coup ça affaiblisse l’ensemble). Pas de garantie non plus, puisque code pas auditable (et pas d’audit tiers diligenté par l’éditeur)

          C’est là que toute la notion de confiance prend sens : je n’ai pas pour habitude de me baser sur la bonne foi supposée d’un éditeur et encore moins sur une page « Security » shiny 😉

          Réponse
  • 7 novembre 2017 à 21 h 16 min
    Permalink

    Bonsoir;

    Comme l’indique clairement le dessin en bas de l’article, un bon mot de passe n’est pas complexe mais long.
    Un John the ripper arrivera toujours à casser un mot de passe, le facteur temps est alors prédominant. Plus le mot de passe est long, plus le temps pour le casser sera important.

    Une petite vidéo : https://www.youtube.com/watch?v=8ewAlL5z1HI

    Réponse
  • 8 novembre 2017 à 10 h 37 min
    Permalink

    Hello!

    Article bien intéressant, merci! 😉

    J’étais assez curieux de lire ton opinion sur la complexité des mots de passe, et en particulier sur la combinaison des différents types de caractères. Je suis plus de l’école qui favorise un mot de passe long, quitte à ne pas avoir de caractères spéciaux, mais plus facile à mémoriser / à trouver. Le XKCD à la fin de ton article illustre d’ailleurs parfaitement mon propos.

    Ceci étant dit, on peut aussi partir du principe que si l’on utilise un gestionnaire de mot de passe, le côté mémorisable n’est plus pertinent (quoique, tu vas encore avoir besoin d’en retenir quelques uns, comme ton mot de passe maître :)).

    Quel est ton avis là-dessus?

    Par rapport à OneTimePad, j’ai du mal à la trouver, une idée?

    Tchao!

    Réponse
    • 8 novembre 2017 à 15 h 00 min
      Permalink

      Salut SimSim ! Content de te (re)voir par ici 😉

      Je suis pas fondamentalement opposé à rallonger les mots de passe pour ne garder que l’alphanumérique. En fait, tout l’objet de l’article, c’est de montrer tout ce qui existe, et de se dire qu’il faut un « minimum », un compromis entre complexité pour l’utilisateur et résistance aux éventuelles attaques (brute-force, social engineering…). C’est sur le même fondement que, si tu lis la reco de la CNIL, tu verras que la longueur « minimale requise » décroit si on multiplie les types de caractères. Rallonger le mot de passe en ne combinant que 2 ou 3 critères de complexité fait totalement sens.

      Du coup, oui, on peut se dire que c’est en partie résolu avec un gestionnaire, et là on peut protéger son coffre par un mot de passe plus long, mais moins complexe 😀

      Pour ce qui est de OneTimePad : F-Droid a fait très récemment le choix de ne pas afficher les applications du dépôt « Archive » dans les pages du site officiel. Et comme OneTimePad n’a pas été modifié pendant plusieurs mois, ils l’ont dans le même temps basculé du dépôt principal au dépôt d’archive… Mais l’inverse n’a pas encore été fait (OneTimePad a été mis à jour la semaine dernière) et ne le sera peut-être pas (le développeur a annoncé que pour lui l’app était complète/terminée).
      Du coup, j’ai au mieux le lien du wiki, qui reprend les infos de l’ancienne page dont le lien vers le Github : https://f-droid.org/wiki/page/com.onest8.onetimepad
      Sinon, tu peux activer le dépôt « Archive » dans ton F-Droid sur smartphone, actualiser les dépôts et accéder au descriptif habituel.

      N’hésite pas si tu as d’autres questions/suggestions !

      Je vais sans doute rajouter un truc sur la conception des mots de passe et l’influence de l’ordre des critères (typiquement si le site te met une erreur « il faut utiliser des chiffres » il y a 99% de chances pour que l’internaute le fasse en plaçant des chiffres à la fin du mot de passe, et ces motifs sont utilisés par les hackers pour diminuer le temps nécessaire pour péter les mots de passe… Mais je ne retrouve plus les sources 🙁

      Réponse
      • 10 novembre 2017 à 20 h 35 min
        Permalink

        On est assez d’accord du coup sur l’aspect complexité du mot de passe ;).

        Merci pour OneTimePad! Je vais essayer d’y jeter un œil, pour remplacer mes 2FA configurés pour utiliser le code par SMS (j’ai du mal à me fier à Google Authenticator).

        Réponse
    • 10 novembre 2017 à 20 h 27 min
      Permalink

      Le XKCD en fin d’article explique plutôt que des mots de passe basés sur 4 mots simples sont beaucoup plus difficiles à trouver que la politique de partir d’un mot et de le prefixer/suffixer en même que de modifier quelques-une de ses compsantes.

      Lire https://www.driverscloud.com/fr/actualite/690-1/mot-de-passe-privilegiez-quatre-noms-communs-a-des-series-de-symboles-abscons

      Du coup, je ne comprends pas pourquoi personne ne propose cette méthode.

      Réponse
      • 10 novembre 2017 à 20 h 30 min
        Permalink

        On est bien d’accord.
        Je ne sais pas si « personne ne propose cette méthode », comme tu le dis, mais effectivement c’est encore minoritaire. Mais je pense que ça progresse :).

        Réponse
  • 10 novembre 2017 à 19 h 08 min
    Permalink

    Coucou,

    Je pars du principe qu’un mot de passe qu’on peut retenir est un mauvais mot de passe. Idem pour la taille, idéalement 16 caractères minimum. Pas d’excuse, keepass et d’autres sont disponibles en portable app (sur une clef fortement chiffrée évidemment) ou même sur ordiphone comme indiqué par Max.

    En ce qui concerne la génération de password, inutile de se prendre la tête à en « créer » un (sauf pour les utilisateurs novices ou certaines techniques de substitutions sont sympa), il existe, en plus des outils qui gèrent vos mots de passe, quelques trucs sympathique selon les situations demandées.

    Duckduckgo dispose d’un !bang comme « password 16 strong » => https://duckduckgo.com/?q=password+16+strong&t=h_&ia=answer pour en générer rapidement. Mettez le en bookmark et à chaque ouverture vous en aurez un nouveau !

    Pour les illuminatis qui pensent que Duckduckgo est géré par les chinois du FBI, ou pour les barbus qui sont uniquement en CLI dans des situations périlleuses (mise en prod en mode Spartiate dans 300 un vendredi à 18h) des simples commandes Linux, basées sur diverses choses (random, outils de crypto) peuvent aider:

    – 16 de long avec lettres
    cat /dev/urandom | tr -dc A-z | head –bytes 16

    – 10 de long avec lettres + chiffres
    cat /dev/urandom | tr -dc A-Z-a-z-0-9 | head -c10

    – via Openssl
    openssl rand -base64 16

    – via GPG
    gpg –gen-random –armor 1 16

    – Avec pwgen (pwgen TAILLE_PASSWORD NOMBRE_PASSWORD)
    pwgen 16 1

    – Basé sur la commande date, on empile des couches comme un porcelet roux
    date +%s | sha256sum | base64 | head -c 16 ; echo

    Mes deux centimes.

    o/

    Réponse
    • 10 novembre 2017 à 20 h 32 min
      Permalink

      A noter que Keepass propose justement de générer des mots de passe aléatoire (en pouvant préciser de nombreux critères).

      Et j’imagine que ce n’est pas le seul gestionnaire de mots de passe à le faire.

      Réponse
  • 10 novembre 2017 à 20 h 52 min
    Permalink

    Personnellement j’utilise KeePass et keepass2android.
    J’avoue utiliser Dropbox pour la synchronisation faute d’avoir trouvé mieux pour gérer la vie de nomade
    Bien sûr, j’utilise la double authentification sur Dropbox.
    Pour la double authentification, j’utilise FreeOtp.
    Des alternatives ?

    Réponse
  • 13 novembre 2017 à 17 h 34 min
    Permalink

    Bonjour,

    Il me semble qu’il y a andOTP sur F-Droid qui dérive du même ancêtre que OneTimePad (OTP Authenticator).

    Réponse
    • 13 novembre 2017 à 17 h 37 min
      Permalink

      Et sauf erreur de ma part, LastPass n’est pas libre 😉

      Réponse
  • 19 novembre 2017 à 13 h 04 min
    Permalink

    il y a également passbolt qui est vraiment pas mal et bien suivi en gestionnaire de mot de passe sous licence AGPL

    Réponse

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *