Comprendre le protocole TLS mutuel chez Google Cloud

Le protocole TLS mutuel (mTLS) est un protocole standard dans l'industrie pour l'authentification mutuelle entre un client et un serveur. Le protocole mTLS garantit que le client et le serveur, à chaque extrémité d'une connexion réseau, sont bien ceux qu'ils prétendent être en vérifiant qu'ils possèdent tous deux la clé privée associée au certificat client.

Qu’est-ce qu’un certificat client ?

Un certificat client, également appelé certificat TLS (Transport Layer Security), est un fichier contenant des informations importantes permettant de vérifier l'identité d'un appareil. Les informations relatives au certificat incluent la clé publique, une déclaration indiquant l'émetteur du certificat (les certificats peuvent être émis par les autorités de certification ou autosignés) et leur date d'expiration.

Comment les API Google valident l'identité des appareils

Le protocole TLS utilise une technique appelée infrastructure à clé publique (PKI), qui repose sur une paire de clés asymétriques: une clé publique et une clé privée. Tout ce qui est chiffré à l'aide de la clé privée ne peut être déchiffré qu'avec la clé publique. Les API Google Cloud utilisent le protocole TLS pour vérifier l'identité d'un appareil en déchiffrant le message chiffré par la clé privée à l'aide de la clé publique du certificat lors du handshake mTLS. Le déchiffrement réussi prouve que la clé privée est bien la propriété, qui n'est disponible que sur les appareils vérifiés.

Pour activer le processus de handshake et de validation mTLS, un client doit procéder comme suit:

  • Établissez une connexion mTLS avec les API Google à l'aide de points de terminaison d'API spécifiques à mTLS. Les points de terminaison spécifiques à mTLS se présentent au format suivant: [service].mtls.googleapis.com

  • Découvrir et utiliser le certificat d'appareil lors du handshake mTLS Si vous déployez des certificats à l'aide de la validation des points de terminaison, ce type de certificat est automatiquement détecté et utilisé par les clients compatibles.

Le schéma suivant illustre le handshake mTLS entre un client et un serveur d'API Google:

handshake mTLS entre un client et un serveur d'API Google

Étapes suivantes