Faut-il imposer des règles de mots de passe à ses utilisateurs ?

Clément Michelet 11 minutes de lecture
Ordinateur portable partiellement fermé, dans la pénombre
Crédits: Philipp Katzenberger @ Unsplash

Aujourd'hui, il n'est pas rare d'entendre parler chaque mois d'une fuite majeure de données d’un fournisseur utilisateur, y compris parmi les grands acteurs du web, Okta, Twitter ou encore Linkedin pour ne citer que des noms assez connus. Dans de rare cas, un tweet involontaire d'un utilisateur peut même faire fuiter plusieurs mots de passe.

En quoi ces fuites concernent-elles les autres services ? Ces fuites alimentent les référentiels de mots de passe des pirates. Ces référentiels sont utilisés lors d'attaques pour tester l’accès et obtenir le contrôle de comptes utilisateurs sur d'autres services. Il suffit qu'un utilisateur utilise régulièrement le même email et mot de passe sur plusieurs services pour devenir une cible facile.

En tant qu'utilisateur, nous sommes habitués à devoir s'adapter à des règles de mots de passe qui changent entre chaque service. On retrouve fréquemment des règles de :

  • longueur minimum / maximum
  • présence de caractères spéciaux
  • renouvellement régulier

Ces règles sont parfois contraignantes pour l'utilisateur. Alors, quelle est la pertinence de ces règles dans la sécurisation du compte utilisateur ?

Cet article n'est pas une recommandation de sécurité pour un fournisseur de services. Il présente une réflexion sur l'impact de la sécurisation d'un mot de passe. Il existe déjà de nombreuses recommandations faites par des organismes reconnus comme l'OWASP ou l'ANSSI.

Les stratégies de mot de passe

Limitation du nombre de caractères

On retrouve régulièrement une contrainte de longueur minimum dans la taille du mot de passe qui se situe généralement entre 6 et 8 caractères.

Google (8 caractère) vs Facebook (6 caractères)

Plus le mot de passe sera long, plus il sera compliqué pour un pirate de le récupérer. Par exemple, il faut seulement 7 minutes pour casser un mot de passe de 8 caractères alphanumériques par force brute. Certains services sont plus stricts et imposent des longueurs minimales plus importantes.

Les utilisateurs choisissent dans la majorité des cas des mots de passe dont ils peuvent facilement se souvenir. Plus le mot de passe est long, plus le risque est important que le mot de passe soit oublié. Qu'est-ce que fait l'utilisateur pour éviter cela ? Il aura le réflexe d'écrire le mot de passe quelque part afin de le récupérer en cas d'oubli. Il pourra même vouloir le partager avec d'autres personnes via un post-it. Cette fuite de mot de passe est en dehors de la zone de contrôle du fournisseur de services.

Dans de rares cas, un service peut aussi limiter la taille maximum du mot de passe. Pour les utilisateurs classiques, cela n'aura pas d'impact. Pour les utilisateurs avertis, cela les empêchera de faire un choix de mot de passe complexe et donc réduira la sécurité du compte. Pour quelle raison des services choisissent-ils de mettre en place une limite maximum ? Cela pourrait être dû à une contrainte technique de stockage et pourrait indiquer de potentielles failles dans ce stockage.

Apple limite la longueur d'un mot de passe à 63 caractères maximum

Cette règle n'impacte pas l'expérience utilisateur tant que celle-ci définit une limite minimum raisonnable. La tendance est entre 6 et 8 caractères. Cependant, il est préférable d'avoir un mot de passe d'une longueur minimum de 10 à 12 caractères afin d'être compliqué à récupérer.

Imposer des caractères et des majuscules ou minuscules

Il existe plusieurs variations autour de cette règle notamment de :

  • commencer ou finir par un type de caractères
  • contenir un minimum d'un type de caractères
  • contenir un minimum de lettres en minuscules et majuscules

Plus l'étendu de caractères autorisés est important, plus le mot de passe est compliqué à casser. Voici par exemple les possibilités pour la langue française :

Variété de caractères Possibilités
Numériques (0-9) 10
Alphabétiques sans accents (a-z) 26
Alphanumériques sans accents et avec minuscules / majuscules (a-z, 0-9) 62
Alphanumériques sans accents, avec minuscules / majuscules et caractères spéciaux 90

Il existe encore aujourd'hui des services limitant les caractères autorisés dans les mots de passe. Cette contrainte va imposer à l'utilisateur d'envisager une variation de son mot de passe habituel. Il doit alors mémoriser plusieurs mots de passe similaires. Comme chaque service impose ses restrictions, l'utilisateur peut avoir autant de variations du même mot de passe que de services. En cas de trou de mémoire pour accéder à un service, il est difficile de retrouver quelle variation a été utilisée sur ce dernier. Cela peut même être bloquant pour les services qui coupent l’accès au compte après plusieurs échecs infructueux de connexions. Heureusement, les navigateurs intègrent désormais un gestionnaire de mot de passe afin de ne plus avoir à mémoriser les mots de passe.

Google n'autorise pas tous les caractères dans le mot de passe

L'affichage d'une jauge de force de mot de passe ainsi que des objectifs pour la complexité du mot de passe apporte un côté ludique. L'utilisateur réceptif sera tenté de maximiser sa réussite. Par cette approche positive, cela amène l'utilisateur à coopérer pour la complexification de son mot de passe. Pour les plateformes intégrant des fonctionnalités de serious gaming, on peut même imaginer une récompense pour les utilisateurs choisissant un mot de passe complexe.

Apple affiche la force du mot de passe et suggère des règles

Autoriser une large diversité de caractères dans un mot de passe augmente la complexité théorique de celui-ci. Cependant, plus les règles sont nombreuses et complexes, plus il sera difficile à l'utilisateur de trouver un mot de passe au risque de le frustrer. L'éducation de l'utilisateur est ici plus importante que l'application des règles. Cela facilite sa compréhension des enjeux de sécurité et surtout sa coopération.

Interdire les mots de passes simples ou facilement identifiable

Chaque année, on retrouve un palmarès des mots de passe les plus utilisés. Cela rappelle à quel point un certain nombre d'utilisateurs ne sont pas sensibilisés à la sécurité ou ne trouvent pas cela important. Certains services ont décidé d'interdire ces mots de passe courants comme azerty, password ou 123456.

Paypal interdit les mots de passes commençant par "azerty"

Le principal problème avec cette règle n'est pas du côté utilisateur, mais du côté du fournisseur de services. Il est nécessaire de maintenir une liste des mots de passe les plus courants. Celle-ci va avoir tendance à grossir avec le temps et être de plus en plus complexe à gérer. Cependant, elles ne seront jamais exhaustives et elles n'apportent pas une sécurité plus importante sauf pour les éléments majoritaires de cette liste. En sus de bloquer les mots de passe courants, dans le cadre d’une entreprise, il peut être plus important d’identifier ces utilisateurs ayant ce genre de mots de passe. Cela permettra de planifier des stages de sensibilisation à la sécurité afin de mieux initier ces utilisateurs aux problématiques de sécurité.

Une variante de cette règle est d'interdire les mots de passe contenant des références à des données personnelles comme la date de naissance, le prénom, le nom, etc. Ces dernières ne sont plus aussi personnelles qu'avant avec l’apogée des réseaux sociaux, mais aussi des nombreuses fuites de données personnelles. Il peut être assez simple de récupérer un jeu d'informations pour déterminer des permutations à base d'informations personnelles.

Cette règle peut être très pénible pour l'utilisateur habitué à un choix plus ouvert pour son mot de passe. Cela peut être perçu négativement et masquer le message sécuritaire. L'utilisateur pourra être tenté de modifier ses informations personnelles pour contourner cela ou se poser la question de la pertinence de fournir ses informations.

Interdire les mots de passe courants n'est pas vraiment gênant pour l'utilisateur et l'apport sécuritaire est négligeable. Interdire l'utilisation d'informations personnelles dans le mot de passe pourra être perçu comme une forte contrainte par l'utilisateur.

Renouveler régulièrement le mot de passe

On retrouve cette règle plus régulièrement dans les grandes entreprises que dans les fournisseurs de services. La périodicité du renouvellement peut varier : 1 mois, 6 mois, 1 an, etc. C'est en général à l'appréciation de la DSI.

