PGP
Pretty Good Privacy
PGP

O PGP, do inglês Pretty Good Privacy
(privacidade bastante boa), é um programa
de computador que utiliza criptografia para
proteger a privacidade do e-mail e dos
arquivos guardados no computador do
usuário.
PGP

PGP pode, ainda, ser utilizado como um
sistema à prova de falsificações de
assinaturas digitais, permitindo desta forma a
comprovação de que arquivos ou e-mails não
foram modificados.
História

Devido a importância mundial que o PGP
obteve, muitos programadores passaram a
querer escrever seus próprios softwares de
criptografia de modo que fossem
compatíveis.
História

Um grupo de membros da PGP Inc.
convenceu Phill Zimmermann (criador do
PGP) e os demais executivos da empresa de
que um padrão aberto de PGP era
imprescindível para o progresso do próprio
PGP e da comunidade usuária da
criptografia.
História

Em 1997 já haviam programas compatíveis,
o mais notável era o Highware (agora
chamado Veridis), pertencente a uma
empresa belga que tinha obtido a licença do
código do PGP 2 diretamente de
Zimmermann.
História

Em julho de 1997, a PGP Inc. propôs a IETF
que fosse criado um padrão aberto chamado
OpenPGP. Eles concederam permissão para
usar esse nome para descrever o padrão e
qualquer programa que funcionasse com ele.
História

O IETF aceitou a proposta e iniciou o grupo
de trabalho do OpenPGP.

A normativa técnica do OpenPGP foi descrita
pela IETF através da RFC 2440 de julho de
1998.
OpenPGP

O OpenPGP é um padrão aberto de
criptografia baseado no PGP.

Funciona através de chaves assimétricas,
cada usuário gera em seu computador um
par de chaves correspondentes: uma pública
e uma secreta.
Passo 1: Alice envia sua chave pública para Bob
Chaves Assimétricas
Passo 2: Bob cifra a mensagem com a chave pública de Alice e envia
para Alice, que recebe e descifra o texto utilizando sua chave privada
OpenPGP

A pública é distribuida livremente e permite
que qualquer usuário criptografe dados de
modo que só quem possui a chave secreta
correspondente possa descriptografar.
OpenPGP

A chave secreta, além dessa capacidade de
descriptografar, é capaz de assinar dados.

Quando algo é assinado com uma chave
secreta, a chave pública correspondente
pode verificar se o remetente é verdadeiro e
se o conteúdo não foi adulterado depois de
assinado.
OpenPGP - sistema de cadeias de confiança

Além disso, o padrão OpenPGP conta com
um sistema de cadeias de confiança.

Cada vez que um usuário obtém a chave
pública de outro usuário, ao se encontrar
com ele, pode verificar a impressão digital
da chave obtida, garantindo certeza de que
a chave é a verdadeira (não foi alterada).
OpenPGP - sistema de cadeias de confiança

Ao ter certeza de que a chave é verdadeira,
o usuário pode assinar a chave pública do
outro usuário com a sua chave privada,
atestando a outros usuários que a chave
realmente pertence a quem diz pertencer.
GNU PGP – implementando OpenPGP

Software criptográfico compatível com o
OpenPGP

A FSF desenvolveu a sua própria versão e a
chamou de GNU Privacy Guard, também
conhecido como GnuPG ou simplesmente
GPG.
GNU PG

O GnuPG está disponível em seu site
gratuitamente junto ao seu código fonte,
licenciado sob a GNU General Public License
(GPL).
GNU PG

A vantagem do uso do GnuPG no lugar do
PGP se deve justamente a essa licença pois
permite livre cópia e publicação, garantindo
que permanecerá livre e sem necessidade de
pagamento de royalties.
GNU PG

O PGP comercializado pela PGP Inc. é um
software pago e não há garantias de que
continuará sendo comercializado ou ainda
que seus valores não aumentarão. Por essa
razão muitos usuários tem optado pelo
GnuPG.
GNU Privacy Guard

