Redes de Computadores II

          Parte II
Sumário
Criptografia
  Conceitos
  Aplicação
  Chave Simétrica
  Chave Pública
  Algoritmos
      Cifrário Monoalfabético
...
Criptografia- Conceitos
• Criptografia é o estudo das técnicas matemáticas
  relacionadas aos aspectos da Segurança da
  I...
Segurança em Redes
  Criptografia
Embora a criptografia tenha uma longa história que remonta, no mínimo, a
Júlio César (ci...
Segurança em Redes
 Criptografia
 As técnicas criptográficas permitem que um remetente
disfarce os dados de modo que um in...
Segurança em Redes
 Criptografia
Suponha agora que Alice queira enviar uma mensagem a
Bob. A mensagem de Alice em seu mode...
Segurança em Redes
 Criptografia
Evidentemente, se todos conhecem o método para
codificar os dados, então deve haver algum...
Segurança em Redes
 Chave Simétrica e Chave Pública
Nos denominados sistemas de chaves
simétricas, as chaves de Bob e Alic...
Segurança em Redes
 Chave Simétrica
Todos os algoritmos criptográficos envolvem a
substituição de um dado por outro, como,...
Segurança em Redes
 Chave Simétrica
Vocabulário termos comuns:
  Criptografia (kriptós = escondido, oculto; grápho = grafi...
Segurança em Redes
 Chave Simétrica – Cifra de César
A cifra de César funciona tomando cada letra da
mensagem do texto abe...
Segurança em Redes
 Chave Simétrica – Cifra de César
No cifrário de César o valor de k serve de
chave.
Por exemplo, a mens...
Segurança em Redes
  Chave Simétrica – Cifra Monoalfabética
Um aprimoramento da cifra de César é a denominada
cifra monoal...
Segurança em Redes
  Chave Simétrica – Cifra Monoalfabética
A mensagem do texto aberto "bob, i love you. alice. " se torma...
Segurança em Redes
  Chave Simétrica – D E S
DES (data encryption standard — padrão para criptografia de dados)

É um padr...
Segurança em Redes
  Chave Simétrica – D E S - Operação
A operação básica do DES é ilustrada na Figura a seguir.

DES cons...
Segurança em Redes
  Chave Simétrica – D E S - Operação
Até que ponto o DES funciona? Até que ponto ele é seguro? Ninguém ...
Segurança em Redes
 Chave Pública
O uso da criptografia de chaves públicas é bastante simples. Suponha
que Alice queira se...
Segurança em Redes
 Chave Pública
Com duas chaves, não precisamos ficar presos a uma "troca" para o
processo de decodifica...
Segurança em Redes
 Chave Pública
Usando a notação da figura, para qualquer mensagem m,
dg(eg(m)) = m, isto é, aplicando a...
Segurança em Redes
 Chave Pública - RSA
Em 1978 foi criado o algoritmo RSA (dos nomes
dos seus autores Rivest, Shamir e Ad...
Segurança em Redes
 Chave Pública - RSA
O RSA é basicamente o resultado de dois cálculos matemáticos.
Um para cifrar e out...
Segurança em Redes
 Chave Pública - RSA
Para tanto vale lembrar que “M” é a mensagem
que queremos cifrar (plaintext), “C” ...
Segurança em Redes
   Chave Pública - RSA
Para gerar a chave precisamos de algumas coisas:
  1. Selecionar dois números pr...
Segurança em Redes
    Chave Pública - RSA
Vejamos um exemplo:
1. p = 3 e q = 11
2. n = 3 * 11, logo n = 33
3. øn (3-1) (1...
Segurança em Redes
   Chave Pública - RSA
5. Calculamos “e” de forma que (e . 7) mod 20 = 1
    e = 1 => (1.7) = 7 mod 20 ...
Segurança em Redes
  Chave Pública - RSA
Lembrando que neste caso e, d e n tem menos de 26, então temos
apenas 6 bits.

Se...
Segurança em Redes
    Chave Pública - RSA
E para decifrar:
     M = Cd mod n
     M = 147 mod 33
     M = 105.413.504 mod...
Segurança em Redes
    Assinatura Digital - Autenticidade
Assinatura Digital
A criptografia por chaves assimétricas vale p...
Redes ii p2
Próximos SlideShares
Carregando em…5
×

Redes ii p2

1.743 visualizações

Publicada em

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.743
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
59
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Redes ii p2

  1. 1. Redes de Computadores II Parte II
  2. 2. Sumário Criptografia Conceitos Aplicação Chave Simétrica Chave Pública Algoritmos Cifrário Monoalfabético DES RSA VPN Conceitos Aplicação
  3. 3. Criptografia- Conceitos • Criptografia é o estudo das técnicas matemáticas relacionadas aos aspectos da Segurança da Informação como Sigilo, Integridade de Dados, Autenticação de origem • O estudo da criptografia consiste de um número de primitivas (Tarefas Básicas e Algoritmos) que podem ser combinadas para prover um completo nível de serviços para segurança da Informação
  4. 4. Segurança em Redes Criptografia Embora a criptografia tenha uma longa história que remonta, no mínimo, a Júlio César (cifrário de César), as modernas técnicas de criptografia, incluindo muitas das usadas na Internet de hoje, são baseadas em progressos feitos nos últimos 30 anos. O livro de Kahn The codebreakers [Kahn, 1967] nos oferece um fascinante panorama dessa longa história. [Kaufman, 1995] apresenta uma Discussão técnica detalhada (mas interessante e de fácil leitura) sobre criptografia, sobretudo do ponto de vista da rede. [Diffie, 1998] fornece uma análise atraente e atualizada das questões políticas e sociais (a respeito, por exemplo, da privacidade) que hoje estão inextricavelmente entrelaçadas com a criptografia. Uma discussão completa sobre a criptografia exige um livro inteiro [Kaufman, 1995; Schneier, 1995]; Portanto, apenas trataremos de seus aspectos essenciais, em particular do modo como as técnicas criptográficas são postas em prática na Internet de hoje. Dois excelentes sites são [Kessier, 1998] e a página de perguntas e respostas mais freqüentes (FAQ) do RSA Labs [RSA FAQ, 1999].
  5. 5. Segurança em Redes Criptografia As técnicas criptográficas permitem que um remetente disfarce os dados de modo que um intruso não consiga obter nenhuma informação com base nos dados interceptados. O destinatário, é claro, deve estar habilitado a recuperar os dados originais a partir dos dados criptografados.
  6. 6. Segurança em Redes Criptografia Suponha agora que Alice queira enviar uma mensagem a Bob. A mensagem de Alice em seu modelo original (por exemplo, "Bob, I Love you. Alice") é conhecida como texto aberto ou texto claro. Alice criptografa sua mensagem em texto aberto usando um algoritmo de criptografia, de modo que a mensagem criptografada, conhecida como texto cifrado, pareça ininteligível para qualquer intruso. O interessante é que em muitos sistemas criptográficos modernos, incluindo os usados na Internet, a técnica de codificação é conhecida — publicada, padronizada, ] e disponível para qualquer um, mesmo para um intruso em potencial!
  7. 7. Segurança em Redes Criptografia Evidentemente, se todos conhecem o método para codificar os dados, então deve haver algum pedaço de informação secreta que impede que um intruso decifre os dados transmitidos. É aqui que entra o segredo da chave. Na Figura anterior, Alice fornece uma chave, KA, uma cadeia de números ou de caracteres como entrada para o algoritmo de criptografia. O algoritmo de criptografia pega essa chave KA e o texto aberto como entrada e produz o texto cifrado como saída. De maneira semelhante, Bob fornecerá uma chave KB ao algoritmo de decriptografia que pega o texto cifrado e a chave KB de Bob como entrada e produz o texto original como saída.
  8. 8. Segurança em Redes Chave Simétrica e Chave Pública Nos denominados sistemas de chaves simétricas, as chaves de Bob e Alice são idênticas e secretas. Nos sistemas de chaves públicas, é usado um par de chaves. Uma das chaves é conhecida por Bob e por Alice (na verdade é conhecida pelo mundo inteiro). A outra chave é somente conhecida por Bob ou por Alice (mas não por ambos). Nas duas subseções seguintes, veremos em detalhes os sistemas de chaves simétricas e de chaves públicas.
  9. 9. Segurança em Redes Chave Simétrica Todos os algoritmos criptográficos envolvem a substituição de um dado por outro, como, por exemplo, tomar um trecho de um texto e então, calculando e substituindo esse texto por outro cifrado, criando uma mensagem cifrada. Antes de examinarmos o sistema criptográfico moderno baseado em chaves, vamos abordar um velho algoritmo de chaves simétricas muito simples — atribuído a Júlio César — conhecido como cifra de César (uma cifra é um método para criptografar dados).
  10. 10. Segurança em Redes Chave Simétrica Vocabulário termos comuns: Criptografia (kriptós = escondido, oculto; grápho = grafia) : é a arte ou ciência de escrever em cifra ou em códigos, de forma a permitir que somente o destinatário a decifre e a compreenda. Criptoanálise (kriptós = escondido, oculto; análysis = decomposição) : é a arte ou ciência de determinar a chave ou decifrar mensagens sem conhecer a chave. Uma tentativa de criptoanálise é chamada ataque. Criptologia (kriptós = escondido, oculto; logo = estudo, ciência) : é a ciência que reúne a criptografia e a criptoanálise. Cifrar – codificar ou criptografar uma mensagem Decifrar – oposto ao acima Cifrário – Técnica específica para codificar ou decodificar mensagens
  11. 11. Segurança em Redes Chave Simétrica – Cifra de César A cifra de César funciona tomando cada letra da mensagem do texto aberto e a substituindo pela k-ésima letra sucessiva do alfabeto (permitindo a alternância das letras do alfabeto, isto é, a letra 'z' seria seguida novamente da letra 'a'). Por exemplo, se k = 3, então a letra 'a' do texto aberto fica sendo 'd' no texto cifrado; 'b' no texto aberto se transforma em 'e' no texto cifrado, e assim por diante. alfabeto puro: a b c d e f g h i j k l m n o p q r s t u v x y w z alfabeto Cesar: D E F G H I J K L M N O P Q R S T U V X Y Z A B C D
  12. 12. Segurança em Redes Chave Simétrica – Cifra de César No cifrário de César o valor de k serve de chave. Por exemplo, a mensagem "bob, I Love you alice." se toma "ere, l oryh brx. dolfh." em texto cifrado. Embora o texto cifrado realmente pareça não ter nexo, você não levaria muito tempo para quebrar o código se soubesse que foi usada a cifra de César, pois há somente 25 valores possíveis para as chaves.
  13. 13. Segurança em Redes Chave Simétrica – Cifra Monoalfabética Um aprimoramento da cifra de César é a denominada cifra monoalfabética, que também substitui uma letra do alfabeto por outra. Contudo, em vez de substituir as letras seguindo um padrão regular (por exemplo, substituição por um deslocamento de k para todas as letras), qualquer letra pode ser substituída por qualquer outra, contanto que cada letra tenha uma letra substituta exclusiva e vice- versa. A regra de substituição apresentada abaixo mostra uma regra possível para codificar textos abertos: alfabeto puro: a b c d e f g h i j k l m n o p q r s t u v x y w z Monoalfabético: m n b v c x z a s d f g h j k l p o i u y t r w e q
  14. 14. Segurança em Redes Chave Simétrica – Cifra Monoalfabética A mensagem do texto aberto "bob, i love you. alice. " se torma "nkn , s gktc wky. mgsbc." Como aconteceu no caso da cifra de César, o texto parece sem nexo. A cifra monoalfabética também parece ser melhor que a cifra de César, pois há 26! (1O26) possíveis pares de letras, em vez de 25 pares possíveis! Usar a 'força bruta' para experimentar 1O26 pares demandaria um esforço demasiadamente grande e impediria que esse fosse um método exeqüível para quebrar o algoritmo criptográfico e decodificar a mensagem. Contudo, fazendo-se a análise estatística do texto aberto, por exemplo, e sabendo quais letras e grupos de letras são mais freqüentes nos textos do idioma em questão, toma-se relativamente fácil quebrar esse código. Se o intruso tiver algum conhecimento sobre o possível texto da mensagem, então ficará mais fácil ainda quebrar o código. Por exemplo, se a intrusa Trudy for a esposa de Bob e suspeitar que ele está tendo um caso com Alice, ela poderá imaginar que os nomes 'bob' e 'alice' aparecem no texto.
  15. 15. Segurança em Redes Chave Simétrica – D E S DES (data encryption standard — padrão para criptografia de dados) É um padrão de criptografia de chaves simétricas desenvovido em 1977 e atualizado mais recentemente em 1993 pelo U.S. National Bureau of Standards para uso comercial e não confidencial do governo norte-americano. O DES codifica o texto aberto em porções de 64 bits usando uma chave de 64 bits. Na verdade, oito desses 64 bits da chave são bits de paridade ímpar (há um bit de paridade para cada um dos 8 bits), de modo que a chave DÊS tem efetivamente 56 bits de comprimento. O National Institute of Standards (sucessor do National Bureau of Standards) assim estabelece o objetivo do DÊS: "O objetivo é embaralhar completamente os dados e a chave, de modo que todos os bits do texto cifrado dependam de todos os bits de dados e de todos os bits da chave (...) com um bom algoritmo, não deverá haver nenhuma correlação entre o texto cifrado e os dados originais e a chave"
  16. 16. Segurança em Redes Chave Simétrica – D E S - Operação A operação básica do DES é ilustrada na Figura a seguir. DES consiste em dois estágios de permutação (o primeiro e o último passo do algoritmo), nos quais todos os 64 bits são-permutados, havendo 16 'rodadas' idênticas de operação entre eles. Estas rodadas ocorrem da seguinte forma: 1- A operação de cada rodada é idêntica e toma a saída de dados da rodada anterior como entrada. 2- Durante cada rodada, os 32 bits da extrema direita da entrada são deslocados para os 32 bits da esquerda da saída. 3- Toda a entrada de 64 bits até a i-ésima rodada e a chave de 48 bits para a i-ésima rodada (derivada da chave DES maior de 56 bits) são tomadas como entrada para uma função OU exclusivo com a chave Ki de 48 bits 4- A saída de 32 bits resultante da função é então usada como os 32 bits da extrema direita da saída de 64 bits da rodada, como mostra a Figura. Obs.: A decriptografia funciona pela reversão das operações dos algoritmos.
  17. 17. Segurança em Redes Chave Simétrica – D E S - Operação Até que ponto o DES funciona? Até que ponto ele é seguro? Ninguém pode ter certeza a RSA Data Security Inc., lançou um desafio (DES Challenge) para 'quebrar' (decodificar) uma frase curta que tinha sido criptografada usando o DES de 56 bits. A frase "Strong cryptography makes the world a safer place." (a boa criptografia faz do mundo um lugar mais seguro) foi decodificada em menos de quatro meses por uma equipe que usou voluntários por toda a Internet para explorar sistematicamente o espaço de chaves. DES Challenge III que aconteceu em 1999, foi vencido no tempo recorde de pouco mais de 22 horas por uma rede de voluntários e um computador especialmente construído para a ocasião, que custou menos de 250 mil dólares (apelidado de 'Deep Crack') e está documentado na Internet Se o DES de 56 bits for considerado muito inseguro, pode-se simplesmente rodar o algoritmo de 56 bits múltiplas vezes, tomando a saída de 64 bits de uma iteração do DÊS como entrada para a iteração DÊS seguinte e usando uma chave criptográfica diferente para cada rodada. Por exemplo, o chamado DÊS triplo (3DES), um padrão proposto pelo governo norte-americano [Nist, 1999b], é o padrão de criptografia para o PPP [RFC 2420] para a camada de enlace
  18. 18. Segurança em Redes Chave Pública O uso da criptografia de chaves públicas é bastante simples. Suponha que Alice queira se comunicar com Bob. Ao invés de Bob e Alice compartilharem uma única chave secreta (como no caso dos sistemas de chaves simétricas), Bob (o destinatário das mensagens de Alice) tem duas chaves — uma chave pública, que está à disposição do mundo todo (inclusive à disposição de Trudy, a intrusa), e uma chave privada, que apenas ele (Bob) conhece. Para se comunicar com Bob, Alice busca primeiramente a chave pública de Bob. Em seguida, ela criptografa sua mensagem usando a chave pública de Bob e um algoritmo criptográfico conhecido Bob recebe a mensagem criptografada de Alice e usa sua chave privada e um algoritmo de decriptografia conhecido para decifrar a mensagem de Alice. Dessa maneira, Alice pode enviar uma mensagem secreta a Bob sem que nenhum deles tenha de permutar alguma chave secreta!
  19. 19. Segurança em Redes Chave Pública Com duas chaves, não precisamos ficar presos a uma "troca" para o processo de decodificação. Cada um poderá possuir sua chave pública e sua chave privada. Como o próprio nome já diz, a chave privada é de conhecimento único e exclusivo seu. Já a pública deve estar disponível a quem quiser lhe enviar informações encriptadas. Como a encriptação/decriptação depende das duas chaves, se você quiser, por exemplo, enviar uma mensagem criptografada, deve encriptá-la com a nossa chave pública. Como dito anteriormente, a única chave que decripta esta mensagem é o par da chave pública, ou seja, nossa chave privada! Presto! Somente nós conseguiremos ler a mensagem (desde que nossa chave privada seja mantida em um lugar seguro). Continuando nosso exemplo, caso nós queiramos mandar uma mensagem criptografada para você, nós primeiro consiguimos uma cópia da SUA chave pública e a uso na encriptação. Somente sua chave privada poderá decriptar esta mensagem, e mesmo que a mensagem tenha sido interceptada, não passará de um conjunto de caracteres malucos...
  20. 20. Segurança em Redes Chave Pública Usando a notação da figura, para qualquer mensagem m, dg(eg(m)) = m, isto é, aplicando a chave pública de Bob, eg, e em seguida a chave privada de Bob, dg, à mensagem m, recuperamos m. Veremos em breve que podemos permutar as chaves criptográficas pública e privada e obter o mesmo resultado, isto é, e^d^m)) = dg(eg(m)) = m.
  21. 21. Segurança em Redes Chave Pública - RSA Em 1978 foi criado o algoritmo RSA (dos nomes dos seus autores Rivest, Shamir e Adleman), que até o momento é a forma mais usada de criptografia assimétrica. Mas foi apenas nos anos 90 que seu uso se tornou amplo em comunicação entre desconhecidos, como em transações seguras na Internet, e no correio eletrônico seguro. Estas aplicações requerem a intermediação de "cartórios eletrônicos", como aqueles operados pelas empresas Verisign ou Certisign, esta última brasileira, responsáveis pela certificação dos donos das chaves públicas.
  22. 22. Segurança em Redes Chave Pública - RSA O RSA é basicamente o resultado de dois cálculos matemáticos. Um para cifrar e outro para decifrar. O RSA usa duas chaves criptográficas, uma chave pública e uma privada. No caso da criptografia assimétrica tradicional, a chave pública é usada para criptografar a mensagem e a chave privada é usada para decriptografar a mensagem. A segurança desse método se baseia na dificuldade da fatoração de números inteiros extensos. Em 1977, os criadores do RSA achavam que uma chave de 200 bits requereriam 1015 anos, porém chaves com 155 bits foram atacadas em menos de 8 meses. A saída é que na medida que os algoritmos se tornem melhores e os computadores se tornem mais velozes, maiores serão as chaves. Atualmente chaves com 300 dígitos (1000 bits) nos dão uma tranqüilidade por algum tempo. Em níveis críticos, chaves com 2000 bits começam a ser usadas.
  23. 23. Segurança em Redes Chave Pública - RSA Para tanto vale lembrar que “M” é a mensagem que queremos cifrar (plaintext), “C” é a mensagem cifrada, “e” é a chave pública, “d” é a chave privada e “n” é um número que é calculado e que todos sabem (público). Criptografar: C = Me mod n Decriptografar: M = Cd mod n
  24. 24. Segurança em Redes Chave Pública - RSA Para gerar a chave precisamos de algumas coisas: 1. Selecionar dois números primos p e q grandes (geralmente maior que10100) 2. Calcule o valor de n = p . q 3. Calcule øn= (p-1) (q-1) 4. Selecione um inteiro “d” relativamente primo à øn 5. Calculamos “e” de forma: (e . d) mod øn = 1
  25. 25. Segurança em Redes Chave Pública - RSA Vejamos um exemplo: 1. p = 3 e q = 11 2. n = 3 * 11, logo n = 33 3. øn (3-1) (11-1), portanto øn =20 4. d é um inteiro relativamente primo à øn mdc(d, øn)=1, e atende 1 < d < øn , assim d = 7 (Chave Privada) (9, 11, 13, 15, 17 e 19 seriam outras opções) (não seria possível 5 já que 5 vezes 4 = øn que é (20))
  26. 26. Segurança em Redes Chave Pública - RSA 5. Calculamos “e” de forma que (e . 7) mod 20 = 1 e = 1 => (1.7) = 7 mod 20 ≠ 1 => falso e = 2 => (2.7) = 14 mod 20 ≠ 1 => falso e = 3 => (3.7) = 21 mod 20 = 1 => verdadeiro (outros múltiplos de 3 seriam possíveis (6,9,12, etc)). Portanto teríamos Chave Pública = {3, 33} e Chave Privada = {7, 33}.
  27. 27. Segurança em Redes Chave Pública - RSA Lembrando que neste caso e, d e n tem menos de 26, então temos apenas 6 bits. Se tivéssemos um texto com o número 20, uma mensagem cifrada seria: C = Me mod n C = 203 mod 33 C = 8000 mod 33 C = 14
  28. 28. Segurança em Redes Chave Pública - RSA E para decifrar: M = Cd mod n M = 147 mod 33 M = 105.413.504 mod 33 M = 20 “Para calcular o módulo dividir na calculadora o valor dejado pelo módulo, pegar o resto e multiplicar pelo módulo.”
  29. 29. Segurança em Redes Assinatura Digital - Autenticidade Assinatura Digital A criptografia por chaves assimétricas vale para ambos os lados: Pública » Privada e Privada » Pública. Vamos supor que nós ciframos uma mensagem com a nossa chave PRIVADA! Qual é a única chave capaz de decriptá-la? “A chave PÚBLICA". O que aparentemente não é muita vantagem, pois todos têm acesso à nossa chave pública e poderão ler a mensagem. Mas... Aí está! Realmente, todos os que possuírem nossa chave pública poderão ler nossa mensagem, mas também é verdadeiro que, se foi possível decifrar com nossa chave pública, é porque ela foi cifrada com nossa chave privada! Como as únicas pessoas que sabem a nossa chave privada somos nós, está assegurada a nossa identidade como autores daquela mensagem.

×