Cela force les gens à renouveler régulièrement le mot de passe et réduit donc l'impact d'une fuite de données sur une ancienne sauvegarde de la base de données par exemple. Par contre, cela contraint l'utilisateur à mémoriser un nouveau de passe plus régulièrement ou le mettre à jour dans l'ensemble des gestionnaires de mots de passe. L'utilisateur pourrait également être tenté de noter le nouveau mot de passe sur un post-it, comme pour le cas où le service exige un mot de passe très long.

Lorsqu'on impose trop régulièrement le renouvellement, l'utilisateur peut entrer dans un réflexe mécanique pour le choix de son mot de passe. Lors d'une prestation, j'ai eu besoin d'un compte d'un utilisateur. On m'a alors fourni le mot de passe d'un compte existant. La DSI avait imposé un renouvellement du mot de passe tous les 3 mois. Le mot de passe se terminait par 1 nombre et ce nombre était mis à jour à chaque renouvellement. Il contenait des données personnelles facilement récupérables via le profil Facebook public de l'utilisateur. Comme il était facile de prédire la prochaine variation du mot de passe, la force du mot de passe était faible malgré une longueur supérieure à 8 caractères.

Si le renouvellement de mot de passe n'intervient pas assez régulièrement, l'utilisateur ne percevra pas nécessairement l'intérêt néanmoins s'y conformera. Par contre, la fuite d'une ancienne base de données sera plus risquée pour l'ensemble des utilisateurs. Celle-ci pourra contenir des mots de passe toujours actifs.

Une alternative serait de suggérer régulièrement à l'utilisateur de renouveler son mot de passe. Par exemple, un service en ligne pourrait proposer une option afin que l'utilisateur soit notifié périodiquement pour lui suggérer de renouveler son mot de passe. Il faut laisser le choix à l'utilisateur de la périodicité et l'intérêt de renouveler régulièrement son mot de passe. Cela peut également avoir un effet bénéfique pour le réengagement de l'utilisateur. Il pourrait revenir sur le site en recevant la notification lui suggérant de renouveler son mot de passe.

Cette règle n'est pas fortement contraignante pour l'utilisateur à partir du moment où la périodicité est raisonnable sans être trop longue pour être efficace. La communication et l'autogestion de l'utilisateur pourra apporter un effet similaire, moins contraignant mais également moins efficace.

Ne pas permettre de réutiliser un précédent mot de passe

Souvent mis en place en parallèle de l'obligation de changer régulièrement de mot de passe, l'obligation de ne pas réutiliser un précédent mot de passe a également un impact très similaire à celle-ci. Certaines sociétés imposent de ne pas réutiliser le dernier mot de passe, d'autres imposent une interdiction sur un plus grand nombre d'anciens mots de passe.

Facebook garde l'historique de mot de passe

Du côté utilisateur, la gêne occasionnée dépend de la périodicité du renouvellement du mot de passe et de la taille de l'historique de mots de passe. Cette règle augmente également le risque que l'utilisateur choisisse un schéma pour créer son mot de passe.

Pour le fournisseur de services, cela veut dire qu'en parallèle de la base de données utilisateurs à sécuriser, il devra maintenir une base de données de mots de passe. Cette nouvelle base sera de grandes valeurs pour les pirates qui auront un dictionnaire de mot de passes pour chacun des utilisateurs. Le coût d'une fuite de données sera alors plus grave pour les utilisateurs. Pour diminuer la valeur de cette base, le fournisseur devra mettre en place un mécanisme de nettoyage des données pour retirer les mots de passes qui seront hors des limites de conservation de l'historique.

Cette règle impacte légèrement les utilisateurs. Elle peut également facilement être contourné. Par contre, sa mise en place a un coût pour le service et augmente l'impact d'une fuite de données.

Quelles alternatives aux règles ?

Quand le mot de passe devient un problème pour le service, il faut explorer des systèmes alternatifs pour déléguer la gestion du mot de passe ou de ne plus avoir besoin de celui-ci.

Utilise l'authentification unique

