1. Segurança Computacional
Segurança em Correio Eletrônico
PEM, PGP e S/MIME
Flávia Coelho
Universidade Católica de Brasília
Bacharelado em Ciência da Computação
3. Sistema de Correio
Eletrônico Atual...
Correio eletrônico comum não provê
privacidade
“Curiosos” podem ler as mensagens
enquanto estão sendo transmitidas
roteadores e servidores de e-mails podem ter
software para armazenar mensagens e divulgá-las
4. Arquitetura
Atual
Baseia-se nas caixas
postais de correio eletrônico
As mensagens para um determinado usuário, são armazenadas
em sua caixa postal, num servidor específico
Infra-estrutura de Correio Eletrônico
MTA (Message Transfer Agents)
Agentes transmissores de e-mails
MUA (Message User Agents)
Programa de processamento de e-mail nas máquinas emissora e
destinatária
8. PEM (Privacy Enhanced Mail)
Desenvolvido pela comunidade Internet
É documentado em
RFC 1421: descreve o formato das mensagens
RFC 1422: descreve a hierarquia de CAs
RFC 1423: descreve um conjunto base de algoritmos de criptografia que
podem ser usados com PEM
RFC 1424: descreve o formato das mensagens de e-mail
PEM é um serviço sob a forma de um pré-processador
depois que a mensagem é preparada pelo PEM, ela é passada adiante
para o sistema de tratamento de mensagens SMTP
9. Características de Projeto do
PEM
As mensagens PEM deveriam trafegar como mensagens
normais, através do sistema de e-mail
a rede existente não precisa efetuar mudanças para acomodar o PEM
PEM realiza mudanças apenas no corpo da mensagem
PEM é baseado em encriptação
emissor deve ter certificado do receptor
certificado segue o padrão X.509
cada certificado contém identidade do usuário, uma chave pública e uma lista de
autoridades de certificação
PEM permite que usuário escolha usar chaves públicas ou
secretas
É independente de algoritmo de criptografia, mas os únicos utilizados até
hoje
RSA, MD2/MD5 e DES
10. Estabelecendo Chaves
A chave usada para encriptar uma mensagem é selecionada
aleatoriamente
Há também uma chave chamada chave de troca
usada para encriptar a chave de encriptação
quando chaves públicas são usadas, a chave de troca é a chave pública
de B
quando chaves secretas são usadas, a chave de troca é a chave que A e
B compartilham
c 8 ca oc d c
2 Et c h e a
5 n d av t
2r a
i
p m er
a o
A
h
a
v
eé
D
a
d
o
s
.
.. E t c c dn m )
n a o h e s (8
c d av m
ra
i
p m e ee5
a a2
g 2
11. Necessidade de Certificados
A precisa de um certificado assegurando que a chave pública
de B é, realmente, de B
este certificado deve ser assinado por uma CA em que A confia
Se a CA que pode assegurar a chave de B, não é reconhecida
por A, então A precisa de uma lista de certificados, onde
CA de B (CA1) assegura B
alguma outra CA (CA2) assegura a CA1 até chegar na
CA em que A confia
Projetistas PEM pensaram numa estrutura independente
cabeçalho de uma mensagem PEM pode conter certificados para
autenticar um emissor de uma mensagem
12. Necessidade de Certificados
(Cont.)
Como B envia os certificados necessários para A?
Usando PEM para enviar uma mensagem para A, contendo
todos os certificados necessários no cabeçalho
Se A e B desejam trocar mensagens encriptadas
a primeira mensagem trocada entre eles não deve ser
criptografada
nenhum deles conhece a chave pública um do outro
A pode armazenar em cache os certificados de B
não há razões para B enviar os certificados necessários
13. Hierarquia de Certificados
Raiz: IPRA (Internet Policy Registration Authority)
gerenciada pela comunidade Internet
Primeiro nível: PCAs (Policy Certification Authorities)
contendo as CAs certificadas pela IPRA
contém política específica para a emissão de certificados
14. Políticas para os Certificados
HA (High Assurance)
super seguro
implementação em hardware específico, impossibilitando extrair
chaves privadas
gerenciado por “pessoas confiáveis”
há critérios rígidos para realizar a autenticar alguém, antes de
distribuir o certificado
DA (Discretionary Assurance)
garante que quando uma organização requisita um certificado, a
organização é autentica
não impõe regras sobre como a organização gerencia sua CA
NA (No Assurance)
não há restrições
15. Estrutura Geral de uma Mensagem
PEM – Utilizando Chaves Públicas
- - - E I P I A Y N A C D ES G- - -
- - B G RV C - HNE MS A E -
N E -
Cbç l oi cu d i f r a ã s beq a d st ê md set s n o
a e ah , nl i o nom o o r ul o r s o o sá e d
n ç
ua o
sd
( I - L A , M - NYE C I T D
M C E R I O L , NRP E )
C C
Vt rd i i i lz ç opr DS[ a p pee t a e a pr m s gn
eo e n ai a ã aa E c mo r s ne pns aa e a e s
c n
E C YT D
NR P E ]
Cri i a opr Aasnd pl C d A
etfc d aa , s i a o ea A e
Cri i a opr aC d Aasnd p rC 2
etfc d aa A e , s i a o o A
...
Cri i a oasnd p rI R
etfc d s i a o o P A
M ( es g I t gi yCd) q eée ci t d s am s gmo
I M a e ne rt o e, u nrpa o e e a e f r
Cs n
e ci t d
nrpa a
Ca eDSua apr e ci t ram s gme ci t d c m c a e
hv E s d aa nrpa e a e , nrpa a o a hv
n
p bc d Bc mopee t , a e a pr m s gn E C YT D
ú l a e [ a p r s ne pns aa e a e s NR P E ]
i n
M s gmnrpa a[ eE C YT D
e a e e ci t d s NR P E ]
n
- - - N P I A Y N A C D ES G- - -
- - E D R C - HNE MS A E -
V E -
16. Estrutura Geral de uma Mensagem
PEM – Utilizando Chaves Secretas
--- EI PI A - N N D E AE -
--BG R C EH C MSG- -
N VY AE S --
C ea onu d i f r aã sb q lds rs o s s sno
a çl ,i c i o o çoor u otê moe á ed
b h ln nm ea dt
ud
so
a
( I - LA M- N ,EC PE)
M C R I O Y N I TD
C E, C L R
V rdi i i lzçoI )p a E[ a p p sn aea p a
e en a aã (V a D cm r et p s a
to ci r S oe e n r
msg s N Y E]
e ae EC P D
nn RT
C vD u dp a n i tr msg ,ecpdcmcae e
h e E s a a ecp a e ae n i t a o a h d
a Sa r ra n mra v
to cmrih a oAB a p p sn,aea p a esg s
r c o ptl a pr e [ m r et p s a m ae
a ad c oe e n r n n
EC PE]
NY D
RT
M ecpd u no cae er c cmrih a oAB
I n i t os d a h dto o p tl a pr e
Cra a v a ad
M ae ecpd[e N Y E]
esg n i t as EC P D
n mra RT
--- NPI A - N N D E AE -
--ED V Y H C MSG- -
R CE A E S --
17. Mensagem Não-Criptografada
para Múltiplos Receptores
Uma mensagem não-criptografada e assinada pode
ser enviada para qualquer número de receptores, sem
modificação
-- G VEN EE
-B P C HDA-
- E R Y A M --
- II -
N A NE S -
C S- G
Cl ( CA I N
aa M R C Y
b o - E ML
e
çhI L o -
C uO )
Magaa ocevd
Imd s dm p aA
C g e s o a vid )
(se s i c h r
e it n
s a ae
M n io d
e eã p f
nsm tr a
a og
g- ca
r a
-- D C HDA-
-ER Y A ME
- N AN E S --
- P I-
VEN E -
C S-G
18. Mensagem Criptografada para
Múltiplos Receptores
Para enviar uma mensagem criptografada para vários
receptores
PEM encripta a mensagem uma única vez
com chave DES escolhida aleatoriamente
PEM encripta a chave para cada receptor, separadamente
-- E P A EAE E G-
-- G R C N C M E
-BI I Y H DS - -
NV - N S-
A-
Cç oN PD
a a ( C T)
b l ER E
eh Y
M eadsan c a a pa d e c t a m
I ( sg i t s a o cv r de er a c a
C s e g s d m e i a A i do
m e io hv np
cv a eam
h d n e)
a mg
e s
Cea eamrt a m a pl ae
h d n e e i a c a v úc B
a mg np o c e b d
v s cd h i
Cea eamrt a m a pl ae
h d n e e i a c a v úc C
a mg np o c e b d
v s cd h i
Mg c tg a
eam of a
ne r r d
s i
pa
-- NR C N C M G-
-- D V - H E E E
-E P A E A DS - -
IY N S-
A-
19. É Possível Combinar o Uso de Chaves
Públicas e Secretas...Exemplo!
--- E N I A - N N DEA ---
--B I P V Y H C MSG -
G R CE A E SE -
Ce l o N Y E
a çh( C P D
ba E R T )
M( esg deta i aoo ah e r aa e e
I ma i s sn cm a p ddA
Cseg s d cv i v
ecpdcm h e e esg )
ni t oo a a dm ae
ra cv nm
Cvdm ae ecpdcm h e úi a e
h e e esg ni t ao a a p lcdB
a n mr a cv b
M( esg detecpdcm h e uAC
I ma i s ni t oo a a q e
Cseg ra cv e
cm th )
op i a
al m
r
Cvdm ae ecpdcm h e uAC
h e e esg ni t ao a a q e
a n mr a cv e
cm th
op i a
al m
r
Mae ecpd
esg ni t a
n mra
--- NP V YN N DEA ---
--E R A - H C MSG -
D I CE A E S E -
21. PGP (Pretty Good Privacy)
Desenvolvido por Phil Zimmermann e é de domínio público
PGP não é destinado apenas para e-mail
Serviços oferecidos
Confidencialidade
IDEA ou 3-DES com RSA
Autenticação
DSS/SHA-1 ou RSA/SHA-1
Compressão
ZIP
Compatibilidade de e-mail
Uso do Radix-64 para prover transparência a aplicações, onde uma
mensagem encriptada é convertida para um string ASCII
Segmentação
Para acomodar limitações quanto a tamanho máximo de mensagens
22. Estrutura do PGP
Baseia-se nos seguintes algoritmos
RSA, com 3 comprimentos de chaves
distintos
385 bits, para uso casual
512 bits, para uso comercial
1024 bits, para uso militar
IDEA
MD5
24. Distribuição de Chaves
PGP assume uma anarquia de certificados
PEM assume uma hierarquia
Cada usuário decide em quem vai confiar
se B falou pessoalmente com A, e A anotou sua chave
pública para B, B pode armazenar a chave pública de A e
confiar nela
Se B confia em A e recebe um certificado assinado com a
chave de A que diz que a chave pública de C é P, então B
pode confiar que P realmente é a chave de C
25. Anéis de Chaves
Um anel de chaves contém
algumas chaves públicas
algumas informações sobre pessoas
alguns certificados
Usuários PGP podem compartilhar as informações de seus
anéis de chaves
método rápido de construir uma base de dados de chaves públicas
PGP permite que se declare a quantidade de confiança a
depositar em diferentes usuários
Há três tipos de níveis de confiança
nenhum
parcial
completo
26. Anéis de Chaves e
Confiança
PGP computa a confiança que deve ser colocada nos
certificados e chaves públicas em seu anel de chaves, baseado
nas informações sobre a confiança que você declarou
Em que e no que confiar é uma decisão particular
há versões de PGP com regras complexas de segurança
Níveis de segurança
um indivíduo completamente confiável assinando um certificado,
produzirá um certificado completamente confiável
vários indivíduos parcialmente confiáveis assinando certificados,
atestando a mesma chave pública para A, produzirá uma chave
pública completamente confiável para A
27. Sua Chave Privada PGP
Se você quer apenas verificar assinaturas em
mensagens assinadas, você não precisa de uma
chave privada
Se você quer assinar suas próprias mensagens ou
quer receber e-mail PGP encriptado, você precisa de
uma chave privada
PGP vai gerar uma chave para você
o tamanho pode ser especificado
PGP pergunta a sua senha
PGP converte a senha para uma chave IDEA, fazendo um
message digest MD5 sobre ela
28. Comparação entre PEM e PGP
PEM é um padrão formal, endossado pelo IETF, e não um
programa
diferente do PGP
PEM não permite que sejam enviadas mensagens
anônimas
no PEM, as mensagens são codificadas e assinadas
No PEM, os certificados de chave pública devem ser
assinados por uma autoridade de certificação
no PGP, o modelo de certificação de chaves é distribuído
PGP estende a família de algoritmos aceitos pelo PEM
IDEA, DES, 3DES e RSA
29. Lembre-se!!! PEM x PGP -
Principal Diferença
Todas as diferenças decorrem do fato
PEM foi projetado por um comitê durante vários anos
PGP foi projetado por um único indivíduo e melhorado por
usuários, em geral
PEM foi projetado considerando muitas questões
teóricas
PGP foi elaborado visando resolver problemas triviais
do dia-a-dia
30. Sucesso do PGP
Disponibilidade gratuita e versões para muitas
plataformas, com ferramentas para fácil
utilização
Distribuição pública do código permitiu amplo
estudo e amadurecimento
Uso de algoritmos considerados bastante
seguros
Aplicável na segurança de e-mail, arquivos,
VPN, etc...
32. S/MIME (Secure/Multipurpose
Internet Mail Extension)
Baseado em tecnologia RSA Security
S/MIME é um padrão de indústria para uso
comercial e organizacional
PGP é mais escolhido para segurança pessoal de e-
mail
Essencialmente, S/MIME tem as mesmas
funções de autenticação e confidencialidade do
PGP, embutidas no padrão MIME de conteúdo