1 de mai de 2013

GnuPG


  
   "É pessoal. É particular. E não é da conta de mais ninguém a não ser você. Você pode estar planejando uma campanha política, discutindo seus impostos, ou tendo um caso ilícito. Não há nada errado em assegurar sua privacidade. Privacidade é algo tão natural e respeitável quanto a Constituição."
Por que você precisa do PGP? - Phil Zimmermann



  • GnuPG:
    O GnuPG (GNU Privacy Guard) é uma implementação gratuita do OpenPGP, que permite criptografar dados e mensagens para garantir a autenticidade e segurança. Ele usa o sistema de chaves pública e privada (assimétrico), conceito que foi introduzido em 1975 por  Whitfield Diffie e Martin Hellman. A chave privada deve ser conhecida e usada somente pelo seu criador, e a chave pública pode ser distribuida livremente para todos. Todos que possuem a chave pública podem criptografar a informação, mas não podem descriptografar, apenas a pessoa que possui a chave privada pode descriptografar.

  • Chaves:
     É um valor que usa um algoritmo criptográfico para produzir um texto cifrado. As chaves são basicamente números muito, mas muito grandes. O tamanho da chave é medido em bits. Uma chave convencional de 80-bit tem a força de uma chave pública de 1024-bit. As chaves grandes são seguras por um longo período de tempo, o DSA permite uma chave de até 1024 bits.




  • Assinaturas digitais:
      Uma das vantagens da criptografia de chave pública é que ele fornece o método de gerar assinaturas digitais. Assinaturas digitais permitem que a pessoa que receber a informação verifique a autenticidade de sua origem e se a informação está intacta. O algoritmo de assinatura de chave pública usando no GnuPG é o DSA (Digital Signature Standard). Se o documento for modificado, a verificação da assinatura falhará. 

     As assinaturas digitais fornecem autenticidade e integridade, fundamentais para manter sua privacidade.

  • Funções Hash:
     Transforma uma mensagem de comprimento variável e produz uma saída de comprimento fixo, transformando uma grande quantidade de dados em uma pequena quantidade de informações. O OpenPGP usa uma criptografia com função hash no texto que o usuário está assinando. A finalidade da função hash é produzir uma impressão digital de um arquivo, mensagem ou bloco de dados.  Algumas famílias hash que o GnuPG usa: MD5, SHA1, SHA256, etc.

  • Instalação:
$ sudo apt-get install gnupg


  • Criando um par de chaves:
$ gpg --gen-key

     Após esse comando, escolha o tipo de criptografia, o tamanho da chave (quanto maior o tamanho, maior será a segurança e o tempo de processamento), a validade da chave, id do usuário, email e comentário. Depois escolha a frase secreta para a chave, necessária para descriptografar a mensagem criptografada com sua chave pública. As configurações do GnuPG ficam no diretório ~/.gnupg/.


  • Listando as chaves:
$ gpg --list-keys


  • Gerando uma versão ascii da chave pública:
$ gpg --armor --output pubkey.txt --export 'Seu Nome'


  • Criptografando arquivos:
$ gpg --encrypt --recipient 'Seu Nome' texto.txt

Para descriptografar:

 $ gpg --output texto.txt --decrypt texto.txt.gpg

     O comando acima vai pedir a sua frase secreta usada na criação da chave.

  • Importando uma chave:
$ gpg --import alguma_chave.gpg

  • Assinando a chave:
     Para garantir sua autenticidade, depois de ser importada a chave deve ser assinada:

$ gpg --sign-key C92515E

  • Exportando uma chave:
$ gpg --output zeldani.gpg --export zeldani

  • Exportando a chave para um servidor:
$ gpg --send-keys 44B6CA2C 

Ou podemos especificar o servidor:

$ gpg --keyserver keyserver.cais.rnp.br --send-keys 44B6CA2C

     A identificação da chave é o 44B6CA2C e o servidor padrão do gnupg é hkp://keys.gnupg.net, que pode ser modificado na entrada keyserver do ~/.gnupg/gpg.conf.

  • Buscando chaves:
$ gpg --search-keys 'zeldani@zeldani.com'

  • Revogando uma chave:
$ gpg --gen-revoke 44B6CA2C

     A revogação da chave vai invalidar a chave comprometida.

  • Editando chaves:
$ gpg --edit-key 44B6CA2C

Verificando a impressão digital:

gpg> fpr
pub   2048R/44B6CA2C 2013-05-01 Zeldani <zeldani@zeldani.com>
Impressão digital da chave primária: 3695 2E39 31D0 1F15 AD0B  B9C8 CCDB 6F5C 44B6 CA3C

Depois de verificar a impressão digital, você pode assinar a chave:

gpg> sign

Checando as assinaturas:

gpg> check
uid  Zeldani <zeldani@zeldani.com>
sig!3        44B6CA2C 2013-05-01  [auto-assinatura]

 Mais opções de tarefas relacionadas às chaves:  http://www.gnupg.org/gph/en/manual/r899.html

  • Criptografando seus emails:
  Criptografar emails é o equivalente a mandar cartas dentro de envelopes, onde a carta fica protegida da chuva, vento ou de curiosos.

  • Thunderbird:
   O thunderbird é uma aplicação gratuíta de emails. Ele suporta o OpenGPG através do plugin enigmail, que é uma extensão do Mozilla Thunderbird e do Seamonkey para escrever e receber emails assinados ou criptografados pelo OpenPGP.

  • Instalando o Thunderbird:
$ sudo add-apt-repository ppa:mozillateam/thunderbird-stable
$ sudo apt-get update
$ sudo apt-get install thunderbird

  • Instalando o Enigmail:
$ sudo apt-get install enigmail

    Reinicie o Thunderbird. No menu aparecerá a opção Open PGP, vá no Assistente de configuração e siga os passos padrões ou de sua preferência.
    Para enviar emails criptografados, ao escrever uma nova msg, no menu OpenPGP selecione "assinar a mensagem e criptografar a mensagem". Se você estiver enviando a mensagem para alguém que não possui a sua chave pública, anexe ao email. Ao enviar, será pedido a senha da sua chave. ;)


* Fontes:
http://www.mundociencia.com.br/pgp/tuto1.asp
http://www.madboa.com/geek/gpg-quickstart/
http://www.kernelhacking.com/rodrigo/docs/gnupg.txt
http://www.pgpi.org/doc/whypgp/br/
http://support.gpgtools.org/kb/how-to/introduction-to-cryptography
http://irtfweb.ifa.hawaii.edu/~lockhart/gpg/
http://www.gnupg.org/documentation/manuals/gpgme/Hash-Algorithms.html
http://homepages.dcc.ufmg.br/~joaoreis/Site%20de%20tutoriais/gnupg/gnupg-manual-ptbr.html
http://www.interrupt19.com/2010/01/21/secure-email-thunderbird-mail-gmail-part-2/
https://help.ubuntu.com/community/GnuPrivacyGuardHowto


0 comentários:

Postar um comentário