O GNU Privacy Guard (GnuPG ou GPG) é
uma alternativa de software livre para a suíte
de criptografia PGP, liberado sob licença
GNU General Public License.
GNU Privacy Guard

Ele é parte do projeto GNU da Free Software
Foundation e recebe a maior parte do seu
financiamento do governo alemão.
GNU Privacy Guard

O GnuPG é completamente compatível com
o padrão IETF para o OpenPGP.

As versões atuais do PGP (e Filecrypt da
Veridis) são inter-operáveis com o GnuPG e
outros sistemas compatíveis com o
OpenPGP.
GNU Privacy Guard

Apesar de algumas versões antigas do PGP
serem inter-operáveis, nem todas as
funcionalidades do novo software são
suportadas pelo antigo.
Links para GnuPG


((pt)) Cripto.info - Instruções em português
para uso do GnuPG, Enigmail, WinPT,
GPGee, etc.
((en)) Site do GNU Privacy Guard
Links Externos

Site do GNU Privacy Guard (em inglês)

Gpg4win – pacote de instalação do GnuPG e
outros utilitários de criptografia para Windows

Como preparar-se para uma festa de
assinatura de chaves GPG
GNU Privacy Guard

O GnuPG é um programa de linha de
comando, mas existem vários front-ends que
atuam como interfaces gráficas para o
GPG.

Alguns exemplos são:
Interfaces Gráficas para o GPG





Enigmail, para o Mozilla Thunderbird
Seahorse, baseado no GNOME
Kgpg, baseado no KDE
WinPT, utilitário que funciona na bandeja do
sistema do Windows
O GPG trabalha com criptografia assimétrica.
Mozilla

Mozilla é uma suíte de aplicativos para
Internet, livre, multi-plataforma, cujos
componentes incluem um navegador, um
cliente de correio eletrônico, um editor HTML
e um cliente de chat IRC.

O projeto foi iniciado pela Netscape
Communications Corporation, passou a ser
desenvolvido pela Fundação Mozilla (Mozilla
Foundation), sendo descontinuado,
apresentando apenas atualizações de
segurança.

No dia 12 de Abril de 2006 foi anunciada
oficialmente a finalização da produção de
versões para correções de falhas de
segurança da Suíte Mozilla.

A última versão foi a 1.7.13 e o seu
sucessor é o SeaMonkey.
SeaMonkey

É um conjunto de aplicativos para a Internet,
contando com: navegador de internet, leitor
de emails e grupos de notícias, cliente de
IRC, editor de HTML, catálogo de endereços
e calendário (nem sempre disponibilizado por
padrão).
SeaMonkey

Desenvolvedor
Lançamento
Última versão
Sistema Op.
Gênero
LicençaMPL,

Website





SeaMonkey Council
30 de Janeiro, 2006
1.1.2 (2007-mai-30)
Multiplataforma
Suíte de Internet
trilicença
MPL/GPL/LGPL
www.seamonkey-project.org
SeaMonkey

Ele é a continuação da Suíte Mozilla por
parte de uma comunidade de usuários e
desenvolvedores.
S/MIME and OpenPGP

Security services can be added to each
communication link along a path, or

it can be wrapped around the data being
sent, so that it is independent of the
communication mechanism.

This latter approach is often called "end-toend" security and it has become a very
important topic for users.

The two basic features of this type of security
are privacy (only the intended recipient can
read the message) and authentication (the
recipient can be assured of the identity of the
sender).

The technical capabilities for these functions
has been known for many years, but they
have only been applied to Internet mail
recently.

There are currently two actively proposed
methods for providing these security
services: S/MIME and PGP

The major Internet mail vendors have
begun to ship products using:



PGP/MIME,
S/MIME,
OpenPGP.
SMTP

O formato básico de e-mail é definido pela RFC
2822.

O protocolo básico de transmissão de e-mail pela
Internet, SMTP, suporta apenas 7-bit de caracteres
ASCII.

Isto limita as mensagens de emails, incluindo
somente os caracteres usados na língua inglesa.
SMTP e o MIME

Multipurpose Internet Mail Extensions

