Mutual TLS (mTLS) est un type d'authentification dans lequel les deux parties d'une connexion s'authentifient mutuellement à l'aide du protocole TLS.
Cet article s'articule autour des points suivants :
Contenu associé
Authentification mutuelle
Sécurité Zero Trust
Attaque de phishing
Qu'est-ce que le modèle SASE ?
Qu'est-ce que l'lAM ?
Abonnez-vous à theNET, le récapitulatif mensuel de Cloudflare des idées les plus populaires concernant Internet !
Copier le lien de l'article
Mutual TLS, ou mTLS en abrégé, est une méthode d'authentification mutuelle . mTLS garantit que les parties à chaque extrémité d'une connexion réseau sont bien celles qu'elles prétendent être en vérifiant qu'elles possèdent toutes deux la bonne clé privée . Les informations contenues dans leurs certificats TLS respectifs fournissent une vérification supplémentaire.
Le protocole mTLS est souvent utilisé dans un cadre de sécurité* Zero Trust afin de vérifier les utilisateurs, les appareils et les serveurs au sein d'une organisation. Il peut également contribuer à sécuriser les API.
*La confiance zéro signifie qu'aucun utilisateur, périphérique ou trafic réseau n'est fiable par défaut, une approche qui permet d'éliminer de nombreuses failles de sécurité.
Transport Layer Security (TLS) est un protocole de chiffrement largement utilisé sur Internet. TLS, anciennement appelé SSL, authentifie le serveur dans une connexion client-serveur et crypte les communications entre le client et le serveur afin que des parties externes ne puissent pas espionner ces communications.
Il y a trois choses importantes à comprendre sur le fonctionnement de TLS :
TLS utilise une technique appelée cryptographie à clé publique, qui repose sur une paire de clés - une clé publique et une clé privée. Tout ce qui est chiffré avec la clé publique ne peut être déchiffré qu'avec la clé privée .
Par conséquent, un serveur qui déchiffre un message qui a été chiffré avec la clé publique prouve qu'il possède la clé privée. N'importe qui peut voir la clé publique en consultant le certificat TLS du domaine ou du serveur.
Un certificat TLS est un fichier de données qui contient des informations importantes pour vérifier l'identité d'un serveur ou d'un appareil, notamment la clé publique, une déclaration indiquant qui a émis le certificat (les certificats TLS sont émis par une autorité de certification) et la date d'expiration du certificat.
La poignée de main TLS est le processus de vérification du certificat TLS et de la possession de la clé privée par le serveur. La poignée de main TLS établit également la manière dont le chiffrement aura lieu une fois la négociation terminée.
Normalement, dans TLS, le serveur dispose d'un certificat TLS et d'une paire de clés publiques/privées, alors que le client n'en dispose pas. Le processus TLS typique fonctionne comme suit :
Dans mTLS, cependant, le client et le serveur disposent tous deux d'un certificat, et les deux parties s'authentifient à l'aide de leur paire de clés publiques/privées. Par rapport au protocole TLS ordinaire, le protocole mTLS comporte des étapes supplémentaires pour vérifier les deux parties (étapes supplémentaires indiquées en gras sur et) :
L'organisation qui met en œuvre mTLS agit comme sa propre autorité de certification. À la différence du système TLS standard, dans lequel l'autorité de certification est une organisation externe qui vérifie si le propriétaire du certificat possède légitimement le domaine associé (pour en savoir plus sur la validation des certificats TLS ).
Un certificat racine "" TLS est nécessaire pour mTLS ; cela permet à une organisation d'être sa propre autorité de certification. Les certificats utilisés par les clients et serveurs autorisés doivent correspondre à ce certificat racine. Le certificat racine est auto-signé, ce qui signifie que l'organisation le crée elle-même. (Cette approche ne fonctionne pas pour le TLS unidirectionnel sur l'Internet public car une autorité de certification externe doit émettre ces certificats).
mTLS permet de garantir que le trafic est sécurisé et fiable dans les deux sens entre un client et un serveur. Cela fournit une couche de sécurité supplémentaire pour les utilisateurs qui se connectent au réseau ou aux applications d'une organisation. Il permet également de vérifier les connexions avec les dispositifs clients qui ne suivent pas un processus de connexion, comme les dispositifs de l'Internet des objets (IoT).
mTLS prévient divers types d'attaques, notamment :
Pour les besoins quotidiens, l'authentification à sens unique offre une protection suffisante. Les objectifs de TLS sur l'Internet public sont 1) de s'assurer que les gens ne visitent pas des sites Web usurpés, 2) de garder des données privées sécurisées et chiffrées lorsqu'elles traversent les différents réseaux qui constituent l'Internet, et 3) de s'assurer que les données ne sont pas altérées en transit. Le protocole TLS unidirectionnel, dans lequel le client vérifie uniquement l'identité du serveur, permet d'atteindre ces objectifs.
En outre, il serait extrêmement difficile de distribuer des certificats TLS à tous les appareils des utilisateurs finaux. Générer, gérer et vérifier les milliards de certificats nécessaires à cette opération est une tâche quasi impossible.
Mais à plus petite échelle, mTLS est très utile et tout à fait pratique pour les organisations individuelles, en particulier lorsque ces organisations emploient une approche de confiance zéro pour la sécurité du réseau. Puisqu'une approche de confiance zéro ne fait confiance à aucun utilisateur, dispositif ou demande par défaut, les organisations doivent être en mesure d'authentifier chaque utilisateur, dispositif et demande chaque fois qu'ils essaient d'accéder à un point quelconque du réseau. mTLS aide à rendre cela possible en authentifiant les utilisateurs et en vérifiant les dispositifs.
Cloudflare Zero Trust utilise mTLS pour la sécurité Zero Trust. Cloudflare API Shield utilise également mTLS pour vérifier les points de terminaison des API, ce qui garantit qu'aucune partie non autorisée ne peut envoyer de demandes d'API potentiellement malveillantes. Découvrez comment mettre en œuvre mTLS avec Cloudflare.