6 - segurança - criptografia

536 visualizações

Publicada em

6 - segurança - criptografia

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
536
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
30
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

6 - segurança - criptografia

  1. 1. Gerência de Redes de Computadores - Criptografia - Prof. André Peres andre.peres@poa.ifrs.edu.br
  2. 2. Sobre este material • Vídeos da apresentação em: http://youtu.be/hXT_nlHfArs Este trabalho está licenciado sob uma Licença Creative Commons Atribuição-NãoComercial-SemDerivações 4.0 Internacional. Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-nd/4.0/.
  3. 3. Criptografia • Definição: Arte ou ciência que trata de técnicas para tornar uma mensagem confusa, incompreensível para qualquer pessoa que não seja o destinatário da mesma
  4. 4. Criptografia • Esteganografia NÃO É CRIPTOGRAFIA • Arte de "esconder" uma mensagem • Segurança por obscuridade • Em computação utiliza: • imagens • vídeos • música • ...
  5. 5. Criptografia • Esteganografia NÃO É CRIPTOGRAFIA • exemplo: imagem original imagem com mensagem
  6. 6. Criptografia • Esteganografia NÃO É CRIPTOGRAFIA • software: steghide escondendo mensagem na imagem: steghide embed -ef msg.txt -cf igm_orig.jpg -sf img_steg.jpg separando imagem/mensagem steghide extract -sf imagem_steg.jpg
  7. 7. Criptografia • Funcionamento da criptografia • Cifragem → processo capaz de transformar um texto claro em um texto cifrado • Decifragem → processo capaz de transformar um texto cifrado no texto claro original
  8. 8. Criptografia • Criptografia na computação • Algoritmos de cifragem e decifragem • Chave para cifragem e chave para decifragem • Sobre as chaves • São o segredo que o atacante não pode possuir • Com tempo infinito, toda chave pode ser descoberta
  9. 9. Criptografia • Sistema de Criptografia
  10. 10. Criptografia • Premissa de Kerckhoffs • Atacante conhece tudo, menos a chave • Não existe obscuridade • Recurso x Tempo • O objetivo é proteger a informação de acordo com o seu “tempo de vida” • Todo criptosistema pode ser quebrado • Exceção: cifra de Vernam (one-time-pad)
  11. 11. Criptografia • Criptografia Simétrica • chave única para cifragem e decifragem • rápido • chave não pode ser exposta • problema de logística de chaves (transporte)
  12. 12. Criptografia Simétrica • Exemplo de algoritmo: deslocamento • Desloca-se o texto no alfabeto, de acordo com o valor da chave • Ex: chave K = 3 Texto claro: ATAQUE AS 10 HORAS Texto cifrado: DWDTXH DV 43 KRUDV • Quebra do processo: • Basta deslocar no alfabeto, até que a mensagem faça sentido • Software: CryptShift
  13. 13. Criptografia Simétrica • Exemplo de algoritmo: substituição • Cria-se um mapa das letras do alfabeto (o mapa é a chave) • Ex: A=C, B=X, C=W, D=R, … para todas as letras • Quebra do processo: • Utilização de análise probabilística da linguagem do texto original • Software:CryptSubst
  14. 14. Criptografia Simétrica • Exemplo de algoritmo: substituição • probabilidade de letras em textos escritos em português: A - 13,562 B - 1,023 C - 4,153 D - 4,590 E - 11,084 F - 1,161 G - 2,579 H - 0,455 I - 7,625 J - 0,132 K - 0,036 L - 3,944 M - 3,800 N - 5,853 O - 10,844 P - 3,022 Q - 0,509 R - 6,134 S - 7,762 T - 4,776 U - 5,338 V - 0,970 W - 0,006 X - 0,413 Y - 0,006 Z - 0,221
  15. 15. Criptografia Simétrica • Exemplo de algoritmo: Vigenere • Similar ao deslocamento, porém define-se uma chave que regra o deslocamento • Ex: Chave K = TESTE • Texto claro: ATAQUEASDEZHORAS • Aplicando a chave: TESTETESTETESTET • Texto cifrado: TXSJYXEKWISLGKEL • Quebra do processo: • Análise probabilística da linguagem do texto original + força bruta da chave • Software: CryptVigenere
  16. 16. Criptografia Simétrica • Exemplo de algoritmo: • operação XOR bit a bit entre mensagem e chave texto claro: 001100010101100 chave: texto cifrado: texto cifrado: chave: texto claro:
  17. 17. Criptografia Simétrica • Exemplo de algoritmo: • operação XOR bit a bit entre mensagem e chave texto claro: 001100010101100 chave: 101001001110010 texto cifrado: texto cifrado: chave: 101001001110010 texto claro: logística de chaves
  18. 18. Criptografia Simétrica • Exemplo de algoritmo: • operação XOR bit a bit entre mensagem e chave texto claro: 001100010101100 chave: 101001001110010 texto cifrado: 100101011011110 texto cifrado: chave: 101001001110010 texto claro: XOR A B A xor B 0 0 0 0 1 1 1 0 1 1 1 0
  19. 19. Criptografia Simétrica • Exemplo de algoritmo: • operação XOR bit a bit entre mensagem e chave texto claro: 001100010101100 chave: 101001001110010 texto cifrado: 100101011011110 texto cifrado: 100101011011110 chave: 101001001110010 texto claro: XOR A B A xor B 0 0 0 0 1 1 1 0 1 1 1 0
  20. 20. Criptografia Simétrica • Exemplo de algoritmo: • operação XOR bit a bit entre mensagem e chave texto claro: 001100010101100 chave: 101001001110010 texto cifrado: 100101011011110 texto cifrado: 100101011011110 chave: 101001001110010 texto claro: 001100010101100 XOR XOR A B A xor B 0 0 0 0 1 1 1 0 1 1 1 0
  21. 21. Criptografia Simétrica • Exemplo de algoritmo: • operação XOR bit a bit entre mensagem e chave texto claro: 001100010101100 chave: 101001001110010 texto cifrado: 100101011011110 texto cifrado: 100101011011110 chave: 101001001110010 texto claro: 001100010101100 XOR XOR A B A xor B 0 0 0 0 1 1 1 0 1 1 1 0 ? Visão do atacante: texto cifrado = 0 possibilidades: 50% 50% texto = 0 texto = 1 chave = 0 chave = 1 Visão do atacante: texto cifrado = 1 possibilidades: 50% 50% texto = 1 texto = 0 chave = 0 chave = 1
  22. 22. Criptografia Simétrica • Exemplo de algoritmo: • operação XOR bit a bit entre mensagem e chave • para cada 3 BITS → ex: 010 T: 000 C: 010 ----- 010 T: 001 C: 011 ----- 010 T: 010 C: 000 ----- 010 T: 011 C: 001 ----- 010 T: 100 C: 110 ----- 010 T: 101 C: 011 ----- 010 T: 110 C: 100 ----- 010 T: 111 C: 101 ----- 010
  23. 23. Criptografia Simétrica • Exemplo de algoritmo: • operação XOR bit a bit entre mensagem e chave • para cada 8 bits → qualquer 1 letra (byte) • para cada 24 bits → 3 letras • mesma probabilidade para as combinações: • ovo, alo, 123, uma, ??? • para cada 1Gb → qualquer combinação possível de 1 Gb • o atacante nunca saberá quando encontrou a chave correta !
  24. 24. Criptografia Simétrica • Exemplo de algoritmo: Possível ataque texto claro: 001100010101100 chave: 101001001110010 texto cifrado: 100101011011110 XOR A B A xor B 0 0 0 0 1 1 1 0 1 1 1 0
  25. 25. Criptografia Simétrica • Exemplo de algoritmo: Possível ataque texto claro: 001100010101100 chave: 101001001110010 texto cifrado: 100101011011110 XOR A B A xor B 0 0 0 0 1 1 1 0 1 1 1 0 Problemas: 1. Não se pode repetir a chave 2. A chave deve ter o mesmo tamanho da mensagem 3. Logística de chaves
  26. 26. Criptografia Simétrica • Exemplo de algoritmo: RC4 • utilização de XOR bit a bit • geração dinâmica da chave: • utiliza uma semente compartilhada • geração de chave via PRNG (pseudo-random number generator)
  27. 27. Criptografia Simétrica • Exemplo de algoritmo: RC4
  28. 28. Criptografia Simétrica • Exemplo de algoritmo: AES • Advanced Encryption Standard • substituto do DES (Data Encryption Standard) • concurso em 1997 oferecido pelo NIST • dados divididos em blocos de 128 bits • chaves de 128, 192 ou 256 bits • vencedor (definido em 2001): Rijndael
  29. 29. Criptografia Simétrica • Exemplo de algoritmo: AES
  30. 30. Criptografia Simétrica • Exemplo de algoritmo: AES fonte: http://blog.ultrassecreto.com/wp-content/uploads/2009/06/projetofinal.html
  31. 31. Criptografia Simétrica • Exemplo de algoritmo: AES fonte: http://blog.ultrassecreto.com/wp-content/uploads/2009/06/projetofinal.html D4
  32. 32. Criptografia Simétrica • Exemplo de algoritmo: AES fonte: http://blog.ultrassecreto.com/wp-content/uploads/2009/06/projetofinal.html Não rotaciona Rotaciona 1 Rotaciona 2 Rotaciona 3
  33. 33. • Exemplo de algoritmo: AES Criptografia Simétrica fonte: http://blog.ultrassecreto.com/wp-content/uploads/2009/06/projetofinal.html
  34. 34. • Exemplo de algoritmo: AES Criptografia Simétrica fonte: http://blog.ultrassecreto.com/wp-content/uploads/2009/06/projetofinal.html 04
  35. 35. • Exemplo de algoritmo: AES Criptografia Simétrica fonte: http://blog.ultrassecreto.com/wp-content/uploads/2009/06/projetofinal.html
  36. 36. • Exemplo de algoritmo: AES Criptografia Simétrica fonte: http://blog.ultrassecreto.com/wp-content/uploads/2009/06/projetofinal.html
  37. 37. • Exemplo de algoritmo: AES Criptografia Simétrica fonte: http://blog.ultrassecreto.com/wp-content/uploads/2009/06/projetofinal.html
  38. 38. • Exemplo de algoritmo: AES Criptografia Simétrica fonte: http://blog.ultrassecreto.com/wp-content/uploads/2009/06/projetofinal.html
  39. 39. • Exemplo de algoritmo: AES Criptografia Simétrica fonte: http://blog.ultrassecreto.com/wp-content/uploads/2009/06/projetofinal.html
  40. 40. • Exemplo de algoritmo: AES para entender melhor o algoritmo AES (e o algoritmo de expansão de chave) http://blog.ultrassecreto.com/wp-content/uploads/2009/06/projetofinal. html Criptografia Simétrica
  41. 41. • Funcionamento: • duas chaves: pública e privada • o que uma cifra somente a outra decifra • mais lento que criptografia simétrica • resolve o problema de logística de chaves Criptografia Assimétrica
  42. 42. • Funcionamento: Criptografia Assimétrica
  43. 43. • Funcionamento: • o atacante não possui a chave de decifragem (privada) • pode realizar um ataque à integridade da mensagem • mesmo sem saber o quê está alterando • garantir a integridade → HASH Criptografia Assimétrica
  44. 44. • Funcionamento: • utilizado para garantia de integridade • NÃO é criptografia ! • gera um resumo matemático de um conjunto de bytes de qualquer tamanho • não se consegue recuperar os bytes originais a partir do resumo • a alteração de 1 bit no conjunto original gera um resultado completamente diferente HASH
  45. 45. • Funcionamento: • alguns algoritmos: MD5, SHA, HAVAL, … • Exemplo de aplicação do HASH: • Mensagem: mensagem importante • MD5: c3cf69762ec58c0f1770944f223b665a • Após alteração: • Mensagem: mensagem importantE • MD5: 75f1db4702d947bfab14551f4485e599 HASH
  46. 46. • Funcionamento: Ao receber uma mensagem com cálculo de integridade (hash), o destinatário calcula novamente e verifica se houve alteração em trânsito HASH
  47. 47. • Exemplo de uso: senhas de usuários CADASTRO Uso de hash
  48. 48. • Exemplo de uso: senhas de usuários CONSULTA Uso de hash
  49. 49. • Utilização do par de chaves para assinatura: • Ao cifrar uma mensagem com a chave privada, todos podem validar a autenticidade do texto usando a chave pública • Não garante a confidencialidade, porém a autenticidade Assinatura Digital
  50. 50. • Confidencialidade, autenticidade e integridade Criptografia Assimétrica
  51. 51. • Criptografia Assimétrica + Simétrica: • Utilização da criptografia assimétrica (lenta) para troca de chaves simétricas (veloz) • A mensagem inicial trocada entre as pontas é a semente compartilhada para criação de um canal simétrico Criptografia Mista
  52. 52. • Criptografia Assimétrica + Simétrica: Criptografia Mista
  53. 53. • Ataque em criptografia de chave mista • A criação de chaves pública/privada é um processo simples • Qualquer pessoa pode criar um par de chaves com qualquer identificação • Um atacante pode gerar um par de chaves com o nome da instituição/empresa alvo • Quando o cliente requisita a chave, o atacante envia a chave falsa Man in the Middle
  54. 54. • Ataque em criptografia de chave mista • Após criar o canal simétrico com o cliente, o atacante cria um canal simétrico com o servidor • O atacante intercepta e decifra toda a comunicação entre cliente e servidor permanecendo no “meio do caminho” Man in the Middle
  55. 55. Man in the Middle
  56. 56. • Ataque em criptografia de chave mista • O cliente recebe as respostas DO BANCO • Pode efetuar todas as transações normalmente • Quais os problemas? • O cliente não verifica a autenticidade da chave do banco • O banco não verifica a autenticidade do cliente Man in the Middle
  57. 57. • PKI • É necessário validar se uma chave pública é autêntica • Para isso, cria-se uma entidade confiável • Autoridade certificadora (CA) • A CA assina as chaves públicas que reconhece, criando um certificado de autenticidade • Ao receber este certificado, assume-se que seja autêntico Infraestrutura de chaves públicas
  58. 58. • PKI • O navegador possui um conjunto de chaves públicas de entidades confiáveis (CAs) • As instituições submetem suas chaves públicas a uma destas entidades para geração de um certificado → chave pública ASSINADA • Sempre que recebe uma chave pública, verifica se foi assinada por uma CA Infraestrutura de chaves públicas
  59. 59. PKI
  60. 60. • PKI • A emissão de certificados por CAs é paga • Um certificado verisign: • Válido por 1 ano • Aprox. US$ 1500,00 • Nem todas as instituições tem interesse neste custo • Sem certificado, não tem como o browser identificar a validade da chave público → Vai emitir aviso ao usuário Infraestrutura de chaves públicas
  61. 61. • PKI Infraestrutura de chaves públicas
  62. 62. • PKI • O usuário deve decidir se aceita ou não a conexão • Para evitar este tipo de aviso, pode-se instalar o certificado não assinado no browser manualmente • … se o atacante possuir acesso à máquina alvo poderá instalar certificados falsos também... → nunca use máquinas nas quais não confia !!!! Infraestrutura de chaves públicas
  63. 63. • Exemplo de ataque MIM • computadores LENOVO a partir de setembro de 2014 • pré-instalado: Superfish VirtualDiscovery (spyware) • interceptação de tráfego de navegação para propaganda direcionada • computadores com certificado de CA root instalada (superfish) • MIM em conexões HTTPS • era apresentado o certificado da superfish para o navegador Superfish VirtualDiscovery
  64. 64. • Exemplo de ataque MIM • Sistemas afetados com o superfish (source: Facebook Security Research) Superfish VirtualDiscovery
  65. 65. • Implantação de PKI • Existe a possibilidade de se criar uma CA em uma empresa/instituição... • Cria-se então uma Infra-estrutura de Chaves Públicas (ICP ou PKI) • Implementação complexa • Necessário montar uma estrutura para garantia de funcionamento • Segurança da CA • Gerência de chaves (perda, expiração, ...) • Histórico de chaves • … Infraestrutura de chaves públicas
  66. 66. • Dados armazenados • Para garantir a confidencialidade de dados armazenados: • Utilização de sistemas criptográficos no local de armazenamento • Disco / partição / diretório • Mídias de backup • Bancos de dados • ... Uso de criptografia
  67. 67. • Dados em trânsito • Para garantir a confidencialidade de dados em trânsito: • Utilização de sistemas criptográficos nos serviços disponibilizados • HTTPS • POPS / IMAPS • VPN • ... Uso de criptografia
  68. 68. • Cuidados • Gerência de chaves • Dados cifrados, só podem ser decifrados por quem conhece a chave… • Esqueceu a chave • Funcionário demitido/indisponível • Existem casos de sequestro de dados utilizando cifragem • Existem formas de se ter uma “chave mestra” • Depende do sistema a ser utilizado Uso de criptografia

×