L'authentification mutuelle, ou authentification bidirectionnelle, se produit lorsque les deux parties d'une connexion vérifient l'identité de l'autre.
Cet article s'articule autour des points suivants :
Contenu associé
Mutual TLS (mTLS)
Sécurité Zero Trust
Attaque de phishing
Contrôle des accès
Qu'est-ce que le modèle SASE ?
Abonnez-vous à theNET, le récapitulatif mensuel de Cloudflare des idées les plus populaires concernant Internet !
Copier le lien de l'article
L'authentification mutuelle consiste à ce que les deux côtés d'un canal de communication vérifient l'identité de l'autre, au lieu qu'un seul côté vérifie l'autre. L'authentification mutuelle est également appelée "authentification bidirectionnelle" car le processus se déroule dans les deux sens.
Lorsqu'une personne utilise une application de covoiturage, elle vérifie généralement la plaque d'immatriculation ou la description du véhicule pour s'assurer qu'elle monte dans la bonne voiture. Une fois qu'elle est montée, le conducteur demande au passager son nom pour confirmer qu'il s'agit bien de la bonne personne. Le passager et le conducteur vérifient chacun qu'ils interagissent avec la bonne personne, afin que le conducteur fournisse le bon service, que le passager soit dans une voiture qui va à sa destination et que les deux puissent confirmer qu'ils sont avec quelqu'un qui a été vérifié par l'application de covoiturage.
De même, l'authentification mutuelle vérifie les deux parties dans un canal de communication numérique. Par exemple, un client et un serveur utilisant l'authentification mutuelle prennent des mesures pour vérifier indépendamment l'identité de l'autre, au lieu que seul le client authentifie le serveur. Les connexions de dispositif à dispositif, comme celles entre les dispositifs de l'Internet des objets (IoT) , utilisent souvent l'authentification mutuelle également.
L'authentification mutuelle est le plus souvent associée au protocole TLS (Transport Layer Security) , mais elle peut être utilisée par d'autres protocoles et dans d'autres contextes également. En savoir plus sur l'authentification mutuelle TLS.
Il existe trois méthodes principales pour authentifier mutuellement les extrémités d'un canal de communication :
1. Authentification par clé publique : Cette méthode s'appuie sur la cryptographie à clé publique.Une clé est une chaîne de données qui peut être utilisée pour chiffrer ou signer numériquement des données.La cryptographie à clé publique utilise deux clés - une clé publique et une clé privée. Les données chiffrées avec la clé publique sont déchiffrées avec la clé privée.
Dans l'authentification mutuelle par clé publique, les deux parties de la communication annoncent une clé publique et doivent prouver qu'elles possèdent la clé privée qui accompagne leur clé publique - comme quelqu'un qui montre une carte d'identité délivrée par le gouvernement pour vérifier son nom. Chaque partie envoie une signature numérique à l'autre partie. Si la signature peut être vérifiée avec la clé publique, alors la bonne clé privée a été utilisée et la partie qui a envoyé la signature est légitime.
2. Authentification par certificat : Cette approche est similaire à l'authentification par clé publique, sauf qu'au lieu d'une simple clé publique, les deux parties disposent d'un certificat de clé publique. Le certificat contient des informations supplémentaires qui permettent de vérifier l'identité des parties, notamment l'identité de l'émetteur du certificat et de la clé publique, les personnes auxquelles le certificat s'applique, la date d'expiration du certificat, etc. Les certificats TLS peuvent être utilisés pour ce type d'authentification mutuelle si les deux parties en possèdent un.
3. Nom d'utilisateur et mot de passe : Malgré son nom, cette méthode d'authentification mutuelle utilise toujours un certificat du côté du serveur . Le serveur présente un certificat au client, qui le vérifie. Du côté du client, le processus est identique à l'authentification classique par nom d'utilisateur et mot de passe : le client envoie sa combinaison nom d'utilisateur et mot de passe au serveur, qui vérifie les informations d'identification.
L'authentification unidirectionnelle se produit en permanence sur Internet. Chaque fois qu'une personne charge un site Web qui utilise HTTPS, son appareil authentifie l'identité du serveur Web en vérifiant le certificat TLS du serveur. Un autre exemple serait celui d'une personne se connectant à son compte sur une application - dans ce cas, c'est l'application qui authentifie la personne.
Si l'authentification mutuelle élimine certaines failles de sécurité et rend certains types d'attaques beaucoup plus difficiles à réaliser, elle ajoute du temps et de la puissance de calcul à l'échange d'informations. Elle nécessite également une configuration préalable : les deux parties de la communication ont besoin d'un ensemble d'informations d'identification, d'une paire de clés publique-privée ou d'un certificat de clé publique (selon le type d'authentification utilisé). Cela rend l'authentification mutuelle difficile à mettre en œuvre pour l'utilisateur moyen, et c'est pourquoi l'authentification mutuelle ne fait normalement pas partie de TLS lorsqu'une personne utilise une application Web.
Les principaux cas d'utilisation de l'authentification mutuelle sont les suivants :
Attaques sur le chemin : Dans une attaque sur le chemin , un attaquant se trouve au milieu d'une connexion entre deux parties. L'attaquant intercepte les communications dans les deux sens et se fait passer pour les deux extrémités de la conversation. L'authentification mutuelle permet d'arrêter ce type d'attaque car l'attaquant ne pourra pas s'authentifier aux deux extrémités de la communication.
Spoofing et usurpation d'identité : Les attaquants utilisent ces attaques pour faire croire à un serveur ou à un utilisateur qu'ils sont une partie connue et de confiance. Un attaquant pourrait faire croire à un utilisateur qu'il est un serveur Web, ou vice versa. Ces attaques sont beaucoup plus difficiles lorsque les deux parties doivent s'authentifier.
Vol de justificatifs : Certaines formes d'authentification mutuelle sont basées sur des mots de passe et peuvent donc faire l'objet d'un vol de justificatifs (lorsqu'un attaquant vole le mot de passe d'un utilisateur légitime). Cependant, comme l'authentification mutuelle est généralement basée sur une clé publique, le vol d'informations de référence n'est pas possible car il n'y a pas d'informations de référence à voler. Cela peut empêcher les attaques de phishing d'avoir un effet.
Ces protocoles de mise en réseau intègrent l'authentification mutuelle ou offrent la possibilité de l'utiliser :
Secure Shell Protocol (SSH) : SSH est un protocole de tunnellisation permettant de se connecter en toute sécurité à un serveur ou à un périphérique distant. SSH peut utiliser soit une authentification par clé publique, soit une authentification par certificat. En d'autres termes, il est possible de s'authentifier mutuellement dans SSH avec une clé publique ou avec un certificat de clé publique.
TLS : bien que le protocole TLS n'authentifie pas mutuellement les deux extrémités d'une connexion par défaut, il peut être utilisé à cette fin. Mutual TLS (mTLS) est un des types d'authentification mutuelle les plus couramment appliqués. Dans le mTLS, les deux côtés d'une connexion disposent d'un certificat TLS. mTLS est couramment utilisé pour la sécurité des API, la sécurité de l'IoT et la sécurité des applications Zero Trust .
L'authentification mutuelle est essentielle à plusieurs solutions de sécurité Zero Trust proposées par Cloudflare. Cloudflare Zero Trust, une plateforme pour le contrôle des accès aux applications et la navigation sur Internet, propose le protocole mTLS pour la vérification des utilisateurs et des appareils. Cloudflare API Shield prend en charge le protocole mTLS pour l'authentification et la sécurité des API.