Anda di halaman 1dari 87

Segurança em Redes

Parte III

Prof. Vagner Schoaba


03/14/08 Segurança - Edward Moreno - UNIVEM 1
Agenda

1. Algoritmos de Chave Pública


2. Algoritmos de Hashing
3. Introdução à Assinatura Digital
4. Introdução aos Sistemas de
Autenticação
5. Protocolos de Autenticação

03/14/08 Segurança - Edward Moreno - UNIVEM 2


Objetivo

• Mostrar de maneira geral o que


vem a ser criptografia de
assimétrica

• Mostrar os principais algoritmos


de chave pública e de hashing

03/14/08 Segurança - Edward Moreno - UNIVEM 3


Overview

Serviços de Segurança

O que é
Criptografia

Algoritmos de Algoritmos de
Chave Privada Chave Pública

03/14/08 Segurança - Edward Moreno - UNIVEM 4


VI. Criptografia de
Chave Pública

03/14/08 Segurança - Edward Moreno - UNIVEM 5


Criptografia de Chave
Pública
• Utiliza duas chaves
– Uma para encriptar (KE)
– Outra para decifrar (KD)

M C M
E D

K KD
E

03/14/08 Segurança - Edward Moreno - UNIVEM 6


Chave Pública X Chave
Secreta
• Segurança - Depende do tamanho da
Chave
• Não é de propósito geral

– Chave Pública - Aplicações de gerenciamento


de chaves e a assinatura

• Gerenciamento das Chaves Não é


Simples
03/14/08 Segurança - Edward Moreno - UNIVEM 7
Características Importantes
• Impossibilidade de se obter a chave privada,
dados a chave pública e o algoritmo

• Alguns Algoritmos
– Permitem que as duas chaves possam ser
usadas para encriptar ou decriptar

– Se encriptado com uma chave, a única chave


que permite restaurar a mensagem é a chave
parceira !
03/14/08 Segurança - Edward Moreno - UNIVEM 8
O par de Chaves
• O par de chaves
– Fica associada à cada entidade
– Uma é pública (de conhecimento de todos)
– Outra é secreta à entidade (privada)

• Temos então 4 chaves!


– Qual utilizar?

03/14/08 Segurança - Edward Moreno - UNIVEM 9


O par de Chaves (2)

A B
X C X
E D

KPRIA ? ? KPRIB
KPUBA KPUB
B

03/14/08 Segurança - Edward Moreno - UNIVEM 10


O par de Chaves (3)
• Notação

– Criptografia Simétrica (convencional)


• Chave simétrica: K

– Criptografia Assimétrica (criptografia de


chave pública)
• Chave Privada: KPRI
• Chave Pública: KPUB

03/14/08 Segurança - Edward Moreno - UNIVEM 11


Processo de Cifrar
Anel de
Chaves Pública
de Alice
João
Chave Privada
José Pedro
de Bob
Bob

Texto Cifrado

Texto Texto
Plano Plano
Algoritmo de Algoritmo de
Criptografia Decriptografia
(ex: RSA)

03/14/08 Segurança - Edward Moreno - UNIVEM 12


Autenticação
Anel de
Chaves Pública
de Bob
João

Chave Privada José Pedro


de Alice Alice

Texto Cifrado

Texto Texto
Plano Plano
Algoritmo de Algoritmo de
Criptografia Decriptografia
(ex: RSA)

03/14/08 Segurança - Edward Moreno - UNIVEM 13


Autenticação (2)
Anel de
Chaves Pública
de Bob
João

Chave Privada José Pedro


de Alice Alice

Texto Cifrado

Texto Texto
Plano Plano
Algoritmo de Algoritmo de
Criptografia Decriptografia
(ex: RSA)

03/14/08 Segurança - Edward Moreno - UNIVEM 14


Utilização da Chave Pública
• Utilização

– Confidencialidade
– Autenticação
– Confidencialidade com Autenticação

