Você está na página 1de 31

w

w
w
.
i
n
a
t
e
l
.
b
r
33
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Unidade 2
Criptografia e Certificao Digital
w
w
w
.
i
n
a
t
e
l
.
b
r
34
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Amigos e inimigos: Alice, Bob e Trudy
Bob e Alice querem se comunicar de forma segura.
Trudy (intruso) pode interceptar, apagar e adicionar
mensagens falsas.
Transmissor
Seguro
Receptor
Seguro
canal
dados, controle
mensagens
dados dados
Alice Bob
Trudy
Transmissor
Seguro
Receptor
Seguro
canal
dados, controle
mensagens
dados dados
Alice Bob
Trudy
w
w
w
.
i
n
a
t
e
l
.
b
r
35
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Quem so Bob e Alice de fato?
Bobs e Alices!
Web browser/servidor de transaes eletrnicas (p.ex.,
compras on-line).
Cliente/servidor de transaes bancrias.
Servidores DNS (Domain Name System).
Roteadores atualizando tabelas de roteamento.
w
w
w
.
i
n
a
t
e
l
.
b
r
36
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Quem Trudy?
Roubar segredos de armas bacteriolgicas Terrorista
Descobrir segredos militares do inimigo Espio
Roubar nmero de cartes de crdito Vigarista
Negar promessa feita a um cliente atravs de uma mensagem
de correio eletrnico
Corretor de valores
Desfalcar dinheiro da empresa Contador
Vingar-se por ter sido demitido Ex-funcionrio
Descobrir estratgias de marketing do concorrente Executivo
Testar o sistema de segurana de algum; roubar dados Hacker
Divertir-se bisbilhotando as mensagens de correio eletrnico
de outras pessoas
Estudante
Objetivo Adversrio
Fonte: Tanenbaum
w
w
w
.
i
n
a
t
e
l
.
b
r
37
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Tipos de Ataque
Grampo: interceptao de mensagens.
Insero: envio de mensagens falsas.
Personalizao: troca do endereo do remetente de
um pacote (ou qualquer campo do pacote).
Sequestro: remoo do remetente ou do
destinatrio de uma conexo, inserindo-se no seu
lugar.
Destruio de servio: restrio ou negao de
acesso a um servio (ex. sobrecarga de recursos).
w
w
w
.
i
n
a
t
e
l
.
b
r
38
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
A nomenclatura em criptografia
Criptografia de chave simtrica: chaves de cifragem e decifragem
idnticas.
Criptografia de chave assimtrica: chave de cifragem pblica, chave de
decifragem secreta (privada).
Mensagem ou
texto em claro
Mensagem ou
texto em claro
texto cifrado
ou criptograma
K
A
algoritmo
de
cifragem
algoritmo
de
decifragem
Chave de
cifragem
da Alice
Chave de
decifrage
m do Bob
K
B
w
w
w
.
i
n
a
t
e
l
.
b
r
39
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Criptografia de chave simtrica
Cifra de substituio: substitui-se uma coisa por outra.
cifra monoalfabtica: substitui-se um caractere por outro.
cifra polialfabtica: utiliza-se um conjunto de regras
monoalfabticas, de acordo com uma chave.
Mensagem: bob, eu te amo. alice
Criptograma: nan, qg fq mya. mxuoq
Exemplo: Chave simtrica monoalfabtica
P: difcil quebrar esta cifra simples?
Chave: M
w
w
w
.
i
n
a
t
e
l
.
b
r
40
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Cifra de Substituio
Chave
w
w
w
.
i
n
a
t
e
l
.
b
r
41
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Cifra de Substituio
Exemplos:
1: Usando a Cifra de Csar (k=3), cifrar a mensagem:
Curso de Segurana em Redes
2: Usando a cifra polialbabtica com chave CPQ, cifrar
a mensagem Curso de Segurana em Redes
w
w
w
.
i
n
a
t
e
l
.
b
r
42
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Criptografia de chave simtrica
Cifra de transposio: reordena-se os caracteres sem,
no entanto, substitu-los.
Mensagem:
Criptograma:
Ex.:
Fonte: Tanenbaum
w
w
w
.
i
n
a
t
e
l
.
b
r
43
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Criptografia de chave simtrica
Cifra de produto: mescla as tcnicas de substituio e
permutao.
Elementos bsicos: (a) P-box. (b) S-box. (c) Produto.
Fonte: Tanenbaum
w
w
w
.
i
n
a
t
e
l
.
b
r
44
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Cifra de Produto
Exemplos:
a) Caixa P
- entrada 0 1 2 3 4 5 6 7 sada 3 6 0 7 1 2 4 5
b) Caixa S
- Entrada dos nmeros octais 0 1 2 3 4 5 6 7.
- Sada dos valores octais 2 4 5 0 6 7 1 3.
c) Cifra de Produto
- Combinao de caixas P e S
w
w
w
.
i
n
a
t
e
l
.
b
r
45
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Criptografia de chave simtrica
Criptografia simtrica: Bob e Alice compartilham a
mesma chave: K
p.ex., a chave o padro de substituio na cifragem
monoalfabtica.
P: Como Bob e Alice combinam uma chave em comum?
AB
mensagem, m mensagem, m
criptograma
K
AB
Algoritmo de
cifragem
Algoritmo de
decifragem
K
AB
K (m)
AB
K (m)
AB
m = K ( )
AB
w
w
w
.
i
n
a
t
e
l
.
b
r
46
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
DES: Data Encryption Standard
Verso refinada do algoritmo LUCIFER
Algoritmo concludo em 1971 pela IBM e vendido ao
Lloyds Bank de Londres para uso em sistemas de caixa
eletrnico. Chave de 128 bits.
Os dados tambm so codificados em blocos de 64
bits, porm fazendo uso de uma chave de 56 bits.
Adotado pelo NIST (National Institute of Standards
and Technology) em 1977, como FIPS PUB 46 (Federal
Information Processing Standard 46).
w
w
w
.
i
n
a
t
e
l
.
b
r
47
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
DES: viso geral
permutao inicial.
16 rounds idnticos de
cifragem de produto,
usando sub-chaves
diferentes de 48 bits.
permutao final.
decifragem: chaves em
ordem inversa.
Operao DES
w
w
w
.
i
n
a
t
e
l
.
b
r
48
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
DES: detalhe de cada round
w
w
w
.
i
n
a
t
e
l
.
b
r
49
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Quo seguro o DES
Chave de 56 bits: existem 2^56 7,2x10^16 chaves
possveis.
Desafio DES (RSA Data Security Inc - 1997): frase cifrada
com chave de 56 bits (Strong cryptography makes the
world a safer place) foi decifrada por fora bruta em menos
de 4 meses, aps testado do espao de chaves (cerca de 18
quatrilhes de chaves)
6,4x10^6 anos 2x10^26 s = 6,4x10x12
anos
26! = 4x10^26 26 caracteres
(permutao)
5,9x10^30 anos 2^167 s = 5,9x10^36 anos 2^168 = 3,7X10^50 168
5,4x10^18 anos 2^127 s = 5,4x10^24 anos 2^128 = 3,4x10^38 128
10,01 horas 2^55 s = 1142 anos 2^56 = 7,2x10^16 56
2,15 ms 2^31 s = 35,8 min 2^32 = 4,3x10^9 32
Tempo necessrio para
10^6 decriptografias/s
Tempo necessrio para 1
decriptografia/s
No de Chaves Tamanho da chave (bits)
Fonte: Stallings
w
w
w
.
i
n
a
t
e
l
.
b
r
50
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
cifragem decifragem
Quo seguro o DES
Em 1999, o NIST emitiu uma nova verso do padro
(FIPS PUB 46-3), onde o DES s deveria ser usado
em sistemas legado; nos demais sistemas, deveria ser
usado o 3-DES
w
w
w
.
i
n
a
t
e
l
.
b
r
51
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
AES: Advanced Encryption Standard
Em 1997, o NIST requisitou propostas para um
novo padro de criptografia, com grau de
segurana igual ou superior ao 3-DES e uma
eficincia melhorada (maior tamanho de bloco e
processamento mais rpido)
Algoritmo Rijndael (J. Daemen & V. Rijmen) foi
selecionado dentre 15 concorrentes:
Processa os dados em blocos de 128 bits.
Chaves de 128, 192 ou 256 bits.
Novo padro foi publicado pelo NIST em novembro
de 2001 (FIPS PUB 197).
w
w
w
.
i
n
a
t
e
l
.
b
r
52
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
AES: viso geral
adio inicial.
10 rounds de cifra-
gem, usando sub-chaves
diferentes de 128 bits.
no h mixagem no round
final.
Decifragem usa funes
inversas.
Operao AES
w
w
w
.
i
n
a
t
e
l
.
b
r
53
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Exemplos de algoritmos de chave simtrica
Muito forte, amplamente
utilizado
128 a 256 Bruce Schneier Twofish
Segunda melhor escolha 168 IBM DES triplo
Muito forte 128 a 256 Anderson, Biham, Knudsen Serpent
Melhor escolha 128 a 256 Daemen e Rijmen Rijndael
Bom, mas patenteado 128 a 256 Ronald Rivest RC5
Algumas chaves so fracas 1 a 1024 Ronald Rivest RC4
Bom, mas patenteado 128 Massey e Xuejia IDEA
Muito fraco para usar
agora
56 IBM DES
Velho e lento 1 a 448 Bruce Schneier Blowfish
Comentrios
Tamanho da Chave
(bits)
Autor Cifra
Fonte: Tanenbaum
w
w
w
.
i
n
a
t
e
l
.
b
r
54
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Criptografia de Chave Pblica
Cripto. de chave simtrica
Requer que o remetente e o
destinatrio compartilhem
uma chave secreta.
P: como estabelecer uma
chave, a primeira vez
(particularmente se nunca se
reuniram)?
Cripto. de chave pblica
Enfoque radicalmente diferente
[Diffie-Hellman 76, RSA 78].
O remetente e o destinatrio
no compartilham uma chave
secreta.
Chave pblica de cifragem
conhecida por todos.
Chave privada de decifragem
conhecida somente pelo
destinatrio.
w
w
w
.
i
n
a
t
e
l
.
b
r
55
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Criptografia de Chave Pblica
texto em claro
mensagem, m
criptograma algoritmo de
cifragem
algoritmo de
decifragem
chave pblica
de Bob
texto em claro
mensagem
K (m)
B
+
K
B
+
chave privada
de Bob
K
B
-
m = K (K (m))
B
+
B
-
w
w
w
.
i
n
a
t
e
l
.
b
r
56
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Algoritmos de chave pblica
funes K ( ) e K ( ) tais que
dada uma chave pblica K , deve
ser impraticvel computar-se a
chave privada K .
Requisitos (Diffie e Hellman, 1976):
1
2
Algoritmo RSA: Rivest, Shamir, Adelson (1978)
B
.
-
K (K (m)) = m
B
B
-
+
B
+
B
-
B
.
+
w
w
w
.
i
n
a
t
e
l
.
b
r
57
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
RSA: Escolha das chaves
1. Selecione dois nmeros primos grandes p, q.
2. Compute n = pq, z = (p-1)(q-1).
3. Escolha e (com e<n) que no tenha fatores em comum
com z. (e, z so primos entre si).
4. Escolha d tal que ed-1 divisvel por z.
(isto : ed mod z = 1 .)
5. A chave pblica o par (n,e). A chave privada (n,d).
K
B
+
K
B
-
w
w
w
.
i
n
a
t
e
l
.
b
r
58
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
1. Para cifrar a mensagem m, compute
c = m mod n
e
(i.e., resto da diviso de m por n)
e
RSA: Cifragem e decifragem
0. Dados (n,e) e (n,d) conforme computado anteriormente,
2. Para decifrar o criptograma, c, compute
m = c mod n
d
(i.e., resto da diviso de c por n)
d
m = (m mod n)
e
mod n
d Passe de
mgica!
c
w
w
w
.
i
n
a
t
e
l
.
b
r
59
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
RSA: Exemplo
Bob escolhe p=3, q=11. Ento, n=33, z=20.
e=3 (logo, e & z so primos entre si).
d=7 (logo, ed-1 divisvel por z.)
letra
m m
e
c = m mod n
e
E
05 125 26
c
m = c mod n
d
26
8031810176
05
c
d
letra
E
cifragem:
decifragem:
w
w
w
.
i
n
a
t
e
l
.
b
r
60
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
RSA: Exerccio
cifragem decifragem
w
w
w
.
i
n
a
t
e
l
.
b
r
61
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
RSA: Por que ? m = (m mod n)
e
mod n
d
Teorema de Euler: Se p, q so primos e n = pq, ento:
(m mod n)
e
mod n = m mod n
d ed
x mod n = x mod n
y
y mod (p-1)(q-1)
= m mod n
ed mod (p-1)(q-1)
= m mod n
1
= m
(usando o teorema acima)
(j que escolhemos ed divisvel por
(p-1)(q-1) com resto 1)
w
w
w
.
i
n
a
t
e
l
.
b
r
62
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
RSA: outra propriedade importante
A seguinte propriedade ser muito til adiante:
K (K (m)) = m
B
B
-
+
K (K (m))
B B
+
-
=
usa a chave pblica
antes, seguida da
chave privada
usa a chave privada
antes, seguida da
chave pblica
O resultado o mesmo!
w
w
w
.
i
n
a
t
e
l
.
b
r
63
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
RSA: Segurana
A segurana do RSA se baseia na dificuldade em se fatorar
grandes nmeros rapidamente.
Em 1977, Rivest lanou um desafio pela revista Scientific
American, usando uma chave (n) de 129 dgitos ( 428 bits), que
na poca levaria 40 quatrilhes de anos para ser fatorado.
Em 1994 Lenstra anunciou a quebra do RSA-129. Para conseguir
essa proeza, ele recrutou 600 voluntrios pela Internet.
O nmero RSA-129 e seus dois fatores:
114381625757888867669235779976146612010218296721242362562561842935706935
245733897830597123563958705058989075147599290026879543541 =
3490529510847650949147849619903898133417764638493387843990820577

