Compreenda o TLS mútuo em Google Cloud

O protocolo TLS mútuo (mTLS) é um protocolo da norma da indústria para a 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 ligação de rede, são quem afirmam ser através da verificação de que ambos possuem a chave privada associada ao certificado do cliente.

O que é um certificado de cliente?

Um certificado de cliente, também denominado certificado Transport Layer Security (TLS), é um ficheiro que contém informações importantes para validar a identidade de um dispositivo. As informações do certificado incluem a chave pública, uma declaração de quem emitiu o certificado (os certificados podem ser emitidos por autoridades de certificação ou autossinados) e a data de validade do certificado.

Como as APIs Google validam a identidade do dispositivo

O protocolo TLS usa uma técnica denominada infraestrutura de chave pública (PKI), que se baseia num par de chaves assimétricas: uma chave pública e uma chave privada. Tudo o que for encriptado com a chave privada só pode ser desencriptado com a chave pública. As APIs usam o protocolo TLS para validar a identidade de um dispositivo desencriptando a mensagem encriptada pela chave privada através da chave pública do certificado durante o handshake mTLS.Google Cloud A desencriptação bem-sucedida prova a posse da chave privada, que só está disponível em dispositivos fidedignos.

Para ativar o processo de validação e handshake de mTLS, um cliente tem de fazer o seguinte:

  • Estabeleça uma ligação mTLS com as APIs Google através de pontos finais de API específicos de mTLS. Os pontos finais específicos de mTLS têm o seguinte formato: [service].mtls.googleapis.com

  • Descobrir e usar o certificado do dispositivo durante o handshake mTLS. Se estiver a usar a validação de pontos finais para a implementação de certificados, este tipo de certificado é descoberto e usado automaticamente pelos clientes suportados.

O diagrama seguinte ilustra a troca de informações mTLS entre um cliente e um servidor da API Google:

Negociação de mTLS entre um cliente e um servidor da API Google

O que se segue?