03/14/08 Segurança - Edward Moreno - UNIVEM 15


Chave Pública - Confidencialidade
• Objetivo:
– Manter o sigilo de determinada informação

• Funcionamento
– O remetente criptografa a mensagem utilizando a
chave pública do destinatário
– O destinatário decriptografa utilizando sua chave
privada.
– Como somente o destinatário conhece esta chave
privada, está garantido o sigilo.

03/14/08 Segurança - Edward Moreno - UNIVEM 16


Chave Pública - Confidencialidade

A B
Rem etent Destinatár
e io

M C M
E D

KPUB KPRIB
B

03/14/08 Segurança - Edward Moreno - UNIVEM 17


Chave Pública - Autenticação
• Objetivo
– Ter certeza do autor de determinada
informação

• Funcionamento
– O remetente criptografa a mensagem com
sua chave privada.
– A decriptação da mensagem pode ser
realizada por qualquer entidade utilizando a
chave pública do remetente

03/14/08 Segurança - Edward Moreno - UNIVEM 18


Chave Pública - Autenticação (2)

A B
Rem etent Destinatári
e o

M C M
E D

KPRIA KPUB
A

03/14/08 Segurança - Edward Moreno - UNIVEM 19


Chave Pública - Autenticação (3)
• Autenticação
– A autoria é garantida já que somente o
remetente possui a chave privada

– O criptograma não pode ter sido gerado por


outra pessoa já que somente o remetente
possui a chave privada associada à chave
pública de decriptação

03/14/08 Segurança - Edward Moreno - UNIVEM 20


Confidencialidade com Autenticação
• Objetivo
– Manter secreta determinada informação e permitir
ao destinatário a certeza do seu autor

• Funcionamento
– O remetente criptografa a mensagem inicialmente
com sua chave privada e, em seguida, com a chave
pública do destinatário
– O destinatário decripta a mensagem com sua chave
privada e, em seguida, com a chave pública do
remetente

03/14/08 Segurança - Edward Moreno - UNIVEM 21


Confidencialidade com Autenticação
A B
Rem etent Destinatári
e o

M C1 C2 C1 M
E E D D

KPUB KPRIB
B

KPRIAKPUB
A

03/14/08 Segurança - Edward Moreno - UNIVEM 22


Confidencialidade com Autenticação
• Confidencialidade
– (Primeira Decriptação) Somente o
destinatário pode decriptar a mensagem, pois
somente ele possui a chave privada KPRIB

• Autenticação
– (Segunda decriptação) O destinatário pode
ter certeza da autoria já que somente o
remetente possui a chave KPRIA

03/14/08 Segurança - Edward Moreno - UNIVEM 23


Utilizando Criptografia de CP
(2)
(5) “A” pode então enviar a mensagem M
para a “B” criptografando com a chave
de sessão Ks
A B

M M
E D

KS KS

KPRIA KPUBA KPUBB KPRIB

03/14/08 Segurança - Edward Moreno - UNIVEM 24


Utilizando Criptografia de CP
(2)
(6) “B” pode também enviar a mensagem
M para a “A” criptografando com a
chave de sessão Ks
A B

M M
E D

KS KS

KPRI KPUB KPUB KPRI


A A B B
03/14/08 Segurança - Edward Moreno - UNIVEM 25
Troca de Chaves - Conclusão
• Problemas resolvidos
– Resolvem o problema de troca de chave
convencional
• Problemas não resolvidos
– Problema da autenticidade da entidade parceira:
• Diffie-Hellman - não é possível ter certeza da
autenticidade dos valores recebidos da entidade parceira
(poderia ser uma outra entidade se fazendo passar pela
verdadeira)

• Chave de Sessão - não é possível ter certeza da


autenticidade da chave pública recebida da entidade
parceira
03/14/08 Segurança - Edward Moreno - UNIVEM 26
Criptografia de Chave Pública

