gpg for dummies
18/Jan/2009 @ 08:19 Software

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 :)

-MG
rss 9 pás de carvão
  1. 18/Jan/2009 | 14:44

    boas,

    só para dizer que existem bons front ends para o gnupg, eu como uso o KDE prefiro o KGpg.
    creio que para gnome tb hajam, mas não tenho paciência para as peripécias do Miguel Icaza querer colocar aqilo tudo sob .Net

    em ms-windows, já em 1998 ano em que deixei de usar, existia um front end, presumo que agora esteja bem mais evoluido.

    existe tb uma extensão para usar directamente no firefox em gmail, que é a FireGpg

    para terminar só uma tacadinha ao Mário, sempre a criticar o FLOSS em desktop e agora sai-se com um howto na linha de comandos ;)

    cumps,

    rjnunes


    A usar Mozilla Firefox Mozilla Firefox 3.0.5 em Ubuntu Linux Ubuntu Linux
  2. 18/Jan/2009 | 15:12

    Boas,

    Eu sei que há front-ends para o GPG. Desde para criar chaves, a tudo o resto. Não falei neles, como em muitas outras coisas, porque o que escrevi embora pareça pouco, levou-me 4 horas a fazê-lo durante a madrugada.

    Quanto à tacadinha de andar sempre a criticar o FLOSS, só posso concluir que não me conheces e que és mentiroso. Se eu estiver enganado, prova-me com links onde é que eu alguma vez critiquei o FLOSS.

    A única coisa, é que já escrevi muito mais acerca dele neste blog em que resolvi tomar outra “linha editorial”. Mas lê aqui o anterior a este e depois diz-me qualquer coisa:

    http://gamito.blogs.sapo.pt/

    e

    http://gamito.blogs.sapo.pt/2007/06/

    cumps,
    Mário Gamito


    A usar Mozilla Firefox Mozilla Firefox 3.0.5 em Windows Windows Vista
  3. 18/Jan/2009 | 15:22

    boas again,

    tb não precisas ofender.

    eu não disse que eras critico de FLOSS, sei perfeitamente que o usas desde quase o inicio, apenas disse que costumas ser critico do seu uso em desktop.

    quanto aos links como deves compreender não tenho tempo para isso.

    cumps, e bom fds


    A usar Mozilla Firefox Mozilla Firefox 3.0.5 em Ubuntu Linux Ubuntu Linux
  4. 18/Jan/2009 | 15:28

    Olá again,

    É pena que não tenhas tempo para ler os links (os artigos até nem são muitos). Com certeza que depois disso escreverias um comentário a corrigir de alguma maneira o que escreves-te no primeiro.

    cumps, e bom fds


    A usar Mozilla Firefox Mozilla Firefox 3.0.5 em Windows Windows Vista
  5. 18/Jan/2009 | 18:14

    boas,

    os links que colocaste li-os, procurar por links é que dava trabalho ;)

    por exemplo, acabei de ler um comentário onde afirmas que estás a escrever um livro sobre servidores, serei um dos que o irá adquirir, apesar de trabalhar na área de informática, a minha formação é de engenharia civil…n tem muito a ver e quero estudar bem mais administração NIX, espero que o teu livro me ajude!

    já agora podes dizer se se trata apenas de um livro introdutório ou algo mais pesado?

    nesse comentário afirmas que tens de usar ms-word por causa do template da FCA, não vejo qualquer problema nisso, no entanto poderás sempre perguntar à FCA porque não usam openoffice.org, já que a FCA edita livros de FLOSS, porque não verificar se o template não poderá ser passado para openoffice, este dispõe de diversas ferramentas, creio que de uma espécie de VB e creio que agora até suporta outras linguagens de scripting http://wiki.services.openoffice.org/wiki/Python

    presumo que o template com as devidas adaptações funcionaria em OOo, e se a FCA tem pessoas como tu que são adeptas do uso de FLOSS a escrever para elas concerteza seria do interesse da FCA dar-lhes a possibilidade de trabalharem na plataforma que gostam.

    cumps,


    A usar Mozilla Firefox Mozilla Firefox 3.0.5 em Ubuntu Linux Ubuntu Linux
  6. 18/Jan/2009 | 18:54

    Boas,

    A minha formação académica, também não é em Informática, mas sim em Física. Quanto ao livro, o target não vão ser newbies nem gurus. Vai ficar ali pelo meio. Os últimos não precisam de o comprar e quanto aos primeiros, não estão preparados para um livro sobre esse assunto mesmo que levezinho. Por exemplo o sub-capítulo “IPTABLES” do capítulo segurança, a um nível médio já é muito bom para quem sendo um bom conhecedor de Linux, nunca tenha tido a oportunidade de utilizar estar ferramenta. Portanto, acho que te pode vir a interessar.

    Quanto ao OOo e ao template, estou de acordo com a tua opinião de base. Mas penso que não me cabe questionar a FCA pelas escolhas que faz. É que eu não pago 1 cêntimo que seja para escrever o livro. É a FCA que faz todo o investimento e paga todos os custos. Eu só o escrevo e recebo uma percentagem das vendas sem qualquer compromisso. Eles podem não conseguir vender nem um exemplar que eu não tenho nem outro cêntimo a dar-lhes por isso. São eles que correm os riscos financeiros todos.

    Quanto mais não seja por isto, e correndo o risco de me repetir, acho que não me cabe mesmo questionar as opções deles.

    cumps,


    A usar Mozilla Firefox Mozilla Firefox 3.0.5 em Windows Windows Vista
  7. 19/Jan/2009 | 11:24

    boas, Mario

    obrigado pelo esclarecimento sobre o livro, pelo que dizes será interessante adquiri-lo, ainda para mais devido à tua experiência no terreno.

    já pensaste em colocar em cada capitulo uma história real que te tenha acontecido? uma espécie de Hack que não seja normal encontrar em livros.
    até serviria para descontrair um pouco a leitura e para mostrar a futuros admin o que os espera.

    quanto ao resto compreendo a tua posição e concordo com ela.

    abraço,

    BOM TRABALHO

    P.S. dizes que aquilo está a ser escrito muito devagar, sairá ainda estes ano?


    A usar Mozilla Firefox Mozilla Firefox 3.0.5 em Ubuntu Linux Ubuntu Linux
  8. 19/Jan/2009 | 11:45

    Boas,

    “já pensaste em colocar em cada capitulo uma história real que te tenha acontecido? uma espécie de Hack que não seja normal encontrar em livros.”
    É uma ideia a considerar, mas por mim depois de pensar e se achar bem, tenho que a pôr a sugestão à FCA. Eles não percebem nada do que está escrito nos livros que vendem (têm inúmeros consultores para isso. Muitas vezes vêm sugestões de modificações (mais de organização do que técnica, nisso somos completamente livres) mas percebem a potes das pequenas coisas que podem fazer vender mais livros ou… menos.

    Espero que esteja nas livrarias e nas grandes áreas comerciais na 1ª semana de Dezembro, que é quando o pessoal começa a comprar prendas e com a falta de massa que aí anda, cada vez mais as pessoas oferecem coisas úteis em vez de “brinquedos”. Mas para isso, tenho que o terminar de escrever, enviar para revisão literária, esperar que a façam e me mandem pelo correio a revisão impressa com as alterações e correcção de português a vermelho, eu fazê-las, voltar a enviar os ficheiros já com as revisões e finalmente… ser impresso. E se numa outra qualquer altura do ano, desde que se entregam os ficheiros finais até estar nas livrarias leva 15 dias, no Natal a impressora está sobrecarregada de trabalho.
    Não sei se vai dar. Se não der, o seguinte grande check point para ser colocado à venda são as feiras do livro de Lisboa e do Porto de 2010.

    Vamos a ver. A parte que demora mesmo mais tempo é que todos os comandos que escrevo no livro (e a maior parte sei de cor e salteado), tenho que os correr no Linux e fazer depois C & P para o Word, para ter a certeza de que não meto um typo ou pior ainda, por uma distracção, um parâmetro errado. Também tenho que fazer C & P de outputs, enfim… uma trabalheira danada.

    Eu tive a ideia de para atingir ainda mais gente de o livro poder ser seguido por quem só pode ou só quer ter Windows, mas gostaria de experimentar o Linux. Por isso, vai trazer um DVD com o CentOS e escrevi à VmWare a pedir autorização para distribuir no mesmo DVD o VM Player, coisa que eles aceitaram e já está o acordo assinado entre eles e a FCA :)

    Bem, só o capítulo a explicar como instalar o CentOS, foram dezenas de screenshots que tive que fazer e tratar. Porra, o tempo que aquilo levou.

    Abraço.


    A usar Mozilla Firefox Mozilla Firefox 3.0.5 em Windows Windows Vista
  9. 19/Jan/2009 | 21:56

    boas Mario,

    obrigado pelos teus esclarecimentos.

    vou aguardar pelo livro, pelo que dizes tens bastante trabalho pela frente.

    abraço e Bom Trabalho!


    A usar Mozilla Firefox Mozilla Firefox 3.0.5 em Ubuntu Linux Ubuntu Linux
atira-lhe uma pá de carvão

Nota: Todos os comentários são moderados.