A autenticação mútua, ou autenticação bidirecional, ocorre quando ambos os lados de uma conexão verificam a identidade um do outro.
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
A autenticação mútua ocorre quando dois lados de um canal de comunicação verificam a identidade um do outro, em vez de apenas um lado verificar o outro. A autenticação mútua também é conhecida como "autenticação bidirecional" porque o processo ocorre em ambas as direções.
Quando alguém usa um aplicativo de carona compartilhada, geralmente verifica a placa ou a descrição do veículo para garantir que está entrando no carro certo. Assim que eles entram, o motorista pede ao passageiro seu nome para confirmar que está pegando a pessoa certa. O passageiro e o motorista verificam se estão interagindo com a pessoa pretendida — assim o motorista está prestando o serviço correto, o passageiro está em um carro indo para seu destino e ambos podem confirmar que estão com alguém que foi verificado pelo aplicativo de carona.
Da mesma forma, a autenticação mútua verifica ambas as partes em um canal de comunicação digital. Por exemplo, um cliente e um servidor usando autenticação mútua realizam etapas para verificar independentemente a identidade um do outro, em vez de apenas o cliente autenticar o servidor. Conexões dispositivo a dispositivo, como aquelas entre dispositivos de Internet das Coisas (IoT), geralmente também usam autenticação mútua.
A autenticação mútua é mais comumente associada ao protocolo Transport Layer Security (TLS), mas também pode ser usada por outros protocolos e em outros contextos. Saiba mais sobre o TLS mútuo.
Existem três métodos principais para autenticar mutuamente as extremidades de um canal de comunicação:
1. Autenticação de chave pública: este método se baseia em criptografia de chave pública.Uma chave é uma sequência de dados que pode ser usada para criptografar ou assinar digitalmente os dados.A criptografia de chave pública usa duas chaves — uma chave pública e uma chave privada.Os dados criptografados com a chave pública são descriptografados com a chave privada.
Na autenticação mútua de chave pública, ambos os lados da comunicação anunciam uma chave pública e ambos têm que provar que possuem a chave privada que acompanha sua chave pública — como alguém mostrando um cartão de identificação emitido pelo governo para verificar seu nome. Cada lado envia uma assinatura digital para o outro lado. Se a assinatura puder ser verificada com a chave pública, então foi utilizada a chave privada correta e a parte que enviou a assinatura é legítima.
2. Autenticação de certificado: esta abordagem é semelhante à autenticação de chave pública, exceto que, em vez de apenas uma chave pública, ambas as partes têm um certificado de chave pública. O certificado contém informações adicionais que ajudam a verificar as identidades das partes — incluindo quem emitiu o certificado e a chave pública, a quem o certificado se aplica, quando o certificado expira e assim por diante. Certificados TLS podem ser usados para este tipo de autenticação mútua se ambos os lados tiverem um.
3. Nome de usuário e senha: apesar do nome, esse método de autenticação mútua ainda usa um certificado no lado do servidor. O servidor apresenta um certificado ao cliente, que verifica o certificado. No lado do cliente, é como a autenticação típica de nome de usuário/senha: o cliente envia sua combinação de nome de usuário e senha para o servidor, que verifica as credenciais.
A autenticação unidirecional acontece o tempo todo na internet. Sempre que alguém carrega um site que usa HTTPS, seu dispositivo autentica a identidade do servidor web verificando o certificado TLS do servidor. Outro exemplo seria uma pessoa entrando em sua conta em um aplicativo — nesse caso, o aplicativo está autenticando a pessoa.
Embora a autenticação mútua elimine algumas falhas de segurança e torne alguns tipos de ataques muito mais difíceis de realizar, ela adiciona mais tempo e poder de computação à troca de informações. Também requer algumas configurações avançadas — ambos os lados da comunicação precisam de um conjunto de credenciais, um par de chaves pública-privada ou um certificado de chave pública (dependendo do tipo de autenticação em uso). Isso dificulta a implementação da autenticação mútua para o usuário médio e é por isso que a autenticação mútua normalmente não faz parte do TLS quando alguém está usando um aplicativo web.
Os principais casos de uso para autenticação mútua incluem:
Ataques de invasores intermediários: em um ataque de invasores intermediários um invasor está no meio de uma conexão entre duas partes. O invasor intercepta as comunicações em ambas as direções e representa as duas extremidades da conversa uma para a outra. A autenticação mútua ajuda a interromper esse tipo de ataque porque o invasor não poderá autenticar em ambas as extremidades da comunicação.
Falsificação e personificação: os invasores usam esses ataques para enganar um servidor ou usuário e fazê-lo pensar que é uma parte conhecida e confiável. Um invasor pode falsificar um servidor web para um usuário ou vice-versa. Esses ataques são muito mais difíceis quando ambos os lados precisam se autenticar.
Roubo de credenciais: algumas formas de autenticação mútua são baseadas em senha e ainda podem estar sujeitas a roubo de credenciais (quando um invasor rouba a senha de um usuário legítimo). No entanto, como a autenticação mútua geralmente é baseada em chave pública, o roubo de credenciais não é possível porque não há credenciais para roubar. Isso pode impedir que ataques de phishing tenham efeito.
Esses protocolos de rede têm autenticação mútua integrada ou oferecem a opção de usá-la:
Secure Shell Protocol (SSH): o SSH é um protocolo de tunelamento para conexão segura a um servidor ou dispositivo remoto . O SSH pode usar autenticação de chave pública ou autenticação de certificado. Em outras palavras, é possível autenticar mutuamente no SSH com uma chave pública ou com um certificado de chave pública.
TLS: embora o TLS não autentique mutuamente ambas as extremidades de uma conexão por padrão, ele pode ser usado para essa finalidade. Mutual TLS (mTLS) é um dos tipos de autenticação mútua mais comumente aplicados. No mTLS, ambos os lados de uma conexão possuem um certificado TLS. O mTLS é comumente usado para segurança de APIs, segurança de IoT e aplicativos de segurança Zero Trust.
A autenticação mútua é essencial para várias das soluções de segurança Zero Trust que a Cloudflare oferece. O Cloudflare Zero Trust, uma plataforma para controle de acesso de aplicativos e navegação na internet, oferece mTLS para verificação de usuários e dispositivos.O Cloudflare API Shield é compatível com mTLS para autenticação e segurança de APIs.