La TLS mutua es un protocolo estándar de la industria para la autenticación mutua entre un cliente y un servidor. El protocolo mTLS garantiza que el cliente y el servidor, en cada extremo de una conexión de red, sean quienes dicen ser, ya que verifica que ambos tengan la clave privada asociada con el certificado de cliente.
¿Qué es un certificado de cliente?
Un certificado de cliente, también llamado certificado de seguridad de la capa de transporte (TLS), es un archivo que contiene información importante para verificar la identidad de un dispositivo. La información del certificado incluye la clave pública, una declaración de quién emitió el certificado (los certificados pueden ser emitidas por autoridades certificadas o autofirmadas) y la fecha de vencimiento del certificado.
Cómo validan las API de Google la identidad de los dispositivos
El protocolo TLS usa una técnica llamada infraestructura de clave pública (PKI), que se basa en un par de claves asimétricas: una clave pública y una privada. Cualquier elemento encriptado con la clave privada se puede desencriptar solo con la clave pública. Las API de Google Cloud usan el protocolo TLS para verificar la identidad de un dispositivo mediante la desencriptación del mensaje encriptado por la clave privada mediante la clave pública del certificado durante el protocolo de enlace mTLS. La desencriptación exitosa demuestra que tienes la clave privada, que solo está disponible en dispositivos de confianza.
Para habilitar el proceso de validación y protocolo de enlace de mTLS, el cliente debe hacer lo siguiente:
Establece una conexión mTLS con las API de Google mediante extremos de API específicos de mTLS. Los extremos específicos de mTLS tienen el siguiente formato:
[service].mtls.googleapis.com
Descubre y usa el certificado del dispositivo durante el protocolo de enlace mTLS. Si usas la Verificación de extremos para la implementación del certificado, los clientes compatibles descubren y usan este tipo de certificado de forma automática.
En el siguiente diagrama, se ilustra el protocolo de enlace de mTLS entre un cliente y un servidor de la API de Google: