CNIL et mots de passe : nouvelle recommandation par la prise en compte des évolutions techniques
Une mise à jour attendue et nécessaire
Dès l’article 1er de sa recommandation, la CNIL opère un renvoi vers l’article 32 du Règlement Général sur la Protection des Données (RGPD), lequel impose que « tout traitement de données à caractère personnel soit protégé par des mesures techniques et organisationnelles appropriées aux risques spécifiques que le traitement fait peser sur la protection des données à caractère personnel« . Voilà qui indique bien, si tant est que nous ne le sachions pas déjà, que le RGPD et la cybersécurité sont intimement liés. Cette recommandation, qui se base sur les constats récents en matière d’attaques informatiques, a pour objectif de :
définir les exigences techniques minimales pour les authentifications par mots de passe ou par tout autre secret non partagé (à l’exception des clés et secrets cryptographiques) mis en œuvre dans le cadre de traitements de données à caractère personnel.
Etant précisé que, cette recommandation n’a pas de caractère normatif mais vient présenter l’état de l’art auxquels les responsables de traitement devraient se conformer pour respecter (partiellement) les obligations de l’article 32 du RGPD.
Le contenu de cette nouvelle recommandation
Règles de définition du mot de passe
En pratique, quel changement est apporté aux précédentes lignes directrices de la CNIL en matière de mots de passe ? Et bien désormais, la CNIL expose un discours beaucoup plus technique que par le passé mais aussi finalement vraisemblablement plus flou. Dans un premier temps voici la définition du mot de passe tel que proposé par la CNIL :
Le terme « mot de passe » désigne, dans cette délibération, tout facteur de connaissance, c’est-à-dire tout ensemble d’informations révocation, connu uniquement de la personne concernée et permettant ou contribuant à l’authentification de celle-ci ; il inclut, notamment, les « phrases de passe » (réputées plus longues que les mots de passe) et les codes de déverrouillage, et exclut les clés et secrets cryptographiques.
Voici ensuite, la règle générale proposée pour la définition de mot de passe suffisamment robuste. Le mot de passe doit garantir un niveau minimal de sécurité reposant :
…d’une part, sur une longueur et une complexité suffisantes, équivalentes à une entropie de 80 bits sans mesure complémentaire et, d’autre part, sur des règles de mise en œuvre et de gouvernance permettant de préserver la sécurité du mot de passe tout au long de son cycle de vie.
L’entropie est la « quantité de hasard contenue dans un système ». La CNIL indique que pour « un mot de passe ou une clé cryptographique, cela correspond à son degré d’imprédictibilité, et donc à sa capacité de résistance à une attaque par force brute« . Par exemple, un code de carte bancaire composé de 4 chiffres équivaut à une entropie de 13 bits. Voici le calcul à opérer pour identifier le nombre de bits de ce mot de passe :
Un code de carte bancaire à quatre chiffres décimaux pris au hasard, valant chacun de « 0 » à « 9 », donne 10 000 combinaisons possibles (10 à la puissance 4, noté 104). Pour obtenir un nombre de combinaisons binaires équivalent, il faut utiliser 13 bits, car 2 à la puissance 13 (ou 213) vaut 8192, qui est du même ordre de grandeur que 104. On dira donc qu’un code de 4 chiffres décimaux aléatoires possède une entropie de 13 bits. Ces calculs peuvent s’appliquer à tout ensemble de caractères : 26 choix possibles par caractère pour des lettres majuscules, 52 pour des lettres majuscules et minuscules, 62 si l’on y ajoute les chiffres, etc.
D’autres règles présentées par la CNIL nous indique donc de ne pas recourir à un mot de passe contenant un mot du dictionnaire (seul), même altéré, car cela facilite les attaques par dictionnaire. La langue impliquant forcément des suites de lettres compatibles les unes avec les autres, le caractère aléatoire recherché en est limité. Idem pour leur dérivation comme par exemple à partir du mot « kangourou » : « k4ngourou », « kangourou01 », « KaNgOuRoU », « Kangourou_1969 ».
Ainsi, lorsque les utilisateurs ont la liberté de choisir un mot de passe qui n’est pas strictement aléatoire, pour conserver l’entropie, il est nécessaire de mettre en place une politique de mots de passe privilégiant la longueur par rapport à la complexité. Il est également recommandé aux utilisateurs de pas utiliser dans la construction de leur mot de passe, d’informations personnelles (date de naissance, prénoms des proches, etc.) ce qui a pour effet de faciliter les attaques ciblées.
Cette recommandation indique par ailleurs qu’en fonction du type de données faisant l’objet du traitement, des mesures plus contraignantes devront être définies. Ce sera le cas par exemple concernant des données de santé.
Il est également rappelé en lien encore une fois avec le RGPD et le principe d’accountability que l’entreprise qui recourt à une authentification reposant sur des mots de passe doit définir une politique de gestion des mots de passe rédigée par les acteurs en charge de la sécurité et des moyens informatiques de l’organisme (RSSI, DSI, DPO par exemple). De même des actions doivent être menées par les entreprises afin de sensibiliser et former les utilisateurs à ces bonnes pratiques, à l’utilisation d’un gestionnaire de mot de passe, ou à la mise à disposition « d’indicateurs pouvant leur permettre d’évaluer, au moment de la création d’un nouveau mot de passe, la robustesse de ce dernier ».
Il va de soi également que, lorsqu’un processus définit un mot de passe par défaut pour un utilisateur (générés automatiquement ou non), ce mot de passe doit être fourni pour un usage temporaire et sa modification doit être imposée à la première connexion (avant même que l’utilisateur ne puisse effectuer d’autres actions). En tout état de cause, ce mot de passe temporaire doit être défini pour une durée limitée dans le temps.
De la même manière, les mots de passe ne doivent pas être communiqués à l’utilisateur en clair par courrier électronique ou d’autres biais (à l’exception selon la CNIL par voie postale…). Les mots de passe connus ne devraient pas être acceptés, et en cas d’échec de création de mots de passe, un rappel des règles de la politique de mot de passe doit être présenté à l’utilisateur.
Règles de conservation et protection du mot de passe
En tout état de cause, le mot de passe ne doit JAMAIS être stocké en clair par le responsable de traitement ! Lorsque le mot de passe est conservé cependant, pour la vérification d’authentification, il doit être transformé au moyen d’une fonction cryptographique « spécialisée, non réversible et sûre […] intégrant un sel et des paramètres relatifs aux coûts en temps et/ou en mémoire nécessaires à son attaque«
Par « sel » il faut comprendre :
une donnée supplémentaire ajoutée systématiquement aux données devant être hachées (ici, les mots de passe) afin d’empêcher que deux informations identiques donnent la même valeur hachée sur deux systèmes informatiques différents. Utiliser un sel limite la possibilité qu’un attaquant déduise le mot de passe d’un utilisateur en consultant l’une des nombreuses bases de données de couples « mot de passe sans sel/valeur hachée » précalculés qui sont disponibles sur Internet
Ce sel doit être généré aléatoirement et avoir une longueur minimale de 128 bits. Celui-ci est généré pour chaque utilisateur et est stocké dans la même base de données que leurs mots de passe.
La CNIL recommande également la mise en œuvre d’un protocole de type PAKE (pour « Password Authenticated Key Exchange » dont l’objectif est de garantir la vérification des mots de passe sans que ceux-ci ne soient transmis en clair vers le serveur pour vérification.
Enfin, lorsque les mots de passe sont stockés dans une application, ce stockage doit avoir lieu dans des applications spécifiques de gestion de mots de passe qui se déverrouillent via un mot de passe maître (qui peut être également couplé à une double authentification ou authentification multifactorielle). Il faut donc à tout prix éviter les usages impliquant des bases de données de mots de passe dans des mails, fichiers EXCEL, WORD, etc.
S’agissant du renouvellement des mots de passe, la CNIL opère ici un changement de paradigme en indiquant que les responsables de traitement :
ne devraient plus imposer de modification périodique des mots de passe à l’ensemble de leurs utilisateurs. Une procédure de modification périodique reste cependant nécessaire pour les comptes à privilège (comptes d’administration) : une périodicité pertinente et raisonnable sera à définir en fonction des risques
Vous pourrez trouver d’autres recommandations pratiques (notamment en matière de renouvellement des mots de passe, de journalisation, de transmission ou de protocole TLS) dans la Recommandation de la CNIL disponible dans les sources de cet article.
Le webinar de la CNIL sur cette recommandation
Le webinar du 18.10.2022 proposé par la CNIL, devrait être prochainement disponible en replay sur le site de la CNIL. Dans ce cadre, une ingénieure et un auditeur des SI sont intervenus pour venir expliquer et présenter le contenu de cette nouvelle recommandation. A cette occasion, ils ont notamment pu présenter les différents cas (3) de figure dans lesquels les règles de robustesse des mots de passe peuvent varier (selon le niveau de l’entropie).
Une séance de questions/réponses a été menée afin de répondre aux interrogations des différents participants.
Un paradoxe dans l’évolution des recommandations versus la pratique ?
La CNIL, nous le rappelle : « En France, environ 60% des notifications (de violations de données) reçues par la CNIL depuis le début de l’année 2021 sont liées au piratage et un grand nombre aurait pu être évité par le respect de bonnes pratiques et à l’état de l’art« .
Le nombre de notifications constatées par la CNIL peut s’expliquer par deux éléments :
- Des règles qui étaient précédemment bien définies (plus précises au regard de la longueur et caractères) mais cependant non respectées et difficilement applicables auprès de personnes peu ou pas sensibilisées ;
- Des règles pas suffisamment robustes quand elles sont appliquées et dépassées par la pratique des pirates informatiques.
Cependant, la CNIL semble faire fi dans sa recommandation du premier cas de figure où les entreprises n’ont pas déployé de politique de mot de passe ou n’ont pas réussi à la faire appliquer par manque de sensibilisation/formation, outillage, compréhension du sujet etc. Le risque dans ce cas, c’est qu’en complexifiant (techniquement) cette recommandation en parlant notamment d’entropie et de sel, la diffusion des bonnes pratiques, ne pas prendre en compte la difficulté des utilisateurs à gérer leurs mots de passe (même si l’utilisateur in fine ne verra pas cette question de l’entropie qui doit être gérée par le responsable de traitement). Pour l’utilisateur cependant, les indicateurs présents dans les gestionnaires de mots de passe peuvent servir à interpréter ce niveau d’entropie :
La CNIL met à disposition dans une F.A.Q un code JavaScript pour calculer l’entropie d’un mot de passe entré dans un champ HTML, que voici :
function password_checker(password_field_id, change_callback) { var passwd_field = document.getElementById(password_field_id); ['change', 'keyup', 'keydown'].forEach(function(evt) { passwd_field.addEventListener(evt, function() { var passwd = passwd_field.value; var nb_chars = passwd.length; var alphabet_len = 0; if (/[a-z]/.test(passwd)) { alphabet_len += 26; } if (/[A-Z]/.test(passwd)) { alphabet_len += 26; } if (/\d/.test(passwd)) { alphabet_len += 10; } if (/[^A-Za-z0-9]/.test(passwd)) { // À modifier en fonction du nombre de caractères spéciaux autorisés. // S'il n'y a pas de limitation et que la population ciblée utilise très // majoritairement un clavier AZERTY, conserver la valeur 40. alphabet_len += 40; } var entropy = Math.floor(Math.log2(Math.pow(alphabet_len, nb_chars))); change_callback(entropy ? entropy : 0); }); }); change_callback(0); }
A noter également au travers de cette recommandation, l’abandon du renouvellement pour les utilisateurs « classiques » du système d’information (ce qui avait déjà été énoncé par la CNIL lors des confinements, puis par l’ANSSI lors de la mise à jour de ses recommandations en 2022).
Les organismes qui n’assurent pas un niveau de sécurité des données adéquat s’exposent à une réponse répressive de la CNIL en cas de contrôle (sur la base d’une plainte ou sur sa propre initiative). En cas de manquement grave au principe de sécurité, c’est une sanction pouvant aller jusqu’à 4% du chiffre d’affaires mondial ou 20 000 000€ qui est encourue. Cependant, la CNIL laisse un délai d’adaptation des organismes à cette nouvelle recommandation (sans préciser la durée de celui-ci). Cette recommandation ne doit pas être applicable strictement, mais le responsable de traitement doit s’il ne suit pas ces recommandations, appliquer des règles de sécurisation offrant un niveau de sécurité similaire.
Enfin, pour rappel, si en tant que responsable de traitement vous détectez une violation de données en rapport avec le ou les mots de passe de une ou plusieurs personnes, une notification auprès de la CNIL sera nécessaire (dans un délai n’excédant pas 72h à compter de sa découverte).
Stay tuned, stay safe ! 🚀
Sources :
- Publication de la CNIL
- Délibération n°2022-100 du 21 juillet 2022 portant adoption d’une recommandation relative aux mots de passe et autres secrets partagés, et abrogeant la délibération n°2017-012 du 19 janvier 2017