pgp - pretty good privacy (privacidade muito boa) gnupg - ou gpg - gnu privacy guard --> pgp o pgp (abrevia��o de pretty good privacy) � um programa de criptografia de chave p�blica altamente seguro, originalmente escrito por phill zimmermann. possibilita a criptografia de arquivos e e-mails de forma que somente voc�, ou um grupo espec�fico de destinat�rios, possam ler os dados presentes no arquivo ou e-mail. a popularidade do pgp fez com que seu sistema e design se tornassem um padr�o aberto, chamado de openpgp. programas livres como o gnupg ou gpg utilizam esse padr�o nas suas mensagens. nos �ltimos anos o pgp conquistou milhares de entusiastas em todo o mundo e tornou-se de fato um padr�o para a criptografia de correio eletr�nico (email) na internet. --> como funciona no pgp, todos os usu�rios possuem uma chave p�blica e uma privada. a chave p�blica pode ser enviada para qualquer pessoa. ela � utilizada para que um indiv�duo possa encriptar documentos. os documentos encriptados com sua chave p�blica s� podem ser decifrados com a sua chave privada (a qual voc� deve manter de forma secreta). as chaves p�blicas podem ser obtidas nos sites das empresas ou organiza��es. tamb�m existem os chamados key servers que disponibilizam essas chaves (quando as pessoas enviaram as mesmas para eles). o pgp tamb�m gera uma chave de sess�o, de modo que toda mensagem criptografada com pgp est� criptografada duas vezes (criptografia sim�trica para sess�o e criptografia assim�trica para comunica��o). isso torna o pgp um sistema bastante seguro mais detalhes: http://www.gta.ufrj.br/grad/00_1/rodrigo/fr6right.htm --> gnupg ou gpg o gnupg � um substituto livre e completo para o pgp. por n�o usar algoritmos patenteados/propriet�rios, pode ser usado sem restri��es. este software � compat�vel com o padr�o openpgp (rfc 2440). - http://www.gnupg.org/(en)/features.html - pacote mandriva 2006: gnupg -> gerando as chaves p�blicas e privadas $ gpg --gen-key isto ir� criar o diret�rio ~/.gnupg e dentro dele os arquivos: - pubring.gpg (chave p�blica) - secring.gpg (chave privada) -> encriptando dados
$ gpg -e arquivo ser� pedida a identifica��o de usu�rio, digite o nome que usou para criar a chave. o arquivo criado ser� encriptado usando a chave p�blica do usu�rio (~/.gnupg/pubring.gpg) e ter� a extens�o .gpg adicionada $ gpg -e -a arquivo bits:
a op��o -a � usada para criar um arquivo criptografado com sa�da ascii 7
$ gpg -e -a arquivo.txt o arquivo gerado ter� a extens�o .asc acrescentada (arquivo.txt.asc) e n�o ser� compactado. a op��o -a � muito usada para o envio de e-mails. -> decriptando dados $ gpg -d arquivo.gpg > arquivo.new $ gpg -d arquivo.asc > arquivo.new descriptografa os arquivos arquivo.asc e arquivo.gpg recuperando seu conte�do original. a sua "frasesenha" ser� pedida para descriptografar os dados usando a chave privada (~/.gnupg/secring.gpg). -> assinando arquivos $ gpg -s arquivo assinar um arquivo � garantir que voc� � a pessoa que realmente enviou aquele arquivo. use a op��o -s para assinar arquivos usando sua chave privada. a "frasesenha" ser� pedida para assinar os dados usando sua chave privada. ser� gerado um arquivo arquivo.gpg (assinado e compactado). $ gpg -s --clearsign arquivo adicionalmente a op��o --clearsign poder� ser usada para fazer uma assinatura em um texto plano, este � um recurso muito usado por programas de emails com suporte ao gpg. ser� criado um arquivo chamado arquivo.asc contendo o arquivo assinado e sem compacta��o. $ gpg --detach-sign arquivo_binario este comando ir� assinar um arquivo bin�rio e ir� gerar um arquivo de mesmo nome com a extens�o ".sig" -> checando assinaturas $ gpg --verify arquivo.asc a checagem de assinatura consiste em verificar que quem nos enviou o arquivo � realmente quem diz ser e se os dados foram de alguma forma alterados. voc� dever� ter a chave p�blica do usu�rio no seu chaveiro para fazer esta checagem
-> extraindo a chave p�blica do chaveiro $ gpg --export user|mail|nome > chave_pub sua chave p�blica deve ser distribu�da a outros usu�rios para que possam enviar dados criptografados ou checar a autenticidade de seus arquivos/emails. para exportar sua chave p�blica em um arquivo que ser� distribu�do a outras pessoas ou servidores de chaves na internet, use a op��o --export. $ gpg --export -a user|mail|nome -o chave_pub.txt a op��o -a permite que os dados sejam gerados usando bits ascii 7. -> adicionando uma chave p�blica ao chaveiro $ gpg --import chave_pub_do_usuario.txt para criptografar o arquivo para ser enviado a outro usu�rio ou checar a assinatura de outro usu�rio, voc� dever� ter a chave p�blica do usu�rio cadastrado no seu chaveiro, e para isso � necess�rio adicion�-la. -> listando chaves de seu chaveiro $ gpg --list-keys -> apagando chaves do chaveiro $ gpg --delete-key user|mail|nome -> mudando a "senhafrase" da chave privada $ gpg --edit-key user|mail|nome no prompt de comandos digite, passwd...e depois save . -> enviando a chave p�blica para um servidor de chaves $ gpg --keyserver=pgp.mit.edu --send-keys e3301158 - verificar porta de saida tcp/11371 no firewall -> importando uma chave p�blica de um servidor de chaves $ gpg --keyserver=pgp.mit.edu --recv-keys e3301158 -> encriptando um arquivo com a chave publica do usuario $ gpg -r usuario -e arquivo apenas lembre de importar a chave p�blica do usu�rio, pois o arquivo ser�
encriptado com a chave p�blica do usuario e ser� depois decriptada com a chave privada do mesmo -> servidores de chaves - http://pgp.mit.edu/ - http://www.keyserver.net --> front-end - kgpg (kde) - gpgp (gnome) --> fontes: http://www.dca.fee.unicamp.br/pgp/pgp.shtml http://lasige.di.fc.ul.pt/~jantunes/index.php?page=pgp http://www.pgp.com/ http://www.magnet.com.br/classic/byo/pgp60.html http://www.pgpi.org/ http://www.openpgp.org/ http://linhadefensiva.uol.com.br/informativos/definicoes/pgp/ http://enigmail.mozdev.org/ http://www.mundociencia.com.br/pgp/tuto1.asp http://focalinux.cipsga.org.br/guia/avancado/ch-d-cripto.htm#s-d-cripto-gpg http://www.comlinux.com.br/docs/seguranca/muttgpg.shtml http://www.linuxtemple.com/index.php?option=content&task=view&id=476&itemid=27 http://webber.dewinter.com/gnupg_howto/english/gpgminihowto-1.html http://brlinux.linuxsecurity.com.br/artigos/pgp_intro.htm?redirected=1 http://br-linux.org/tutoriais/002415.html http://www.debian.org/doc/manuals/reference/ch-gnupg.pt-br.html http://www.badongo.com/file/267899