O que é Criptografia de Ponta-a-Ponta (E2EE)?
O que é Criptografia de Ponta-a-Ponta (E2EE)?
InícioArtigos

O que é Criptografia de Ponta-a-Ponta (E2EE)?

Intermediário
Published Jul 3, 2020Updated Apr 29, 2021
8m

Introdução

Na atual era das comunicações digitais você raramente se comunica diretamente com seus colegas. Pode parecer que você e seus amigos estão trocando mensagens em particular mas, na realidade, as mensagens são gravadas e armazenadas em um servidor central.

Talvez você não queira que suas mensagens sejam lidas pelo servidor responsável por transmiti-las entre você e o destinatário. Nesse caso, a criptografia de ponta-a-ponta (em inglês, end-to-end encryption - E2EE) pode ser a solução.

A criptografia de ponta-a-ponta é um método para criptografar comunicações entre destinatário e remetente, de modo que os mesmos sejam as únicas pessoas que podem descriptografar os dados. Suas origens remontam aos anos 90, quando Phil Zimmerman lançou o Pretty Good Privacy (conhecido como PGP). 

Antes de entendermos os motivos de usar a criptografia E2EE e como ela funciona, vamos avaliar como mensagens não criptografadas funcionam.


Como funcionam mensagens não criptografadas?

Vejamos como funciona uma plataforma comum de mensagens de smartphones. Você instala o aplicativo e cria uma conta, que permite a comunicação com outras pessoas que fizeram o mesmo. Você escreve uma mensagem, insere o nome de usuário do seu amigo e a envia para um servidor central. O servidor recebe a mensagem e o endereço de seu amigo e então a repassa ao destinatário. 


Comunicação entre usuários A e B. Para se comunicarem, eles devem enviar dados através do servidor (S).


Talvez você conheça esse modelo com o nome de cliente-servidor. O cliente (seu telefone) não está fazendo muita coisa – o servidor cuida de todo o trabalho pesado. O provedor de serviços atua como um intermediário entre você e o receptor.

Na maioria das vezes, os dados entre A <> S e S <> B no diagrama são criptografados. Um exemplo disso é o TLS (Transport Layer Security), muito utilizado para proteger conexões entre clientes e servidores.
O TLS e outras soluções de segurança impedem a interceptação da mensagem do cliente para o servidor. Embora essas medidas possam impedir que pessoas de fora acessem os dados, a leitura dos dados ainda pode ser feita pelo servidor. É aqui que entra a criptografia. Se os dados de A forem criptografados com uma chave criptográfica pertencente a B, o servidor não será capaz de ler ou acessar esses dados. 
Sem o uso de métodos E2EE, o servidor pode armazenar as informações em um banco de dados, juntamente com milhões de outros dados. Violações de dados em grande escala já comprovaram diversas vezes que isso pode ter implicações muito sérias para os usuários finais.


Como funciona a criptografia de ponta-a-ponta?

A criptografia de ponta-a-ponta garante que ninguém – nem mesmo o servidor que conecta os usuários – tenha acesso às comunicações. As comunicações em questão podem ser um simples texto, emails, arquivos ou chamadas de vídeo. 

Os dados são (supostamente) criptografados em aplicativos como WhatsApp, Signal ou Google Duo para que apenas os remetentes e os destinatários possam descriptografá-los. Em sistemas com criptografia de ponta-a-ponta, você pode fazer esse processo a chamada troca de chaves.


O que é a Troca de Chaves de Diffie-Hellman?

A ideia da troca de chaves de Diffie-Hellman foi concebida pelos criptógrafos Whitfield Diffie, Martin Hellman e Ralph Merkle. É uma técnica poderosa que permite que as partes gerem um segredo compartilhado em um ambiente potencialmente hostil. 

Em outras palavras, a criação da chave pode acontecer em locais inseguros (mesmo que outros usuários observem) sem comprometer as mensagens seguintes. Na era da informação, isso é especialmente valioso, pois as partes não precisam trocar fisicamente as chaves para estabelecer uma comunicação.

