Criptografia ao alcance de todos
CRIPTOGRAFIA AO ALCANCE DE TODOS


O e-mail, recurso mais usado da Internet, e’ pratico e rapido. Mas não e’ seguro. Ao enviar uma mensage, voce se conecta a um servidor SMTP, que a retransmite entre varios roteadores, ate’ ficar armazenada num provedor, esperando que o destinatario se cpnecte e leia. Em qualquer ponto deste trajeto, o administrador de sistemas (ou um hacker, se o sistema não for suficientemente seguro) pode bisbilhotar ou ate’ mesmo alterar o conteudo da mensagem. Se alguem conseguir descobrir sua senha de acesso, tambem pode ler o e-mail no seu provedor antes de voce. Por fim, qualquer pessoa pode enviar uma mensagem com a identidade de outra, bastando configurar a identidade no programa de e-mail.

Mas existe um metodo para obter uma transmissao de dados realmente segura, onde apenas o receptor da mensagem podera’ le-la, e ainda tera’ como saber se o transmissor e’ realmente quem diz ser e se a mensagem foi alterada no caminho. Este metodo chama-se criptografia ou encriptacao de dados.

O programa de criptografia mais famoso e’ o PGP (Pretty Good Privacy - Otima Privacidade). E’ tambem um dos programas mais polemicos da Internet. O seu autor, Phil Zimmermann, sofreu uma serie de investigacoes por parte do FBI e teve de recorrer a grupos de apoio que se formaram na Internet para conseguir pagar seus advogados. O uso do programa chegou a ser proibido durante dois anos nos EUA, por infringir a patente do algoritmo RSA. Hoje, porem, o PGP e’ totalmente legal e não há’ nenhuma restricao ao seu uso.


CHAVE PRIVADA E CHAVE PUBLICA

Antes de entrar no funcionamento do PGP, precisamos explicar alguns conceitos. Sao eles:

* Encriptacao por chave privada: e’ o metodo de encriptacao que utiliza uma mesma chave para encriptar e desencriptar a mensagem; esta chave pode ser uma palavra, uma frase ou uma sequencia aleatoria de numeros. O tamanho da chave e’ medido em bits e, via de regra, quanto maior a chave, mais seguro sera’ o documento encriptado. A encriptacao por chave privada funciona muito bem quando o usuario que encripta e’ o mesmo que desencripta o arquivo (por exemplo, para proteger arquivos que ficam armazenados no proprio disco rigido). Mas quando se trata de uma mensagem uqe vai ser transmitida, surge um problema. O receptor e o transmissor precisam antes combinar uma senha, e usar algum meio seguro para transmitir esta informacao (isso so’ ocorre quando se cria apenas uma chave). Um meio realmente seguro de transmissao de dados e’ muito caro e dificil de obter e se ele existe, entao a propria mensagem poderia ser transmitida por ele.

*Encriptacao por chave publica: o metodo de encriptacao por chave publica resolve o problema de transmitir uma mensagem totalmente segura atraves de um canal inseguro (sujeito a observação, "grampo" etc.). O receptor da mensagem cria duas chaves que são relacionadas entre si, uma publica e uma privada. A chave publica pode e deve ser distribuida livremente. Quem envia a mensagem tem que utilizar a chave publica do receptor para encripta-la. Uma vez encriptada, esta mensagem so’ pode ser desencriptada pela chave do receptor. Este conceito ficara’ mais claro quando virmos o PGP em acao.

* Assinatura eletronica de documento: apesar de não estar relacionada diretamente com encriptacao, a assinatura eletronica de documentos representa um aspecto importante para garantir privacidade. Ao assinar um documento, o usuario garante que ele e’ realmente o autor e que seu conteudo não foi modificado.


ONDE ENCONTRAR O PGP

O primeiro passo e’ fazer o download da versao internacional do PGP. Quem utiliza Windows 3.1, deve baixar o arquivo ftp://ftp.ifi.uio.no/pub/pgp/pc/msdos/pgp263i.zip . Usuarios de Windows 95 ou NT podem fazer o download da versao 32 bits do PGP no endereço ftp://ftp.ifi.uio.no/pub/pgp/pc/windows/pgp263i-win32.zip. O PGP pode ser usado em portugues, mas, para isso e’ necessario baixar o arquivo ftp://ftp.ifi.uio.no/pub/pgp/lang/pgp/236i-brazilian.zip. Existe um mirror do PGP internacional no Brasil, no endereco ftp://ftp.unicamp.br/pub/mail/security/pgpp.

Usando o Winzip ou o Pkzip, extraia o PGP263i.zip ou o PGP236I-win32.zip (conforme a versao) para um diretorio ou pasta que voce previamente criou, por exemplo c:\pgp236i. Feito isto, verifique que no diretorio surgiu o arquivo PGP236ii.zip. Extraia tambem este arquivo dentro do mesmo diretorio. Apague o PGP236ii.zip. Para utilizar a versao em portugues, descomprima o pgp236i-brazilian.zip no mesmo diretorio sobrescrevendo os arquivos que estiverem la’.

Atraves do Notepad (Bloco de Notas), edite o arquivo config.txt, modificando a linha Language=en para Language=br. Agora o PGP passara’ a operar em portugues.

O proximo passo e’ modificar o Autoexec.bat. Com o Notepad ou o Sysedit, abra o autoexec.bat, no diretorio-raiz de seu micro, e acrescente as seguintes linhas:

· set PGPPATH=c:\pgp236I

· set TZ=EST3

· Na linha que tiver o comando PATH (PATH=...) acrescente ao final: ";c:\pgp263i"

Não esqueca de salvar as alteracoes.

Por fim, reinicie o computador para que as mudancas feitas tenham efeito.


INSTALACAO DE UMA INTERFACE GRAFICA

Como deu para perceber, o PGP e’ um software DOS, sem interface grafica (mesmo na versao 32 bits). Mas existem varios programas que servem como font-end do PGP. Um deles e’ o PGPn123, um aplicativo shareware (o registro custa US$ 15 para uso pessoal) que cria uma barra de ferramentas que permite o acesso simplificado ‘a maioria dos recursos do PGP. Faca o download do PGPn123 no endereco http://www.rof.net/yp/alphaone.

Extraia o PN123E18.ZIP no diretorio, previamente criado, c:\pgpn123e. Execute o programa pgp_n123.exe. A primeira vez que for acionado, ele ira’ criar um grupo de programa (ou um atalho no menu iniciar) com o nome Enhanced PGPn123. Neste grupo, havera’ dois programas, o Enhanced PGPn123 e o PGPn123 Key Ops, alem do arquivo de ajuda on-line.


CRIANDO O PAR DE CHAVES

Vamos agora criar o seu par de chaves publica e privada. Execute o PGPn123 Key Ops. Escolha a opcao create key pairs. Clique em procced. O programa ira’ abrir uma janela DOS com as opcoes do tamanho da chave de encriptacao. A primeira pergunta que voce precisa responder e’ o tamanho da chave que deseja utilizar. Quanto maior for a chave, maior e’ a seguranca dos dados encriptados, mas o tempo para encriptar suas mensagens tambem e’ maior. Caso voce temnha um 386, utilize 512 bits. Para um 486, utiliza 768 bits e 1.024 bits para um Pentium.

O proximo passo e’ escolher um identificador para o usuario. Utilize o seu nome e o e-mail entre chaves (‘<’ e ‘>’). Por exemplo, Jose’ da Silva .

Escolha uma frase-senha para proteger sua chave publica. O nome frase-senha vem do fato de que voce não esta’ limitado a uma única palavra com senha. Recomenda-se o uso de uma frase que seja facil de lembrar, mas que não contenha nenhuma informacao pessoal (nome, telefone, endereco, placa de carro, etc.). O PGP pedira’ depois para voce confirmar a frase-senha.

Pra criar as chaves publica e privada, o PGP precisa de uma sequencia numerica realmente aleatoria. Algoritmos de geracao de numeros aleatorios são previsiveis e comprometem a seguranca das chaves. A solucao encontrada foi pedir ao usuario que digite um certo numero de teclas, e medir o intervalo de tempo entre os toques. Este intervalo (medido em milessegundos) e’ realmente imprevisivel. Assim, o PGP pede que voce digite um texto qualquer ate’ ouvir um bip.

A partir dai, o programa cria o par de chaves e as armazena no molho de chaves publicas e privadas (os arquivos pubring.pgp e secring.pgp, no diretorio c:\pgp263i). Note que a sua frase-senha não e’ a sua chave privada. Ela e’ apenas a senha com a qual o PGP encripta a chave privada, que foi gerada pelo intervalo da sequencia de teclas digitadas por voce.

Feito isto, a chave publica já’ ira’ aparecer na lista de chaves publicas disponiveis do PGPn123. Para que alguem possa enviar mensagens encriptadas para voce, e’ necessario que esta pessoa tenha uma copia de sua chave publica. Para tirar a copia, utilize a opcao Extract Public Key. Ira’ aparecer uma janela com um texto que começa por -BEGIN PGP PUBLIC KEY BLOCK- e termina por -END PGP PUBLIC KEY BLOCK- . Clicando na opcao Express, o texto e’ copiado para o clipboard e pode ser "colado" em qualquer aplicacao Windows (o Notepad ou um programa de e-mail por exemplo). Transmita este texto para quem ira’ mandar um e-mail encriptado para voce.


COMO GUARDAR AS CHAVES PUBLICAS DE MEUS AMIGOS

Vamos agora adicionar a chave pública de alguém a quem você quer enviar uma mensagem. Digamos que queria mandar um e-mail encriptado para o autor deste artigo. A minha chave pública é a seguinte:

-----BEGIN PGP PUBLIC KEY BLOCK----- Version: 2.6.3i

mQCNAjJ7fH0AAAEEAMr6pEaR6cV/GeTERXJ4UeUgTVq0QM1kq8D4srLyBFAQ05MN
HwAIxey5MMas4HEirWpLnRnqA7O0vm5gkMOTAWTmveWfliEHb/9FqS+cdMgN9YMC
6I5ne1CdepR/0Ra4EFQN7TvdbJFJhYYwz/cemGyG+Gf+BDWnxUdvFH62FU49AAUR
tCdKb3NlIERhbmllbCBSYW1vcyBXZXkgPHdleUBpd2hvdXNlLmNvbT6JAJUDBRAz
OC/PjHLRwZTTd6EBAd24BACYNNdjoPE838Ao3f0K6BYykPXBzKLwsvoa90HX+Tde
6XJh8PNKq0Drej+SRXi89QAnAV5Docl9BBDs7VPpOWA4OeucfNx1oJ3sJFCI6X6R
KntNDdv7TZEvlCCaQ0BNWO/RD7TzANSJ5MYA5CYxZND97p32D+wWwJMt96va5gj0 jw==
=XhPH

-----END PGP PUBLIC KEY BLOCK-----

Esta chave também está disponível em http://www.iwhouse.com/wey/wey.txt.

Abra este arquivo em algum editor de texto (pode ser o Notepad), selecione todo o texto e copie para o clipboard (opção editar|copiar).

No PGPn123 Key Ops, escolha a opção add public key. O programa irá perguntar se você deseja autenticar esta chave. Caso você tenha certeza absoluta de que esta chave pública pertence à pessoa identificada, poderá autenticar a chave. Para este tutorial, não vamos autenticar a chave, uma vez que provavelmente você não me conhece pessoalmente e pode não ter a certeza de que esta é realmente a minha chave pública. Todas as vezes que você for encriptar uma mensagem usando esta chave pública, o PGP irá pedir uma confirmação, pois a chave não é autenticada.


ENVIANDO SUA PRIMEIRA MENSAGEM ENCRIPTADA

Agora você já está pronto para enviar uma mensagem encriptada. Escreva-a em seu programa de e-mail preferido (as telas capturadas são do Netscape). Coloque como destinatário wey@iwhouse.com. Selecione a mensagem com o mouse e recorte-a (menu edit|cut ou ctrl-X). Chame o programa Enhanced PGPn123. O Enhanced PGPn123 exibe uma janela com alguns modos de operação disponíveis. Usaremos o modo Clipboard, pois é compatível com qualquer programa de e-mail. Os usuários de Eudora, Pegasus ou Agent poderão utilizar os modos dedicados a estes programas (maiores informações estão disponíveis no Help).

Quando aparecer a barra de ferramentas do PGPn123, clique no terceiro botão. Esta é a opção para encriptar o texto que já está no clipboard. O PGPn123 irá mostrar uma tela com as chaves públicas que já estão no seu sistema. Escolha a chave de José Daniel Ramos Wey e clique em OK. O programa avisa que a mensagem só poderá ser lida por José Daniel. Clique em OK. O PGPn123 irá chamar o PGP em uma janela DOS para fazer a encriptação.

O PGP pergunta então se você quer usar esta chave pública, uma vez que a mesma não foi autenticada. Responda que sim. O PGPn123 mostrará então numa janela o texto encriptado. Clique na opção Express, que irá copiar todo o conteúdo da janela para o clipboard. Volte para o e-mail que você estava escrevendo. Clique na opção paste do menu edit (ou digite ctrl-V). A mensagem que você escreveu originalmente agora só poderá ser lida por mim (nem o meu provedor, nem um invasor, nem mesmo você poderá lê-la novamente).


COMO DESENCRIPTAR MENSAGENS

Para desencriptar uma mensagem que foi encriptada com a sua chave pública, o processo é bastante simples: selecione toda a mensagem (o texto deve começar por ---BEGIN PGP PUBLIC KEY BLOCK--- e terminar por ---END PGP PUBLIC KEY BLOCK---). Copie a mensagem para o clipboard (digitando ctrl-C). No PGPn123, clique no primeiro botão (o ícone é um cadeado aberto). O PGPn123 irá chamar o PGP numa janela DOS para desencriptar o texto. O PGP pedirá a sua frase-senha. Se esta estiver correta, o PGPn123 irá mostrar o texto desencriptado numa janela.


ASSINANDO SUA MENSAGEM

Caso você queira apenas assinar um texto, permitindo que o seu conteúdo seja lido por qualquer pessoa, o processo é o seguinte: escreva o texto, selecione e copie para o clipboard. No PGPn123, clique no segundo ícone (o carimbo). O PGPn123 irá chamar o PGP, que irá pedir a sua frase-senha. Se esta estiver correta, o PGPn123 irá mostrar o texto assinado numa janela. Note que o texto original pode ser lido normalmente. O processo para conferir um texto assinado com PGP é o mesmo de desencriptar um texto, com a diferença que o PGP não irá pedir nenhuma senha. Porém, é necessário ter a chave pública de quem assinou. Se houver qualquer alteração no texto, nem que seja uma única letra, ou ainda se a chave privada que assinou a mensagem não corresponder à chave pública, o PGP indicará que a assinatura não confere.

Para assinar e encriptar um texto, siga as mesmas instruções para encriptar o texto, mas marque a opção Sign message na tela em que você escolhe a chave pública do destinatário. Um texto assinado e encriptado só pode ser lido pelo destinatário, e só pode ter sido escrito pela pessoa que o assinou.


PROTEÇÃO DE SEUS ARQUIVOS CONFIDENCIAIS

Por fim, o PGP pode ser também utilizado para proteger seus arquivos pessoais ou confidenciais. No PGPn123, escolha a opção File Services (terceiro ícone da direita para a esquerda). O programa irá emitir alguns avisos pedindo para registrar a versão shareware. Após isso, serão exibidos os diretórios e arquivos do seu micro. Escolha um arquivo para ser encriptado e clique em Encript. Você pode escolher entre encriptação por chave pública ou chave privada. Como não vamos transmitir o arquivo para ninguém, utilizaremos chave privada. Escolha a opção Conventional para o método de encriptação. Clique OK.

O PGPn123 irá executar o PGP, que irá pedir uma nova frase-senha para proteger este arquivo. Digite e confirme esta frase. O PGP irá criar um arquivo com o mesmo nome do original, mas com extensão .pgp. Este arquivo só pode ser desencriptado por quem souber a frase-senha que você acabou de utilizar.

