O TLS mútuo (mTLS) é um protocolo padrão do setor para autenticação mútua entre um cliente e um servidor. O protocolo mTLS garante que o cliente e o servidor, em cada extremidade de uma conexão de rede, sejam quem afirmam ser, verificando se ambos têm a chave privada associada ao certificado do cliente.
O que é um certificado de cliente?
Um certificado de cliente, também chamado de certificado Transport Layer Security (TLS), é um arquivo que contém informações importantes para verificar a identidade de um dispositivo. As informações do certificado incluem a chave pública, uma declaração de quem emitiu o certificado (eles podem ser emitidos por autoridades de certificação ou auto- assinados) e a data de validade.
Como as APIs do Google validam a identidade do dispositivo
O protocolo TLS usa uma técnica chamada infraestrutura de chave pública (PKI), que depende de um par de chaves assimétricas: uma pública e uma privada. Qualquer coisa criptografada com a chave privada só pode ser descriptografada com a chave pública. As APIs Google Cloud usam o protocolo TLS para verificar a identidade de um dispositivo descriptografando a mensagem criptografada pela chave privada usando a chave pública do certificado durante o handshake de mTLS. A descriptografia bem-sucedida prova a posse da chave privada, que só está disponível em dispositivos confiáveis.
Para ativar o handshake e o processo de validação do mTLS, um cliente precisa fazer o seguinte:
Estabeleça uma conexão mTLS com as APIs do Google usando endpoints de API específicos para mTLS. Os endpoints específicos do mTLS têm o seguinte formato:
[service].mtls.googleapis.comDescubra e use o certificado do dispositivo durante o handshake de mTLS. Se você estiver usando a Verificação de endpoints para implantação de certificados, esse tipo de certificado será descoberto e usado automaticamente pelos clientes compatíveis.
O diagrama a seguir ilustra o handshake mTLS entre um cliente e um servidor de API do Google: