O que é autenticação mútua? | Autenticação bidirecional

A autenticação mútua, ou autenticação bidirecional, ocorre quando ambos os lados de uma conexão verificam a identidade um do outro.

Objetivos de aprendizado

Após ler este artigo, você será capaz de:

  • Definir "autenticação mútua".
  • Explicar como funciona a autenticação mútua
  • Relacionar os principais casos de uso para autenticação mútua

Copiar o link do artigo

O que é autenticação mútua?

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.

Como funciona a autenticação mútua?

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 depende de criptografia de chave pública. Criptografia é o processo de embaralhamento de dados pelo uso de uma chave. A criptografia de chave pública usa duas chaves em vez de uma — uma chave pública e uma chave privada. Os dados criptografados com a chave pública são descriptografados com a chave privada e os dados criptografados com a chave privada são descriptografados com a chave pública.

Na autenticação mútua de chave pública, ambos os lados da comunicação anunciam uma chave pública e ambos precisam provar que possuem a chave privada que acompanha sua chave pública — como alguém mostrando uma carteira de identidade emitida pelo governo para verificar seu nome. Cada lado envia um trecho de dados chamado "assinatura" e criptografa essa assinatura com sua chave privada, e o outro lado descriptografa a assinatura usando a chave pública. Se a assinatura puder ser descriptografada corretamente com a chave pública, a chave privada correta foi usada 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.

Quando a autenticação mútua é usada?

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:

  • IoT: a maioria dos dispositivos de IoT precisa se conectar a um servidor remoto para funcionar corretamente. Eles também podem precisar se conectar a outros dispositivos de IoT. Os dispositivos de IoT precisam fazer isso em uma rede não segura (a internet). A autenticação mútua ajuda a garantir que os dados recebidos sejam precisos e de uma fonte legítima, reduzindo as chances de um invasor comprometer suas conexões.
  • Segurança de APIs: A autenticação garante que as solicitações de API venham de uma fonte legítima. A autenticação mútua é uma maneira de garantir que uma API não esteja aceitando solicitações de invasores e que um usuário de API não esteja aceitando respostas de API falsificadas.
  • Segurança Zero Trust: "Zero Trust" é uma filosofia que assume que qualquer usuário ou dispositivo pode apresentar uma ameaça. Ao exigir que ambos os lados de uma conexão sejam autenticados, a autenticação mútua garante que apenas usuários legítimos estejam conectados à rede, servidor ou aplicativo. Por outro lado, os usuários podem ter certeza de que se conectaram à rede, servidor ou aplicativo correto.

Que tipos de ataques a autenticação mútua ajuda a parar?

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.

Quais protocolos são compatíveis com autenticação mútua?

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. O TLS mútuo (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 Cloudflare oferece autenticação mútua?

A autenticação mútua é essencial para várias das soluções de segurança Zero Trust que a Cloudflare oferece. O Cloudflare for Teams, um conjunto de soluções Zero Trust para controle de acesso de aplicativos e navegação na internet, oferece mTLS para verificação de usuários e dispositivos. O API Shield da Cloudflare é compatível com mTLS para autenticação e segurança de API.