Algoritmo RSA

03/14/08 Segurança - Edward Moreno - UNIVEM 27


Ron Rivest, Adi Shamir e Len
Adleman
197
Blocos com valores binários menores que n
Tamanho do Bloco é k bits, onde 2k < n ≤ 2k+1
Texto
Cifrado
C = Me mod n KU = {e,n}
M = Cd mod n = (Me)d mod n = Med mod n KR = {d,n}
Texto
Plano

Requisitos do Algoritmo
• É possível encontrar e, d, n tal que Med = M mod n para todo M < n
• É relativamente fácil calcular Me e Cd para todos os valores de M <
• É improvável determinar d dado e, n

03/14/08 Segurança - Edward Moreno - UNIVEM 28


Geração da Chave
Selecione p,q p e q primos
Calcular n = p x q
Calcular φ(n) = (p-1)(q-1)
Selecionar e inteiro gcd(φ(n),e) = 1; 1 < e < φ(n)
Calcular d d = e-1 mod φ(n)
Algoritmo Chave Pública KU={e,n}
Chave Privada KR={d,n}
RSA
Cifrar
Texto Plano: M<n
Texto Cifrado: C = Me (mod n)

Decifrar
Texto Plano: C
Texto Cifrado: M = Cd (mod n)

03/14/08 Segurança - Edward Moreno - UNIVEM 29


Exemplo
• Selecionar dois números primos: p = 7 e q = 17
• Calcular n = pq = 7 x 17 = 119
• Calcular φ(n) = (p-1)(q-1) = 96
• Selecionar e tal que e é relativamente primo a φ
(n) e menor que φ(n); e = 5
• Determinar d tal que de = 1 mod 96 e d < 96;
d = 77, pois 77 x 5 = 385 = 4 x 96 + 1
• KU = {5,119} e KR = {77,119}

03/14/08 Segurança - Edward Moreno - UNIVEM 30


Continuação do Exemplo
Cifrar
KU = 5,119

Texto
Plano 195 = 2476099 119
19 66 20807

Decifrar
KR = 77,119

Texto Cifrado 66
6677 = 1,27...x10140 119
19 1,06...x10138

Texto Plano 19
03/14/08 Segurança - Edward Moreno - UNIVEM 31
Gerenciamento de Chaves
• Distribuição de Chaves Públicas
– Anúncio Público (Ex: PGP)
– Diretório Público
– Autoridade de Chave Pública
– Certificados de Chave Pública
• Chave Pública para Distribuir Chave Secreta
– Distribuição Simples de Chaves Secretas
– Distribuição com Confidencialidade e
Autenticação
– Esquema Híbrido
03/14/08 Segurança - Edward Moreno - UNIVEM 32
Diretório Público
Elementos
Autoridade • Autoridade Mantém {Nome; Chave Pública}
• Participante Registra sua Chave Pública
• Participante pode trocas sua Chave Pública
• Autoridade publica Diretório Periodicamente

Diretório
Público

KUa KUb

A B

03/14/08 Segurança - Edward Moreno - UNIVEM 33


Autoridade de Chave
Pública

03/14/08 Segurança - Edward Moreno - UNIVEM 34


Certificados de Chave
Pública

03/14/08 Segurança - Edward Moreno - UNIVEM 35


Distribuição Simples de
Chaves Secretas
KUa || IDA

A B

EKUa [Ks]

• Protocolo Simples
• As chaves só existem durante a comunicação
• Problema com a Interceptação

03/14/08 Segurança - Edward Moreno - UNIVEM 36


Distribuição de Chaves Secretas
com Confidencialidade e
Autenticação

03/14/08 Segurança - Edward Moreno - UNIVEM 37


Esquema Híbrido
• KDC - Key Distribution Center

• Usa chave pública para troca de chave


mestre

• Usa chave mestre para troca de chave


