La autenticación mutua de TLS (mTLS) 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 a través de la verificación de que ambos poseen 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 emitidos por autoridades certificadoras o autofirmados) y la fecha de vencimiento del certificado.
Cómo validan las APIs de Google la identidad del dispositivo
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 clave privada. Todo lo que se encripta con la clave privada solo se puede desencriptar con la clave pública. Las APIs deGoogle Cloud usan el protocolo TLS para verificar la identidad de un dispositivo. Para ello, desencriptan el mensaje encriptado con la clave privada usando la clave pública del certificado durante el protocolo de enlace de mTLS. La desencriptación exitosa demuestra la posesión de la clave privada, que solo está disponible en dispositivos de confianza.
Para habilitar el proceso de enlace y validación de mTLS, un cliente debe hacer lo siguiente:
Establece una conexión mTLS con las APIs de Google usando extremos de API específicos de mTLS. Los extremos específicos de mTLS tienen el siguiente formato:
[service].mtls.googleapis.comDescubre y usa el certificado del dispositivo durante el protocolo de enlace de mTLS. Si usas la Verificación de extremos para la implementación de certificados, los clientes compatibles detectan y usan automáticamente este tipo de certificado.
En el siguiente diagrama, se ilustra el protocolo de enlace mTLS entre un cliente y un servidor de la API de Google: