Professional Documents
Culture Documents
O relacionamento matemtico; o que uma chave encripta a outra decripta: C = E(ke, P) D(Kd, C) = P
Abril de 2006
Abril de 2006
Abril de 2006
possvel criar uma algoritmo criptogrfico no qual uma chave encripta (Ke) e uma outra decripta (Kd): D( Kd, E(ke, P) ) = P Ento, pode-se provar que: D( Kd, E(ke, P) ) = P
Abril de 2006 Criptografia de Chave Pblica 6
Porque ambas as chaves so necessrias para cifrar e decifrar a informao, uma delas pode se tornar pblica sem pr a segurana em perigo.
Abril de 2006
Abril de 2006
Texto Cifrado
Abril de 2006
10
Texto Simples
Abril de 2006
11
A criptografia de chave pblica torna possvel a comunicao segura entre pessoas, sem precisar do compartilhamento de uma chave comum.
Chaves pblicas so distribudas entre as pessoas, as quais guardam em segredo suas chaves privadas correspondentes.
Abril de 2006 Criptografia de Chave Pblica 12
Abril de 2006
13
O navegador pesquisa o endereo DNS da pgina de Bob e envia ao site Web de Bob, uma solicitao HTTP-GET.
Abril de 2006
17
Infelizmente, suponha que Trudy intercepta a solicitao GET e responde a Alice com uma pgina falsa, fazendo a substituio da chave pblica de Bob pela chave pblica dela.
Abril de 2006
18
Quando Alice envia sua primeira mensagem criptografada, ser com ET (a chave pblica de Trudy).
Abril de 2006
19
Ento, necessrio um mecanismo apropriado para que se possa disponibilizar chaves ... ...
Servidor on-line na Internet ?
Abril de 2006
20
S que no pode existir apenas um servidor on-line ... rodando 24 horas na Internet ...
Abril de 2006
21
Dois problemas:
Escalabilidade Falha do servidor
Abril de 2006
22
Abril de 2006
23
Abril de 2006
24
Desempenho
Para informao em grande quantidade, Algoritmos de chave pblica so lentos. (20Kb a 200Kb) por segundo. Muito lento para processamento de dados em volume.
Algoritmos de chave simtrica podem encriptar informao em grande quantidade bem mais rapidamente. (10Mb, 20Mb, 50 Mb ou mais) por segundo.
Abril de 2006 Criptografia de Chave Pblica 25
Desempenho
Mas, encriptar 128 bits (tamanho provvel de uma chave simtrica), no leva tanto tempo.
Soluo: usar a combinao de criptografia de chave simtrica e de chave pblica.
Abril de 2006 Criptografia de Chave Pblica 26
Envelope Digital
Processo usado para criptografar informao em grande quantidade utilizando a criptografia de chave simtrica e criptografando a chave simtrica de sesso com um algoritmo de chave pblica.
Abril de 2006 Criptografia de Chave Pblica 27
Texto Plano
Texto Criptografado
Abril de 2006
28
Texto Criptografado
Texto Plano
Abril de 2006
29
Abril de 2006
30
Manter uma chave separada para cada pessoa, mas agora a chave pblica que no precisa estar protegida.
No preciso armazenar as prprias chaves pblicas. Diretrios de chaves pblicas podem estar disponveis.
Abril de 2006 Criptografia de Chave Pblica 31
Abril de 2006
32
- Ramo da matemtica (Elliptic Curve, 1985) (Neal Koblitz-University of Washington, Victor Miller- Watson Research Center IBM)
ECDH (Elliptic Curve Diffie-Hellman, final anos 90)
Abril de 2006 Criptografia de Chave Pblica 33
O algoritmo RSA
Baseado em alguns princpios da Teoria dos Nmeros. Sumrio do algoritmo: 1. Escolher dois nmeros primos grandes, p e q (tipicamente maiores que 10100). Um PRNG escolhe p; Teste de Fermat localiza q.
Abril de 2006
34
O algoritmo RSA
2. Compute n = p.q donde n > 10200 (n) = z = (p-1).(q-1) funo de Euler 3.Escolher um nmero relativamente primo a z e cham-lo de d (isto , tal que d no tenha fatores primos comuns com z). 4. Encontre e tal que e.d = 1 mod z
Abril de 2006
35
O algoritmo RSA
5. Dividir o texto plano (considerado como uma string de bits) em blocos, de modo que cada mensagem do texto plano P (bloco) caia no intervalo 0 <= P < n.
Abril de 2006
36
O algoritmo RSA
Isto pode ser feito agrupando-se o texto plano dentro de blocos iguais de k bits, onde k o maior inteiro para o qual 2k < n. Em aplicaes prticas k varia de 512 a 1024 bits.
Abril de 2006
37
O algoritmo RSA
6. Para encriptar um mensagem P, compute a funo E(e,n,P) = C = Pe mod n. Para decriptar, compute a funo D(d,n,C) = P = Cd mod n Pode ser provado que para todo P, essas funes so inversas: E(D(x)) = D(E(x)) = x
Abril de 2006
38
O algoritmo RSA
Para encriptar precisamos de e e n. Para decriptar precisamos de d e n. Assim, a chave pblica consiste do par (e,n) e a chave privada do par (d,n).
Abril de 2006
39
Segurana do RSA
Segurana do RSA e DH
O problema de fatorao e o problema de log discreto esto relacionados. Resolvendo um deles, ambos so resolvidos. Com o RSA encontramos dois primos de 512 bits e os multiplicamos para obter um mdulo de 1024 bits.
Abril de 2006
41
Segurana do RSA [Coulouris et al. 2005, p294-295] RSA Corporation (que retm a patente do algoritmo RSA) recomenda um comprimento de chave de ao menos 768 bits (em torno de 230 dgitos decimais), por um perodo de segurana a longo-prazo de aproximadamente 20 anos.
Abril de 2006 Criptografia de Chave Pblica 44
Pode-se usar o RSA para criptografar dados diferentes do que uma chave de sesso, como no processo do envelope digital, mas o RSA no to rpido quanto os algoritmos simtricos.
Abril de 2006
46
(Merkle, Hellman, 1978), Knapsack Algorithm (Rabin, 1979) El Gamal (1985) Schnort (1991) (Menezes, Vanstone, 1993)
Abril de 2006 Criptografia de Chave Pblica 47
Comparando os algoritmos
Abril de 2006
48
Segurana do Algoritmo
RSA est baseado no problema da fatorao. Diffie-Hellman (DH) est baseado no problema do log discreto. ECDH (ECC) est baseado, tambm, no problema do log discreto. No se pode afirmar, atualmente qual o algoritmo mais seguro
Abril de 2006 Criptografia de Chave Pblica 49
Tamanho de Chave
Quanto maior a chave, maior o nvel de segurana, e consequentemente menor a velocidade de execuo.
O algoritmo de chave pblica deve utilizar um tamanho de chave ao menos duas vezes mais longo que o da chave simtrica, independentemente do desempenho, por razo de segurana.
Abril de 2006 Criptografia de Chave Pblica 50
Desempenho
Diz respeito a rapidez com que o algoritmo executado. O algoritmo mais adequado depende do que mais importante a chave pblica ou as operaes de chave privada para um aplicativo utilizando o algoritmo.
Abril de 2006
51
Interoperabilidade
Escolher o algoritmo que todo mundo tem. (DES, Triple DES ou AES); (RC4 ou RC5) podem no satisfazer interoperabilidade. RSA quase onipresente e tornou-se o padro de fato.
Abril de 2006 Criptografia de Chave Pblica 52