Les mots de passe vont disparaître
Ils sont partout et utilisés depuis les années 60. Leur invention est fréquemment attribuée à Fernando Corbató, l’un des pionniers des systèmes d’exploitation à temps partagé.
A l’origine, ils permettaient à plusieurs utilisateurs de partager une même machine en cloisonnant les espaces et en protégeant leurs données.
Comme sur les systèmes d’exploitation récents, chaque utilisateur se voyait attribuer un compte avec un mot de passe.
La différence la plus notable avec les méthodes récentes est la façon dont le stockage était réalisé : en clair dans un fichier texte, avec les mots de passe de tous les autres utilisateurs du système.
Certains pentesters et développeurs admettront que la méthode n’est pas encore totalement dépassée pour nombre de concepteurs de logiciels contemporains.
Les mots de passe ont toujours existé. Pourquoi vont-ils disparaître dans les prochaines années ?
Rendre la vie impossible aux utilisateurs
Informaticiens qui lisez cet article, vous savez exactement de quoi je parle.
Peu importe votre métier, et même si vous n’êtes pas directement le référent IT dans votre travail, vous l’êtes probablement dans votre cercle familial.
Et l’une de vos missions du dimanche est de permettre à vos proches de continuer à utiliser l’imprimante du salon qui s’est déconnectée du réseau domestique ou… à récupérer un compte Facebook perdu.
A travers ces tâches, vous savez inévitablement que le principe de gestion des mots de passe est impliqué, et que vous tentez tant bien que mal de faire appliquer les règles d’hygiène de base : le principe d’un mot de passe différent par service, sa complexité ou rotation régulière (qui n’est jamais suivie). Finalement, les mots de passe sont délégués à un gestionnaire dédié. On finit par gérer le gestionnaire lui-même, pour se simplifier la vie, en théorie, et pour appliquer des règles de sécurité (trop ?) rapidement obsolètes.
Une plaie, aussi pour les développeurs
Les mots de passe stockés en clair ont rapidement montré leurs limites lorsque les fuites de base de données sont devenues monnaie courante. Les premières contre-mesures ont consisté à appliquer un principe de hachage, et les algorithmes se sont rapidement succédés au fil des années. Leurs obsolescences successives ont forcé la défense à toujours reconsidérer la méthode de hachage employée, et à inévitablement laisser en production des systèmes qui utilisaient des méthodes de protection dépassées.
DES-based, MD5, SHA-1, et plus récemment les méthodes recommandées comme bcrypt, scrypt, PBKDF2 et Argon2, le tout combiné à l’usage des sels et poivres pour complexifier les tentatives de recouvrement du clair depuis le condensat.
Stocker les mots de passe de façon sécurisée est une tâche complexe et l'état de l’art à ce sujet évolue trop fréquemment.
L’authentification multifacteur actuelle est un échec
Etant donnée que la gestion des mots de passe n'était pas assez complexe, un nouveau concept a été introduit : l’authentification multifacteur. Au fil des années et avec le perfectionnement des attaques, la défense a réalisé qu’un mot de passe pouvait s’obtenir plus ou moins facilement, notamment par ingénierie sociale.
Il fallait trouver une façon de parer la situation dans laquelle l’attaquant connaissait le mot de passe de la victime. On a donc décidé qu'une bonne solution serait de demander régulièrement à tous les utilisateurs s'authentifiant par mot de passe, de le faire d'une façon supplémentaire, par exemple en prouvant la possession d'un appareil. Ainsi, en plus de prouver la connaissance de son mot de passe, l’utilisateur doit montrer la détention de l’appareil en question, de façon classique en renseignant un code à usage unique reçu par SMS, ou en utilisant une application d’authentification préconfigurée sur son smartphone.
Cette méthode est un double échec pour les raisons suivantes :
-
L'étape supplémentaire à l'authentification complique l'expérience utilisateur. Elle crée une frustration alors que la sécurité devrait être transparente et facile à utiliser.
-
Elle est contournable dans beaucoup de situations. Souvent, l’attaque s’adapte, et les méthodes de contournement du MFA sont non seulement apparues, mais ont été industrialisées, à travers des outils de relai d’authentification multifacteur comme Evilginx2, Modlishka, ou Muraena. Les attaques ciblées, menées par des pirates motivés emploient aussi des techniques comme le SIM Swapping, ou continue d’utiliser l’ingénierie sociale à travers des méthodes comme la fatigue MFA ou le vishing.
Soyons d’accord, le MFA réduit significativement les risques de compromission de compte, mais à quel prix ?
N’existe-t-il pas de méthodes plus élégantes, moins contraignantes et plus efficaces ?
FIDO2 : la solution “passwordless” et Zero Trust
En 2018, l’alliance FIDO (Fast IDentity Online) lance un ensemble de spécifications sous le terme FIDO2. L’idée est de s’affranchir de l’usage des mots de passe, tout en incluant de l’authentification forte et multifacteur à travers des mécanismes cryptographiques connus et robustes. Lors de l’inscription à un service, un dispositif d’authentification (comme une clé USB, un smartphone ou un capteur biométrique) génère une paire de clés dont la partie publique est transmise et stockée côté service.
Le dispositif, quant à lui, conserve la partie privée de la clé associée à l’identité du service (par exemple une URL dans le cas d’un service web), en la protégeant par chiffrement symétrique. La clé étant, par exemple, dérivée de l’empreinte digitale de l’utilisateur.
Au moment de l’authentification, le serveur indique au navigateur qu’une authentification FIDO2 est nécessaire à travers un protocole appelé WebAuthn et propose un défi cryptographique. Le navigateur relaie cette demande jusqu’à l’appareil qui détient la clé privée en s’appuyant sur un autre protocole : CTAP, implémenté par le système d’exploitation. Le dispositif d’authentification résout alors le challenge à l’aide de la clé privée de l’utilisateur en la déverrouillant suite à la demande d’authentification biométrique.
Cette méthode présente plusieurs avantages :
-
L’utilisateur n’a plus à gérer de mots de passe, ce qui lui facilite significativement la vie.
-
Les risques de sécurité intrinsèques à l’usage des mots de passe disparaissent. L’authentification est forte et utilisent des moyens modernes, notamment à travers l’usage de la cryptographie asymétrique. En cas de compromission de la base de clés du service, l’attaquant ne détient que les clés publiques des utilisateurs. La plupart des attaques réalisables suite à l’obtention des mots de passe ou de leur condensat ne sont ainsi plus d’actualité.
-
L’authentification multifacteur persiste, mais sous une forme différente et moins contraignante. Elle est plus transparente et s’appuie principalement sur la détention du dispositif d’authentification (ce que l’utilisateur possède) et sur sa capacité à le déverrouiller, par exemple par empreinte digitale (ce que l’utilisateur est).
Ce type de mécanisme s’inscrit dans les démarches de transformation Zero Trust. On ne fait jamais confiance, on vérifie toujours, et à travers de multiples critères là où, initialement, l’authentification n'était basée que sur un élément : ce que l’utilisateur connaît, c’est à dire son mot de passe.
Une adoption sous quels delais ?
Même si le système présente de nombreux avantages, il reste encore plusieurs entraves à son adoption à grande échelle. Parmi les principales, on retrouve :
-
La présence des applications “legacy” au sein des SI qui n’implémentent pas ce type d’authentification et qui nécessitent toujours l’usage de la méthode traditionnelle des mots de passe ;
-
L’investissement dans le matériel, et plus spécifiquement dans les dispositifs d’authentification pour l’ensemble des utilisateurs ;
-
Le tournant, devant être aussi pris par les éditeurs d’applications afin de rendre compatibles ces dernières avec ces méthodes d’authentification.
L’adoption est progressive, et même si l'on peut être facilement critique vis-à-vis des méthodes actuelles imparfaites (notamment celles du MFA), elles représentent une étape intermédiaire indispensable, qui permettra demain d’utiliser globalement des méthodes plus fiables, plus sécurisées et moins contraignantes.