1 assinatura digital msc. adilson eduardo guelfi msc. frank meylan {guelfi,meylan}@lsi.usp.br...
TRANSCRIPT
1
Assinatura Digital
Msc. Adilson Eduardo GuelfiMsc. Frank Meylan
{guelfi,meylan}@lsi.usp.brLaboratório de Sistemas Integráveis
Escola Politécnica da USP
2
Agenda
Assinatura Digital Esquemas
3
Assinatura Digital
4
Assinatura Digital É necessária??
Sim, para proteger as duas partes comunicantes (transmissor e receptor), uma contra a outra (falsificação e repudiação);
Uma assinatura digital deve possuir as seguintes propriedades: Ela deve ser capaz de verificar o autor, a data e o
instante da assinatura; Ela deve ser capaz de autenticar o conteúdo no
instante da assinatura; Deve ser possível verificar a assinatura digital por
uma terceira parte, com o objetivo de solucionar eventuais disputas;
5
Assinatura Digital Uma assinatura digital
autentica o autor e a mensagem evitar a falsificação e a repudiação
Serviços oferecidos Integridade Autenticação Não Repudiação Confidencialidade (opcional)
6
Assinatura Digital Requisitos que devem ser atendidos por uma
assinatura digital: A assinatura deve estar em formato binário e
depender da mensagem que está sendo assinada; A assinatura deve usar alguma informação
específica ao transmissor, para prevenir a falsificação e a repudiação;
Deve ser relativamente fácil de produzir a assinatura digital;
Deve ser relativamente fácil de reconhecer e verificar a assinatura digital;
7
Assinatura Digital Requisitos de uma assinatura digital (cont.):
Deve ser computacionalmente inviável falsificar uma assinatura digital:Construindo uma nova mensagem para uma
assinatura digital existente;Construindo uma assinatura digital falsa para
uma dada mensagem; Deve ser viável reter uma cópia da assinatura digital
para armazenamento; Neste ponto, podemos perceber a importância da
introdução de uma função hash segura para o esquema de assinatura digital.
8
Assinatura Digital Assinatura digital direta:
Envolve somente as partes comunicantes (fonte e destino). Neste caso, uma assinatura digital poderia ser formada pela criptografia, com a chave privada do transmissor, do código hash da mensagem original;
Confidencialidade pode ser fornecida opcionalmente, criptografando a mensagem original mais sua respectiva assinatura digital, ou com a chave pública do receptor (esquema de criptografia de chave pública) ou com uma chave secreta compartilhada (esquema de criptografia convencional);
9
Assinatura Digital Exemplo de um esquema de assinatura digital direta
utilizando criptografia de chave pública (RSA, por exemplo);
Mensagem e assinatura são transmitidas de maneira criptografada. O receptor produz o código hash da mensagem recebida e compara com o obtido pela decriptografia da assinatura recebida. Se os dois correspondem, a assinatura é aceita como válida.
M
H EKpri_a
E
Kpub_b
Ek[M||Ekpri_a[H(M)]]
D
Kpri_b
M
Ekpri_a[H(M)]
HComparação
DKpub_a
MA
10
Assinatura Digital
Tal esquema possui uma fraqueza: sua validade depende da segurança da chave privada do transmissor. Se a chave privada for perdida ou roubada, o transmissor poderia repudiar a transmissão de uma mensagem particular;
11
Assinatura Digital Assinatura digital arbitrada:
Soluciona os problemas associados ao esquema de assinatura digital direta;
Uso de um árbitro; Cada mensagem assinada de um transmissor X para
um receptor Y deve primeiro passar pelo árbitro, o qual submete a mensagem e sua respectiva assinatura a um conjunto de testes para verificar sua origem e conteúdo. Se validada, a mensagem é então datada e enviada ao receptor Y.
Desta forma, X não poderia repudiar a mensagem M; X e Y devem ter um alto grau de confiança no árbitro
e em seus mecanismos de validação.
12
Ekxa[IDx||H(M)] = Criptografia do identificador de X e hash da mensagem utilizando a chave de sessão compartilhada entre X e A (transmissor e árbitro, respectivamente);
Assinatura Digital
Ekay[ ] = Criptografia com a chave de sessão compartilhada entre A e Y (árbitro e receptor, respectivamente);
H(Ekxy[ ]) = Código Hash;
(a) Criptografia Convencional, Árbitro Observa a Mensagem
M M = Mensagem
13
Assinatura Digital(a) Criptografia Convencional, Árbitro Observa a Mensagem
M
IDx
H(M) Kxa
IDxM
IDxH(M)
Kxa
TKay
(1) X A: M || Ekxa[IDx || H(M)](2) A Y: Ekay[IDx || M || Ekxa[IDx || H(M)] || T]
Emissor X Receptor Y
Árbitro A
14
Assinatura Digital(b) Criptografia Convencional, Árbitro Não Observa a Mensagem
Ekxy[M] = Criptografia da Mensagem M com a chave de sessão compartilhada entre X e Y (transmissor e receptor, respectivamente);Ekxa[ ] = Criptografia com a chave de sessão compartilhada entre X e A (transmissor e árbitro, respectivamente);Ekay[ ] = Criptografia com a chave de sessão compartilhada entre A e Y (árbitro e receptor, respectivamente);H(Ekxy[ ]) = Código Hash;
15
Assinatura DigitalID
x
IDx
IDx
T
IDx
(1) X A: IDx || Ekxy[M] || Ekxa[IDx || H(Ekxy[M])](2) A Y: Ekay[IDx || Ekxy[M] || Ekxa[IDx || H(Ekxy[M])] || T]
Emissor X Receptor Y
Árbitro A
16
Assinatura Digital(c) Criptografia de Chave Pública, Árbitro Não Observa a Mensagem
Criptografia com a chave pública Y
Criptografia com a chave privada X
Criptografia com a chave privada A
17
Assinatura Digital
(1) X A: IDx || Ekpriv_x[IDx || Ekpub_y(Ekpriv_x[M])](2) A Y: Ekpriv_a[IDx || Ekpub_y(Ekpriv_x[M])] || T]
IDx
M
IDx
Emissor X Receptor Y
Árbitro AM
IDx
T
18
Bibliografia
19
Bibliografia Livro
Criptography and Network Security - Principles and Practice - Second EditionWillian StallingsPrentice Hall1998