32769132993266709549961988190834461413177642967992942539798288533
w
w
w
.
i
n
a
t
e
l
.
b
r
64
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
RSA: Desempenho
Atualmente, considera-se que o RSA seguro se n da ordem
de 768 bits para aplicaes domsticas, e 1024 bits para
aplicaes corporativas.
As operaes de exponenciao de nmeros de centenas de bits
requeridas pelo RSA demandam muito tempo de processamento.
Tipicamente, para computadores pessoais obtm-se taxas de
algumas dezenas de kilobits por segundo.
Os algoritmos simtricos DES ou AES permitem a operao
centenas ou milhares de vezes mais rpida.
comum se adotar um sistema misto RSA + DES.
w
w
w
.
i
n
a
t
e
l
.
b
r
65
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Sistema Misto RSA/DES
Objetivo: Alice quer enviar uma grande quantidade de
dados cifrados para Bob.
chave pblica
de Bob
K
B
+
chave privada
de Bob
K
B
-
K
B
(K
S
)
+
chave de sesso
(DES), sorteada
por Alice
K
S
K
S
(m)
m = K
S
(K
S
(m))
K
S
= K
B
(K
B
(K
S
))
+ -
mensagem, m
w
w
w
.
i
n
a
t
e
l
.
b
r
66
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Autenticao
Objetivo: Bob quer que Alice prove sua identidade
para ele.
Protocolo ap1.0: Alice diz Eu sou Alice.
Falha na
segurana??
Eu sou Alice
w
w
w
.
i
n
a
t
e
l
.
b
r
67
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Identidade falsa: - Numa
rede de dados, Bob no pode
ver Alice, assim Trudy
simplesmente se declara
como sendo Alice!
Eu sou Alice
Objetivo: Bob quer que Alice prove sua identidade
para ele.
Protocolo ap1.0: Alice diz Eu sou Alice.
Autenticao
w
w
w
.
i
n
a
t
e
l
.
b
r
68
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Autenticao: outra tentativa
Protocolo ap2.0: Alice diz Eu sou Alice em um pacote IP
contendo seu endereo IP.
Eu sou Alice
Endereo
IP de Alice
Falha na
segurana??
w
w
w
.
i
n
a
t
e
l
.
b
r
69
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Spoofing: - Trudy
pode criar
um pacote com o
endereo IP de Alice.
Eu sou Alice
Endereo
IP de Alice
Autenticao: outra tentativa
Protocolo ap2.0: Alice diz Eu sou Alice em um pacote IP
contendo seu endereo IP.
w
w
w
.
i
n
a
t
e
l
.
b
r
70
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Eu sou
Alice
End. IP
de Alice
Senha
de Alice
OK
End. IP
de Alice
Autenticao: outra tentativa
Protocolo ap3.0: Alice diz Eu sou Alice e envia sua
senha secreta para prov-lo.
Falha na
segurana??
w
w
w
.
i
n
a
t
e
l
.
b
r
71
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Ataque playback:
- Trudy grava o pacote
de Alice e o envia para
Bob mais tarde.
Eu sou
Alice
End. IP
de Alice
Senha
de Alice
OK
End. IP
de Alice
Eu sou
Alice
End. IP
de Alice
Senha
de Alice
Autenticao: outra tentativa
Protocolo ap3.0: Alice diz Eu sou Alice e envia sua
senha secreta para prov-lo.
w
w
w
.
i
n
a
t
e
l
.
b
r
72
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Autenticao: ainda outra tentativa
Protocolo ap3.1: Alice diz Eu sou Alice e envia sua senha
secreta criptografada para prov-lo.
Eu sou
Alice
End. IP
de Alice
Senha
cifrada
OK
End. IP
de Alice
Falha na
segurana??
w
w
w
.
i
n
a
t
e
l
.
b
r
73
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Ataque de
playback
ainda funciona!
Eu sou
Alice
End. IP
de Alice
Senha
cifrada
OK
End. IP
de Alice
Eu sou
Alice
End. IP
de Alice
Senha
cifrada
Autenticao: ainda outra tentativa
Protocolo ap3.1: Alice diz Eu sou Alice e envia sua senha
secreta criptografada para prov-lo.
w
w
w
.
i
n
a
t
e
l
.
b
r
74
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Autenticao: mais outra tentativa
Objetivo: evitar o ataque de playback.
Nonce: nmero (R) usado s uma vez na vida.
ap4.0: para provar que Alice est viva, Bob envia para
Alice um nonce (R). Alice deve retornar R, cifrado com a
chave secreta conhecida apenas por eles.
Eu sou Alice
R
K (R)
AB
Alice est viva, e
s ela conhece a
chave para cifrar
o nonce, logo ela
deve ser Alice!
w
w
w
.
i
n
a
t
e
l
.
b
r
75
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Autenticao: mais outra tentativa
ap4.0 requer chave simtrica compartilhada.
possvel efetuar autenticao usando tcnicas de
chave pblica?
ap5.0: usa nonce e criptografia de chave pblica.
Eu sou Alice
R
Bob computa
K (R)
A
-
envie a sua chave pblica
K
A
+
(K (R)) = R
A
-
K
A
+
e sabe que s Alice
poderia ter a chave
privada que cifraria R
tal que
(K (R)) = R
A
-
K
A
+
w
w
w
.
i
n
a
t
e
l
.
b
r
76
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Ataque homem no meio: Trudy se passa por Alice
(para Bob) e como Bob (para Alice).
Eu sou Alice
Eu sou Alice
R
T
K (R)
-
Envie a sua chave pblica
T
K
+
A
K (R)
-
Envie a sua chave pblica
A
K
+
T
K (m)
+
T
m = K (K (m))
+
T
-
Trudy obtm
e envia m
cifrada para
Alice
A
K (m)
+
A
m = K (K (m))
+
A
-
R
ap5.0: furo na segurana
w
w
w
.
i
n
a
t
e
l
.
b
r
77
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Difcil de detectar:
Bob recebe tudo que Alice transmite, e vice-versa. (i.e., Bob e
Alice podem se encontrar uma semana mais tarde e lembrar da
conversa.
O problema que Trudy recebe todas as mensagens tambm!
ap5.0: furo na segurana
Ataque homem no meio: Trudy se passa por Alice
(para Bob) e como Bob (para Alice).
w
w
w
.
i
n
a
t
e
l
.
b
r
78
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Assinaturas Digitais
Tcnica criptogrfica anloga s assinaturas a mo livre.
O remetente (Bob) assina digitalmente o documento,
estabelecendo que ele o autor/proprietrio do
mesmo.
O destinatrio (Alice) pode provar que Bob, e ningum
mais (inclusive Alice), deve ter assinado o documento.
w
w
w
.
i
n
a
t
e
l
.
b
r
79
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Assinaturas Digitais
Assinatura digital simples da mensagem m:
Bob assina m cifrando-a com sua chave privada K
B
,
criando a mensagem assinada, K
B
(m).
Querida Alice
Ah, como sinto sua
falta. Eu penso em voc
o tempo todo! (blah
blah blah)
Bob
mensagem de Bob, m
Algoritmo de
chave pblica
chave privada
de Bob
K
B
-
Mensagem de
Bob, m, assinada
(cifrada) com sua
chave privada
K
B
-
(m)
-
-
w
w
w
.
i
n
a
t
e
l
.
b
r
80
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Assinaturas Digitais
Suponha que Alice receba a mensagem m e a corres-
pondente assinatura digital K
B
(m).
Alice verifica se m est assinada por Bob aplicando a
chave pblica de Bob e verificando se K
B
(K
B
(m) ) = m.
Alice verifica que:
Bob assinou m.
Ningum mais assinou m.
Bob assinou m e no m.
Bob no pode negar:
Alice pode apresentar m, e a assinatura K
B
(m) em juzo e
provar que Bob assinou m.
-
-
+
-
w
w
w
.
i
n
a
t
e
l
.
b
r
81
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Resumo de mensagem
Cifragem de mensagens
longas com algoritmo de chave
pblica ineficiente.
Objetivo:
Obter uma impresso digital
da mensagem, de tamanho
fixo e de cmputo simples.
Aplica-se a funo hash H
em m, obtendo-se o resumo da
mensagem, H(m).
Propriedades funes Hash:
Funo muitos-para-um,
produzem resumos de mensagens
de tamanho fixo (impresso
digital)
Dado o resumo x, impra-ticvel
encontrar m tal que x = H(m).
mensagem
(longa)
m
funo
Hash
H(m)
w
w
w
.
i
n
a
t
e
l
.
b
r
82
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Checksum: uma funo hash fraca
O checksum, muito usado na Internet, tem algumas propriedades
de uma funo hash:
produz resumos de mensagens de tamanho fixo (soma de 16-bit).
Funo do tipo muitos-para-um.
Mas, dada uma mensagem com um certo checksum, fcil
encontrar outra mensagem com o mesmo checksum:
I O U 1
0 0 . 9
9 B O B
49 4F 55 31
30 30 2E 39
39 42 4F 42
mensagem formato ASCII
B2 C1 D2 AC
I O U 9
0 0 . 1
9 B O B
49 4F 55 39
30 30 2E 31
39 42 4F 42
mensagem formato ASCII
B2 C1 D2 AC
mensagens diferentes
com checksum idnticos!
w
w
w
.
i
n
a
t
e
l
.
b
r
83
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Bob envia uma mensagem assinada
digitalmente:
Alice verifica a assinatura e a
integridade da mensagem assinada
digitalmente:
mensagem
m
H: funo
Hash
H(m)
assinatura
digital
(cifragem)
chave
privada
de Bob
K
B
-
+ K
B
(H(m))
-
resumo
cifrado
K
B
(H(m))
-
resumo
cifrado
mensagem
m
H: funo
Hash
H(m)
assinatura
digital
(decifr.)
H(m)
Bobs
public
key
K
B
+
igual
?
Assinatura digital = resumo da mens. assinado
w
w
w
.
i
n
a
t
e
l
.
b
r
84
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
MD5 (RFC 1321):
Fornece resumos de 128 bits computados em quatro passos.
Dada uma seqncia arbitrria de 128 bits x, difcil
construir uma mensagem m cujo hash MD5 seja igual a x.
SHA-1:
Padro nos EUA [NIST, FIPS PUB 180-1].
Resumos de 160 bits.
Algoritmos de Funes Hash
w
w
w
.
i
n
a
t
e
l
.
b
r
85
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Intermedirios Confiveis
Problema chave simtrica:
Como duas entidades
estabelecem uma chave secreta
compartilhada pela rede?
Soluo:
Centro de distribuio de chaves
confivel (KDC - Key Distribution
Center) atuando como
intermedirio entre as entidades.
Problema chave pblica:
Quando Alice obtm a chave
pblica de Bob (a partir de um
web site, e-mail, disquete), qual
a garantia que essa real-
mente a chave pblica de Bob,
no a de Trudy?
Soluo :
Autoridade de certificao
confivel (CA - Certification
Authority)
w
w
w
.
i
n
a
t
e
l
.
b
r
86
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Centro de Distribuio de Chaves (KDC)
Alice e Bob necessitam de uma chave simtrica.
KDC: servidor compartilha diferentes chaves secretas
com cada usurio registrado (muitos usurios).
Alice e Bob tm chaves simtricas individuais, K
A-KDC
e
K
B-KDC
, para a comunicao com o KDC.
K
B-KDC
K
X-KDC
K
Y-KDC
K
Z-KDC
K
L-KDC
K
B-KDC
K
A-KDC
K
A-KDC
K
L-KDC
KDC
w
w
w
.
i
n
a
t
e
l
.
b
r
87
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Centro de Distribuio de Chaves (KDC)
Como o KDC permite que Bob e Alice estabeleam uma chave
simtrica para que eles se comuniquem com segurana?
Alice e Bob utilizam R1 como chave de sesso compartilhada para a
cifragem simtrica dos dados.
Alice
recebe
R1
Bob recebe
R1 para se
comunicar
com Alice
KDC gera R1
K
B-KDC
(A,R1)
K
A-KDC
(A,B)
K
A-KDC
(R1, K
B-KDC
(A,R1) )
w
w
w
.
i
n
a
t
e
l
.
b
r
88
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Autoridades Certificadoras (CA)
Autoridade certificadora (CA): guarda e certifica a
chave pblica de uma identidade particular, E.
Usurio E registra sua chave pblica junto ao CA.
E fornece uma prova de identidade ao CA.
CA cria um certificado digital ligando E sua chave pblica.
O certificado contm a chave pblica de E assinada digital-
mente pela CA. (CA garante: esta a chave pblica de E ).
chave
pblica
de Bob K
B
+
Assinatura
digital
(cifragem)
chave
privada
da CA
K
CA
-
K
B
+
certificado da chave
pblica de Bob, assinado
pela CA
w
w
w
.
i
n
a
t
e
l
.
b
r
89
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Autoridades Certificadoras (CA)
Quando Alice necessita da chave pblica de Bob:
acessa o certificado digital de Bob,
aplica a chave pblica da CA sobre o certificado de Bob e
obtm a chave pblica de Bob.
chave
pblica
de Bob
K
B
+
Assinatura
digital
(decifragem)
Chave
pblica
da CA
K
CA
+
K
B
+
w
w
w
.
i
n
a
t
e
l
.
b
r
90
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
w
w
w
.
i
n
a
t
e
l
.
b
r
91
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
w
w
w
.
i
n
a
t
e
l
.
b
r
92
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Um certificado contm:
Informaes do
proprietrio do
certificado
Informaes do
emissor do
certificado
Validade
w
w
w
.
i
n
a
t
e
l
.
b
r
93
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Um certificado contm:
w
w
w
.
i
n
a
t
e
l
.
b
r
94
w
w
w
.
i
n
a
t
e
l
.
b
r
Criptografia e Certificao Digital Unid. 2
Lista de Exerccios 02: