1 / 75

Criptografia de Chave Pública

Criptografia de Chave Pública. O Problema da Distribuição de Chaves. Problema da Distribuição de Chaves.

varuna
Download Presentation

Criptografia de Chave Pública

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Criptografia de Chave Pública O Problema da Distribuição de Chaves

  2. Problema da Distribuição de Chaves • A criptografia de chave simétrica pode manter seguros seus segredos (chave e informação), mas se precisar compartilhar informações secretas com outras pessoas deve-se também compartilhar as chaves que são secretas. • Como duas ou mais pessoas podem, de maneira segura, enviar as chaves por meio de linhas inseguras ? Criptografia de Chave Pública

  3. Compartilhando chaves antecipadamente Criptografia de Chave Pública

  4. Problemas com esse esquema Criptografia de Chave Pública

  5. Utilizando um terceiro confiável Criptografia de Chave Pública

  6. Problemas com esse esquema Criptografia de Chave Pública

  7. Criptografia de Chave Pública • Na criptografia simétrica, a mesma chave é usada para encriptar e decriptar. • Na criptografia assimétrica a chave utilizada para encriptar não é usada para decriptar. • As chaves são significativamente diferentes: (Ke, Kd) Criptografia de Chave Pública

  8. Criptografia de Chave Pública • Elas são parceiras. Estão relacionadas entre si: Kd=> KeKe ? =>? Kd • O relacionamento é matemático; o que uma chave encripta a outra decripta: C = E(ke, P) D(Kd, C) = P • É possível criar uma algoritmo criptográfico no qual uma chave encripta (Ke) e uma outra decripta (Kd): D( Kd, E(ke, P) ) = P Criptografia de Chave Pública

  9. Criptografia de Chave Pública • Se a função E(ke, P) realiza uma operação, tal como exponenciação sobre P. • E a função D( Kd,C)é similar, e a exponenciação usa módulo aritmético: • Então, pode-se provar que: D( Kd, E(ke, P) ) = P Criptografia de Chave Pública

  10. Criptografia de Chave Pública • Porque ambas as chaves são necessárias para cifrar e decifrar a informação, uma delas pode se tornar pública sem pôr a segurança em perigo. • Essa chave é conhecida como chave pública (Ke). • E sua contraparte é chamada chave privada (Kd). Criptografia de Chave Pública

  11. Criptografia de Chave Pública • Então, encripta-se com a chave pública e decripta-se com a chave privada. • Apenas a chave privada parceira pode ser usada para decriptar a informação. • A chave privada é mantida em sigilo. O texto simples encriptado permanecerá seguro. Criptografia de Chave Pública

  12. Criptografando com Chave Pública Chave Pública de Criptografia Texto Simples Texto Cifrado Algoritmo Encriptador Criptografia de Chave Pública

  13. Decriptografando com Chave Privada Chave Privada Texto Cifrado Texto Simples Algoritmo de Decriptografia Criptografia de Chave Pública

  14. Como funciona a criptografia simétrica • Compartilhamento de uma chave comum. • Todos têm que manter a chave comum em segredo. • É possível ? Criptografia de Chave Pública

  15. Como funciona a criptografia de chave pública • A criptografia de chave pública torna possível a comunicação segura entre pessoas, sem precisar do compartilhamento de uma chave comum. • Chaves públicas são distribuídas entre as pessoas, as quais guardam em segredo suas chaves privadas correspondentes. Criptografia de Chave Pública

  16. Como funciona a criptografia de chave pública • Possibilitam assinar mensagens sem a presença de uma terceira parte confiável. • Os resumos de mensagens assinados permitem verificar com facilidade a integridadede mensagens recebidas. Criptografia de Chave Pública

  17. Gerenciamento de chaves públicas • Problema:Se Alice e Bob não se conhecem um ao outro, como eles irão obter as respectivas chaves públicas para iniciar a comunicação entre eles ? • Como Alice (Bob) pode ter certeza que está realmente obtendo a chave pública de Bob (Alice) ? Criptografia de Chave Pública

  18. Gerenciamento de chaves públicas • A solução óbvia: Bob coloca sua chave pública na sua página Web. • Não funciona !!! • Suponha que Alice queira se comunicar com Bob. Criptografia de Chave Pública

  19. Gerenciamento de chaves públicas • Alice, então, precisa pesquisar a chave pública de Bob na página dele. • Como ela fará isso? • Alice começa por digitar a URL de Bob, em seu navegador. Criptografia de Chave Pública

  20. Gerenciamento de chaves públicas • O navegador pesquisa o endereço DNS da página de Bob e envia ao site Web de Bob, uma solicitação HTTP-GET. • Infelizmente, suponha que Trudy intercepta a solicitação GET e responde a Alice com uma página falsa, fazendo a substituição da chave pública de Bob pela chave pública dela. Criptografia de Chave Pública

  21. Gerenciamento de chaves públicas • Quando Alice envia sua primeira mensagem criptografada, será com ET (a chave pública de Trudy). Criptografia de Chave Pública

  22. Gerenciamento de chaves públicas Criptografia de Chave Pública

  23. Gerenciamento de chaves públicas Criptografia de Chave Pública

  24. Desempenho • Para informação em grande quantidade, Algoritmos de chave públicasão lentos. (20Kb a 200Kb) por segundo.Muito lento para processamento de dados em volume. • Algoritmos de chave simétrica podem encriptar informação em grande quantidade bem mais rapidamente. (10Mb, 20Mb, 50 Mb ou mais) por segundo. Criptografia de Chave Pública

  25. Desempenho • Mas, encriptar 128 bits (tamanho provável de uma chave simétrica), não leva tanto tempo. • Solução: usar a combinação de criptografia de chave simétrica e de chave pública. Criptografia de Chave Pública

  26. Envelope Digital • Processo usado para criptografar informação emgrande quantidade • utilizando a criptografia de chave simétrica e • criptografando a chave simétrica de sessão com um algoritmo de chave pública. Criptografia de Chave Pública

  27. Criptografando em Envelope Digital Chave Simétrica de Sessão Criptografada Chave Pública Chave Simétrica de Sessão Algoritmo de Chave Pública Texto Criptografado Texto Plano Algoritmo de Chave Simétrica Criptografia de Chave Pública

  28. Descriptografando o Envelope Digital Chave Simétrica de Sessão Criptografada Chave Privada Chave Simétrica de Sessão Algoritmo de Chave Pública Texto Plano Texto Criptografado Algoritmo de Chave Simétrica Criptografia de Chave Pública

  29. Vantagem do Envelope Digital • Ao invés do segredo ser compartilhado antecipadamente. • Segredo compartilhado, através da chave simétrica de sessão. • Manter uma chave separada para cada pessoa, mas agora é a chave pública que não precisa estar protegida. • Não é preciso armazenar as próprias chaves públicas. Diretórios de chaves públicas podem estar disponíveis. Criptografia de Chave Pública

  30. Questões sobre a segurança • Exemplo do email usando envelope digital. Pao-Chi ---> Gwen Satomi pode interceptar o email. Criptografia de Chave Pública

  31. Quebrando um algoritmo de chave pública Criptografia de Chave Pública

  32. Notas Históricas Criptografia de Chave Pública

  33. Como funciona a criptografia de chave pública Criptografia de Chave Pública

  34. Quem inventou a Criptografia de Chave Pública Criptografia de Chave Pública

  35. Algoritmos mais utilizados • Três algoritmos são mais usados para resolver o problema da distribuição de chaves: - DH (Diffie-Hellman, 1976) (Stanford University) - RSA (Rivest, Shamir, Adleman) (M.I.T, 1978)- Ramo da matemática (Elliptic Curve, 1985) (Neal Koblitz-University of Washington, Victor Miller- Watson Research Center IBM) ECDH (Elliptic Curve Diffie-Hellman, final anos 90) Criptografia de Chave Pública

  36. Estabelecendo uma Chave Compartilhada • Diffie-Hellman, 1976 • Acordo de chave Diffie-Hellman • Resolve problema de distribuição de chave simétrica, criando uma chave compartilhada. • É preciso encriptar uma chave simétrica de sessão para criar o envelope digital. Criptografia de Chave Pública

  37. Acordo de chave Diffie-Hellman • Usa-se para tal, a criptografia de chave pública, para criar o envelope digital. • É utilizada a tecnologia de chave pública para gerar a chave de sessão simétrica. Criptografia de Chave Pública

  38. Acordo de Chave Diffie-Hellman • Alice e Bob têm que concordar sobre dois grandes números: - p (um número primo) - g (um número pseudo-aleatório)onde (p-1)/2 é também um primo e certas condições se aplicam a g. Criptografia de Chave Pública

  39. Acordo de Diffie-Hellman • p é um número primo gerado a partir de um PRNG, sendo verificado se é primo pelo Teste de Fermat. • g é um número gerado por um PRNG, que se relaciona bem com o valor de p. Criptografia de Chave Pública

  40. Acordo de Diffie-Hellman • Estes números podem ser públicos, assim, qualquer uma das partes pode escolher p e g e dizer ao outro abertamente. • Seja Alice gerar, por um PRNG, um número grande (digamos 512 bits), chamado x. Ela guarda x como secreto. • Alice temagora (p, x) que define a chave privada em DH, como em RSA. Criptografia de Chave Pública

  41. Acordo de Diffie-Hellman • Alice calcula y = gx mod p .Alice tem, então, um expoente privadox. • Alice inicia o protocolo do acordo de chave enviando a Bob uma mensagem contendo (p, g, y) . • y é um valor transmitido, portanto, público. Criptografia de Chave Pública

  42. Acordo de Diffie-Hellman • Bob tem agora um número grande gx mod p (512 bits) definindoa tripla(p, g, gx mod p) a qual é transmitida para Bob, como a chave pública DH de Alice. • Bob escolhe um número y secreto. • Bob responde enviando a Alice uma mensagem contendo (gy mod p) . Criptografia de Chave Pública

  43. Acordo de Diffie-Hellman • Alice calcula (gy mod p)x • Bob calcula (gx mod p)y • Pela lei da aritmética modular, ambos os cálculos resultam em gxy mod p . • Alice e Bob, agora compartilham uma chave secreta: gxy mod p Criptografia de Chave Pública

  44. Acordo de Diffie-Hellman Bob escolhe ysecreto Alice escolhe p, g públicos e x secreto gx mod p (p,x) chave privada ALICE BOB chave pública (p, g, gx mod p) gy mod p Bob calcula(gx mod p)y= gxy mod p Alice calcula(gy mod p)x= gxy mod p Criptografia de Chave Pública

  45. Acordo de Chaves Diffie-Hellman • O algoritmo não criptografa os dados. • Duas partes geram o mesmo segredo e então utilizam para ser uma chave de sessão para uso em um algoritmo simétrico, ou seja, gxy mod p) . • Este procedimento é chamado Acordo de Chave. Criptografia de Chave Pública

  46. O acordo de Diffie-Hellman • Dificuldade de quebra do algoritmo: Trudy conhece g e p. Se ela pudesse descobrir x e y, ela descobriria a chave secreta.O problema é que dado (gx mod p)e(gy mod p),ela não pode descobrir x nem y. Nenhum algoritmo é conhecido paracomputar o módulo de logaritmo discreto de um número primo muito grande. Criptografia de Chave Pública

  47. O algoritmo RSA • Baseado em alguns princípios da Teoria dos Números. • Sumário do algoritmo: 1. Escolher dois números primos grandes, p e q (tipicamente maiores que 10100). Um PRNG escolhe p; Teste de Fermat localiza q. Criptografia de Chave Pública

  48. O algoritmo RSA 2. Compute n = p.q donde n > 10200Ø(n) = z = (p-1).(q-1) função de Euler 3.Escolher um número relativamente primoaz e chamá-lo de d (isto é, tal que dnão tenha fatores primos comuns com z). 4. Encontre e tal que e.d = 1 mod z Criptografia de Chave Pública

  49. O algoritmo RSA 5.Dividirotexto 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. Criptografia de Chave Pública

  50. 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 aplicações práticas k varia de 512 a 1024 bits. Criptografia de Chave Pública

More Related