Tutorial Pgp

Embed Size (px)

Citation preview

  • 7/21/2019 Tutorial Pgp

    1/11

    Grupo de Redes de Computadores

    GRC

    Tutorial do PGP(Pretty Good Privacy)

    Antonio Augusto de Cintra Batista Verso 1.0 de maro de 1.999

    Prefcio

    Este tutorial foi elaborado pelo GRC, "Grupo de Redes de Computadores", da AI, Assessoria de Informtica da UNESP, com o objetivo de estendero uso do PGP a todos os Polos Computacionais integrantes da unespNET, rede universitria de longadistncia que atualmente conta com 29 sites distribudos pelo Estado de So Paulo.

    A linguagem adotada de cunho eminentemente prtico, embora este texto esteja adornado de algunsconceitos considerados essenciais para o domnio da utilizao do PGP. O item 3, em especial, foiescrito na esperana de se poder contribuir para a eliminao da possibilidade de ocorrncia dealguns conhecidos e desagradveis problemas enfrentados pela maioria dos usurios.

    Os tens 1 e 1.1, que compem a "Introduo", assim como o tem 5, "Segurana e aspectos legais doPGP", foram baseados em texto elaborado por Jos Daniel Ramos Wey (

    http://www.lsi.usp.br/~wey/index.html ), pesquisador do Laboratrio de Sistemas Integrveis daUSP, na rea de computao grfica, e consultor de Internet; tomou-se o cuidado de modificar odocumento original para uma maior adequao aos objetivos deste tutorial, assim como naturalevoluo do PGP. Os demais itens deste tutorial so fruto da experincia do GRC, a qual passa a sercompartilhada com todos os companheiros Administradores de Rede da unespNET.

    Aps a leitura deste documento, voc estar apto a participar do privileigiado grupo de pessoas quese beneficiam das garantias de privacidade e segurana do PGP. Em caso de dificuldades, o GRCrecomenda que seja enviada uma mensagem para [email protected] (para que todosaproveitem o questionamento). Boa leitura! E bom proveito!

    ndice

  • 7/21/2019 Tutorial Pgp

    2/11

  • 7/21/2019 Tutorial Pgp

    3/11

  • 7/21/2019 Tutorial Pgp

    4/11

    3. Conceitos e orientaes importantes

    ATENO: Antes de iniciar a instalao do PGP, importante que se leia e se compreendaos conceitos desta seo, e que sejam seguidas as instrues, pois, caso contrrio, podero serexperimentados alguns desagradveis dissabores que, infelizmente, so muito comuns na

    prtica [1,2,4].

    3.1. Passphrase

    uma frase-senha. anloga a um password, diferenciando-se deste pelo fato de que a senha dopassphraseno apenas uma palavra, mas uma frase com espaos e tudo o mais que se deseje digitarem uma frase qualquer.

    O programa de instalao do PGP 6.02i para Windows ir solicitar, durante o processo de instalao,

    que voc escolha uma passphrase . ATENO! No tenha pressa nesta etapa, pois, a passphraseescolhida NO poder ser esquecida! Desta forma, sugere-se que se escolha uma frase difcil de seresquecida e que ela seja transcrita para um papel por um tempo suficiente a seu critrio, mas comtodo o sigilo e cuidado. Recomenda-se, tambm, que ela NO contenha informao pessoalfacilmente identificvel (nome, telefone, endereo, placa de carro, aniversrio de parente prximo,etc.). Feito isto, pode-se passar adiante no processo de instalao.

    No tente iniciar o processo de instalao antes de terminar de ler esta seo.

    3.2. Publ ic key / Pri vate key

    O conceito de chaves pblica e privada (public and private keys) j foi explicado na introduo destetutorial.

    Em alguma etapa da instalao do PGP, sero geradas estas chaves. Para isto, o programa ir pedir: asua passphrase (explicada logo acima) e a quantidade de bits a serem utilizados na gerao dasmesmas: sugere-se a escolha default de 2048 bits.

    3.3. PGP public keys servers

    No final do processo de instalao, o programa ir permitir que se escolha enviar a sua chave pblicapara um servidor de chaves pblicas. Recomenda-se que seja selecionada a opo de envi-la paraum servidor pblico, permitindo-se que ela seja obtida, via internet, por qualquer pessoa (a sua chave

    pblica deve ser pblica mesmo :-). A razo disto ficar mais clara aps a leitura da seo seguinteque versa sobre "Como Usar o PGP".

    4. Como usar o PGP

    Nesta seo, ser explicado sucintamente como usar o PGP verso Windows, embora os conceitossejam os mesmos para o PGP verso Unix. Pretende-se, com as breves explicaes que se seguem,que o usurio se torne capaz de executar algumas operaes comuns com o PGP, tais como [3]:

    obter a chave pblica de algum;assinar a chave pblica de um conhecido;assinar e/ou criptografar: um documento ASCII, ou um e-mail, ou um arquivo qualquer;

  • 7/21/2019 Tutorial Pgp

    5/11

  • 7/21/2019 Tutorial Pgp

    6/11

    Mas, se a responsabilidade tanta, como que eu posso assinar a chave de algum, com seguranade que estou agindo com acerto? Primeiro, todos sabemos que segurana 100% ainda utopia parans. Mas o prprio autor do PGP se preocupou com esta questo, dando-lhe uma soluo bastanteelegante (dificilmente poder-se-ia imaginar algo muito melhor): ele criou o que se chama de

    fingerprint de uma chave pblica. O fingerprint um nmero escrito como 40 dgitos emhexa-decimal (32 dgitos, se a chave for RSA), o qual pode ser facilmente ditado por telefone por

    aquele algum, enquanto voc vai anotando o que ouve. Mas voc h de pensar: se o telefone ummeio to seguro a ponto de se prestar ao ditado do fingerprint, ento por que no utiliz-lo tambmpara transmitir uma informao que talvez se queira criptografar? Resposta: o telefone no ummeio seguro; a segurana em se ditar ofingerprintreside principalmente no fato de que vocdeve tertelefonado para aquele algum e deve ter reconhecido satisfatoriamente a sua voz (e issonormalmente j o bastante, em conjunto com o mtodo de verificao descrito no prximo

    pargrafo).

    Procedimento

    Antes de se pensar em assinar uma chave pblica, preciso que voc j a tenha em seu chaveiro

    (keyring). Logo acima, voc j deve ter lido instrues sobre como fazer este tipo de coisa.Entre no programaPGPkeys, observe se a chave deste algum est realmente em seu chaveiro (seno,

    pegue-a). Clique, com o boto da direita do mouse, em cima da chave pblica deste algum e cliqueem Key Properties . Veja que se abrir uma caixa de dilogo contendo, entre outras informaes, o

    fingerprintda chave pblica deste algum. Compare estefingerprint, obtido a partir de seu chaveiro,com o fingerprintque foi ditado para voc por telefone. Se ambos coincidirem, ento voc podeassinar mais tranquilo a chave deste algum. Tudo bem at aqui? Se sim, ento assine esta chave:

    para isto, clique novamente com o boto da direita do mouse em cima da chave deste algum e,depois, clique em Sign. Leia antentamente as mensagens que aparecerem e, em algum momento, serdada a chance de voc escolher enviar esta chave pblica (alterada por passar a conter tambm a sua

    assinatura) a um servidor internacional; tipicamente, pode aparecer uma mensagem tipo Allowsignature to be exported. Others may rely upon your signature. Selecione esta opo, para envi-laao keyserver, pois, assim, outras pessoas na internet podero ver que voc assinou a chave destealgum. Note, tambm, que em algum momento ser pedido para voc digitar o seupassphrase, pois,o PGP utilizar a sua chave privada (a qual est codificada com o seu passphrase) para gerar a suaassinatura.

    Terminado o procedimento descrito anteriormente, voc ter enviado internet uma nova verso dachave pblica daquele algum, pois, at poucos instantes ela no continha ainda a sua assinatura.Veja que esta nova verso foi enviada para um servidor especfico, o qual por sua vez pode demoraralguns dias para divulg-la a todos os outros servidores de chave PGP da internet. Para voc saber

    qual servidor acaba de receber esta nova verso, de dentro de seu programa PGP clique emEdit(nabarra de menu) e, depois, em Preferences ; na caixa de dilogo que aparecer, selecione a guiaServers.

    4.3. Como assinar e/ou criptografar: um documento ASCII, ou um e-mail, ou umarquivo qualquer

    Antes de comear a praticar assinaturas (de documentos, de e-mail e de arquivos), verifique se ocone do programa PGPtrayest presente no canto inferior direito da barra de tarefas do Windows(prximo ao local onde fica um pequeno relgio digital). Se no estiver, chame-o e verifique se,agora, o cone est l. O PGPtray, ao ser clicado, faz aparecer um menu com as opes mais teis

    para o usurio; h, inclusive, uma opo para chamar o programa PGP que contm o seu chaveiro(Launch PGPkeys).

  • 7/21/2019 Tutorial Pgp

    7/11

    4.3.1. Como assinar e/ou criptografar um documento ASCII

    Procedimento

    Supondo que voc esteja editando um documento, selecione todo o texto que se deseja assinar: porexemplo, pode-se clicar emEdit(na barra de menu) e, depois, em Select All. Depois, copie este textoselecionado para a rea de transferncia do Windows: para isto, pode-se clicar novamente em Edite,depois, em Copy. Agora, clique no cone doPGPtraye escolha a opo desejada:Encript Clipboard,ou Sign Clipboard, ouEncript and Sign Clipboard *.

    Em algum momento, aparecer uma caixa de dilogo solicitando que seja digitada a sua passphrase,que a chave de decodificao de sua chave privada, a qual ser utilizada pelo mtodo PGP paraassinar e/ou criptografar o texto que est no clipboard. Terminado o processo de assinatura e/oucriptografia do texto, retorne ao programa editor de textos que voc estava utilizando, selecionenovamente todo o texto (menu Edite, depois, Select All) e, a seguir, cole o atual contedo doclipboardpor cima deste texto selecionado (menu Edite, depois, Paste). Pronto!Veja o resultado:no lugar do texto original na tela do seu editor, deve ter aparecido este mesmo texto assinado e/ou

    criptografado por voc. Aprimore os seus conhecimentos, exercitando bastante, fazendo os seusprprios testes. O tutorial est cheio de informao, mas o conhecimento surgir como uma criaoindividualssima sua, mais at que um filho :-). Bonito, no? Caso persista alguma dvida a respeito, s enviar um e-mail para o GRC .

    Significado das opes

    A opo Encript Clipboardserve para criptografar o texto que est no clipboard(rea detransferncia do Windows); caso voc tenha escolhido esta opo, em algum momento apareceruma caixa de dilogo solicitando a seleo da(s) chave(s) pblica(s) a ser(em) utilizada(s) no

    processo de criptografia. Por que isto? porque, ao escolher qual(is) a(s) chave(s) pblica(s) ser(o)

    utilizada(s) na criptografia, voc estar na verdade escolhendo quem poder, posteriormente,decriptar o texto criptografado por voc. Inclusive, se voc no selecionar sua prpria chave pblicanesta hora, voc mesmo no poder decriptar o texto: apenas aquelas pessoas cujas chaves pblicasvoc selecionou que podero decriptar o texto.

    A opo Sign Clipboardserve para assinar o texto que est no clipboard(rea de transferncia doWindows). Ao assinar um texto e envi-lo para algum (ou para um grupo de pessoas, ou at mesmodeix-lo disponvel para toda a internet), voc estar permitindo que este algum verifique se o textofoi assinado por voc mesmo (verificao de autenticidade); alm disso, se por algum motivo o textoassinado por voc sofrer qualquer modificao, aquele algum ter como detectar o fato (verificaode integridade).

    A opoEncript and Sign Clipboardserve para criptografar e assinar o texto que est no clipboard.

    4.3.2. Como assinar e/ou criptografar um e-mail

    Para assinar e/ou criptografar um e-mail, pode ser adotado o mesmo procedimento descrito acimapara um documento ASCII, pois, o seu e-mail um texto que est sendo digitado por voc, utilizandopara isso o editor prprio do seu programa cliente de e-mail.

    Hoje em dia, possvel se encontrar algum plug-in PGP para a maioria dos programas clientes dee-mail. Um plug-in PGP serve para tornar mais rpida a execuo dos procedimentos de

    assinatura/criptografia/verificao/decriptao de e-mails, pois, costumam eliminar as etapas queenvolvem Copy & Paste & Select Alldo texto. H, porm, quem prefira no se utilizar deste tipo deplug-in , por sentir-se mais vontade e seguro com o mtodo descrito acima; uma questo de

  • 7/21/2019 Tutorial Pgp

    8/11

  • 7/21/2019 Tutorial Pgp

    9/11

    4.4. Como decriptar e verificar a autenticidade e integridade de um documento ouarquivo assinado com o PGP

    Antes de comear a praticar a verificao de autenticidade e integridade, observe se o cone doprograma PGPtrayest presente no canto inferior direito da barra de tarefas do Windows (prximoao local onde fica um pequeno relgio digital). Se no estiver, chame-o e verifique se, agora, o cone

    est l. Para seu maior conforto e praticidade, sugere-se que este programa seja chamadoautomaticamente pelo Windows, aps cada bootdo sistema; se isto no estiver acontecendo, pode-sefazer o seguinte: utilizando o Windows Explorer, crie um atalho para o PGPtray , clicando com o

    boto da direita do mouse sobre o nome do programa e escolhendo a opo Create Shortcute, aseguir, mova este atalho rcem-criado para a pasta ( folder ) C:\Windows\"Start

    Menu"\Programs\StartUp.

    4.4.1. Como decriptar e/ou verificar a autenticidade e a integridade de um documento assinadocom o PGP

    Procedimento

    Para treinar, pode-se, inclusive, pegar alguns textos assinados e/ou criptografados por voc mesmo.Selecione toda a poro do texto que est assinada e/ou criptografada e copie-a para o clipboard. Aseguir, clique no cone do PGPtraye selecione a opo Decript/ Verify Clipboard. Se o texto estcriptografado, aparecer uma pequena caixa de dilogo solicitando que voc digite o seu passphrase(e caso o texto tenha sido criptografado com a sua chave pblica, ser possvel decript-lo; seno,aparecer uma mensagem de erro, a qual deve ser lida com ateno para certificar-se de que voc nodigitou com erro o seu passphrase ). Se o texto est assinado, aparecer uma pequena caixa dedilogo informando se a assinatura boa ou no ( Good signature ou Bad Signature ), alm dainformao sobre quem a assinou, e quando.

    Explicaes adicionais

    Veja que um texto (ou mesmo um arquivo) pode ter sido objeto de uma assinatura e/ou de umacriptografia; e ambas as coisas so ortogonais (independentes entre si). Assim, por exemplo, umtexto pode ter sido criptografado e no ter sido assinado: se isto acontecer, o PGP poder decriptar otexto, mas no poder lhe dar garantia alguma quanto autenticidade (quem mandou) e integridade(se o texto foi modificado) deste texto. Em uma outra hiptese, um texto pode ter sido assinado e noter sido criptogrado: assim, qualquer um estar potencialmente hbil para ler este texto (pois no foicriptografado) e, tambm, hbil para verificar a autenticidade e a integridade do mesmo.

    Outro ponto interessante de se notar, em se tratando de um texto, que nem sempre todo ele est

    assinado: apenas a poro do texto que se inicia por ---BEGIN PGP PUBLIC KEY BLOCK--- etermina por ---END PGP PUBLIC KEY BLOCK--- que tem garantida a sua autenticidade eintegridade pela assinatura. Ou seja, o que est antes de ---BEGIN PGP PUBLIC KEY BLOCK---, eo que est depois de ---END PGP PUBLIC KEY BLOCK---, foi adicionado aps o ato de assinaturae, portanto, NO pode ser garantido pelo PGP quanto sua integridade e nem quanto suaautenticidade.

    4.4.2. Como decriptar e/ou verificar a autenticidade e integridade de um arquivo assinado como PGP

    Procedimento

    Chame o programa Windows Explorere faa-o selecionar o arquivo assinado e/ou criptografado; dum duplo clique, com o boto da esquerda do mouse, sobre o nome deste arquivo e siga as poucas

  • 7/21/2019 Tutorial Pgp

    10/11

    instrues que lhe sero fornecidas automaticamente. Vale ressaltar que, quando se est verificando aassinatura (autenticidade e integridade) de um arquivo, pode acontecer de o programa Windows

    Explorerperder o foco, dando a impresso de que algo ocorreu de errado; na verdade, basta clicar,com o boto da esquerda do mouse, sobre o cone do Windows Explorerque dever estar na barra detarefas e, assim, voc poder ver que h uma pequena caixa de dilogo com a descrio do resultadodo processo de verificao.

    Explicao adicional

    Como foi visto na seo "Como assinar e/ou criptografar um arquivo" acima, a assinatura de umarquivo um outro arquivo de mesmo nome do original, porm com o acrscimo do sufixo .pgp, ou.sig, ou .asc ; similarmente, a criptografia de um arquivo um outro arquivo cujo nome ter ossufixos .pgp, ou .asc.

    4.5. Dvidas? Alguma dificuldade?

    Em caso de dificuldades, o GRC recomenda que seja enviada uma mensagem para

    [email protected] (para que todos aproveitem o questionamento).

    Seja bem-vindo(a) ao privilegiado grupo de pessoas usurias do PGP !

    5. Segurana e aspectos legais do PGP

    Quo segura uma mensagem encriptada por PGP? Pode-se afirmar que muito segura. O PGP, nosseus primrdios, utilizava um algoritmo chamado RSA (mais recentemente, tem-se adotado oDSS/Diffie-Hellman, que um melhoramento do RSA) de encriptao por chave pblica. Um ataquede fora bruta ao RSA impensvel. Estima-se que uma rede de um milho de computadoresPentium 133MHz levaria cerca de 25.000 anos para quebrar uma nica chave de 1024 bits(lembrem-se de que as suas chaves, muito provavelmente, tm 2048 bits).Quem quiser saber maisdetalhes sobre a segurana do PGP e outras formas de ataque, leia a documentao ou acesse oendereo http://axion.physics.ubc.ca/pgp-attack.html.

    E as questes legais quanto ao uso do PGP? Programas que utilizam criptografia com chaves maioresde 40 bits no podiam ser exportados para fora dos EUA (hoje, este limite, salvo algum engano,

    parece ter sido aumento para 72 bits). E o PGP foi desenvolvido originalmente nos EUA. Almdisso, a verso original do PGP infringia as patentes do algoritmo RSA. Podemos ento usar o PGP?

    A resposta sim [ 5 , 6 , 8 ]. O PGP possui duas verses, a americana e a internacional. A versointernacional foi desenvolvida fora dos EUA, onde as leis de exportao de programas comcriptografia no se aplicam. Nos EUA, a verso freeware do PGP foi re-escrita para utilizar uma

    biblioteca pblica da RSA (a RSAREF), e a verso comercial (o PGPMail) possui uma licena doalgoritmo RSA. A verso internacional utiliza a implementao do RSA original escrita por PhillZimmermann, porm a patenteada RSA no vlida fora dos EUA. Quem quiser saber mais detalhessobre a legalidade do PGP, veja em http://www.mantis.co.uk/pgp/pgp-legal.html ehttp://www.pgpi.com/faq/.

    O Brasil ainda no possui lei quanto ao uso de criptografia de dados. Portanto, programas, empresasou indivduos que a utilizam esto agindo legalmente, tal como na maioria dos outros pases.

    6. Referncias[1] An Introduction to Criptography, Network Associates, Inc., 1998.

  • 7/21/2019 Tutorial Pgp

    11/11

    [2] PGP Installation Guide, Network Associates, Inc., 1998.

    [3] PGP Windows 95, 98, and NT - User's Guide - Version 6.0, Network Associates, Inc., 1998.

    [4] Simson Garfinkel,PGP - Pretty Good Protection, OReilly & Associates, Inc.

    [5] Lista das leis que regulamentam a criptografia de dados em vrios pases:http://cwis.kub.nl/~frw/people/koops/lawsurvy.htm

    [6] Gold Key Campain for Private Communications Online, da Eletronic Frontier Foundation:http://www.eff.org/goldkey.html

    [7] The National Cryptologic Museum:http://www.nsa.gov:8080/museum

    [8] Home page da verso internacional do PGP (http://www.pgpi.com); traduo para o portugus da

    home-page do PGP ( http://www.dca.fee.unicamp.br/pgp/ ), mantida por Henrique Holschuh.