Académique Documents
Professionnel Documents
Culture Documents
227
Apostila de Fundamentos de Redes de Computadores Prof: Ricardo Quinto
eram uma reproduo gravada de uma autenticao anterior de Alice. O leitor muito
(muito) observador vai lembrar que o protocolo de apresentao de trs vias do TCP tinha
de enfrentar o mesmo problema o lado servidor de uma conexo TCP no era obrigado a
aceitar uma conexo se o segmento SYN recebido fosse uma cpia antiga (retransmisso)
de um segmento SYN de uma conexo anterior. Como o lado servidor do TCP resolvia o
problema de determinar se o cliente estava realmente ao vivo? Ele escolhia um nmero
de seqncia inicial que no era usado a um longo perodo de tempo, enviava esse nmero
ao cliente e ficava esperando que o cliente respondesse com um segmento ACK contendo
esse nmero. Podemos adotar a mesma idia aqui, para a finalidade de autenticao.
Um nonce um nmero que um protocolo vai usar apenas uma vez. Assim que um
protocolo usar um nonce, nunca mais o utilizar. Nosso protocolo PA 4.0 usa um nonce
como segue:
1. Alice envia a mensagem Eu sou A1ice para Bob.
2. Bob escolhe um nonce, R, e o envia a Alice.
3. Alice criptografa o nonce usando a chave simtrica secreta KAB que combinou com
Bob e envia o nonce cifrado KAB(R) de volta a Bob. Como acontece no protocolo
PA 3.1, o fato de Alice conhecer a chave KAB e us-la para codificar um valor que
permite que Bob saiba que a mensagem que recebeu foi gerada por Alice. O nonce
utilizado para assegurar que Alice est ao vivo.
4. Bob decifra a mensagem recebida. Se o nonce decifrado for igual ao nonce que enviou
a Alice, ento ela estar autenticada.
O protocolo PA 4.0 est ilustrado na Figura 9.10. Usando um valor R apenas uma
nica vez e, em seguida, verificando o valor devolvido, KAB(R), Bob pode ter certeza de
que Alice quem diz ser (j que conhece o valor da chave secreta necessrio para cifrar R),
e tambm de que ela est ao vivo (j que ela tem o nonce cifrado R que Bob acabou de
criar).
228
Apostila de Fundamentos de Redes de Computadores Prof: Ricardo Quinto
2. Bob escolhe um nonce, R, e o envia a Alice. Novamente, o nonce usado para ele se
certificar de que Alice est ao vivo.
3. Alice usa seu algoritmo criptogrfico privado com sua chave privada, dA, para o nonce e
envia o valor resultante dA(R) a Bob. Como somente Alice conhece sua chave privada,
ningum, exceto ela, pode gerar dA(R).
4. Bob aplica o algoritmo criptogrfico pblico de Alice, eA, mensagem recebida, isto ,
ele processa eA(dA(R)). Lembre-se de que em nossa discusso sobre a criptografia de
chave pblica RSA, na Seo 9.2, eA(dA(R)) = R = dA(eA(R)). Assim, Bob calcula R e
autentica Alice.
A operao do protocolo PA 5.0 ilustrada na Figura 9.11. O protocolo PA 5.0 to
seguro quanto o protocolo PA 4.0? Ambos usam nonces. Como o PA 5.0 usa tcnicas de
chave pblica, ele requer que Bob recupere a chave pblica de Alice. Isso leva a um
cenrio interessante, mostrado na Figura 9.12, em que Trudy pode se passar por Alice
perante Bob:
229
Apostila de Fundamentos de Redes de Computadores Prof: Ricardo Quinto
Fica claro nesse cenrio que o protocolo PA 5.0 to seguro quanto a distribuio
de chaves pblicas. Felizmente, existem maneiras seguras de distribuir chaves pblicas,
como veremos na Seo 9.5.
No cenrio da Figura 9.12, Bob e Alice podem acabar descobrindo, em conjunto, que
alguma coisa est errada, pois Bob vai dizer que interagiu com Alice, mas Alice sabe que
isso no aconteceu. H um ataque ainda mais insidioso que poderia evitar essa descoberta.
No cenrio da Figura 9.13, Alice e Bob esto conversando, mas Trudy, explorando a
mesma falha no protocolo de autenticao, consegue se interpor de maneira transparente
entre Alice e Bob. Em particular, se Bob comear a enviar dados cifrados a Alice usando a
chave criptogrfica que recebeu de Trudy, Trudy poder recuperar o texto aberto da
comunicao entre Bob e Alice. Ao mesmo tempo, Trudy pode repassar os dados de Bob a
Alice (aps ter decifrado os dados usando a chave pblica real de Alice).
Bob est l, feliz da vida, enviando dados criptografados. Alice tambm est l, feliz
da vida, recebendo dados criptografados e usando para isso sua prpria chave pblica;
ambos no sabem da presena de Trudy. Se acontecer de Bob e Alice se encontrarem mais
tarde e discutirem sua interao, Alice ter recebido exatamente o que Bob enviou, de
modo que no se perceber que alguma coisa est errada. Esse um exemplo do chamado
ataque do homem do meio (no caso, da mulher do meio). s vezes ele tambm
chamado de ataque da brigada do balde, j que o modo como Trudy est passando os dados
entre Alice e Bob parece a passagem dos baldes de gua pela longa fila de pessoas
(chamada de brigada do balde) que esto apagando um incndio utilizando uma fonte de
gua longnqua.
9.4 Integridade
Pense no nmero de vezes em que voc ps sua assinatura em um pedao de papel durante
a ltima semana. Voc assina cheques, comprovantes de operao de cartes de crdito,
documentos legais e cartas. Sua assinatura atesta o fato de que voc (e no outra pessoa)
conhece o contedo do documento e/ou concorda com ele. No mundo digital, freqentemente
se quer indicar o dono ou o criador de um documento ou deixar claro que algum concorda com
o contedo de um documento. A assinatura digital uma tcnica criptogrfica usada para
cumprir essa finalidade no mundo digital.
230
Apostila de Fundamentos de Redes de Computadores Prof: Ricardo Quinto
Exatamente como acontece com a assinatura de prprio punho, a assinatura digital deve
ser verificvel, no falsificvel e incontestvel. Em outras palavras, deve ser possvel provar
que um documento assinado por um indivduo foi na verdade assinado por ele (a assinatura tem
de ser verificvel) e que somente aquele indivduo poderia ter assinado o documento (a
assinatura no pode ser falsificada, e o signatrio no pode mais tarde negar ter assinado o
documento). Isso se consegue facilmente com a criptografia de chaves pblicas.
9.4.1 Gerao de assinaturas digitais
Suponha que Bob queira assinar digitalmente um documento m. Imagine que o
documento seja um arquivo ou uma mensagem que Bob vai assinar e enviar. Como mostra
a Figura 9.14, para assinar esse documento Bob simplesmente usa sua chave criptogrfica
privada dB para processar dB(m). A princpio, pode parecer estranho que Bob esteja
rodando um algoritmo de decriptografia sobre um documento que no foi codificado. Mas
lembre-se de que decriptografia nada mais do que uma operao matemtica
(exponenciao potncia d no RSA; veja a Seo 9.2) e que a inteno de Bob no
embaralhar ou disfarar o contedo do documento, mas assinar o documento de maneira
que seja verificvel, no falsificvel e incontestvel. Bob tem o documento, m, e sua
assinatura digital do documento, dB(m).
231
Apostila de Fundamentos de Redes de Computadores Prof: Ricardo Quinto
232
Apostila de Fundamentos de Redes de Computadores Prof: Ricardo Quinto
233