Preste atenção: se você deseja enviar um arquivo confidencial anexado em um e-mail, não basta apenas encriptar a mensagem. É necessário encriptar o arquivo também. Para isso, siga as instruções de encriptação de arquivos confidenciais, mas escolha a opção de encriptação por chave pública (Public Key na opção para o método de encriptação) e utilize a chave pública de quem for receber o documento.

Por fim, você deve distribuir a sua chave pública num servidor de chaves públicas PGP para facilitar a distribuição. O maior servidor de chaves públicas de PGP está em http://www-swiss.ai.mit.edu/~bal/keyserver.html.


SEGURANÇA E ASPECTOS LEGAIS DO PGP

Quão segura é uma mensagem encriptada por PGP? Podemos afirmar que é muito segura. O PGP utiliza um algoritmo chamado RSA de encriptação por chave pública. Um ataque de força bruta ao RSA é impensável. Estima-se que uma rede de um milhão de computadores Pentium 133MHz levaria cerca de 25.000 anos para quebrar uma única chave de 1024 bits. Quem quiser saber mais detalhes sobre a segurança do PGP e outras formas de ataque, leia a documentação ou acesse o endereço http://axion.physics.ubc.ca/pgp-attack.html.

Por fim, vamos ver as questões legais no uso do PGP. Programas que utilizam encriptação com chaves maiores de 40 bits não podem ser exportados para fora dos EUA. E o PGP foi desenvolvido originalmente nos EUA. Além disso, a versão original do PGP infringia as patentes do algoritimo RSA. Podemos então usar o PGP?

A resposta é sim. O PGP possui duas versões, a americana e a internacional. A versão internacional foi desenvolvida fora dos EUA, onde as leis de exportação de programas com criptografia não se aplicam. Nos EUA, a versão freeware do PGP foi reescrita para utilizar uma biblioteca pública da RSA (a RSAREF), e a versão comercial (o PGPMail) possui uma licença do algoritmo RSA. A versão internacional utiliza a implementação do RSA original escrita por Phill Zimmermann, porém a patente da RSA não é válida fora dos EUA. Quem quiser saber mais detalhes sobre a legalidade do PGP, veja em http://www.ifi.uio.no/pgp/FAQ.shtml e http://www.mantis.co.uk/pgp/pgp-legal.html.

O Brasil ainda não possui nenhuma lei quanto ao uso de encriptação de dados. Portanto, programas, empresas ou indivíduos que a utilizem estão agindo legalmente. E recomenda-se que a encriptação seja utilizada mesmo. Já existe uma lei que, apesar de inconstitucional, permite o monitoramento e interceptação de mensagens eletrônicas para prova em investigação criminal (veja na Internet World de novembro de 1996, página 76).

Dentro de alguns anos, a lei de exportação de programas que utilizam encriptação nos EUA deve ser abolida e os programas passarão a utilizar encriptação por default, sem que o usuário perceba. Mas, enquanto isso não acontece, o PGP vai desempenhando muito bem este papel, garantindo a nossa privacidade.


PARA MAIS INFORMAÇÕES:

· "PGP - Pretty Good Protection", Simson Garfinkel, O’Reilly & Associates, Inc.
· Lista das leis que regulamentam encriptação de dados em vários países: http://cwis.kub.nl/~frw/people/koops/lawsurvy.htm
· Gold Key Campain for Private Communications Online, da Eletronic Frontier Foundation: http://www.eff.org/goldkey.html
· The National Cryptologic Museum - http://www.nsa.gov:8080/museum
· Home page da versão internacional do PGP (com FAQ e documentação on-line): http://www.ifi.uio.no/pgp

José Daniel Ramos Wey (wey@iwhouse.com) e' pesquisador do Laboratorio de Sistemas Integráveis da USP, na área de computação gráfica, e consultor de Internet.


Todas as informacoes acima foram cedidas pela revista Internet World
( www.mantel.com.br ) em sua 21ª edicao

Email: vbrandao@tba.com.br