de sessão
Usado pela IBM nos mainframes
Motivo: Desempenho

03/14/08 Segurança - Edward Moreno - UNIVEM 38


VIII. Autenticação de Mensagens
e Funções de Hash

Funções de Autenticação

Criptografia da Mensagem
Código de Autenticação da Mensagem
Função Hash

03/14/08 Segurança - Edward Moreno - UNIVEM 39


Criptografia Simétrica
Confidencialidade e
Autenticação

Fonte Destino

M E M D M

EK(M)
K K

03/14/08 Segurança - Edward Moreno - UNIVEM 40


Criptografia Assimétrica
Confidencialidade

Fonte Destino

M E M D M

EKUb(M)
KUb KRb

03/14/08 Segurança - Edward Moreno - UNIVEM 41


Criptografia Assimétrica
Autenticação e Assinatura

Fonte Destino

M E M D M

EKRa(M)
KRa KUa

03/14/08 Segurança - Edward Moreno - UNIVEM 42


Criptografia Assimétrica
Confidencialidade, Autenticação e
Assinatura

Fonte Destino

M E M E M D M D M

EKR (M) EKU [EKR (M)] EKR (M)


a b a a
KRa KUb KRb KUa

03/14/08 Segurança - Edward Moreno - UNIVEM 43


MAC: Autenticação da Mensagem
MAC: Message Authentication Code
Fonte Destino

|| C
M M
K K Comparar

C
CK(M)

Provém autenticação
Somente A e B compartilham K

03/14/08 Segurança - Edward Moreno - UNIVEM 44


MAC: Autenticação da
Mensagem e Confidencialidade
Autenticação no texto plano

Fonte Destino

C
|| E D M
M
K1 K1 Comparar
K2 K2
C EK2[M||CK1(M)] CK1(M)

Provém autenticação
Somente A e B compartilham K1
Provém confidencialidade
Somente A e B compartilham K2

03/14/08 Segurança - Edward Moreno - UNIVEM 45


MAC
Autenticação da Mensagem e
Confidencialidade
Autenticação no texto cifrado

Fonte Destino

D M
M E || C
K2
K1
K2 K1 Comparar
C CK1[EK2(M)]

Provém autenticação
Usando K1
Provém confidencialidade
Usando K2

03/14/08 Segurança - Edward Moreno - UNIVEM 46


Hash
Autenticação e Confidencialidade
Fonte Destino

H
|| E D M
M
Comparar
K K
EK[M||H(M)]
H H(M)

Provém autenticação
Somente A e B compartilham K
Provém confidencialidade
H(M) é cifrado

03/14/08 Segurança - Edward Moreno - UNIVEM 47


Hash: Autenticação

Fonte Destino

H
M || M
Comparar
D
H E EK[H(M)]
K
K

Provém autenticação
H(M) é cifrado

03/14/08 Segurança - Edward Moreno - UNIVEM 48


Hash: Autenticação e Assinatura
Fonte Destino

H
M || M
Comparar
D
H E EKRa[H(M)]
KUa
KRa

Provém autenticação e Assinatura Digital


H(M) é cifrado
Somente A poderia criar EKRa[H(M)]

03/14/08 Segurança - Edward Moreno - UNIVEM 49


Hash: Autenticação e
Assinatura
Fonte Destino

|| H
M E D M
Comparar
K K D
H E EK[M||EKRaH(M)] EKRa[H(M)]
KUa
KRa

Provém autenticação e Assinatura Digital


H(M) é cifrado
Provém Confidencialidade
Somente A e B compartilham K

03/14/08 Segurança - Edward Moreno - UNIVEM 50


Hash: Autenticação
Fonte Destino

|| || H
M M
S
Comparar

S || H H(M||S)]

Provém autenticação
Somente A e B compartilham S

03/14/08 Segurança - Edward Moreno - UNIVEM 51


Hash
Autenticação e
Confidencialidade
Fonte Destino

|| E || H
M D M S
K K Comparar

S || H EK[M||H(M||S)] H(M||S)

Provém autenticação
Somente A e B compartilham S
Provém Confidencialidade
Somente A e B compartilham K

03/14/08 Segurança - Edward Moreno - UNIVEM 52


Algoritmo de Autenticação de
Dados
• FIPS PUB 113
• ANSI X9.17
Tempo=N-1 Tempo=N
Tempo=1 Tempo=2 DN-1 DN
D1 D2
(64 bits)
+ +
+ DES DES
K K
E E
K DES K DES
(56 bits) E E

ON-1 ON
O1 O2
(64 bits)
DAC
(16 a 64 bits)
03/14/08 Segurança - Edward Moreno - UNIVEM 53
h = H(M) Funções Hash
• Requisitos
– Qualquer tamanho de bloco
– Saída de tamanho fixo
– Fácil de computar y = H(x) em software ou hardware
– Inviável computar x = H-1(y) Caminho Único - 2n
– Dado x, é inviável obter y ≠ x com H(y) = H(x)
Fraca Resistênc
– É inviável obter-se (x,y) tal que H(x) = H(y) à Colisão - 2n

Forte Resistência
• Simples Funções Hash XOR; RXOR à Colisão - 2n/2

• Ataque da data do nascimento H0 = valor inici


• Técnicas de Castateamento de Blocos Hi = EMi[Hi-1]
03/14/08 Segurança - Edward Moreno - UNIVEM G = HN 54
Funções Hash -
Resumo
• Não constituem “assinaturas” digitais, são
apenas funções da mensagem. Não envolvem o
uso de “chaves” e não identificam o criador.

M H P

+ (M, P)

03/14/08 Segurança - Edward Moreno - UNIVEM 55


Funções Hash -

Resumo
Fácil a geração de P a partir de M
• Impossível a geração de M a partir de P
• Impossível gerar M2 tal que H(M2) = P
• Impossível achar M1 e M2 tais que:
– H(M1) = H(M2)
• A segurança de uma função de Hash depende
(obviamente) do tamanho da saída gerada
– Funções com saídas de poucos bits não são seguras
(óbvio). A função H(M) pode assumir 2n valores
diferentes onde n é o número de bits do resultado.
Para gerar mensagens com H igual preciso gerar
“apenas” 2 n/2 fraudes.
03/14/08 Segurança - Edward Moreno - UNIVEM 56
Autenticação de Mensagens e
Funções de Hash

IX. Algoritmos de Hash

03/14/08 Segurança - Edward Moreno - UNIVEM 57


Principais Algoritmos
Algoritmo de Hash Compr. Hash kbytes/s
Abreast Bavies-Meyer (c/IDEA) 128 22
Davies-Meyer (c/DES) 64 9
GOST Hash 256 11
NAVAL (3 passos) variável 168
NAVAL (4 passos) variável 118
NAVAL (5 passos) variável 95
MD4 - Message Digest 4 128 236
MD5 - Message Digest 5 128 174
N-HASH (12 rounds) 128 29
N-HASH (15 rounds) 128 24
RIPE-MD 128 182
RIPE-MD-160 160 ---
SHA - Secure Hash Algorithm 160 75
SNEFRU (4 passos) 128 48
SNEFRU (8 passos) 128 23

03/14/08 Segurança - Edward Moreno - UNIVEM 58


Algoritmo MD5

1 - Adicionar bits (total ≡ 448 mod 512)


2 - Adicionar o Comprimento
3 - Inicializar Buffer MD
A = 67452301 B = EFCDAB89
C = 98BADCFE D = 10325476
4 - Processar Mensagens em Blocos de
512 bits

03/14/08 Segurança - Edward Moreno - UNIVEM 59


MD5 Padding
(1 a 512 bits)
Tamanho da
Mensagem
(K mod 264)

