O PGP utiliza “criptografia de chave pública” para cifrar e decifrar mensagens. Anteriormente, para enviar mensagens criptografadas para um destinatário, era necessário combinar o uso de uma chave ou método compartilhado com antecedência. Isso requeria o encontro com o destinatário em pessoa para estipular qual seria a “chave” sem medo de interceptação. Afinal, a probabilidade de uma carta ser interceptada é a mesma de seu algoritmo de decifragem ser interceptado. Essa situação era pouco prática, dado o estado das comunicações de massa atuais no mundo.
A criptografia de chave pública, também chamada de criptografia de chave assimétrica, é uma das soluções para esse problema. Primeiro, ambas as partes que desejem ter uma conversa criptografada precisam gerar pares de chaves. Cada participante gerará uma chave pública e uma privada utilizando seu software de PGP (algo que só precisa ser feito uma vez por cada pessoa). A chave pública é a cifra. É a chave usada para criptografar uma mensagem. A chave, que é matematicamente ligada à chave pública, é usada para decifrar a mensagem. Na realidade, uma chave de sessão simétrica é gerada para criptografar cada mensagem. A própria chave é, então, criptografada com a chave pública e enviada dentro da mensagem.
O funcionamento prático se dá da seguinte maneira:
- A pessoa A compartilha sua chave pública com a pessoa B;
- A pessoa B usa essa chave para criptografar uma mensagem e enviá-la de volta para a pessoa A;
- A pessoa A então usa sua própria chave privada para decodificar a mensagem;
- A chave pública da pessoa B pode ser incluída na mensagem de retorno ou publicada.
A eficácia da criptografia moderna se baseia no fato de que alguns problemas matemáticos são extremamente difíceis de se resolver. Problemas usados envolvem a decomposição em fatores primos e a relação entre curvas elípticas. Saber disso não é necessário para utilizar a criptografia, mas vale a pena mencionar para aqueles que se interessam.
Uma boa analogia seria a pessoa A enviar à pessoa B uma caixa com um cadeado, mas sem chave física. A pessoa B então coloca a mensagem dentro da caixa e a tranca. A partir desse ponto, a pessoa A é a única capaz de destrancar a caixa com a chave que ela possui. Usando esse método, não faz diferença se qualquer tiver acesso a sua chave pública, porque ela só permite a criptografia de mensagens para aquela pessoa. Apenas pela violação da chave privada de alguém ou da não-autenticação da pessoa com quem se está comunicando, a privacidade e segurança da troca de mensagens pode ser quebrada.
Agora que já apresentamos o funcionamento básico do PGP, nós utilizaremos um método simples para implementá-lo em comunicações por email. Lembre-se de que o PGP protegerá a privacidade da comunicação, mas não a anonimidade. Um interceptador ainda será capaz de saber que você, pessoa A, se comunicou com a pessoa B. Ele apenas não saberá do conteúdo da conversa.
Um dos métodos mais fáceis de usar o PGP é com um plugin para o navegador chamado Mailvelope, que eu cobrirei no resto deste artigo. Faço essa sugestão porque ele não requer a instalação de qualquer programa no computador, já que ele funciona no próprio navegador. O fato de que o uso dos clientes de email para PC está em declínio também é um dos motivos pelos quais eu considero o Mailvelope uma opção interessante. Também colocarei um link para minha chave pública e email no final do artigo, para aqueles que desejarem praticar o envio e o recebimento de mensagens criptografadas.
O Mailvelope está disponível atualmente só para o Google Chrome. Pode ser baixado como extensão aqui.
Quando você adicionar o Mailvelope a seu navegador, um ícone de um cadeado aparecerá no topo da tela, próximo ao botão de configurações do Chrome.
Clique com o botão esquerdo e escolha “Options”. A partir daí, você precisará gerar duas chaves, uma pública e uma privada. Esta opção estará no menu da esquerda.
Coloque seus dados nos campos (nome e email). Certifique-se de que a senha (“Passphrase”) que você utilizar seja longa e que você seja capaz de lembrar. Se você esquecer essa senha, você não poderá mais codificar e decodificar mensagens usando esse par de chaves em particular. Na seção “Advanced >>”, escolha um tamanho de chave maior que 1024 bit, para que ela seja utilizável por muito tempo. Quando tiver preenchido os formulários, clique em “Submit”.
Quando tiver completado esses passos, clique na opção “Display Keys” no menu. A partir daí, você pode “exportar” (Export) sua chave pública. Você pode escolher enviá-la a outro usuário de PGP por email ou pode exportá-la como bloco de texto e compartilhá-la por outros meios. Não compartilhe jamais sua chave privada. Sua chave pública é totalmente pública e pode ser compartilhada com quaisquer outras pessoas ou publicada em qualquer lugar sem problemas. Tudo o que a chave pública permite é que alguém envie uma mensagem para você.
Para enviar uma mensagem criptografada para os outros, você deve importar sua chave pública. Você pode fazer isso com a importação de um arquivo “.asc” ou com a cópia de seu bloco de chave pública. Quando for obter uma chave pública, certifique-se, da melhor forma possível, de que a pessoa com quem você pensa estar falando seja realmente aquela pessoa.
Agora que você já gerou suas chaves e importou a chave pública de outra pessoa, você precisa saber como enviar um email.
Abra seu cliente de email. O Mailvelope tem suporte já configurado para o Gmail, Outlook.com, Yahoo Mail e GMX. Nesta demonstração, usarei o Gmail:
Clique no botão para escrever um email. Você perceberá imediatamente um botão “lápis e papel” dentro da caixa. Primeiro entre com o destinatário e o assunto e, assim que chegar ao corpo do email, clique naquele botão.
Escreva o email na caixa que acabou de abrir – isso evita que o texto salvo na caixa normal do cliente seja salvo como rascunho pelo provedor e potencialmente comprometa a privacidade de sua mensagem.
Assim que a tiver escrito, clique no botão do cadeado, escolha a chave do destinatário do menu que abrir, clique em “Add” e “Ok”. Você então deverá pressionar o botão “Transfer” para mover o texto criptografado de volta para a caixa do Gmail. Perceba que, dado que o PGP criptografa sua mensagem com uma chave gerada para a sessão e criptografa a chave da sessão com a chave pública do destinatário, é possível criptografar uma mensagem para múltiplos destinatários.
Um bloco de texto criptografado parecerá com o seguinte:
—–BEGIN PGP MESSAGE—–
Version: OpenPGP.js v.1.20130820
Comment: http://openpgpjs.org
wcBMAxLijeXaycuCAQgAl8n4g5ilhHXKoAqawIxn/bT3i8cZ4HP6JxtCZWWM
rzjX75QFffr3U6OSByqpU+DRBmhd2zG0akzkImUqrkVmQbbZv4vqEpQMMwzh
heX+MuZeUCXKAWTCGfcIMbeXKjpuqbuL0F8NkHeAkqFJ8hcMY8aYX3VtaRbQ
oVdL5aPzMbS5kPxjtr1OY93dwy1jV7JvrYgpyuk4wpynfS1AfKpn2lDyCQGH
sTxu6yqrJUDnnYrs0TkgLvkPXueggA8+yw7zDd3iQ5P2VeMWHH7EAUa+gFj7
x/M3DtHsGvfdssiPP35PZrglHCsJGCTZScO+Re1M2IxZtnZNHfDU0V9lhX4i
Q9JQAQlHtm8etEXlyvovsXDfIE2SdKgcj1bgx359V+zZsvPNyOtqfYEuyszM
7i65cEqz9GdLGFusSYSFpespUCHC71zFmaHEGcmUpglLIvvX2W4=
=g9Kk
—–END PGP MESSAGE—–
Você agora pode enviar sua mensagem sabendo que, se interceptada, estará ilegível.
Quando você recebe um email criptografado, o Mailvelope o detecta e coloca um símbolo com cadeado e envelope sobre ele. Ao clicar nele, você terá que entrar com sua senha. Ao inseri-la, você poderá ler a mensagem normalmente em texto convencional.
Agora você deve ser totalmente capaz de usar o PGP para codificar e decodificar seus emails enviados e recebidos.
Se desejar testar o Mailvelope e não conhece ninguém que já utilize PGP, eu mesmo fiz uma conta de email para receber mensagens criptografadas. O email é williamsheppard101@gmail.com.
Minha chave pública pode ser encontrada neste servidor do MIT.
Eu responderei a todos os emails criptografados que eu receber. Certifique-se de incluir sua chave pública no email.
Abaixo há outras ferramentas que podem ser interessantes se o Mailvelope não servir para você.
EnigMail para o cliente de emails Thunderbird
Uma extensão bem leve e versátil para quem ainda utiliza clientes de email locais. Após instalado, é ainda mais fácil de usar que o Mailvelope.
GPG4win
Vem com vários recursos, incluindo o gerenciador de certificados Kleopatra, que permite que você importe e exporte mensagens criptografadas para enviar cópias por outras plataformas.
GNU Privacy Guard
Para usuários do Linux, o GPG pode ser baixado do repositório da sua distro ou um pacote pode ser pego no site.
GPG Tools
Uma ferramenta GPG para usuários de Mac.