Un exemple est l'authentification par certificat. Que ce soit pour accéder à un serveur ou à un service en ligne, le certificat occupe le rôle d'identifiant et de mot de passe. Le problème étant qu'en cas de perte ou de récupération du certificat sans mot de passe, le compte sera alors totalement vulnérable. Un autre exemple est de proposer de s'authentifier par un service externe (SSO) afin de déléguer la responsabilité de l'authentification.

Connexion à impots.gouv.fr avec le SSO FranceConnect

Ajouter un facteur dans l'authentification

L’authentification à multiples facteurs est un concept très ancien malgré le fait que ce soit de plus en plus mis en avant de nos jours. Par exemple, l'authentification à 2 facteurs en utilisant une clé RSA SecurID existent depuis 1993. Celle-ci génère un jeton à saisir en complément du mot de passe. Ce principe d’authentification a notamment été utilisé jusque dans le monde du jeu vidéo notamment dans les jeux en ligne. On peut citer Battle.net Authenticator en précurseur.

Clé de sécurité pour le jeu en ligne Star Wars: The Old Republic

Aujourd'hui, on trouve des clés pour s'authentifier directement à son ordinateur, des applications pour générer des jetons d'identifications, etc. Cette authentification à 2 facteurs apporte une sécurité supplémentaire. Elle nécessite de posséder un élément en plus du traditionnel couple identifiant / mot de passe qui n'est pas accessible directement via le service et donc normalement inaccessible aux pirates. Par voie de conséquence, la fuite d'un mot de passe ne devient plus une fatalité pour l'utilisateur.

Ne pas utiliser de mot de passe

Certains services proposent de s’authentifier sans mot de passe en complément ou remplacement d’une authentification sans mot de passe. Le principe est similaire à l’authentification à plusieurs facteurs. Il utilise les mêmes facteurs sans nécessité l’utilisation d’un mot de passe. En effet, cela passe par l’utilisation d’un élément en possession de l’utilisateur (email, téléphone, clé d’authentification, etc.) ou d’un élément d'identification de l’utilisateur (empreinte digitale, reconnaissance faciale ou vocale, etc.). Il existe même des variantes sur la proximité d’éléments comme un réseau WIFI ou des appareils bluetooth.

Configuration de l’authentification par empreinte digitale sur Android

L’expérience utilisateur est facilitée car il ne lui est plus nécessaire de mémoriser un mot de passe. Il a uniquement besoin d’utiliser le moyen nécessaire à l’authentification. Par exemple, l’authentification biométrique s’est rapidement démocratisée sur téléphone mobile par la facilité d’utilisation par rapport à l’utilisation d’un schéma ou d’un code PIN.

Cependant, certaines implémentations peuvent réduire la sécurité. Par exemple, dans le cadre de l’utilisation de lien magique pour l’authentification (envoi d’un email pour se connecter), la récupération d’un compte sur l’application par un pirate est facilitée en cas de prise de contrôle de la boîte mail. Dans ce cas, il serait nécessaire d’ajouter une authentification à plusieurs facteurs afin de ne plus donner l’accès à l’application en cas de piratage de la boîte mail.

Conclusion

En tant que fournisseur de services, il est nécessaire d’avoir conscience que la base de données utilisateurs peut fuir intégralement ou en partie. Il est tout aussi important en tant que fournisseur de services de limiter l'impact de cette fuite par des actions rapides et efficaces :

  • limitation du périmètre de fuites potentielles
  • notifications rapides et réinitialisation de mot de passe en cas de fuite
  • blocage de comptes en cas d'actions suspectes, etc.

Multiplier les contraintes n'apportera pas systématiquement une sécurité supplémentaire. Avec la popularisation des gestionnaires de mot de passe, que ce soit celui inclus dans le navigateur ou en utilisant un logiciel tiers, l'impact sur l'expérience utilisateur tend à se réduire. Les alternatives aux mots de passe ou l'authentification à 2 facteurs peuvent également apporter une sécurité supplémentaire.

En favorisant l'expérience utilisateur et la sensibilisation, l'utilisateur devient alors responsable. Si celui-ci ne veut pas augmenter la protection de son compte, cela sera son choix et non pas celui qu'on lui impose.

Faut-il imposer des règles de mot de passe à ses utilisateurs ? Oui, mais de façon raisonnable.