L x 512 bits = N x 32 bits


K bits

Mensagem 100...0

512 bits 512 bits 512 bits 512 bits


Y0 Y1 Yq YL-1

Valor
Inicial 512 512 512 512
128 128 128 128
HMD5 HMD5 HMD5 HMD5
CV1 CVq CVL-1

A = 67452301
B = EFCDAB89
C = 98BADCFE
D = 10325476 128 bits
digest
CVq 128
Yq
HMD5 32
512 A B C D
F, T[1..16], X[i]
16 passos
A B C D
T[i] = 2 x abs[sin(i)]
32
G, T[17..32], X[ρ2i]
16 passos
A B C D
Tabela Verdade das H, T[33..48], X[ρ3i]
Funções Lógicas 16 passos
b c d F G H I A B C D
0 0 0 0 0 0 1 I, T[49..64], X[ρ4i]
0 0 1 1 0 1 0
16 passos
0 1 0 0 1 1 0
0 1 1 1 0 0 1
1 0 0 0 0 1 1
1 0 1 0 1 0 1
1 1 0 1 1 0 1 + + + + Adição: 2 mod 232
1 1 1 1 1 1 0

128
CVq+1
Função de Compressão
Fase g G(b,c,d) A B C D
1 F(b,c,d) (b∧c)∨(b∧d)
2 G(b,c,d) (b∧d)∨(c∧d) + g
3 H(b,c,d) b⊕c⊕d
4 I(b,c,d) c⊕(b∨d) X[k] +

AND - ∧
T[i] +
Onde: OR - ∨
NOT -
CLSs
XOR - ⊕

ρ2(i) = (1+5i) mod 16 +


ρ3(i) = (5+3i) mod 16
ρ4(i) = 7i mod 16
A B C D
S - RFC 1321
Ron Rivest, 1990
MD4 RFC 1320, 1992

• 3 rodadas
• Constantes aditivas iguais (0, t1, t2)
• 3 funções lógicas primitivas

03/14/08 Segurança - Edward Moreno - UNIVEM 63


Criptoanálise do MD5

• Criptanálise Diferencial de uma rodada,


por Berson em 1992
• Ataque de Dobbertin em 1996.
Conseguiu uma entrada diferente para a
mesma saída de 128 bits (Um único
bloco)

03/14/08 Segurança - Edward Moreno - UNIVEM 64


Algoritmo de Hash Seguro - SHA
Bloco de 160 bits NIST
SHA = FIPS PUB 180, 1993
SHA-1 = FIPS PUB 180-1, 1995

1 - Adicionar bits (total ≡ 448 mod 512)


2 - Adicionar o Comprimento
3 - Inicializar Buffer MD
A = 67452301 B = EFCDAB89
C = 98BADCFE D = 10325476
E = C3D2E1F0
4 - Processar Mensagens em Blocos de 512 bits
Padding
SHA-1 (1 a 512 bits)
Tamanho da
Mensagem
(K mod 264)

L x 512 bits = N x 32 bits


K bits

Mensagem 100...0

512 bits 512 bits 512 bits 512 bits


Y0 Y1 Yq YL-1

Valor
Inicial 512 512 512 512
160 160 160 160
HSHA HSHA HSHA HSHA
CV1 CVq CVL-1

A = 67452301 B = EFCDAB89
C = 98BADCFE D = 10325476
E = C3D2E1F0 160 bits
digest
CVq
Yq
SHA-1 160

32
512 A B C D E
f1, K1,W[0..19]
20 passos
K1 = 5A827999 A B C D E
K2 = 6ED9EBA1 f2, K2, W[20..39]
K3 = 8F1BBCDC 20 passos
A B C D
K4 = CA62C1D6 E
f3, K3, W[40..59]
K1 = 230x√2 20 passos
K2 = 230x√3 A B C D
E
f4, K4, W[60..79]
K3 = 230x√5
20 passos
K4 = 230x√10