A troca em si envolve grandes números e um pouco da mágica criptográfica. Não entraremos em detalhes. Em vez disso, usaremos a conhecida analogia de cores de tinta. Suponha que Alice e Bob estejam em quartos de hotel separados em extremos opostos de um corredor e queiram compartilhar uma cor específica de tinta. Eles não querem que mais ninguém descubra qual é a cor.

Infelizmente, o andar em que eles se encontram está cheio de espiões. Neste exemplo, suponha que Alice e Bob não podem entrar um no quarto do outro, então eles só podem interagir no corredor. No corredor, eles podem decidir uma tinta em comum – amarela, por exemplo. Eles pegam uma lata dessa tinta amarela, dividem um pouco para cada e retornam aos seus respectivos quartos.

Nos quartos, eles misturam uma tinta secreta – que ninguém sabe qual é. Alice usa uma tinta azul e Bob usa uma vermelha. É fundamental que os espiões não saibam quais as cores secretas utilizadas. Os espiões podem ver as misturas resultantes, pois Alice e Bob saem de seus quartos com suas misturas azul-amarelo e vermelho-amarelo.

Bob e Alice trocam suas misturas no corredor. Não importa se os espiões os vêem agora, porque não serão capazes de determinar a tonalidade exata das cores adicionadas. Lembre-se de que isso é apenas uma analogia – a matemática realmente envolvida neste sistema torna ainda mais difícil de adivinhar qual é a “cor” secreta.

Alice pega a mistura de Bob, Bob pega a de Alice e eles retornam aos seus quartos novamente. Então, eles misturam mais uma vez suas cores secretas.

  • Alice combina sua tinta secreta azul com a mistura vermelho-amarelo de Bob, resultando na mistura vermelho-amarelo-azul
  • Bob combina sua tinta secreta vermelha com a mistura azul-amarelo de Alice, resultando na mistura azul-amarelo-vermelho

No fim, ambas as combinações têm a mesma mistura cores, portanto são aparentemente idênticas. Alice e Bob criaram com sucesso uma cor única que os espiões desconhecem.



Esse é o princípio que podemos usar para criar um segredo compartilhado em ambiente público. A diferença é que não estamos lidando com corredores e tintas, mas com canais inseguros, chaves públicas e chaves privadas.


Troca de mensagens

Depois que as partes tiverem seu segredo compartilhado, elas podem usá-lo como base para um esquema de criptografia assimétrica. As implementações mais comuns geralmente incorporam técnicas adicionais para obter mais segurança, mas nada disso está aparente para o usuário. Depois que você se conecta com um amigo usando um aplicativo com E2EE, a encriptação e a desencriptação só podem ocorrer em seus dispositivos (exceto quando existem maiores vulnerabilidades de software).

Não importa se você é um hacker, o provedor de serviços ou até mesmo um agente da lei. Se o serviço for realmente criptografado de ponta-a-ponta, qualquer mensagem que você interceptar parecerá impossível de interpretar. 



Prós e contras da criptografia de ponta-a-ponta

Contras da criptografia de ponta-a-ponta

Na verdade, existe apenas uma desvantagem na criptografia de ponta-a-ponta – se é que podemos chamar de desvantagem, pois depende da perspectiva. Para alguns, a própria proposição da criptografia E2EE é problemática, justamente porque ninguém pode acessar suas mensagens sem a chave correspondente.

Os que criticam essa tecnologia, argumentam que criminosos podem usá-la, sabendo que governos e empresas de tecnologia não podem decifrar suas comunicações. Essas pessoas acreditam que quem cumpre a lei não precisa manter suas mensagens e telefonemas em segredo. Muitos políticos defendem essa ideia e apoiam a legislação que daria suporte aos sistemas para permitir acesso a informações e comunicações. Obviamente, isso anularia o objetivo da criptografia de ponta-a-ponta.

