Qu'est-ce que l'authentification mutuelle ? | Authentification bidirectionnelle

L'authentification mutuelle, ou authentification bidirectionnelle, se produit lorsque les deux parties d'une connexion vérifient l'identité de l'autre.

Objectifs d’apprentissage

Cet article s'articule autour des points suivants :

  • Définir "authentification mutuelle".
  • Expliquer le fonctionnement de l'authentification mutuelle
  • Énumérez les principaux cas d'utilisation de l'authentification mutuelle

Copier le lien de l'article

Qu'est-ce que l'authentification mutuelle ?

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.

Comment fonctionne l'authentification mutuelle ?

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 repose sur le cryptage par clé publique . Le cryptage est le processus de brouillage des données à l'aide d'une clé . Le cryptage à clé publique utilise deux clés au lieu d'une - une clé publique et une clé privée. Les données cryptées avec la clé publique sont décryptées avec la clé privée, et les données cryptées avec la clé privée sont décryptées avec la clé publique.

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 un extrait de données appelé signature "" et crypte cette signature avec sa clé privée, et l'autre partie décrypte la signature à l'aide de la clé publique. Si la signature peut être déchiffrée correctement à l'aide de la clé publique, cela signifie que la clé privée utilisée est correcte et que 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.

Quand l'authentification mutuelle est-elle utilisée ?

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 :

  • IoT: La plupart des appareils IoT doivent se connecter à un serveur distant pour fonctionner correctement. Ils peuvent également avoir besoin de se connecter à d'autres dispositifs IoT. Les dispositifs IoT doivent le faire sur un réseau non sécurisé (Internet). L'authentification mutuelle permet de garantir que les données qu'ils reçoivent sont exactes et proviennent d'une source légitime, ce qui réduit les chances qu'un attaquant ait compromis leurs connexions.
  • Sécurité des API: L'authentification garantit que les demandes d'API proviennent d'une source légitime. L'authentification mutuelle est un moyen de s'assurer qu'une API n'accepte pas de demandes provenant d'attaquants, et qu'un utilisateur d'API n'accepte pas de réponses d'API usurpées.
  • Sécurité de la confiance zéro: "Zero Trust" est une philosophie qui part du principe que tout utilisateur ou dispositif peut présenter une menace. En exigeant l'authentification des deux côtés d'une connexion, l'authentification mutuelle garantit que seuls les utilisateurs légitimes sont connectés au réseau, au serveur ou à l'application. Inversement, les utilisateurs peuvent être sûrs qu'ils se sont connectés au bon réseau, serveur ou application.

Quels types d'attaques l'authentification mutuelle permet-elle d'éviter ?

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.

Quels protocoles prennent en charge l'authentification mutuelle ?

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 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 l'un des types d'authentification mutuelle les plus couramment utilisés. Dans 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é IoT et les applications de sécurité Zero Trust.

Cloudflare propose-t-il une authentification mutuelle ?

L'authentification mutuelle est au cœur de plusieurs des solutions de sécurité Zero Trust proposées par Cloudflare. Cloudflare for Teams, une suite de solutions Zero Trust pour le contrôle d'accès aux applications et la navigation sur Internet, propose mTLS pour la vérification des utilisateurs et des appareils. Cloudflare API Shield prend en charge mTLS pour l'authentification et la sécurité des API.

Service commercial