![]() |
Grupo de Redes de Computadores
|
Antonio Augusto de Cintra Batista <antonio@unesp.br>
Versão 1.0 de março de 1.999
Este tutorial foi elaborado pelo GRC, "Grupo de Redes de Computadores" <suporte-redes@unesp.br>, da AI, Assessoria de Informática da UNESP, com o objetivo de estender o uso do PGP a todos os Polos Computacionais integrantes da unespNET, rede universitária de longa distância que atualmente conta com 29 sites distribuídos pelo Estado de São Paulo.
A linguagem adotada é de cunho eminentemente prático, embora este texto esteja adornado de alguns conceitos considerados essenciais para o domínio da utilização do PGP. O item 3, em especial, foi escrito na esperança de se poder contribuir para a eliminação da possibilidade de ocorrência de alguns conhecidos e desagradáveis problemas enfrentados pela maioria dos usuários.
Os ítens 1 e 1.1, que compõem a "Introdução", assim como o ítem 5, "Segurança e aspectos legais do PGP", foram baseados em texto elaborado por José Daniel Ramos Wey ( http://www.lsi.usp.br/~wey/index.html ), pesquisador do Laboratório de Sistemas Integráveis da USP, na área de computação gráfica, e consultor de Internet; tomou-se o cuidado de modificar o documento original para uma maior adequação aos objetivos deste tutorial, assim como à natural evolução do PGP. Os demais itens deste tutorial são fruto da experiência do GRC, a qual passa a ser compartilhada com todos os companheiros Administradores de Rede da unespNET.
Após a leitura deste documento, você estará apto a participar do privileigiado grupo de pessoas que se beneficiam das garantias de privacidade e segurança do PGP. Em caso de dificuldades, o GRC recomenda que seja enviada uma mensagem para INFORMA-L@listas.unesp.br (para que todos aproveitem o questionamento). Boa leitura! E bom proveito!
| 1. | Introdução | ||
| 1.1. | Chave privada e chave pública | ||
| 2. | Onde encontrar o PGP | ||
| 3. | Conceitos e orientações importantes | ||
| 3.1. | Passphrase | ||
| 3.2. | Public key / Private key | ||
| 3.3. | PGP public keys servers | ||
| 4. | Como usar o PGP | ||
| 4.1. | Como obter a chave pública de alguém | ||
| 4.2. | Como assinar a chave pública de um conhecido | ||
| 4.3. | Como assinar e/ou criptografar: um documento ASCII, ou um e-mail, ou um arquivo qualquer | ||
| 4.3.1. | Como assinar e/ou criptografar um documento ASCII | ||
| 4.3.2. | Como assinar e/ou criptografar um e-mail | ||
| 4.3.3. | Como assinar e/ou criptografar um arquivo | ||
| 4.4. | Como decriptar e verificar a autenticidade e integridade de um documento ou arquivo assinado com o PGP | ||
| 4.4.1. | Como decriptar e/ou verificar a autenticidade e integridade de um documento assinado com o PGP | ||
| 4.4.2. | Como decriptar e/ou verificar a autenticidade e integridade de um arquivo assinado com o PGP | ||
| 4.5. | Dúvidas? Alguma dificuldade? | ||
| 5. | Segurança e aspectos legais do PGP | ||
| 6. | Referências | ||
O e-mail, recurso mais usado da Internet, é prático e rápido. Mas não é intrinsecamente seguro, embora possa ser utilizado de forma a torná-lo seguro. Ao enviar uma mensagem, você se conecta a um servidor SMTP, que a retransmite entre vários roteadores, até ficar armazenada num provedor, esperando que o destinatário se conecte 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 até mesmo alterar o conteúdo da mensagem. Se alguém conseguir descobrir sua senha de acesso, também pode ler o e-mail no seu provedor antes de você. 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 método para obter uma transmissão de dados realmente segura, onde apenas o receptor da mensagem poderá le-la, e ainda terá como saber se o transmissor é realmente quem diz ser e se a mensagem foi alterada no caminho. Este método chama-se criptografia [1,7].
O programa de criptografia mais famoso é o PGP (Pretty Good Privacy - Ótima Privacidade). Era, também, um dos programas mais polêmicos da Internet. O seu autor, Phil Zimmermann, sofreu uma série de investigações 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, porém, o PGP é totalmente legal e não há qualquer restrição ao seu uso.
1.1. Chave privada e chave pública
Antes de entrar no funcionamento do PGP, precisamos explicar alguns conceitos. São eles:
Encriptação por chave privada: é o metodo de encriptação que utiliza uma mesma chave para encriptar e desencriptar a mensagem; esta chave pode ser uma palavra, uma frase ou uma sequência aleatória de números. O tamanho da chave é medido em bits e, via de regra, quanto maior a chave, mais seguro será o documento encriptado. A encriptação por chave privada funciona muito bem quando o usuário que encripta é o mesmo que desencripta o arquivo (por exemplo, para proteger arquivos que ficam armazenados no próprio disco rígido). Mas quando se trata de uma mensagem que vai ser transmitida, surge um problema. O receptor e o transmissor precisam antes combinar uma senha, e usar algum meio seguro para transmitir esta informação (isso só ocorre quando se cria apenas uma chave). Um meio realmente seguro de transmissão de dados é muito caro e difícil de obter; e, se ele existe, então a própria mensagem poderia ser transmitida por ele.
Encriptação por chave pública: o método de encriptação por chave pública resolve o problema de transmitir uma mensagem totalmente segura através de um canal inseguro (sujeito a observação, "grampo" etc.). O receptor da mensagem cria duas chaves que são relacionadas entre si, uma pública e uma privada. A chave pública pode e deve ser distribuída livremente. Quem envia a mensagem tem que utilizar a chave pública do receptor para encriptá-la. Uma vez encriptada, esta mensagem só pode ser decriptada pela chave do receptor. Este conceito ficará mais claro quando virmos o PGP em ação.
Assinatura eletrônica de documento: apesar de não estar relacionada diretamente com encriptação, a assinatura eletrônica de documentos representa um aspecto importante para garantir privacidade. Ao assinar um documento, o usuário garante que ele é realmente o autor e que seu conteúdo não foi modificado.
O primeiro passo é fazer o download da versão internacional do PGP. Sugerimos acessar o IBILCE, que funciona como mirror do site original do PGP, o qual por sua vez se localiza na Universidade de Oslo, Noruega:
ftp://ftp.dcce.ibilce.unesp.br/pub/pgp/
A versão 6.02i, para Windows 95/NT, e a versão 5.0, para Unix, do PGP são as sugeridas pelo GRC como o padrão para serem utilizadas pelos Administradores de Redes da UNESP.
Abaixo são relacionados links para obtê-las a partir do nosso mirror do PGP.
1. Para usuários do Windows 95/98/NT: ftp://ftp.dcce.ibilce.unesp.br/pub/pgp/6.0/6.0.2i/PGPfreeware602i.exe
2. Para usuários de Unix: ftp://ftp.dcce.ibilce.unesp.br/pub/pgp/5.0/unix/
ATENÇÃO: Antes de iniciar a instalação do PGP, é importante que se leia e se compreenda os conceitos desta seção, e que sejam seguidas as instruções, pois, caso contrário, poderão ser experimentados alguns desagradáveis dissabores que, infelizmente, são muito comuns na prática [1,2,4]. |
É uma frase-senha. É análoga a um password, diferenciando-se deste pelo fato de que a senha do passphrase não é apenas uma palavra, mas uma frase com espaços e tudo o mais que se deseje digitar em uma frase qualquer.
O programa de instalação do PGP 6.02i para Windows irá solicitar, durante o processo de instalação, que você escolha uma passphrase. ATENÇÃO! Não tenha pressa nesta etapa, pois, a passphrase escolhida NÃO poderá ser esquecida! Desta forma, sugere-se que se escolha uma frase difícil de ser esquecida e que ela seja transcrita para um papel por um tempo suficiente a seu critério, mas com todo o sigilo e cuidado. Recomenda-se, também, que ela NÃO contenha informação pessoal facilmente identificável (nome, telefone, endereço, placa de carro, aniversário de parente próximo, etc.). Feito isto, pode-se passar adiante no processo de instalação.
Não tente iniciar o processo de instalação antes de terminar de ler esta seção.
O conceito de chaves pública e privada (public and private keys) já foi explicado na introdução deste tutorial.
Em alguma etapa da instalação do PGP, serão geradas estas chaves. Para isto, o programa irá pedir: a sua passphrase (explicada logo acima) e a quantidade de bits a serem utilizados na geração das mesmas: sugere-se a escolha default de 2048 bits.
No final do processo de instalação, o programa irá permitir que se escolha enviar a sua chave pública para um servidor de chaves públicas. Recomenda-se que seja selecionada a opção de enviá-la para um servidor público, permitindo-se que ela seja obtida, via internet, por qualquer pessoa (a sua chave pública deve ser pública mesmo :-). A razão disto ficará mais clara após a leitura da seção seguinte que versa sobre "Como Usar o PGP".
Nesta seção, será explicado sucintamente como usar o PGP versão Windows, embora os conceitos sejam os mesmos para o PGP versão Unix. Pretende-se, com as breves explicações que se seguem, que o usuário se torne capaz de executar algumas operações comuns com o PGP, tais como [3]:
obter a chave pública de alguém;
assinar a chave pública de um conhecido;
assinar e/ou criptografar: um documento ASCII, ou um e-mail, ou um arquivo qualquer;
decriptar e verificar a autenticidade e integridade de um documento ou arquivo assinado com o PGP.
4.1. Como obter a chave pública de alguém
Para que obter a chave pública de alguém?
Para verificar a autenticidade e integridade de algo supostamente assinado por este alguém; ou para criptografar algo que seja possível de ser decriptado posteriormente por este alguém. Vamos ver tudo isto mais adiante.
Procedimento
Existem diversas formas de se obter a chave pública de alguém.
A chave pública do GRC, por exemplo, pode ser obtida aqui mesmo na
UNESP, com o seu browser, em:
http://grc.unesp.br/grc-pgp-public-key.asc
Uma vez acessada a página acima, de dentro do seu browser clique na barra de menu em Edit e, depois, em Select All, para selecionar toda a página (ou seja, toda a chave pública do GRC). A seguir, clique novamente em Edit e, depois, em Copy, a fim de copiá-la para a área de transferência do Windows. Agora, chame o programa PGP (PGPkeys) e, em seu menu Edit, clique em Paste, para inserir a chave do GRC em seu chaveiro (keyring).
Este mesmo procedimento você poderá executar para incluir em
seu chaveiro as chaves públicas de todos os membros do GRC,
disponíveis a partir da página:
http://grc.unesp.br/pessoal.html
Observe que importa mesmo, neste método acima exposto, copiar a chave de alguém para a área de transferência do Windows; e, a seguir, inserir (paste) esta chave no seu chaveiro. No exercício acima, você obteve todas as chaves a partir de uma página Web. Mas é comum, também, obter-se as chaves públicas efetuando-se o FTP de um arquivo ASCII que a contenha; ou, de outra forma, pode-se recebê-la por e-mail.
Agora, pratique um segundo método de obtenção de chave pública. Chame o programa PGP e, na sua barra de menu, clique em Server e, em seguida, Search. Na pequena caixa de diálogo que se abrirá, você pode digitar um endereço de e-mail completo ou parcial (User ID), exemplos: (1) se for digitado alguem@algum.lugar, serão pesquisadas as chaves da pessoa que tenha este endereço de e-mail; (2) se for digitado unesp.br, serão pesquisadas todas as chaves públicas da UNESP; (3) se for digitado @unidade.unesp.br, serão pesquisadas todas as chaves públicas de uma unidade da UNESP. Depois, é só clicar no botão Search e aguardar que o servidor internacional de chaves públicas retorne alguma resposta: se esta resposta for negativa (chave pública não encontrada), ainda assim talvez seja possível obter a chave da pessoa desejada, mas utilizando o primeiro método descrito acima (desde que esta pessoa disponibilize sua chave em alguma página Web, ou via FTP, ou via finger, ou por e-mail, ou algo parecido).
4.2. Como assinar a chave pública de alguém
Para que serve assinar a chave pública de alguém?
Ao assinar a chave de alguém, você na prática estará dizendo, para todos que confiam em sua assinatura, que também podem confiar na assinatura deste alguém. Ou seja, a responsabilidade não é pouca.
Mas, se a responsabilidade é tanta, como é que eu posso assinar a chave de alguém, com segurança de que estou agindo com acerto? Primeiro, todos sabemos que segurança 100% ainda é utopia para nós. Mas o próprio autor do PGP se preocupou com esta questão, dando-lhe uma solução bastante elegante (dificilmente poder-se-ia imaginar algo muito melhor): ele criou o que se chama de fingerprint de uma chave pública. O fingerprint é um número escrito como 40 dígitos em hexa-decimal (32 dígitos, se a chave for RSA), o qual pode ser facilmente ditado por telefone por aquele alguém, enquanto você vai anotando o que ouve. Mas você há de pensar: se o telefone é um meio tão seguro a ponto de se prestar ao ditado do fingerprint, então por que não utilizá-lo também para transmitir uma informação que talvez se queira criptografar? Resposta: o telefone não é um meio seguro; a segurança em se ditar o fingerprint reside principalmente no fato de que você deve ter telefonado para aquele alguém e deve ter reconhecido satisfatoriamente a sua voz (e isso normalmente já é o bastante, em conjunto com o método de verificação descrito no próximo parágrafo).
Procedimento
Antes de se pensar em assinar uma chave pública, é preciso que você já a tenha em seu chaveiro (keyring). Logo acima, você já deve ter lido instruções sobre como fazer este tipo de coisa.
Entre no programa PGPkeys, observe se a chave deste alguém está realmente em seu chaveiro (senão, pegue-a). Clique, com o botão da direita do mouse, em cima da chave pública deste alguém e clique em Key Properties. Veja que se abrirá uma caixa de diálogo contendo, entre outras informações, o fingerprint da chave pública deste alguém. Compare este fingerprint, obtido a partir de seu chaveiro, com o fingerprint que foi ditado para você por telefone. Se ambos coincidirem, então você pode assinar mais tranquilo a chave deste alguém. Tudo bem até aqui? Se sim, então assine esta chave: para isto, clique novamente com o botão da direita do mouse em cima da chave deste alguém e, depois, clique em Sign. Leia antentamente as mensagens que aparecerem e, em algum momento, será dada a chance de você escolher enviar esta chave pública (alterada por passar a conter também a sua assinatura) a um servidor internacional; tipicamente, pode aparecer uma mensagem tipo Allow signature to be exported. Others may rely upon your signature. Selecione esta opção, para enviá-la ao keyserver, pois, assim, outras pessoas na internet poderão ver que você assinou a chave deste alguém. Note, também, que em algum momento será pedido para você digitar o seu passphrase, pois, o PGP utilizará a sua chave privada (a qual está codificada com o seu passphrase) para gerar a sua assinatura.
Terminado o procedimento descrito anteriormente, você terá enviado à internet uma nova versão da chave pública daquele alguém, pois, até poucos instantes ela não continha ainda a sua assinatura. Veja que esta nova versão foi enviada para um servidor específico, o qual por sua vez pode demorar alguns dias para divulgá-la a todos os outros servidores de chave PGP da internet. Para você saber qual servidor acaba de receber esta nova versão, de dentro de seu programa PGP clique em Edit (na barra de menu) e, depois, em Preferences; na caixa de diálogo que aparecerá, selecione a guia Servers.
4.3. Como assinar e/ou criptografar: um documento ASCII, ou um e-mail, ou um arquivo qualquer
Antes de começar a praticar assinaturas (de documentos, de e-mail e de arquivos), verifique se o ícone do programa PGPtray está presente no canto inferior direito da barra de tarefas do Windows (próximo ao local onde fica um pequeno relógio digital). Se não estiver, chame-o e verifique se, agora, o ícone está lá. O PGPtray, ao ser clicado, faz aparecer um menu com as opções mais úteis para o usuário; há, inclusive, uma opção para chamar o programa PGP que contém o seu chaveiro (Launch PGPkeys).
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: por exemplo, pode-se clicar em Edit (na barra de menu) e, depois, em Select All. Depois, copie este texto selecionado para a área de transferência do Windows: para isto, pode-se clicar novamente em Edit e, depois, em Copy. Agora, clique no ícone do PGPtray e escolha a opção desejada: Encript Clipboard, ou Sign Clipboard, ou Encript and Sign Clipboard *.
Em algum momento, aparecerá uma caixa de diálogo solicitando que seja digitada a sua passphrase, que é a chave de decodificação de sua chave privada, a qual será utilizada pelo método PGP para assinar e/ou criptografar o texto que está no clipboard. Terminado o processo de assinatura e/ou criptografia do texto, retorne ao programa editor de textos que você estava utilizando, selecione novamente todo o texto (menu Edit e, depois, Select All) e, a seguir, cole o atual conteúdo do clipboard por cima deste texto selecionado (menu Edit e, 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 seus próprios testes. O tutorial está cheio de informação, mas o conhecimento surgirá como uma criação individualíssima sua, mais até que um filho :-). Bonito, não? Caso persista alguma dúvida a respeito, é só enviar um e-mail para o GRC <suporte-redes@unesp.br>.
Significado das opções
A opção Encript Clipboard serve para criptografar o texto que está no clipboard (área de transferência do Windows); caso você tenha escolhido esta opção, em algum momento aparecerá uma caixa de diálogo solicitando a seleção da(s) chave(s) pública(s) a ser(em) utilizada(s) no processo de criptografia. Por que isto? É porque, ao escolher qual(is) a(s) chave(s) pública(s) será(ão) utilizada(s) na criptografia, você estará na verdade escolhendo quem poderá, posteriormente, decriptar o texto criptografado por você. Inclusive, se você não selecionar sua própria chave pública nesta hora, você mesmo não poderá decriptar o texto: apenas aquelas pessoas cujas chaves públicas você selecionou é que poderão decriptar o texto.
A opção Sign Clipboard serve para assinar o texto que está no clipboard (área de transferência do Windows). Ao assinar um texto e enviá-lo para alguém (ou para um grupo de pessoas, ou até mesmo deixá-lo disponível para toda a internet), você estará permitindo que este alguém verifique se o texto foi assinado por você mesmo (verificação de autenticidade); além disso, se por algum motivo o texto assinado por você sofrer qualquer modificação, aquele alguém terá como detectar o fato (verificação de integridade).
A opção Encript and Sign Clipboard serve 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 acima para um documento ASCII, pois, o seu e-mail é um texto que está sendo digitado por você, utilizando para isso o editor próprio do seu programa cliente de e-mail.
Hoje em dia, é possível se encontrar algum plug-in PGP para a maioria dos programas clientes de e-mail. Um plug-in PGP serve para tornar mais rápida a execução dos procedimentos de assinatura/criptografia/verificação/decriptação de e-mails, pois, costumam eliminar as etapas que envolvem Copy & Paste & Select All do texto. Há, porém, quem prefira não se utilizar deste tipo de plug-in, por sentir-se mais à vontade e seguro com o método descrito acima; é uma questão de preferência pessoal ou de qualidade do plug-in disponível para o seu programa cliente de e-mail.
Na área de FTP do GRC pode ser encontrado o
Pegasus Mail, programa cliente
de e-mail para Windows e que conta com vários recursos avançados.
Abaixo seguem alguns links para alguns arquivos do Pegasus:
| ftp://ftp.unesp.br/pub/pegasus/win95/README | Descrição dos arquivos disponíveis no diretório ftp://ftp.unesp.br/pub/pegasus/win95/ |
| ftp://ftp.unesp.br/pub/pegasus/win95/pegasus | Soft link para pegar, via FTP, a versão mais atual do programa Pegasus Mail. |
| ftp://ftp.unesp.br/pub/pegasus/win95/qdpgp | Soft link para pegar, via FTP, a versão mais atual do plug-in PGP para o Pegasus. |
4.3.3. Como assinar e/ou criptografar um arquivo
Procedimento
Para assinar e/ou criptografar um arquivo, o procedimento é o seguinte. Chame o programa Windows Explorer e, depois, faça-o mostrar-lhe na tela o arquivo que você quer assinar e/ou criptografar. Clique, com o botão da direita do mouse, sobre o nome deste arquivo e, no menu que aparecerá, posicione o mouse na opção PGP, fazendo aparecer um sub-menu com as opções: Encript, Sign, Encript and Sign. Respectivamente, estas opções servem para: apenas criptografar; apenas assinar; criptografar e assinar. O conceito envolvido é o mesmo daquele exposto mais acima, quando estas mesmas opções apareceram em se tratando de um texto armazenado no clipboard (área de transferência do Windows). Pratique, exercite-se, e verá que já fez algo muito semelhante em exercícios anteriores.
Para que assinar e/ou criptografar um arquivo?
Assinando um arquivo, permite-se que qualquer pessoa (inclusive você) possa verificar a qualquer tempo a autenticidade e integridade deste arquivo; veja que os arquivos de uma máquina servidora da internet sempre são passíveis de sofrer modificações não autorizadas, por ação de um cracker, por exemplo. E, quando se quer disponibilizar um arquivo para o público, pode-se assiná-lo para que este tenha como verificar a integridade e autenticidade do arquivo: por exemplo, os arquivos contendo os resultados do último vestibular da UNESP, disponíveis em ftp://ftp.unesp.br/pub/vestibular/, foram assinados com o PGP pela "Assessoria de Informática" <informatica@unesp.br>.
A assinatura de um arquivo será, por default, um outro arquivo que tenha o mesmo nome do original acrescido do sufixo .pgp, ou .sig, ou .asc. No primeiro caso, o arquivo .pgp contém o arquivo original compactado mais a sua assinatura binária. No segundo caso, que é o mais comum atualmente, o arquivo .sig contém apenas a assinatura binária do arquivo original. No último caso, que é cada vez menos usado atualmente, o arquivo .asc contém a assinatura do arquivo original, e pode ou não conter, também, o conteúdo compactado deste arquivo original; o conteúdo de um arquivo .asc é formado apenas por caracteres da tabela ASCII não extendida, o que se justificava antigamente para compatibilidade com os mais antigos programas de e-mail, e tem como maior desvantagem o fato de ser um arquivo de tamanho maior do que um correspondente .sig ou .pgp.
Analogamente, a criptografia de um arquivo será, por default, um outro arquivo que tenha o mesmo nome do original acrescido do sufixo .pgp, ou .asc. Em ambos os casos, o arquivo gerado contém o arquivo original compactado e criptografado; a diferença entre eles é que o arquivo .asc é formado apenas por caracteres da tabela ASCII não extendida, resultando, portanto, em um arquivo de tamanho maior do que o seu correspondente .pgp.
4.4. Como decriptar e verificar a autenticidade e integridade de um documento ou arquivo assinado com o PGP
Antes de começar a praticar a verificação de autenticidade e integridade, observe se o ícone do programa PGPtray está presente no canto inferior direito da barra de tarefas do Windows (próximo ao local onde fica um pequeno relógio digital). Se não estiver, chame-o e verifique se, agora, o ícone está lá. Para seu maior conforto e praticidade, sugere-se que este programa seja chamado automaticamente pelo Windows, após cada boot do sistema; se isto não estiver acontecendo, pode-se fazer o seguinte: utilizando o Windows Explorer, crie um atalho para o PGPtray, clicando com o botão da direita do mouse sobre o nome do programa e escolhendo a opção Create Shortcut e, a seguir, mova este atalho récem-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 assinado com o PGP
Procedimento
Para treinar, pode-se, inclusive, pegar alguns textos assinados e/ou criptografados por você mesmo. Selecione toda a porção do texto que está assinada e/ou criptografada e copie-a para o clipboard. A seguir, clique no ícone do PGPtray e selecione a opção Decript/ Verify Clipboard. Se o texto está criptografado, aparecerá uma pequena caixa de diálogo solicitando que você digite o seu passphrase (e caso o texto tenha sido criptografado com a sua chave pública, será possível decriptá-lo; senão, aparecerá uma mensagem de erro, a qual deve ser lida com atenção para certificar-se de que você não digitou com erro o seu passphrase). Se o texto está assinado, aparecerá uma pequena caixa de diálogo informando se a assinatura é boa ou não (Good signature ou Bad Signature), além da informação sobre quem a assinou, e quando.
Explicações adicionais
Veja que um texto (ou mesmo um arquivo) pode ter sido objeto de uma assinatura e/ou de uma criptografia; e ambas as coisas são ortogonais (independentes entre si). Assim, por exemplo, um texto pode ter sido criptografado e não ter sido assinado: se isto acontecer, o PGP poderá decriptar o texto, mas não poderá lhe dar garantia alguma quanto à autenticidade (quem mandou) e integridade (se o texto foi modificado) deste texto. Em uma outra hipótese, um texto pode ter sido assinado e não ter sido criptogrado: assim, qualquer um estará potencialmente hábil para ler este texto (pois não foi criptografado) e, também, hábil 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 porção do texto que se inicia por ---BEGIN PGP PUBLIC KEY BLOCK--- e termina por ---END PGP PUBLIC KEY BLOCK--- é que tem garantida a sua autenticidade e integridade pela assinatura. Ou seja, o que está antes de ---BEGIN PGP PUBLIC KEY BLOCK---, e o que está depois de ---END PGP PUBLIC KEY BLOCK---, foi adicionado após o ato de assinatura e, portanto, NÃO pode ser garantido pelo PGP quanto à sua integridade e nem quanto à sua autenticidade.
4.4.2. Como decriptar e/ou verificar a autenticidade e integridade de um arquivo assinado com o PGP
Procedimento
Chame o programa Windows Explorer e faça-o selecionar o arquivo assinado e/ou criptografado; dê um duplo clique, com o botão da esquerda do mouse, sobre o nome deste arquivo e siga as poucas instruções que lhe serão fornecidas automaticamente. Vale ressaltar que, quando se está verificando a assinatura (autenticidade e integridade) de um arquivo, é pode acontecer de o programa Windows Explorer perder o foco, dando a impressão de que algo ocorreu de errado; na verdade, basta clicar, com o botão da esquerda do mouse, sobre o ícone do Windows Explorer que deverá estar na barra de tarefas e, assim, você poderá ver que há uma pequena caixa de diálogo com a descrição do resultado do processo de verificação.
Explicação adicional
Como foi visto na seção "Como assinar e/ou criptografar um arquivo" acima, a assinatura de um arquivo é um outro arquivo de mesmo nome do original, porém com o acréscimo do sufixo .pgp, ou .sig, ou .asc; similarmente, a criptografia de um arquivo é um outro arquivo cujo nome terá os sufixos .pgp, ou .asc.
4.5. Dúvidas? Alguma dificuldade?
Em caso de dificuldades, o GRC recomenda que seja enviada uma mensagem para INFORMA-L@listas.unesp.br (para que todos aproveitem o questionamento).
Seja bem-vindo(a) ao privilegiado grupo de pessoas usuárias do PGP !
Quão segura é uma mensagem encriptada por PGP? Pode-se afirmar que é muito segura. O PGP, nos seus primórdios, utilizava um algoritmo chamado RSA (mais recentemente, tem-se adotado o DSS/Diffie-Hellman, que é um melhoramento do 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 (lembrem-se de que as suas chaves, muito provavelmente, têm 2048 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.
E as questões legais quanto ao uso do PGP? Programas que utilizam criptografia com chaves maiores de 40 bits não 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. Além disso, a versão original do PGP infringia as patentes do algoritmo RSA. Podemos então usar o PGP?
A resposta é sim [5,6,8]. 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 re-escrita 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 patenteada RSA não é válida fora dos EUA. Quem quiser saber mais detalhes sobre a legalidade do PGP, veja em http://www.mantis.co.uk/pgp/pgp-legal.html e http://www.pgpi.com/faq/ .
O Brasil ainda não possui lei quanto ao uso de criptografia de dados. Portanto, programas, empresas ou indivíduos que a utilizam estão agindo legalmente, tal como na maioria dos outros países.
[1] An Introduction to Criptography, Network Associates, Inc., 1998.
[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 vários países:
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 versão internacional do PGP (http://www.pgpi.com); tradução para o português da home-page do PGP (http://www.dca.fee.unicamp.br/pgp/), mantida por Henrique Holschuh <henriqmh@dca.fee.unicamp.br>.