Aujourd’hui, garantir la sécurité des transactions sur Internet est plus important que jamais. Nous savons que les récentes attaques de ransomwares auraient pu être évitées au moyen d’une sécurité plus avancée. Par exemple, lors de l’attaque ciblant Colonial Pipeline en 2021, un mot de passe compromis était en cause. D’après des études réalisées par Microsoft, nous savons également que « votre compte a plus de 99,9 % de chance en moins d’être compromis si vous utilisez la MFA [authentification multifacteur]. » Aussi, les types de protection que nous utilisons pour la connexion de nos employés et de nos clients a son importance.
L’engouement pour une meilleure authentification s’étend au-delà du monde de l’entreprise. Au vu des récents événements, le gouvernement des États-Unis préconise désormais également cette solution. Nous voyons le Président et les membres du Congrès soutenir une nouvelle législation visant à formaliser une structure de reporting de la cybersécurité et à améliorer la capacité de réponse lorsque des cyberattaques surviennent.
Nous fournissons ce niveau de protection via le renforcement des moyens d’authentification des utilisateurs avant qu’ils ne soient autorisés à accéder à des ressources et des systèmes. J’espère vous faire part de quelques notions élémentaires en matière d’authentification, vous expliquer en quoi elle consiste, quels types d’authentification existent et comment cette solution pourrait être mise en œuvre au sein d’une organisation.
Commençons par définir ce qu’est l’authentification, que le dictionnaire définit comme « le processus ou l’action de contrôler l’identité d’un utilisateur ou d’un processus. » Dans le contexte de la cybersécurité décrit dans le Site Security Handbook (Manuel sur la sécurité des sites), nous pouvons la définir comme étant « la fonction visant à spécifier les privilèges ou les droits d’accès à des ressources, lesquels sont liés à la sécurité globale de l’information et à la sécurité informatique, et au contrôle des accès en particulier. » En substance, l’authentification est le processus consistant à vérifier qu’un utilisateur en ligne est bien qui il prétend être.
Selon nos collègues chez Gartner, « l’autorisation est définie comme étant un processus visant à garantir que des utilisateurs correctement authentifiés puissent accéder uniquement aux ressources pour lesquelles le propriétaire leur octroie une autorisation. » Globalement, en matière de sécurité informatique, l’authentification revient à vous autoriser à faire quelque chose à condition que vous ayez prouvé que vous êtes bien la personne que vous prétendez être. En d’autres termes, l’authentification est nécessaire pour que l’autorisation puisse être accordée. Prenons un exemple de notre vie quotidienne, par exemple : un voyage en avion. Je dois authentifier mon identité en présentant une pièce d’identité officielle et une carte d’embarquement avant d’être autorisé à embarquer à bord de l’avion.
Du point de vue de l’identité et de la sécurité, le point à retenir ici est qu’il s’agit de deux activités distinctes et séparées. C’est une bonne chose. En conservant la distinction de ces objets ou concepts, nous avons la possibilité de modifier l’un ou l’autre indépendamment, au lieu d’avoir à tout recréer. Par exemple, la modification de mon mot de passe, voire de mon nom d’utilisateur, n’entraînerait pas nécessairement un problème avec mes autorisations, à condition qu’il soit toujours possible d’établir un lien commun entre les deux objets. Ceci est généralement mis en œuvre au moyen d’un identifiant interne utilisé pour se connecter aux deux objets de manière permanente.
Le même concept s’applique à nos autorisations. Je peux attribuer mon ou mes autorisation(s), selon les besoins, à l’identité authentifiée, et les modifier selon les besoins, la législation, les règlements et les cas d’usage requis par mes systèmes de back end. Étant donné que nous disposons de ce lien établi vers les identités d’autorisations, il n’est pas nécessaire de tout recréer de zéro.
Cela nous amène à un débat sur les types d’authentification que nous pouvons utiliser. Généralement, il existe trois principaux types, ou facteurs, d’authentification :
Une chose que vous connaissez Il s’agit en général des mots de passe et des codes PIN, probablement la forme d’authentification la plus vulnérable qui existe. Comme mentionné précédemment à propos de Colonial Pipeline, la connaissance d’un mot de passe sans aucune autre protection peut avoir de graves conséquences.
Une chose que vous possédez Il peut s’agir d’une sorte de preuve générée via la transaction ou une application (par exemple, PingID, Google Authenticator). Ce peut être également un jeton matériel, tel qu’un périphérique USB ou un générateur de code séparé (par exemple, YubiKey ou RSA).
Une chose que vous êtes Il s’agit d’un composant biométrique, comme une empreinte digitale, la reconnaissance faciale ou rétinienne. La biométrie nécessite des éléments matériels, ce qui peut donc limiter l’adoption de cette solution si les scanners ne sont pas portables, accessibles ou abordables.
L’utilisation d’une forme d’authentification offre une certaine sécurité. L’exigence de deux facteurs d’authentification (2FA) constitue la norme et cette solution est considérée comme plus sécurisée. L’authentification multifacteur (MFA), où au minimum deux facteurs sont requis, est la solution la plus sécurisée.
Quoi qu’il en soit, comment authentifier un utilisateur ? Que pouvons-nous faire pour prouver que nous sommes bien qui nous prétendons être au moment de l’authentification ?
Les mots de passe sont certainement la forme d’authentification la plus ancienne et la plus courante. Ce n’est pas mal pour un premier facteur, à condition d’appliquer des règles de bon sens pour les créer et les gérer. Toutefois, les mots de passe sont susceptibles d’être compromis assez facilement et devraient être renforcés par des formes plus fortes dans le cadre du processus d’authentification et d’autorisation. Il s’agit là du meilleur exemple représentant « une chose que vous savez ».
Les jetons matériels sont de petits périphériques que les utilisateurs portent sur eux pour autoriser l’accès à un service réseau. Les clés RSA et les clés de sécurité YubiKey sont des exemples de jetons matériels. L’appareil lui-même contient un algorithme (une horloge ou un compteur) et un enregistrement de départ utilisé pour calculer un nombre pseudo-aléatoire. Les appareils nécessitent que ce code soit transféré en saisissant des chiffres sur un écran ou directement via la connexion USB (certains modèles plus récents nécessitent également une étape biométrie supplémentaire). C’est un parfait exemple pour « une chose que vous possédez ».
Les jetons logiciels fournissent les mêmes services que les jetons matériels, mais ils sont donc logiciels et non matériels. Ces applications s’exécutent généralement sur un smartphone et génèrent un mot de passe à usage unique (OTP) pour la connexion. Ceci nous amène à certains types d’intégration intéressants, notamment les authentificateurs basés sur les mobiles, tels que ceux de Ping, Google et Microsoft. Ils permettent de combler le fossé entre « une chose que vous possédez » et « une chose que vous savez ».
La biométrie intègre « une chose que vous êtes » au processus d’authentification. Les formes d’identification biométriques sont bien connues dans notre vie quotidienne, par exemple la reconnaissance faciles ou des empreintes digitales sur nos ordinateurs portables et nos smartphones. D’autres formes d’authentification biométriques plus avancées, telles que la reconnaissance rétinienne, l’empreinte vocale, l’authentification par ondes cérébrales ou rythme cardiaque, prennent également une importance grandissante.
L’authentification des appareils est liée aux jetons logiciels et, pour certains, elle serait même liée à la biométrie. À des fins d’authentification, au lieu d’utiliser les caractéristiques uniques d’une personne physique, nous réunissons les caractéristiques uniques d’un ordinateur (et de la manière dont une personne l’utilise). Les identifiants uniques de l’appareil utilisé pour la connexion, ainsi que les comportements pouvant être observés et enregistrés, peuvent être utilisés pour l’authentification.
L’authentification basée sur le contexte est probablement la forme d’authentification la plus intéressante, dans la mesure où nous regardons au-delà des formes d’authentification traditionnelles et nous nous concentrons sur la manière dont la demande est transmise. L’authentification contextuelle collecte des informations telles que la géolocalisation, l’adresse IP et l’heure pour aider à déterminer la validité d’un utilisateur. Nous pouvons regarder d’autres métadonnées, telles que la provenance de la demande, le degré de risque de l’adresse IP (par exemple, depuis un café, un avion ou des réseaux anonymes). Une fois que les signaux d’alerte des données ont été examinés, d’autres méthodes d’authentification peuvent être requises. Ce qui nous amène à…
L’utilisation de facteurs d’autorisation lors de la connexion présente parfois ce qu’on appelle une « friction », ce qui affecte directement l’expérience globale d’un utilisateur. Dans quasiment tous les aspects de leur travail, les architectes et les administrateurs de la sécurité doivent trouver un équilibre entre la friction et la sécurité. Une manière courante de réduire cette friction consiste à éliminer ou à minimiser l’élément du mot de passe, étant donné qu’il s’agit du moyen générant le plus de friction et qui est le moins sécurisé (par exemple, les utilisateurs utilisent ou réutilisent généralement des mots de passe faibles). Parfois, un mot de passe simple ou une forme d’authentification unique suffit. Mais dans certains cas, nous avons besoin de plus. Plus nous utilisons de facteurs d’authentification, plus la protection sera renforcée. Lorsque nous utilisons la totalité des trois facteurs, alors nous établissons une norme appelée « authentification forte ».
C’est une très bonne chose de comprendre comment se déroule une authentification, mais comment l’authentification fonctionne-t-elle exactement ? Elle fonctionne au moyen de protocoles. Aussi, analysons plus en avant certains des plus courants que nous rencontrons et voyons comment ils s’appliquent.
Le Security Assertion Markup Language (SAML) est le grand-parent des protocoles d’authentification et constitue toujours le pilier de l’authentification unique sur le Web (SSO, Single Sign-On). L’assertion générée entre l’utilisateur, habituellement désignée comme le composant principal trouvé au sein d’un fournisseur d’identité, et un fournisseur de services qui permet la connexion à une application ou un service. Ce qui est intéressant avec le langage SAML, c’est qu’il n’indique pas vraiment une méthode d’authentification du côté du fournisseur d’identité. Il pourrait s’agir d’un mot de passe, de la MFA ou celui-ci pourrait même se baser sur une connexion depuis un service externe tel que Google, Facebook ou LinkedIn.
OpenID Connect (OIDC), dans sa version 2.0 actuelle, est idéale pour les connexions entre des applications modernes trouvées sur le Web et différents types d’application qui utilisent les API RESTful. À mesure que les applications monopages (SPA, Single Page Application) gagnent en popularité, l’OIDC se révèle de plus en plus important.
Fast Identity Online (FIDO) est l’une des technologies les plus récentes à entrer dans l’ère de l’authentification. La FIDO Alliance s’est fixé l’objectif de « travailler à changer la nature de l’authentification avec des standards ouverts plus sûrs que les mots de passe et les OTP par SMS, plus simples à utiliser pour les clients et plus faciles à déployer et à gérer pour les fournisseurs de services. C’est la norme que nous voyons communément adoptée en travaillant avec des systèmes d’exploitation basés sur l’authentification tels que Windows Hello et Apple Face/Touch ID. La popularité et l’intérêt de FIDO croissent auprès des grandes organisations, mais cette solution peut nécessiter des caméras et des lecteurs de pointe dont l’infrastructure devra être entretenue et exploitée. Dans certaines situations, cela peut constituer un obstacle notable à l’acceptation des cas d’usage.
Vous pouvez voir ici un processus d’authentification courant, qui comprend la vérification des informations d’identification et du contexte, ainsi que la demande éventuelle d’un deuxième facteur d’authentification si le contexte est jugé trop risqué ou trop sensible.
L’introduction et l’utilisation de plusieurs formes d’authentification nous donne la garantie que nous vérifions correctement les connexions qui accèdent à nos espaces d’applications. Il est particulièrement important que nous examinions tous les points de terminaison et toutes les applications exposés afin de veiller à ce que non seulement l’expérience de connexion soit bien protégée, mais également les applications sous-jacentes. Il semble donc évident que, même si un utilisateur est déjà authentifié, le fait d’exiger une authentification supplémentaire pour accéder à des ressources contenant des informations privilégiées ou confidentielles est pertinent afin de protéger les données sensibles.
Cela ne veut pas dire que l’attitude et le positionnement globaux de la sécurité doivent dominer. Je connais des organisations axées sur la sécurité qui ne demandent qu’une connexion avec un nom d’utilisateur et un mot de passe tous les 30 jours, mais qui demandent aux utilisateurs de s’authentifier via une application d’authentification externe ou par voie biométrique tous les jours. C’est un bon compromis entre « une chose que vous savez » et « une chose que vous possédez/vous êtes ». Cette routine quotidienne est flexible, rendant ainsi la friction assez gérable. Ce modèle laisse par ailleurs suffisamment de place pour ajouter une autre authentification pour sécuriser des applications comme nous l’avons dit plus haut et d’autres approches de la réduction des risques.
Lorsque les organisations utilisent des facteurs d’authentification et des protocoles de façon réfléchie, les utilisateurs continuent de bénéficier d’une excellente expérience, tandis que les administrateurs et les inspecteurs de la sécurité ont l’assurance que les opérations sont exécutées en toute sécurité. Comme nous l’avons vu, il existe de multiples façons de fournir ces services, quelle que soit l’organisation.
Chez Ping, nous sommes convaincus de la grande utilité visant à établir une autorité de l’authentification, à savoir un système d’authentification centralisé et faible, qui vous permet de sécuriser et de contrôler l’accès aux ressources sur l’ensemble de vos domaines, applications et plateformes, des clouds publics et privés aux environnements sur site existants. Pour en savoir plus, lisez nos livres blancs sur l’autorité en matière d’authentification des employés ou l’autorité en matière d’authentification des clients.