Vale lembrar que aplicativos que usam E2EE não são 100% seguros. As mensagens são ofuscadas quando retransmitidas de um dispositivo para outro, mas são visíveis nos terminais – ou seja, nos laptops ou smartphones em cada extremidade. Isso não é uma desvantagem própria da criptografia de ponta-a-ponta, mas vale a pena lembrar.


Antes e depois da encriptação, o texto da mensagem é visível.


A criptografia E2EE garante que ninguém possa ler seus dados enquanto você os transmite. Mas existem outras ameaças:

  • Seu dispositivo pode ser roubado: caso você não tenha um código PIN ou o invasor possa ultrapassá-lo, ele teria acesso às suas mensagens.
  • Seu dispositivo pode estar comprometido: sua máquina pode ter um malware que acessa as informações antes e depois do envio.

Outro risco é que alguém tente aplicar o golpe conhecido como "man-in-the-middle" (homem do meio). Esse tipo de golpe acontece no início da comunicação – se você estiver realizando uma troca de chaves com alguém, pode não saber ao certo se está trocando com seu amigo. É possível que você, sem saber, defina um segredo compartilhado com um invasor. Sendo assim, o agente mal intencionado recebe suas mensagens e tem a chave para decifrá-las. Esse tipo de invasor pode enganar seu amigo da mesma maneira, ou seja, como intermediário ele poderia retransmitir, ler e modificar mensagens entre vocês como bem entender.

Para solucionar esse problema, muitos aplicativos integram algum tipo de recurso de código de segurança. Geralmente é uma sequência de números ou um código QR que você pode compartilhar com seus contatos por meio de um canal seguro (preferencialmente offline). Se os números coincidirem, você pode ter certeza de ninguém está espionando suas comunicações.


Prós da criptografia de ponta-a-ponta

Em uma instalação sem nenhuma das vulnerabilidades mencionadas anteriormente, a criptografia E2EE é um recurso indiscutivelmente valioso para maior confidencialidade e segurança. Como o onion routing (roteamento cebola), é uma tecnologia doutrinada por defensores da privacidade em todo o mundo. Além disso, é facilmente incorporada aos aplicativos simples que costumamos usar, ou seja, essa tecnologia está acessível a qualquer pessoa capaz de usar um telefone celular.

Considerar a criptografia E2EE um mecanismo útil apenas para criminosos e espiões seria um grande erro. Até as empresas aparentemente mais seguras provaram ser suscetíveis a ataques cibernéticos, expondo informações não criptografadas de usuários a invasores. O acesso a dados de usuários, como conversas particulares ou documentos de identidade, pode ter impactos catastróficos na vida das pessoas. 

Se uma empresa cujos usuários dependem da criptografia E2EE for invadida, os hackers não serão capazes de extrair nenhuma informação significativa sobre o conteúdo das mensagens (desde que a implementação da criptografia seja robusta). Na pior das hipóteses, eles poderiam obter metadados. Ainda seria preocupante em termos de privacidade, mas já seria melhor do que a exposição das mensagens criptografadas.


Considerações finais

Além dos aplicativos mencionados anteriormente, há um número crescente de ferramentas E2EE disponíveis gratuitamente. O iMessage da Apple e o Duo do Google são fornecidos com os sistemas operacionais iOS e Android. Cada vez mais softwares com foco em privacidade e segurança estão sendo lançados.

Vamos reiterar que a criptografia de ponta-a-ponta não é uma barreira mágica contra todas as formas de ataques. No entanto, com um esforço relativamente pequeno, você pode usá-la para reduzir, de maneira significativa, os riscos inerentes à exposição online. Juntamente com os recursos Tor, VPNs e criptomoedas, mensagens que fazem uso da criptografia E2EE podem ser uma adição valiosa ao seu arsenal de segurança e privacidade digital.