La CNIL a répondu à nos questions sur les sites et services qui utilisent un identifiant interne à la place de l’email et sur les conséquences que cela peut avoir sur les exigences de sécurité. L’actualité a été mise à jour en conséquence.
De trop nombreux services ne respectent toujours pas les règles élémentaires de sécurité sur les mots de passe. On ne parle pas ici des utilisateurs qui doivent en utiliser de suffisamment robustes, mais des sites et services qui les envoient par email, les stockent en clair dans leurs bases de données ou imposent des règles étranges. Voici un petit florilège de ce qu’il ne faut pas faire.
Au début de l’année, nous avions lancé un appel afin que vous nous fassiez part de vos retours d’expérience sur la gestion des mots de passe. Peu de temps avant, nous étions en effet tombés sur Wekiwi qui multipliait les faux pas, et c’était peu de le dire.
- Wekiwi envoie des mots de passe en clair, le service client les renvoie à une adresse email non vérifiée
- Gestion catastrophique des mots de passe par des sites et services : faites-nous part de vos expériences
Hacher et saler : on ne stocke pas directement les mots de passe
Si des mauvaises pratiques sont malheureusement encore trop courantes sur Internet, il est important de rappeler quelques principes généraux avant d’entrer dans les détails. La première, triviale, est que « les mots de passe ne doivent jamais être stockés en clair », martèle la CNIL :
« Lorsque l’authentification a lieu sur un serveur distant, et dans les autres cas si cela est techniquement faisable, le mot de passe doit être transformé au moyen d’une fonction cryptographique non réversible et sûre [scrypt et Argon2 sont cités en exemple, ndlr], intégrant l’utilisation d’un sel ou d’une clé ».
Et, pourtant, au fil des fuites de données, on apprend plus ou moins régulièrement que des mots de passe en clair (ou avec un chiffrement faible) se retrouvent dans la nature. Utiliser une fonction cryptographique non réversible permet de vous protéger : le pirate ne pourra normalement pas retrouver votre mot de passe à partir de son empreinte… si les choses sont bien faites évidemment.
Mot de passe en clair dans un mail, c’est non !
Un premier cas revient souvent dans les mails que nous avons reçus : après inscription, le service envoie le mot de passe en clair à l’utilisateur. Premier point : cela ne signifie pas obligatoirement que le mot de passe est stocké en clair. Le site peut le récupérer directement du formulaire d'inscription, l’envoyer par mail, puis le hacher et saler avant de le sauvegarder dans sa base de données.
Par contre, si l'on utilise la fonction de passe perdu et qu’on le reçoit en clair, c’est une autre histoire. Cela signifie soit qu’il est stocké en clair, soit qu’il est chiffré, mais que la société détient de toute façon la clé. Dans les deux cas, cette pratique est à proscrire, mais elle est encore utilisée par certains en 2023. Hacher et saler ne permet pas de retrouver le mot de passe d’origine, c’est tout l’intérêt.
Quelle que soit la situation, on ne devrait pas recevoir de mot de passe (en clair) par email, que ce soit à l’inscription ou en cas de mot de passe perdu. La CNIL est d’ailleurs très claire sur le sujet dans ses recommandations de 2022 (et c’était déjà le cas en 2018) :
« À l'exception des envois par voie postale, les mots de passe ne doivent pas être communiqués à l'utilisateur en clair, notamment par courrier électronique. Seuls des mots de passe temporaires ou à usage unique devraient être communiqués aux utilisateurs ».
Oui, mais vous comprenez… « c’est plus simple »
Nous avons également reçu des témoignages de développeurs, à qui l’on demande d’implémenter une fonction pour envoyer des mots de passe par emails. « J'ai protesté, en expliquant que l'envoi d'un mot de passe en clair par e-mail était contraire aux règles élémentaires de sécurité, et qu'il fallait plutôt envoyer un lien de réinitialisation du mot de passe. Mais il m'a été rétorqué que les utilisateurs qui contactent le support client ne sont pas assez doués pour ça », nous explique l’un d’entre eux. L’excuse du « c’est plus simple » revient malheureusement souvent.
Pour rappel, l’envoi d’un mot de passe en clair dans un email vous expose à plusieurs risques. Si votre boite est piratée, il suffit à une personne malintentionnée de parcourir vos messages pour retrouver les mots de passe envoyés lors de la phase d’inscription ou de la procédure de mot de passe perdu. Elle peut alors se connecter à votre place.
Longueur et caractères spéciaux : attention aux non-dits
Le deuxième point qui revient souvent concerne la longueur des mots de passe. Un utilisateur nous explique ainsi qu’un service « bloque les mots de passe à 20 caractères, mais sans le dire. Très pratique pour ne pas comprendre après coup pourquoi le mot de passe généré ne marche pas ».
Un autre nous relate que le mot de passe est limité à « 16 caractères max et pas tous les caractères spéciaux, ce qui dans un premier temps surprend lorsqu'on reste bêtement sur la page de renouvellement sans savoir pourquoi et ce parce qu'on a utilisé un { au lieu d'un [ ».
« Au moment de la création de mon mot de passe, je me suis rendu compte que l'on devait choisir entre 8 et 12 caractères, impossible d'en mettre plus, je n'ai donc pas pu utiliser celui que je voulais », nous explique une autre personne.
La CNIL et l’ANSSI sur la longueur des mots phrases de passe
La CNIL explique qu’il « convient de fixer une taille maximale pour les champs des mots de passe », mais prend soin d’apporter des précisions pour éviter de se retrouver avec 12 ou 16 caractères maximum :
« Celle-ci doit être suffisamment grande pour permettre l'utilisation de phrases comme mots de passe, tout en évitant les attaques par déni de service résultant du traitement d’un mot de passe abusivement long. Leur taille maximale ne saurait en principe être inférieure à 50 caractères pour une authentification par mot de passe avec ou sans restriction de compte (cas no 1 et 2). Elle pourra être, par exemple, de l’ordre de quelques centaines de caractères ».
À l’ANSSI, on souffle le chaud et le froid, mais on est finalement assez raccord avec la CNIL. En effet, la recommandation 22 indique clairement : « Ne pas imposer de longueur maximale pour les mots de passe. Selon les systèmes, il est recommandé de ne pas fixer de limite à la longueur maximale d’un mot de passe afin de permettre aux utilisateurs d’avoir recours à des phrases de passe ou longs mots de passe ».
L’Agence précise néanmoins que, en pratique et selon les systèmes utilisés (application Web ou Windows par exemple), « il paraît néanmoins raisonnable de fixer une valeur limite (plusieurs centaines de caractères par exemple) afin de ne pas s’exposer à de potentielles attaques en déni de service (qui consisterait à soumettre des mots de passe de plusieurs Mo au vérifieur et pouvant prendre plusieurs minutes à traiter) ».
- Phrases de passe : l'ANSSI passe en mode 2.0
- Phrases de passe : la CNIL passe elle aussi en mode 2.0
D’autres sites et services ne simplifient pas la vie de ceux utilisant un gestionnaire de mots de passe. Certains « désactivent la possibilité de coller un mot de passe dans le champ pour confirmer son mot de passe. Cela rend de fait très compliqué l'utilisation d'un gestionnaire de mots de passe de type KeePass, abaissant ainsi potentiellement la sécurité de son mot de passe », nous explique un lecteur par email.
Notez que ce n’est pas parce que le copier/coller est désactivé dans un champ texte qu’un gestionnaire de mots de passe ne peut pas y insérer le mot de passe automatiquement. Nous avons déjà rencontré plusieurs fois ce cas de figure sur des sites.
Entropie mon amie
De son côté, la CNIL ne parle plus de longueur minimum de mot de passe, mais d’entropie. Dans ce contexte, il s’agit de « la quantité de hasard. Pour un mot de passe ou une clé cryptographique, cela correspond à son degré d’imprédictibilité théorique, et donc à sa capacité de résistance à une attaque par force brute ». On peut aussi parler de la « force » ou de la « résistance » du mot de passe.
La Commission nationale de l'informatique et des libertés propose un outil pour calculer l’entropie d’un mot de passe. Elle précise aussi qu’il est aussi possible de réaliser un calcul dynamique de l’entropie directement dans un champ HTML, via un code JavaScript.
Elle donne trois exemples équivalents en termes d’entropie :
- « les mots de passe doivent être composés d'au minimum 12 caractères comprenant des majuscules, des minuscules, des chiffres et des caractères spéciaux à choisir dans une liste d'au moins 37 caractères spéciaux possibles ;
- les mots de passe doivent être composés d'au minimum 14 caractères comprenant des majuscules, des minuscules et des chiffres, sans caractère spécial obligatoire ;
- une phrase de passe doit être utilisée et elle doit être composée d’au minimum 7 mots. »
La Commission définit « un niveau minimal générique de 80 bits d'entropie pour un mot de passe sans mesure complémentaire ». Lorsque des mécanismes de restriction d’accès sont ajoutés, l’entropie descend à 50. Cela peut être une temporisation d'accès au compte après plusieurs échecs, un nombre maximal de tentatives autorisées dans un délai donné, un Captcha, le blocage du compte après 10 échecs, etc.
Enfin, on passe à une entropie de 13 seulement si la personne détient du matériel « en propre », comme une carte SIM ou une carte bancaire, avec un blocage au bout de trois tentatives échouées. Une entropie de 13 correspond à un code PIN à quatre chiffres, les cartes bancaires sont donc dans les clous.
Utiliser un identifiant interne à la place d’un email
Une question se pose lorsque l’identifiant n’est pas l’email, mais une chaine alphanumérique générée par le service. Un exemple remonté par un utilisateur d’une compagnie aérienne :
« Après avoir installé BitWarden, je me suis rendu compte que mon compte […] est protégé par un mot de passe à six chiffres, et en fait c'est obligatoire. Oui, vous avez bien lu, on ne peut taper que des chiffres... et que six chiffres. La seule chose rassurante, c'est que l'identifiant n'est pas l'adresse email, mais une chaine de caractères qui commence par [deux lettres] suivies de neuf chiffres ».
Selon le référentiel de la CNIL, l’entropie du mot de passe à six chiffres est loin d’être suffisante, même si des mécanismes de restriction d’accès sont ajoutés. Dissocier l’email permet-il de renforcer la sécurité ? Dans ce cas, quelle serait l’entropie minimum ?
La CNIL nous répond qu’un « identifiant interne n’allège en principe pas, au regard de la nouvelle recommandation, l’exigence de sécurité (donc l’entropie) sur le secret lui-même (qui d’ailleurs n’a pas vocation à être connu par l’employeur ou le service) ».
Néanmoins, « il n’est pas nié que cette modalité peut contribuer à améliorer la sécurité du dispositif, notamment en diminuant le risque d’attaques par réutilisation de couples identifiant/mots de passe récupérés via une autre source par un attaquant éventuel ».
Enfin, la Commission nous précise que « l’identifiant ne saurait être assimilé à un secret partagé dans la mesure où, d’une part, il est stocké en clair dans la base de données et, d’autre part, il est difficilement possible de le modifier en cas de compromission. D’une manière plus générale, lorsque l’authentification repose sur un secret partagé, alors il faut appliquer la recommandation à ce dernier, ce qui inclue notamment les exigence de stockage et de renouvellement ».
L’authentification forte « encouragée », mais pas assez répandue
Enfin, rappelons que la CNIL « encourage la mise en œuvre d’une double authentification, ou authentification forte, lorsque cela est possible ». En vertu de l’article 32 du RGPD, c’est même indispensable dans certains cas, notamment « lorsqu’il y a des risques importants pour les personnes dans le cas d’une usurpation de compte ».
La double authentification permet pourtant de grandement limiter les risques puisque, en cas de fuite de votre mot de passe, il faudra avoir en plus un code unique pour accéder au service (notez que la CNIL recommande de ne plus utiliser le SMS). Si vous recevez un code alors que vous n’êtes pas en train de vous connecter, c’est signe qu’une tentative de piratage est en cours.
Enfin, certains services envoient également un message à chaque nouvelle connexion, vous permettant de recevoir immédiatement une alerte en cas de piratage.
Envoyez-nous vos expériences !
Dans un prochain article, nous reviendrons en détails sur les services qui font encore n’importe quoi avec les emails de leurs utilisateurs… et ils sont malheureusement nombreux. Pour rappel, vous pouvez nous faire part de vos retours à cette adresse :