É uma norma da Internet para o formato das
mensagens de correio eletrônico.

A grande maioria das mensagens de correio
eletrônico são trocadas usando o protocolo
SMTP e usam o formato MIME.
MIME

O MIME provê mecanismos para o envio de
outros tipos de informação por e-mail,
incluindo caracteres não utilizados no
idioma inglês usando codificações
diferentes do ASCII, assim como formatos
binários contendo imagems, sons, filmes, e
programa de computadores.
SMTP/MIME

Mensagens de email, dentro e fora do
formato MIME, é tipicamente utilizado pelos
clientes de email ou pelos servidores de
email quando enviam ou recebem emails via
SMTP/MIME.
MIME e o HTTP

MIME é também um componente
fundamental de comunicação protocolos
como o HTTP, que requer que os dados
sejam transmitidos em contextos
semelhantes a mensagens de email, mesmo
que o dado a ser transmitido não seja
realmente um e-mail.
S/MIME

S/MIME was originally developed by RSA
Data Security, Inc.

It is based on the PKCS #7 data format for
the cryptographic messages, and the
X.509v3 format for certificates.

PKCS #7, in turn, is based on the ASN.1.
PGP/MIME

PGP/MIME is based on PGP, which was developed
by many individuals, some of whom have now joined
together as PGP, Inc.

The cryptographic messages and certificate
formats were created from scratch (criados a partir
do zero), and use simple binary encoding.

The current work on PGP/MIME is in the IETF's
OpenPGP Working Group.
OpenPGP

Historicamente, OpenPGP is also based on
PGP.
A Tale of Three Protocols

There's a small problem with using PGP Freeware.
It supports PGP/MIME (MIME as in Multipurpose
Internet Mail Extensions) security protocols, and
PGP/MIME is outmoded.

Not because it's bad or it's weak. It isn't.

PGP/MIME is as good a cryptosystem as there is.
What it isn't is standardized.
A Tale of Three Protocols

PGP/MIME inspired the development of
two standardized data protection
schemes, OpenPGP and S/MIME (Secure
MIME), which offer similar data protection
features, but are not compatible with each
other, not even their keys.
A Tale of Three Protocols

In the long run, either OpenPGP or S/MIME
will win out and you will most likely have to do
some conversion.

I think that the security that PGP Freeware
offers in the meantime (enquanto isso) is
worth that effort.
The S/MIME v3 standard






Consists of five parts:
Cryptographic Message Syntax (RFC 3852)
Cryptographic Message Syntax (CMS) Algorithms
(RFC 3370)
S/MIME Version 3.1 Message Specification (RFC
3851)
S/MIME Version 3.1 Certificate Handling (RFC
3850)
Diffie-Hellman Key Agreement Method (RFC 2631)
S/MIME v3 toolkit

A freeware S/MIME v3 toolkit is now available
in pre-release form.

See the toolkit home page for more
information.
Differences and Commonalities Between
S/MIME v3 and OpenPGP

S/MIME v3 and OpenPGP are both protocols
for adding authentication and privacy to
messages.

However, they differ in many ways, and are
not designed to be interoperable.
Differences and Commonalities Between
S/MIME v3 and OpenPGP

Some cryptography algorithms are the same
between the two protocols, but others differ.

The following chart is a comparison of many
relevant features of the two protocols,
showing where they differ and where they are
the same.
Mandatory
features
S/MIME v3
OpenPGP
Message format
Binary, based on CMS
Binary, based on
previous PGP
Certificate format
Binary, based on
X.509v3
Binary, based on
previous PGP
Symmetric encryption
algorithm
TripleDES (DES EDE3
CBC)
TripleDES (DES EDE3
Eccentric CFB)
Signature algorithm
Diffie-Hellman (X9.42)
with DSS or RSA
ElGamal with DSS
Hash algorithm
MIME encapsulation of
signed data
MIME encapsulation of
encrypted data
SHA-1
Choice of
multipart/signed or
CMS format
application/pkcs7-mime
SHA-1
multipart/signed with
ASCII armor
multipart/encrypted