+ + + + +
Adição: 2 mod 232
160
CVq+1
SHA-1

Tabela Verdade das


Funções Lógicas
b c d f0..19 f20..39 f40..59 f60..79
0 0 0 0 0 0 0
0 0 1 1 1 0 1
0 1 0 0 1 0 1
0 1 1 1 0 1 0
1 0 0 0 1 0 1
1 0 1 0 0 1 0
1 1 0 1 0 1 0
1 1 1 1 1 1 1

03/14/08 Segurança - Edward Moreno - UNIVEM 68


1 Passo

03/14/08 Segurança - Edward Moreno - UNIVEM 69


Criação das 80 palavras W

Wt=S1(Wt-16⊕Wt-14 ⊕Wt-8 ⊕Wt-3)

03/14/08 Segurança - Edward Moreno - UNIVEM 70


X.
Assinaturas Digitais
e Protocolos de
Autenticação

03/14/08 Segurança - Edward Moreno - UNIVEM 71


Propriedades da Assinatura
Digital
• Verificar o Autor e a data/hora da
assinatura
• Autenticar o conteúdo original
(identificar um documento)
• A assinatura deve poder ser verificável
por terceiros (resolver disputas)

03/14/08 Segurança - Edward Moreno - UNIVEM 72


Requisitos da Assinatura
Digital
• Dependentes do Conteúdo
(documento)
• Usar informação única do originador
(Dependente do autor)
• Fácil de produzir
• Fácil de reconhecer e verificar
• Inviável de forjar
• Deve ser prático manter uma cópia da
03/14/08 assinatura
Segurança - Edward Moreno - UNIVEM 73
Assinatura Digital
• Assinaturas digitais garantem que um
documento autêntico. Desta forma:

– Não podem ser reusáveis


– Não podem ser alteráveis
– Não podem ser passíveis de repúdio.

03/14/08 Segurança - Edward Moreno - UNIVEM 74


Assinatura Digital
• Podem estar presentes em
documentos encriptados ou não. Ex.
PGP adiciona assinatura em
documento não encriptado.
• Deve-se sempre utilizar mecanismos
de chave pública para a geração de
assinaturas: maior garantia contra
“falsificações”.

03/14/08 Segurança - Edward Moreno - UNIVEM 75


Assinatura Digital
• As funções de HASH proveêm um
mecanismo para verificação de
integrridade: Ex. MD-5 (Message Digest
5), SHA (Secure Hash Algorithm).

• As funções de HASH não constituem


“assinaturas”, são apenas funções da
mensagem. Não envolvem o uso de
“chaves” e não identificam o criador.
03/14/08 Segurança - Edward Moreno - UNIVEM 76
Tipos de Assinatura Digital
• Direta
– Envolve somente X e Y
– Segurança está na chave privada de X
– Selo de Tempo
• Arbitrada
– X -> A -> Y

03/14/08 Segurança - Edward Moreno - UNIVEM 77


Assinatura Digital Arbitrada
Usando Criptografia Simétrica
(Árbitro vê a mensagem)
(1) X → A: M || EKXA[IDX || H(M)]

(2) A → Y: EKAY[IDX || M || EKXA[IDX || H(M)] || T]

(Árbitro não vê a mensagem)


(1) X → A: IDX || EKXY[M] || EKXA[IDX || H(EKXY[M])]

(2) A → Y: EKAY[IDX || EKXY[M] || EKXA[IDX || H(EKXY[M] )] || T]

03/14/08 Segurança - Edward Moreno - UNIVEM 78


Assinatura Digital Arbitrada

Usando Criptografia Assimétrica


(Árbitro não vê a mensagem)

(1) X → A: IDX || EKRX[IDX || EKUY(EKRX[M])]

(2) A → Y: EKRA[IDX || EKUY[EKRX [M]] || T]

03/14/08 Segurança - Edward Moreno - UNIVEM 79


