O TLS mútuo (mTLS) é um tipo de autenticação em que as duas partes em uma conexão se autenticam mutuamente usando o protocolo TLS.
Após ler este artigo, você será capaz de:
Conteúdo relacionado
Assine o theNET, uma recapitulação mensal feita pela Cloudflare dos insights mais populares da internet.
Copiar o link do artigo
O TLS mútuo, ou mTLS, é um método para autenticação mútua. O mTLS assegura que as partes em cada extremidade de uma conexão de rede são quem afirmam ser, verificando que ambas têm a chave privada correta. As informações dentro de seus respectivos certificados TLS fornecem a verificação adicional.
O mTLS é frequentemente usado em uma estrutura de segurança Zero Trust * para verificar usuários, dispositivos e servidores dentro de uma organização. Ele também pode ajudar a manter as APIs seguras< .
*Zero Trust significa que nenhum usuário, dispositivo ou tráfego de rede é confiável por padrão, uma abordagem que ajuda a eliminar muitas vulnerabilidades de segurança.
Transport Layer Security (TLS) é um protocolo de criptografia muito usado na internet. O TLS, que antes era chamado SSL, autentica o servidor em uma conexão cliente-servidor e criptografa as comunicações entre cliente e servidor para que as partes externas não possam espionar as comunicações.
Há três coisas importantes a entender sobre como o TLS funciona:
A TLS trabalha utilizando uma técnica chamada criptografia de chave pública, que depende de um par de chaves — uma chave pública e uma chave privada. Qualquer coisa criptografada com a chave pública pode ser descriptografada apenas com a chave privada
Portanto, um servidor que descriptografa uma mensagem que foi criptografada com a chave pública prova que possui a chave privada. Qualquer pessoa pode visualizar a chave pública verificando o certificado TLS do domínio ou do servidor.
Um certificado TLS é um arquivo de dados que contém informações importantes para verificar a identidade de um servidor ou dispositivo, incluindo a chave pública, uma declaração de quem emitiu o certificado (os certificados TLS são emitidos por uma autoridade de certificação) e a data de expiração do certificado.
O handshake TLS é o processo de verificação do certificado TLS e da posse da chave privada pelo servidor. O handshake TLS também estabelece como a criptografia ocorrerá quando o handshake estiver concluído.
Normalmente em TLS, o servidor tem um certificado TLS e um par de chaves pública/privada, mas o cliente não tem. O processo típico do TLS funciona assim:
No mTLS, entretanto, tanto o cliente quanto o servidor têm um certificado e ambos os lados autenticam usando seu par de chaves pública/privada. Em comparação com o TLS normal, há etapas adicionais no mTLS para verificar ambas as partes (etapas adicionais em em negrito):
A organização que implementa o mTLS atua como sua própria autoridade de certificação. Isso contrasta com o TLS padrão, em que a autoridade de certificação é uma organização externa que verifica se o proprietário do certificado possui legitimamente o domínio associado (saiba sobre validação de certificado TLS).
Um certificado TLS "raiz" é necessário para o mTLS; isso permite que uma organização seja sua própria autoridade de certificação. Os certificados usados por clientes e servidores autorizados devem corresponder a esse certificado raiz. O certificado raiz é autoassinado, o que significa que a própria organização o cria. (Essa abordagem não funciona para o TLS unidirecional na internet pública porque uma autoridade de certificação externa precisa emitir esses certificados).
O mTLS ajuda a garantir que o tráfego seja seguro e confiável em ambas as direções entre um cliente e um servidor. Isto proporciona uma camada adicional de segurança para os usuários que fazem login na rede ou aplicativos de uma organização. Ele também verifica conexões com dispositivos clientes que não seguem um processo de login, tais como dispositivos da Internet das Coisas (IoT).
O mTLS evita vários tipos de ataques, inclusive:
Para fins diários, a autenticação unidirecional fornece proteção suficiente. Os objetivos do TLS na internet pública são 1) garantir que as pessoas não visitem sites falsificados, 2) manter os dados privados seguros e criptografados à medida que cruzam as várias redes que fazem parte da internet, e 3) para garantir que os dados não sejam alterados em trânsito. O TLS unidirecional, no qual o cliente verifica apenas a identidade do servidor, cumpre esses objetivos.
Além disso, a distribuição de certificados TLS para todos os dispositivos de usuário final seria extremamente difícil. Gerar, gerenciar e verificar os bilhões de certificados necessários para isso é uma tarefa quase impossível.
Mas em uma escala menor, o mTLS é altamente útil e bastante prático para organizações individuais, especialmente quando essas organizações empregam uma abordagem Zero Trust para segurança de rede. Como uma abordagem Zero Trust não confia em nenhum usuário, dispositivo ou solicitação por padrão, as organizações devem poder autenticar todos os usuários, dispositivos e solicitações sempre que tentarem acessar qualquer ponto da rede. O mTLS ajuda a tornar isso possível autenticando usuários e verificando dispositivos.
O Cloudflare Zero Trust usa mTLS para a segurança Zero Trust. O API Shield da Cloudflare também usa mTLS para verificar os endpoints de API, garantindo que nenhuma pessoa não autorizada possa enviar solicitações de API possivelmente maliciosas. Aprenda a implementar o mTLS com a Cloudflare.