Abaixo encontra-se uma lista de perguntas freqüentes sobre o PGPi (o PGP internacional), e respectivas respostas. Comentários sobre a versão em português podem ser enviados à henriqmh@dca.fee.Unicamp.br. Comentários sobre a versão original do FAQ em inglês devem ser enviados à stale@hypnotech.com.
Se sua dúvida sobre o pgp não foi respondida, tente o alt.security.pgp FAQ (em inglês).
1.1. Porquê criar uma versão interacional do PGP ?
As versões oficiais do PGP feitas pelo MIT (das quais a mais atual é a 2.6.2) foram feitas dentro dos EUA e são voltadas para
o uso exclusivo nos EUA. Devido a alguns problemas internos aos EUA,
relacionados com patentes e copyright, essas versões contém certas limitações
e restrições que são completamente irrelevantes para usuários em
qualquer outra parte do mundo. Quando o PGP foi espalhado ao redor do mundo,
é natural que essas limitações fossem removidas. Para isso foram criadas as
versões internacionais do PGP.
1.2. Qual é a versão mais atual do PGP internacional ?
A versão mais atual do PGP é a 2.6.3i.
Ela foi primeiramente lançada em 18 de Janeiro de 1996, e atualmente
encontra-se no patchlevel 'a'.
O PGP 2.6.3i é baseado no código fonte do MIT PGP 2.6.2, modificado para uso internacional.
O PGP 2.6.3i substituiu o PGP 2.6.2i.
1.3. Quais as diferenças entre o PGP 2.6.3i e o MIT PGP 2.6.2 ?
As diferenças mais importantes estão listadas abaixo:
1.4. Quão compatível a versão PGP 2.6.3i é em relação às outras versões ?
O PGP 2.6.3i pode ler e entender mensagens, chaves e assinaturas
criadas por qualquer PGP versão 2.x. (Note porém que as chaves não podem ser
maiores que 2048 bits. Nenhuma versão oficial do PGP aceita chaves mais longas
que isso, de qualquer maneira). Como o PGP 2.6.3i usa a MPILIB em lugar da
RSAREF, ele é capaz de entender inclusive o antigo formato
de assinaturas do PGP 2.2 e anteriores (pkcs_compat=0). Entretanto ele não
escreve esse tipo (antigo) de assinatura.
O PGP 2.6.3i pode gerar mensagens, chaves e assinaturas que podem ser lidas e entendidas por qualquer PGP 2.x, entretanto se você quiser que as suas chaves e assinaturas possam ser lidas pelas versões 2.3a e anteriores, é necessário que a linha "legal_kludge = off" do arquivo CONFIG.TXT seja ativada.
Em outras palavras: O PGP 2.6.3i é 100% compatível com as versões do MIT. Se você estiver trocando mensagens com alguém que ainda usa a versão 2.3a (ou mais antiga) do PGP, lembre-se de desligar o "legal_kludge".
1.5. O que é RSAREF? E MPILIB? Qual a diferença entre elas ?
RSAREF é uma library de software que
implementa as
rotinas criptográficas RSA
(RSA é uma das rotinas criptográficas usadas pelo PGP, e o coração da
criptografia de chave pública). A RSAREF é freeware, e está sob
a responsabilidade da RSA Data Security Inc.,
dona da patente sobre o algorítimo RSA nos EUA. Qualquer pessoa nos EUA que
queira usar o RSA em seus programas e distribuí-los gratuitamente (exemplo:
o PGP), é obrigado a usar a RSAREF. Todas as versões oficiais do MIT PGP,
apartir da versão 2.5, usam a RSAREF.
MPILIB é simplesmente uma outra implementação das mesmas rotinas RSA encontradas na RSAREF. As rotinas na MPILIB foram originalmente escritas por Phil Zimmermann, e foram usadas em todas as versões do PGP até a versão 2.3a inclusive. Funcionalmente a MPILIB é idêntica à RSAREF, mas as rotinas da MPILIB são geralmente mais rápidas que às da RSAREF (apesar da diferença de velocidade variar muito de plataforma para plataforma). A MPILIB ainda possui a vantagem de ser capaz de entender o formato antigo para assinaturas de chaves usado pelo PGP 2.2 e anteriores (pkcs_compat=0), ao contrário da RSAREF. Outra vantagem da MPILIB é que essa é publicada segundo os termos da GPL, enquanto que a RSAREF não.
Note que o PGP 2.6.3i usa a MPILIB, e não a RSAREF. Esta é a razão principal pela qual o PGP 2.6.3i não deve ser usado nos EUA. Phil Zimmermann falou o seguinte sobre o PGP 2.6.i, o predecessor do PGP 2.6.3i:
"The unofficial variant of PGP named PGP 2.6.i by its developers replaces RSAREF routines with other code implementing RSA-related algorithms. I am very familiar with that code, and while I tried to make PGP use RSAREF in a manner that did not suffer a performance penalty, I believe that these other subroutines are at least as efficient, as well as being functionally identical for PGP's purposes. Since the RSA patent does not exist outside the USA, it seems reasonable to not encumber European users with the RSAREF subroutine library and its own additional copyright restrictions..."
Tradução livre:
A variante não oficial do PGP batizada 2.6.i pelos seus criadores troca as rotinas da RSAREF por um outro código que implementa os algoritmos relativos a RSA. Eu conheço esse outro código a fundo, e embora eu tenha tentado fazer o PGP usar a RSAREF sem causar nenhuma perda de performance, eu acredito que essas outras rotinas [MPILIB] são pelo menos tão eficientes [quanto as da RSAREF], bem como funcionalmente idênticas para o propósito do PGP. Uma vez que a patente sobre o RSA não existe fora dos EUA, me parece razoável que os usuários europeus não carreguem nos ombros o peso da RSAREF e suas restrições adicionais de copyright...
1.6. Que versão do pgp devo usar afinal ?
Normalmente você deveria utilizar a versão do MIT se estiver nos EUA e a versão
internacional em qualquer outro caso. Entretanto, existem exceções -- olhe em
http://www.dca.fee.unicamp.br/pgp/which-version.shtml para mais informações.
2.1. O que significa "internacional" ? Quem pode usá-la ?
O PGP 2.6.3i foi criado como uma alternativa às versões americanas do PGP,
que são distribuídas pelo MIT e contém certas restrições que não são relevantes
aos usuários fora dos EUA. Em geral, o "internacional" significa "não-americano", ou seja, pode ser usado por qualquer um exceto por aqueles que vivem nos
EUA. Se você não tem certeza se o PGP 2.6.3i é a versão correta para você,
algumas dicas para ajudá-lo podem ser encontradas http://www.dca.fee.unicamp.br/pgp/which-version.shtml.
2.2. Porquê a versão internacional não é oficial ? É ilegal usá-la ?
O uso do PGP 2.6.3i é perfeitamente legal, contanto que você:
Para uma discussão mais detalhada nos aspectos legais do uso do PGP (em Inglês), leia as páginas em http://www.mantis.co.uk/pgp/pgp-legal.html.
2.3. O PGP 2.6.3i pode ser usado comercialmente ?
Sim, porém como o algorítimo IDEA usado pelo PGP é patenteado em muitos
países, talvez você precise obter uma licença de uso. (O algorítimo RSA não
é patenteado fora dos EUA, e você não precisará de licença para usá-lo).
Alguns dos países onde a patente sobre o IDEA é válida são:
Eu não posso garantir que essa lista é completa, portanto por favor verifique com os donos da patente (Ascom AG, veja abaixo) em caso de dúvida. Obviamente a Ascom pode ver no futuro razões para patentear o IDEA em mais países. Por enquanto o uso do PGP (comercialmente) não requer nenhuma licença na maior parte do mundo.
Licenças para o uso do IDEA podem ser compradas na Ascom Systec AG na Suíça. O licenceamento do IDEA era feito pela Ascom Tech, mas esta responsabilidade foi transferida para sua companhia-irmã Ascom Systec. Por favor, não contate a Ascom Tech à respeito do IDEA. O custo da licença é baseado no número de usuários.
A licença para uso do IDEA pode ser comprada via Internet. Para mais informações, olhe aqui, ou contate: Licensing Manager Roland Weinhart:
Tel. : +41 62 889 59 54
Fax : +41 62 889 59 54
Email : idea@ascom.ch
2.4. Posso usar parte do código fonte do PGP nos meus programas ? Como ?
O PGP é distribuído sob a General Public License -- GPL (note que a biblioteca
RSAREF usada pelo PGP 2.6.2 e 2.6.3 não é. Verifique a documentação),
portanto você tem todo o direito de modificar o programa para seu uso privado. Porém, não o use para
propósitos comerciais, e se você pretende distribuir qualquer código que seja
derivado do código fonte do PGP, não utilize o nome "PGP". O nome "PGP" é
uma marca registrada (registered trademark).
Então, como fazer para integrar funções do PGP ao seus programas ? Olhe a resposta à questão 3.3!
3.1. Onde posso conseguir uma cópia do PGP 2.6.3i ?
O PGP 2.6.3i está disponível tanto como código fonte, quanto como binários
pré-compilados para as plataformas mais populares, tais como MS-DOS, OS/2,
Atari e Amiga. Você pode obter mais informações (e o próprio programa) em:
WWW:
FTP:
3.2. Existe alguma versão para Windows do PGP 2.6.3i ?
Não. Não existe nenhuma versão "verdadeira" do PGP para Windows 3.1/NT/95,
mas existem alguns front-end shells que
adicionam uma interface
gráfica às versões para DOS. Existem binários pré-compilados para MS-DOS
(16-bits & 32-bits), OS/2, Amiga, Atari and Macintosh. Existe também uma
compilação para Win32 (Windows 95/NT), mas é apenas uma aplicação só-texto,
sem nenhuma GUI. Incidentemente, essa versão suporta nomes longos
para arquivos (NTFS & VFAT). Você pode encontrar mais informações em
http://www.dca.fee.unicamp.br/pgp/windows.shtml.
3.3. Existe alguma PGP.DLL ?
A PGP, Inc. (www.pgp.com) vende uma PGP DLL simples,
mas esta só está disponível nos EUA e Canadá. Descontando esta DLL "simples", não existe uma PGP DLL.
Existem algumas bibliotecas experimentais, mas
elas não implementam toda a funcionalidade do PGP e não são para uso geral,
logo, integrar o PGP com programas de sua autoria é um pouco difícil.
Existem pelo menos três maneiras diferentes de fazê-lo:
WWW:
FTP:
4.1. Como posso verificar a integridade do PGP 2.6.3i ?
Todos os pacotes de distribuição do PGP 2.6.3i contém um arquivo assinado
de forma que você possa verificar se os arquivos não foram sabotados.
Para poder verificar essa assinatura, você irá precisar da chave pública do signatário:
4.2. Eu não consegui instalar o PGP. O que faço agora ?
Em primeiro lugar, tenha certeza que leu e entendeu as instruções de instalação
(usualmente encontradas no arquivo SETUP.DOC) para a plataforma que você irá
utilizar. Leia as instruções novamente (e cuidadosamente) e tente várias vezes. :-)
DOS/Windows: Certifique-se que a variável de ambiente PGPPATH está correta e não contém nenhum espaço em branco. Você lembrou-se de ressetar o computador depois de modificar o AUTOEXEC.BAT, não ? ;-)
Unix: Se você não sabe qual make target utilizar para a sua plataforma, os comandos abaixo talvez possam lhe dar alguma dica:
uname -a hosttype arch echo $OSTYPE echo $HOSTTYPE echo $MACHTYPE gcc -v
Se você recebeu mensagens sobre unresolved references to strdup() durante a compilação, pegue o patch mais novo em http://www.ifi.uio.no/pgp/patch.shtml. Após conseguir compilar o PGP com sucesso, verifique se o diretório ~/.pgp/ existe e se você tem permissão de escrita nele antes de gerar suas chaves.
Se você ainda estiver tendo problemas, tente pedir ajuda em alt.security.pgp. Se você pensa ter achado um bug, dê uma olhada em http://www.dca.fee.unicamp.br/pgp/bugs.shtml.
4.3. Qual é o valor correto de TZ para o meu país ?
Você encontrará alguns exemplos no arquivo SETUP.DOC (note que mesmo que você esteja
usando o Windows 95, você pode utilizar o AUTOEXEC.BAT para ajustar o TZ).
A sintaxe é simples:
SET TZ=XXX[+|-]nOnde XXX são três letras quaisquer, e [+|-]n é a diferença entre a hora local e a hora UTC (GMT), em horas completas (1.5 não é válido). Use números positivos para locais a oeste de Londres, e negativos para locais a leste. A sintaxe para horário de verão não funciona corretamente em todos os países/sistemas operacionais. Se quiser arriscar, adicione DST no final da TZ e não deixe espaços em branco. Teste para ver se funcionou.
Como descobrir a diferença entre a sua hora local e a hora UTC ? Olhe em algum atlas ou pergunte para alguém. Se tudo mais falhar, use um valor aproximado ou use o valor correto para algum país vizinho. Não existem grandes problemas você não conseguir ajustar a TZ perfeitamente, ela só é usada para ajustar as estampas de data (timestamps) nas assinaturas feitas pelo PGP, e ninguém vai se importar com um erro de poucas horas nessas estampas, à menos que você esteja assinando algum contrato ou outro documento importante.
Se você está no Brasil, pegue a tradução para português do PGP. A mensagem de erro "TZ inválida ou não encontrada" foi modificada para lhe dizer a sintaxe correta, basta não ajustar a TZ ou procurar por TZ no arquivo language.txt
5.1. O PGP 2.6.3i pode ser "quebrado" ?
Sim. Qualquer versão do PGP pode ser quebrada, desde que o atacante tenha o
tempo e os recursos (= dinheiro) necessários para o trabalho. Entretanto
uma mensagem típica de 1024 bits do PGP necessitaria em média 300.000.000.000
MIPS-ano para ser quebrada, portanto o cidadão comum está relativamente a
salvo (leia o PGP Attack FAQ em http://axion.physics.ubc.ca/pgp-attack.html para mais detalhes). Se alguém quiser ler suas mensagens cifradas pelo
PGP, ele provavelmente preferiria roubar uma cópia da sua chave secreta
e tentar
adivinhar a sua frase senha, ou forçar você a revelá-la.
5.2. Por acaso o PGP 2.6.3i não é aquela versão que foi enfraquecida pela NSA ?
Não. O PGP 2.6.3i é tão seguro quanto qualquer outra versão do PGP. Nem
Phil Zimmermann, nem o MIT, nem a NSA, nem eu (Ståle Schumacher), ou qualquer
outra pessoa, colocou qualquer "portão de trás" (backdoor) no PGP
2.6.3i, lobotomizou o gerador de números aleatórios, limitou o tamanho efetivo
da chave ou fez qualquer outra alteração para comprometer a segurança do
programa. Se você não acredita nisso, obtenha o código fonte e veja você mesmo.
O código fonte do PGP está aí para qualquer um remexer, e isso tem sido feito
há vários anos. Até hoje ninguém conseguiu encontrar nenhuma backdoor.
A conclusão é clara: se alguém pode quebrar o PGP 2.6.3i, então ele pode
quebrar qualquer outra versão do PGP. Se você lê revistas como a "Internet
World", não acredite em nada do que eles publicam. :-/
N.T.: Eu não leio a Internet World, mas respeito a opinião de Ståle Schumacher. ;-)
5.3. Existem bugs no PGP 2.6.3i ?
Nenhum programa está 100% a salvo de erros. Ainda assim, o PGP 2.6.3i é
provavelmente a versão do PGP mais livre de bugs disponível atualmente.
Para ver uma lista de bugs conhecidos, e como consertá-los, ou para
avisar-nos sobre novos erros, verifique a Página sobre os bugs do PGP em
http://www.dca.fee.unicamp.br/pgp/bugs.shtml.
5.4. Quem é o responsável pelo PGP 2.6.3i?
O PGP 2.6.3i foi montado e publicado por Ståle Schumacher, da Noruega.
Entretanto este trabalho não teria sido possível sem a ajuda de vários
indivíduos ao redor do mundo. As versões internacionais do PGP são agora
mantidas e suportadas por um grupo de desenvolvimento internacional, que
coordena seus trabalhos através de uma lista de discussão. Se você gostaria
de entrar nessa lista, por favor entre em contato com
stale@hypnotech.com.
Todas as questões à respeito do PGP 2.6.3i devem ser endereçadas diretamente a Ståle Schumacher ou para pgp-bugs@ifi.uio.no. Por favor, observe que Phil Zimmermann, o MIT e a Universidade de Oslo, assim como a Unicamp, não têm nada haver com o PGP 2.6.3i. Comentários, bug reports e sugestões para futuras versões são bem vindas.
5.4. Onde posso aprender mais sobre o PGP?
O arquivo README do PGP 2.6.3i (em inglês) cobre
a maior parte dos detalhes sobre o que há de especial nas versões
internacionais do PGP. Se você tem acesso ao WWW, as Páginas do PGP
Internacional podem ser um bom ponto inicial para procurar informações:
Para maiores informações sobre o PGP e criptografia, você poderia dar uma olhada nas páginas abaixo (em inglês):
FAQ from comp.security.pgp por Arnoud Engelfriet http://www.pgp.net/pgpnet/pgp-faq/Where to get PGP FAQ by Michael Johnson ftp://ftp.uu.net/usenet/news.answers/pgp-faq/where-is-PGP.Z
PGP passphrase FAQ por Grady Ward http://world.std.com/~franl/pgp/pgp-passphrase-faq.html
PGP attack FAQ por infiNity http://axion.physics.ubc.ca/pgp-attack.html
PGP 2.6 FAQ - interesse histórico apenas ftp://net-dist.mit.edu/pub/PGP/PGP_FAQ
WWW:
Fran Litterio's PGP Page (from the Virtual Library) http://world.std.com/~franl/pgp/pgp.htmlThe Official Bug List for MIT PGP 2.6.2 http://www.mit.edu:8001/people/warlord/pgp-faq.html
FTP:
ftp://ftp.ifi.uio.no/pub/pgp/ ftp://ftp.dsi.unimi.it/pub/security/crypt/PGP/ ftp://ftp.ox.ac.uk/pub/crypto/pgp/ ftp://ftp.unicamp.br/pub/mail/security/pgp/
Newsgroups (em Inglês!):
alt.anonymous discussion of anonymity and anon remailers alt.anonymous.messages for anonymous encrypted message transfer alt.privacy.clipper Clipper, Capstone, Skipjack, Key Escrow alt.security general security discussions alt.security.pgp discussion of PGP alt.security.ripem discussion of RIPEM alt.security.keydist key distribution via Usenet alt.society.civil-liberty general civil liberties, including privacy comp.compression discussion of compression algorithms comp.org.eff.news news reports from EFF comp.org.eff.talk discussion of EFF related issues comp.patents discussion of S/W patents, including RSA comp.risks some mention of crypto and wiretapping comp.society.privacy general privacy issues comp.security.announce announcements of security holes misc.legal.computing software patents, copyrights, computer laws sci.crypt methods of data encryption/decryption sci.math general math discussion talk.politics.crypto general talk on crypto politicsLivros:
The Official PGP User's Guide by Philip R. Zimmermann MIT Press 1995 ISBN 0-262-74017-6 216 pp. $14.95 PGP: Pretty Good Privacy by Simson Garfinkel O'Reilly & Associates 1994 ISBN 1-56592-098-8 430 pp. $24.95 Protect Your Privacy: The PGP User's Guide by William Stallings Prentice Hall PTR 1995 ISBN 0-13-185596-4 302 pp. $19.95 Applied Cryptography: Protocols, Algorithms, and Source Code in C 2nd Edition, by Bruce Schneier Wiley Publishing 1996 ISBN 0-471-11709-9 E-Mail Security: How to Keep Your Electronic Mail Private by Bruce Schneier Wiley Publishing ISBN 0-471-05318-X
Note que a grande maioria das informações sobre o PGP estão disponíveis apenas em Inglês, e isso se reflete nos links e referências listados acima.