RSA - Assinatura Digital
H
M || M
Comparar
D
H E EKRa[H(M)]
KUa
KRa

03/14/08 Segurança - Edward Moreno - UNIVEM 80


DSA
Algoritmo de Assinatura
Digital
Componentes da Chave Pública Global
p - Número Primo onde 2L-1 < p < 2L, 512 ≤ L ≤ 1024 e L múltiplo
de 64
q - Divisor primo de (p-1) onde 2159 < q < 2160 ( q tem 160 bits)
g - h(p-1)/q mod p, 1 < h < (p-1) tal que h(p-1)/q mod p > 1

Chave Privada do Usuário Número Secreto por


x - Número pseudorandômico com 0 < x < q Msg do Usuários
k - Número pseudorandômico
Chave Pública do Usuário com 0 < k < q
y = gx mod p
03/14/08 Segurança - Edward Moreno - UNIVEM 81
DSS - Digital Signature
Standard
NIST (1991, 1993, 1996)
FIPS PUB 186 H = SHA-1

M || M H KUG KRa

KUG KRa s Ver Compare


r
H
Sig

03/14/08 Segurança - Edward Moreno - UNIVEM 82


DSA
Algoritmo de Assinatura
Digital
Assinando
pq g r = f2(k,p,q,g) = (gk mod p) mod q
s = f1(H(M),k,x,r,q) = (k-1(H(M)+xr)) mod q

f2 r

M s
f1
H

03/14/08 Segurança - Edward Moreno - UNIVEM 83


DSA
Algoritmo de Assinatura Digital
yq g
H
M’ q
f4
s' f3 v
r' Compare

Verificando
w = f3(s’,q) = (s’)-1 mod q
u1 = [ H(M’)w] mod q
u2 = (r’)w mod q
v = f4(y,q,g,H(M’),w,r’) = [(gu1yu2) mod p] mod q
Teste: v = r’ ?
03/14/08 Segurança - Edward Moreno - UNIVEM 84
Aplicações de Autenticação
• Kerberos
• Serviço de Autenticação X.509
• Correio Eletrônico Seguro (PGP,
S/MIME)
• Segurança na WEB
Segurança em Sistemas
• Virus
• Firewalls
• VPN
03/14/08 Segurança - Edward Moreno - UNIVEM 85
Bibliografia Básica
Este curso está baseado no material usado pelos Professores:

Baseado no Material do Prof. Ricardo Felipe Custódio


“Segurança na Internet e no Comércio Eletrônico”
Apresentado no Evento da UNESP, São José do Rio Preto, Set. 2002

Baseado no Material do Prof. Adilson Guelfi,


“Sistemas Criptográficos”,
apresentado no evento TELEXPO 2002.

03/14/08 Segurança - Edward Moreno - UNIVEM 86


Bibliografia
• Stallings, W illiam. Cryptography and Network Security:
Principles and Practice. Prentice Hall, 1999. 569p.
• Tanenbaum, Andrew S. Computers Networks. 3rd Edition,
New Jersey: Prentice Hall, 1996. 813p. Cap. 7: The
Application Layer, p.577-766.
• RSA Data Security, Inc. “Frequently Asked Questions
about Today’s Cryptography”. 1998. http://www.rsa.com.
• Soares, Luiz F. G.; Lemos, Guido; Colcher, Sérgio. Redes de
Computadores: Das LANs, MANs e W ANs às Redes ATM.
2ª Edição, Rio de Janeiro: Ed. Campus, 1995. 740p. Cap. 17:
Segurança em Redes de Computadores, p.447-488.
• Schneier, Bruce. Applied Cryptography: Protocols,
Algorithms, and Source Code in C. 2sd Edition, New York:
John W iley & Sons, 1996. 758p.

03/14/08 Segurança - Edward Moreno - UNIVEM 87

Anda mungkin juga menyukai