OpenPGP OpenPGP is a non-proprietary protocol for encrypting email using public key cryptography. It is based on PGP as originally developed by Phil Zimmermann. The OpenPGP protocol defines standard formats for encrypted messages, signatures, and certificates for exchanging public keys. Beginning in 1997, the OpenPGP Working Group was formed in the Internet Engineering Task Force (IETF) to define this standard that had formerly been a proprietary product since 1991. Over the past decade, PGP, and later OpenPGP, has become the standard for nearly all of the world's encrypted email. By becoming an IETF Proposed Standard (RFC 2440), OpenPGP may be implemented by any company without paying any licensing fees to anyone. The OpenPGP Alliance brings companies together to pursue a common goal of promoting the same standard for email encryption and to apply the PKI that has emerged from the OpenPGP community to other non-email applications. Technical Information The OpenPGP Proposed Standard is defined by the OpenPGP Working Group of the Internet Engineering Task Force (IETF) Proposed Standard RFC 2440. This document contains all the necessary information to develop interoperable applications based on the OpenPGP format. It describes the format and methods needed to read, check, generate, and write conforming encrypted messages, keys, and signatures. To learn more about other IETF topics related to the OpenPGP standard, please consult the Internet Engineering Task Force Security Area. HushMail If you want a highly mobile way to do PGP-style encrypted email, you might consider HushMail, from Hush Communications. HushMail is a web-based encrypted email service that uses a downloaded Java applet to encrypt and decrypt email in your browser. There's nothing to install, because it's all done in your browser. Which greatly simplifies deployment in large corporate environments. It's also handy for road warriors who might need to check their encrypted email from an Internet cafe. Freeware versions of PGP For a wide assortment of freeware versions of PGP, visit the International PGP Home Page at www.pgpi.org. Note that this web site does not have the newer (8.0 or later) versions of the PGP freeware from PGP Corp. You can download the latest version of PGP freeware from PGP Corp. PGP Command-line Products If you need a command-line version of PGP, you can get it from PGP Corp. You can also get other OpenPGPcompliant command-line products from other people, such as Gnu Privacy Guard (also known as GnuPG or GPG) and FileCrypt. PGP Command-line Products All of these OpenPGP-compliant command-line products run on a variety of Unix platforms, as well as the Windows command-line shell. Como funciona PGP O PGP combina algumas das melhores características da criptografia simétrica e criptografia de chave pública. O PGP é um cripto-sistema híbrido. Compressão em PGP Quando um usuário encripta texto puro com o PGP, o PGP comprime o texto puro em primeiro lugar. A compressão de dados economiza tempo de transmissão de modem e espaço em disco e, mais importante, aumenta a segurança da criptografia. Criptoanálise A maioria das técnicas de criptoanálise explora padrões encontrados em textos puros para quebrar o código (Craxi te ceder). Compressão e Criptoanálise A compressão reduz estes padrões no texto original, aumentando significativamente a resistência à criptoanálise. Compressão Arquivos muitos pequenos para serem comprimidos ou que não suportam a compressão não são comprimidos. Chave de Sessão O PGP cria então uma chave de sessão (session key), uma chave secreta para uso uma única vez. No PGP, esta chave é um número gerado aleatoriamente pelos movimentos imprecisos do seu mouse e das teclas que você aciona. Chave de Sessão A chave de sessão utiliza um algoritmo de encriptação convencional extremamente rápido e seguro, encriptando o texto puro, gerando o texto cifrado. Criptografando a chave de sessão Uma vez os dados encriptados, a chave de sessão é encriptada na chave pública do destinatário (recipient). Chave de Sessão transmitida Finalmente, esta chave de sessão encriptada numa chave pública é transmitida com o texto cifrado para o destinatário. Criptografando com PGP Decriptografando com PGP A decriptação funciona de modo inverso. O receptor da mensagem usa a sua chave privada para recuperar a chave de sessão, que o PGP usa para decriptar o texto cifrado. Decriptografando com PGP Os dois métodos de criptografia O uso dos dois métodos de encriptação combina a conveniência da encriptação de chave pública com a agilidade da encriptação convencional. Os dois métodos de criptografia A encriptação convencional é aproximadamente 10.000 vezes mais veloz do que a encriptação de chave pública. Os dois métodos de criptografia A encriptação de chave pública por sua vez fornece uma solução para a distribuição de chaves e transmissão de dados. Os dois métodos de criptografia Usadas em conjunto, a performance e a distribuição das chaves são otimizadas sem comprometer a segurança. O formato PGP de certidão A certidão PGP inclui (mas não se limita) as seguintes informações: A chave pública da certidão do portador A porção pública do seu par de chaves, junto com o algoritmo da chave: RSA, RSA Legacy, DH (Diffie-Hellman), ou DSA (Digital Signature Algorithm). Informação do portador da certidão. Consiste em informações da identidade do usuário, como nome, user ID, e-mail, número ICQ, retrato fotográfico, e assim por diante. Assinatura digital do portador da certidão. Chamada também de auto-assinatura, é a assinatura feita usando a chave privada correspondente à chave pública associada à certidão. Prazo de validade da certidão – Data de início e término da validade da certidão; indica quando expira a certidão. Caso o par de chaves contenha subchaves, então serão incluídos os prazos de validade das sub-chaves. Algoritmo de encriptação simétrica preferido pelo usuário – os algoritmos suportados são: CAST, AES, IDEA, TripleDES, e Twofish. Analogia Você pode pensar na certidão PGP como uma chave pública com uma ou mais etiquetas coladas. Analogia Nestas ´etiquetas´ você encontrará informações identificando o dono da chave e a assinatura do mesmo, determinando que chave e identificação andam juntas. Esta assinatura em especial é chamada de auto-assinatura. Toda certidão PGP contém uma autoassinatura. Um aspecto único do formato de certidão PGP é o fato de uma certidão poder conter várias assinaturas. Algumas ou muitas pessoas podem assinar o par de chaves/identificação para atestar para sua própria garantia que a chave pública pertence definitivamente ao dono especifico. Se você for olhar num servidor público de certidões, irá notar que algumas certidões, como a do criador do PGP, Phil Zimmermann, contém várias assinaturas. Algumas certidões PGP consistem em uma chave pública com várias etiquetas, cada uma contendo meios diferentes de identificar o dono da chave Tudo em um certificado Por exemplo, o nome do dono e e-mail corporativo, o apelido do dono e e-mail pessoal, uma fotografia do dono – tudo embutido em um certificado. A lista de assinaturas de cada uma destas identidades pode ser diferente. As assinaturas atestam que uma das etiquetas pertence à chave pública, e não que todas as etiquetas contidas na chave são autênticas. Observe que o significado de ´autêntico´ está no olho do dono – assinaturas são opiniões. E cada pessoa avalia a autenticidade de uma identidade de modo diverso antes de assinar uma chave (nome dado a uma certidão PGP). Formatos de certidões em PGP O PGP reconhece dois formatos de certidões diferentes: Certidões PGP (chamadas simplesmente de chaves PGP) Certidões X.509 Certificado PGP Certificado X.509 O que é uma frase-senha ? A maioria das pessoas está familiarizada com o uso de senhas para restringir o acesso aos seus computadores. Uma frase-senha é uma versão estendida de uma senha, e na teoria, é mais segura. Ataque de dicionário Geralmente composta de várias palavras, uma frase-senha é mais segura contra ´ataques de dicionários´, onde o agressor aplica todos as palavras contidas em um dicionário na esperança de encontrar a sua senha. Frases-senhas As melhores frases-senhas são relativamente longas e complexas e contém uma combinação de letras maiúsculas e minúsculas, caracteres numéricos e de pontuação. O PGP usa uma frase-senha para encriptar a sua chave privada na sua máquina. A sua chave privada é encriptada no seu disco usando um ´hash´ da sua frasesenha como chave secreta. Você usa a frase-senha para decriptar a sua chave privada. Uma frase-senha deve ser difícil de você esquecer e difícil para outros adivinharem Deveria ser alguma coisa bem fixada na sua memória de longo prazo e não algo que você inventou do nada. Por que? Porquê se você esquecer a sua frasesenha, você estará em maus lençóis. A sua chave privada será completamente inútil sem a sua frasesenha e nada poderá ser feito. Lembra-se da frase no começo deste capítulo? O PGP é a criptografia que manterá grandes organizações governamentais fora dos seus arquivos. Com certeza manterá você fora dos seus arquivos também! Mantenha isto em mente quando decidir mudar a sua frase-senha.