Este artigo pretende alertar os utilizadores de que o e-mail não é um canal seguro de comunicação. No entanto pode sê-lo usando o GPG (Gnu Privacy Guard).
Como a maioria dos utilizadores já deve estar ciente, os pacotes com mensagens de correio electrónico, entre outros, viajam livremente pela Internet. Uma rede reconhecidamente insegura até atingirem os seus respectivos destinos.
Neste percurso, um intruso pode facilmente interceptá-los e ler, ou até alterar o seu conteúdo. Basta pensares um pouco: numa troca de e-mails nunca podes ter a certeza de que a mensagem enviada não foi interceptada e lida por terceiros. Estes terceiros podem ser o teu bem amado fornecedor de Internet (aka, ISP), lamers bisbilhoteiros, invasores, ou mesmo alguém utilizando o teu PC quando estás ausente. Assim, as tuas mensagens podem ser lidas em vários locais. No teu próprio PC, na caixa postal do ISP (as mensagens que recebes e envias ficam armazenadas num directório do servidor), no PC do destinatário, além de neste longo caminho as mensagens atravessarem máquinas pelas quais vai passando até chegar ao seu destino.
Desta forma podes concluir que a rede não é um canal seguro para trocas de mensagens confidenciais. Graças à cifragem, a rede pode ser utilizada para troca de mensagens confidencias.
Porque é que deves cifrar os teus documentos ? Pelas razões acima referidas. Supõe que alguém tem acesso ao teu PC: estará apto a roubar-te as passwords, os teus números de cartões de crédito, bisbilhotar os teus documentos pessoais, etc… Se esta informação estiver cifrada não significará nada para o invasor e podes ter a certeza que este terá um trabalho bastante árduo para furar o mecanismo de segurança e não há-de consegui-lo de todo.
Quem utiliza o GPG ? Todas as pessoas que dão valor à privacidade: políticos, jornalistas, empresas, homens de negócios, etc…
“Não tenho nada a esconder, porque preciso de privacidade” ? Não acredito, apresenta-me alguém que não tenha absolutamente nada a esconder da sua família, dos seus vizinhos ou dos seus colegas. Apresenta-me alguma empresa que não tenha segredos a esconder dos seus concorrentes. Supõe que não és o único a utilizar o teu computador. Vais deixar os teus documentos pessoais abertos a pessoas estranhas ? Bem me parecia que não.
Agora vou saltar por cima da História da cifragem, do que ela é e como funciona. Teria que usar palavrões como algoritmos, chaves assimétricas, criptosistemas, criptoanálise… Em resumo, fazer com que adormecesses em cima do teclado. Afinal, isto é um artigo for dummies. No offense. None taken. Agora sim, a prática. O GPG vem incluído em todas as distribuições Linux e também existe para Windows descarregando-o de um mirror. Portanto, vou poupar-me ao trabalho de te ensinar a compilar o código.
A primeira coisa que tens que fazer é gerar um par de chaves: uma privada e outra pública. O truque do PGP é que usa duas chaves diferentes: uma que podes dar a toda a gente para que possam decifrar os teus e-mails e outra que não podes dar a ninguém e que serve para os assinar digitalmente e/ou cifrar. Para gerares as chaves, corres:
$ gpg --gen-key
Este comando, só para te chatear a móina, começa a fazer-te perguntas antes de mais nada. Não te chateies, elas são essenciais. À primeira, respondes com a opção 1. À segunda, quanto maior o número, melhor. À terceira, deixo ao teu critério. Afinal de contas és um dummy no GPG, mas também és um gajo inteligente que até sabe ler inglês. Se não te arrependeres das respostas que deste até agora, carrega na tecla “y”. De seguida é-te perguntado o teu nome, e-mail e um comentário que pode ser por exemplo “o Sporting é o maior”. É irrelevante (o que escolheres escrever, não o facto de o Sporting ser o maior, isso é indiscutível). Estando tudo bem, carregas nas teclas “SHIFT” e “o”, para que respondas com O em vez de o. Manias, é o que é. De seguida é-te pedida uma password e convém que escolhas uma bem boa que ninguém consiga adivinhar. Esperas um bocado enquanto o GPG faz as suas contas de cabeça. Para não demorar muito, convém que ao mesmo tempo tecles furiosamente como se estivesses a tocar piano, movas o rato ao calhas e depressa, abras e fechas janelas e outas coisas assim. Oops… já me ia esquecendo: embora este comando possa ser executado em qualquer directório com sucesso, deves fazê-lo no teu directório de utilizador (ou home como lhe chamam). Caso contrário, o teu cliente de e-mail não vai saber onde estão as chaves. Se usares Windows, aceita o sítio onde ele quer instalar-se e não discutas. É melhor assim.
No final, o GPG vai criar na tua home um directório com o nome “.gnupg”, dentro do qual estarão alguns ficheiros e podes confirmar que as tuas chaves foram criadas executando o comando:
$ gpg --list-keys
Se o teu endereço de e-mail for dummy@dummy.com e o teu nome dummy doe, há-de aparecer-te no monitor qualquer coisa como isto:
/home/dummy/.gnupg/pubring.gpg
-------------------------------
pub 1024D/9C569AB8 2009-01-18 dummy doe (qqcoisa) dummy@dummy.com
sub 1024g/726A15B2 2009-01-18
Agora convém tomares nota do fingerprint da tua chave. Isto é um identificador único para cada chave. Para isso, executas o comando:
$ gpg --fingerprint dummy@dummy.com
E hás-de ver no teu monitor qualquer coisa assim:
pub 1024D/9CCD9AB8 2009-01-08 Dummy Doe (qqcoisa) dummy@dummy.com
Key fingerprint = 36C6 CAD5 F635 D67C A7BC E833 1DA4 E28F 1C78 6AB6
sub 1024g/726A15B2 2009-01-18
Aí tens o fingerprint da tua chave:
36C6 CAD5 F635 D67C A7BC E833 1DA4 E28F 1C78 6AB6
.
Deves dar o teu fingerprint a quem queres enviar e-mails assinados, para que possam verificar que este por ti assinado é válido.
Agora, deves exportar a tua chave pública para um ficheiro de texto ascii. Para isso, executas o comando:
$ gpg --export -a dummy@dummy.com > chavepub.txt
Este ficheiro é para ser espalhado à vontade por toda a gente. Para que quem o quiser, te poder enviar e-mails assinados e/ou cifrados e tu os possas ler. O melhor modo de fazeres isso não é andares a tocar de porta em porta à campainha dos teus amigos. Há servidores de chaves públicas por todo o mundo que as guardam e quem a quiser, só tem que a lá ir buscar. E a melhor parte destes servidores, é que inseres a tua chave num qualquer e passados uns minutos já está em todos os outros. Porreiro, pá! Podes até querer ser elitista :) e inserires a tua chave pública no servidor do MIT em http://pgp.mit.edu. Basta abrires primeiro o ficheiro chavepub.txt, fazeres Copy dele e Paste na caixa da página anterior.
Outra coisa que deves fazer é criar um certificado de anulação da tua chave. Porra, ainda agora a crias-te e já estás a pensar em anulá-la. Espera, há várias razões para o fazeres, mas a principal é se te conseguirem roubar a chave. Aí, se não tiveres o certificado de anulação, qualquer pessoa pode enviar e-mails assinados em teu nome, ou por outras palavras, terceiros vão receber e-mails com a tua assinatura, assim confiando que foste mesmo tu que os mandaste ir dar banho ao cão, quando na verdade não foste tu que o escreveste. E isto é gravíssimo e pode trazer-te sarilhos do arco da velha. Por isso mesmo, não deves deixar ficar o certificado de anulação no disco do teu computador. Porque se ele der o berro, de que te serve tê-lo criado ? Guarda-o numa pen USB ou num CD, etc. e de preferência escondida(o) para que ninguém a(o) encontre. Agora que te disse porque deves criar este certificado, vou-te dizer como o fazer. Basta executares este comando:
$ gpg --gen-revoke dummy@dummy.com
Este comando vai perguntar-te porque queres anular a chave, pede-te a password e um comentário. No final, entre outras coisas, há-de aparecer-te qualquer coisa como isto:
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.5 (GNU/Linux)
Comment: A revocation certificate should follow
iEwEIBECAAwFAklyvyAFHQJlZGYACgkQtv7MwiyrF5DdMQCglgTHOc7Wvwm7vdZc
cFOG8kEFYeMAoLUB6I1mPEG5rkaxbCZi/RW5Vmup
=3YPS
-----END PGP PUBLIC KEY BLOCK-----
Fazes Copy *só desta parte* e Paste para um ficheiro de texto com um nome qualquer. É este o ficheiro que deves gravar na tal pen USB ou CD e esconder bem escondido. Não te esqueças: não o graves no disco rigído do teu computador.
Agora já tens tudo o que necessitas para enviares e receberes e-mail cifrados. Em Linux, praticamente todos os clientes de e-mail suportam nativamente o GPG. Em Windows, apenas conheço o Thunderbird e o Mail Composer que vem incluído no browser SeaMonkey, uma espécie de sucessor do antigo Mozilla. No entanto, em relação a suporte nativo, estes dois clientes de e-mail não o têm em nenhum sistema operativo. É necessário um add-on chamado enigmail para isso. E nestes dois casos, é necessário configurar o add-on para as tuas chaves, mas isso é muito fácil, não necessita de explicação.
Agora um ponto muito importante: se enviares um e-mail cifrado que contenha um ficheiro anexo, apenas o texto da mensagem seguirá cifrado. O anexo, não. É um bocado idiota, mas é assim que funciona. Se quiseres que o anexo siga cifrado juntamente com a mensagem, tens que o cifrar primeiro e só o anexar depois. Para cifrares o ficheiro dummy.jpg, necessitas da chave pública da pessoa para quem a queres enviar e de a importar (supõe que o seu endereço de e-mail seja anotherdummy@dummy.com). Para obteres a chave pública, podes pedi-la ou tirá-la de um servidor de chaves como o do MIT. Para a importares, executas:
$ gpg --import a-chave-do-meu-amigo.asc
Para cifrares o ficheiro, corres o comando:
$gpg -ea -r anotherdummy@dummy.com dummy.jpg
É criado um ficheiro chamado dummy.jpg.asc que é o que deves anexar. Agora já podes enviar o e-mail com o texto e o anexo cifrados. Se te enviarem um anexo cifrado, decifra-o com o comando:
$ gpg -d dummy.jpg.asc > qualquer-coisa.jpg
E pronto, muita coisa ficou por dizer e explicar, mas isto é o suficiente para o objectivo principal. Agora que já não és um dummy, mas também não és nenhum guru, vai ao site do GPG e lê o manual.
Boas cifragens :)