Você está na página 1de 52

Criptografia de Chave Pblica

O Problema da Distribuio de Chaves

Criptografia de Chave Pblica


Na criptografia simtrica, a mesma chave usada para encriptar e decriptar. Na criptografia assimtrica a chave utilizada para encriptar no usada para decriptar.

As chaves so significativamente diferentes: (Ke, Kd)


Abril de 2006 Criptografia de Chave Pblica 2

Criptografia de Chave Pblica


Elas so parceiras. Esto relacionadas entre si: Kd => Ke Ke /=> Kd

O relacionamento matemtico; o que uma chave encripta a outra decripta: C = E(ke, P) D(Kd, C) = P

Abril de 2006

Criptografia de Chave Pblica

Um exemplo de chave pblica

Abril de 2006

Criptografia de Chave Pblica

Um exemplo de chave privada

Abril de 2006

Criptografia de Chave Pblica

Criptografia de Chave Pblica

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

Criptografia de Chave Pblica

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

Criptografia de Chave Pblica

Criptografia de Chave Pblica

Essa chave conhecida como chave pblica (Ke).


E sua contraparte chamada chave privada (Kd).

Abril de 2006

Criptografia de Chave Pblica

Criptografia de Chave Pblica


Ento, cifra-se com a chave pblica e decripta-se com a chave privada. Apenas a chave privada parceira pode ser usada para decifrar a informao. A chave privada mantida em sigilo. O texto simples encriptado permanecer seguro.
Abril de 2006 Criptografia de Chave Pblica 9

Criptografando com Chave Pblica


Chave Pblica de Criptografia

Texto Simples Algoritmo Encriptador

Texto Cifrado

Abril de 2006

Criptografia de Chave Pblica

10

Decriptografando com Chave Privada


Chave Privada

Texto Cifrado Algoritmo de Decriptografia

Texto Simples

Abril de 2006

Criptografia de Chave Pblica

11

Criptografia de Chave Pblica

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

Criptografia de chave pblica

Possibilitam assinar mensagens sem a presena de uma terceira parte confivel.

Abril de 2006

Criptografia de Chave Pblica

13

Gerenciamento de chaves pblicas


Problema: Se Alice e Bob no se conhecem um ao outro, como eles iro obter as respectivas chaves pblicas para iniciar a comunicao entre eles ? Como Alice (Bob) pode ter certeza que est realmente obtendo a chave pblica de Bob (Alice) ?
Abril de 2006 Criptografia de Chave Pblica 14

Gerenciamento de chaves pblicas


A soluo bvia: Bob coloca sua chave pblica na sua pgina Web. No funciona !!! Suponha que Alice queira se comunicar com Bob.
Abril de 2006 Criptografia de Chave Pblica 15

Gerenciamento de chaves pblicas


Alice, ento, precisa pesquisar a chave pblica de Bob na pgina dele. Como ela far isso? Alice comea por digitar a URL de Bob, em seu navegador.
Abril de 2006 Criptografia de Chave Pblica 16

Gerenciamento de chaves pblicas

O navegador pesquisa o endereo DNS da pgina de Bob e envia ao site Web de Bob, uma solicitao HTTP-GET.

Abril de 2006

Criptografia de Chave Pblica

17

Gerenciamento de chaves pblicas

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

Criptografia de Chave Pblica

18

Gerenciamento de chaves pblicas

Quando Alice envia sua primeira mensagem criptografada, ser com ET (a chave pblica de Trudy).

Abril de 2006

Criptografia de Chave Pblica

19

Gerenciamento de chaves pblicas

Ento, necessrio um mecanismo apropriado para que se possa disponibilizar chaves ... ...
Servidor on-line na Internet ?

Abril de 2006

Criptografia de Chave Pblica

20

Gerenciamento de chaves pblicas

S que no pode existir apenas um servidor on-line ... rodando 24 horas na Internet ...

Abril de 2006

Criptografia de Chave Pblica

21

Gerenciamento de chaves pblicas

Dois problemas:
Escalabilidade Falha do servidor

Abril de 2006

Criptografia de Chave Pblica

22

Gerenciamento de chaves pblicas

Uma Soluo para escalabilidade e disponibilidade:


Replicao de servidores

Abril de 2006

Criptografia de Chave Pblica

23

Gerenciamento de chaves pblicas

Outra soluo: Uma Autoridade Certificadora !

Abril de 2006

Criptografia de Chave Pblica

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

Criptografando em Envelope Digital


Chave Pblica Chave Simtrica de Sesso Chave Simtrica de Sesso Criptografada

Texto Plano

Algoritmo de Chave Pblica

Texto Criptografado

Abril de 2006

Algoritmo de Chave Simtrica

Criptografia de Chave Pblica

28

Descriptografando o Envelope Digital


Chave Simtrica de Sesso Criptografada Chave Privada Chave Simtrica de Sesso

Texto Criptografado

Algoritmo de Chave Pblica

Texto Plano

Abril de 2006

Algoritmo de Chave Criptografia de Chave Pblica Simtrica

29

Vantagem do Envelope Digital

Ao invs do segredo ser compartilhado antecipadamente.


Segredo compartilhado, atravs da chave simtrica de sesso.

Abril de 2006

Criptografia de Chave Pblica

30

Vantagem do Envelope Digital

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

Algoritmos mais utilizados


Trs algoritmos so mais usados para resolver o problema da distribuio de chaves: - DH (Diffie-Hellman, 1976) (Stanford University) - RSA (Rivest, Shamir, Adleman) (M.I.T, 1978) - El Gamal (1985)

Abril de 2006

Criptografia de Chave Pblica

32

Algoritmos mais utilizados

- 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

Criptografia de Chave Pblica

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

Criptografia de Chave Pblica

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

Criptografia de Chave Pblica

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

Criptografia de Chave Pblica

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

Criptografia de Chave Pblica

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

Criptografia de Chave Pblica

39

Segurana do RSA

A segurana do mtodo baseada na dificuldade de se fatorar nmeros primos grandes.


Se um cripto-analista puder fatorar n, ele poderia ento descobrir p e q, e destes, z.
Abril de 2006 Criptografia de Chave Pblica 40

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

Criptografia de Chave Pblica

41

Segurana do RSA [Coulouris et al. 2005, p294-295]


[Rivest et al. 1978] concluiram que fatorar um nmero to grande quanto 10200 seria tomado mais de 4 bilhes de anos, com o melhor algoritmo conhecido e sobre um computador que realizasse 1 milho de instrues por segundo. Um clculo similar para os computadores de hoje, reduziria este tempo em torno de 1 milho de anos.
Abril de 2006 Criptografia de Chave Pblica 42

Segurana do RSA [Coulouris et al. 2005, p294-295]


RSA Corporation tem emitido uma srie de desafios para fatorar nmeros de mais de 100 dgitos decimais. Nmeros de at 174 dgitos decimais (576 bits) tm sido fatorados, e assim o uso do algoritmo RSA com chaves de 512 bits inaceitvel para muitos propsitos.
Abril de 2006 Criptografia de Chave Pblica 43

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

Segurana do RSA [Coulouris et al. 2005, p294-295]


Chaves de 1024 bits so utilizadas. Chaves to grandes quanto 2048 bits so usadas em algumas aplicaes. Os algoritmos de fatorao usados so os melhores disponveis. Algoritmos criptogrficos assimtricos que usam multiplicao de nmeros primos como funo de uma via estaro vulnerveis quando um algoritmo de fatorao mais rpido for descoberto.
Abril de 2006 Criptografia de Chave Pblica 45

RSA e Envelope Digital

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

Criptografia de Chave Pblica

46

Outros algoritmos de chave pblica

(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

Segurana Tamanhos de Chave Desempenho Tamanho de transmisso Interoperabilidade

Abril de 2006

Criptografia de Chave Pblica

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

Criptografia de Chave Pblica

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