1 / 32

Criptografia e Segurança de Rede Capítulo 6

Criptografia e Segurança de Rede Capítulo 6. Quarta Edição por William Stallings Tradução: Carlos Daniel Abreu. Capítulo 6 – Mais sobre cifras simétricas.

dyan
Download Presentation

Criptografia e Segurança de Rede Capítulo 6

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 e Segurança de Rede Capítulo 6 Quarta Edição por William Stallings Tradução: Carlos Daniel Abreu

  2. Capítulo 6 – Mais sobre cifras simétricas “Estou familiarizado com todas as formas de escritas secretas, sendo eu mesmo o autor de uma monografia superficial sobre o assunto, em que analiso 160 cifras diferentes" disse Holmes. —The Adventure of the Dancing Men, Sir Arthur Conan Doyle

  3. Criptografia Múltipla & DES Triplo • Era necessário substituir o DES • Vulnerável a ataques por força bruta • E também a ataques cripto-analíticos • AES é uma alternativa para isto • Outra opção é usar a criptografia múltipla com DES e chaves múltiplas • DES triplo foi a forma escolhida

  4. DES Duplo • Pode-se usar 2DES em cada bloco • C = EK2(EK1(P)) • Redução a um único estágio • Ataque “meet-in-the-middle” • Funciona em qualquer cifra de criptografia de bloco • Desde que X = EK1(P) = DK2(C) • Criptografe P para todos os valores possíveis de K1 • Então decriptografe C usando todos os valores possíveis de K2 • Pode mostrar O(256) passos

  5. DES triplo com duaschaves • Deve-se usar 3 criptações • Afigura a necessidade de 3 chaves distintas • Mas pode usar 2 chaves com sequênciaCript-Decript-Cript • C = EK1(DK2(EK1(P))) • cript & decript equivalentes em segurança • se K1=K2 então funciona com Simples DES • Padronizado em ANSI X9.17 & ISO8732 • Nenhum ataque conhecido

  6. DES triplo com três chaves • Embora não tem ataques para duas chaves o DES triplo tem suas indicações • Possui um tamanha de chave efetivo de 168 bits e é definido da seguinte maneira: • C = EK3(DK2(EK1(P))) • Diversas aplicações na internet adotaram o 3DES com três chaves, incluindo PGP, S/MINE

  7. Modos de operação de cifra de bloco • Criptografia de cifra de bloco com tamanho do bloco fixo • Ex.: DES usa blocos de 64-bit c/ chaves de 56-bit • Precisa de alguma maneira para en/decript arbitrária quantidade de dados • ANSI X3.106-1983 modo de usar (agora FIPS 81)define 4 possíveis modos • posteriormente 5 definições para AES & DES • Tem modos de blocos e fluxo

  8. ModoEletronic Codebook • Mensagem é quebrada em blocos independentes que são criptografados • Cada bloco é um valor que é substituído, como um codebook, por isso do nome. • Cada bloco é codificado independentemente dos outros blocos Ci = DESK1(Pi) • Uso: ideal para transmissão segura de pequena quantidade de dados

  9. Electronic Codebook Book (ECB)

  10. Vantagens e Limitações do ECB • Mensagens repetidas podem aparecer no criptograma • Se alinhado com o bloco da mensagem • Particularmente com os dados do gráfico • Ou com mensagens que mudam muito pouco, que se tornam um problema de analise de code-book • Fraqueza é devido a blocos de mensagem criptografada serem independentes • Utilização principal é o envio de alguns blocos de dados

  11. Modo Cipher Block Chaining (CBC) • Mensagem é quebrado em blocos • Ligados juntos na operação de criptografia • Cada bloco da cifra anterior é encadeado com o bloco do texto atual, por isso o nome. • Usa o vetor inicial (IV) para iniciar o processo Ci = DESK1(Pi XOR Ci-1) C-1 = IV • Uso: Confidencialidade, autenticação

  12. Cipher Block Chaining (CBC)

  13. Message Padding • No final da mensagem tem de lidar com um possível curto último bloco • Que não é tão grande quanto o tamanho do bloco da cifra • também com conhecidos valores de não-dados (ex.: nulos) • Ou PAD último bloco juntamente com a contagem do tamanho do PAD • ex. [ b1 b2 b3 0 0 0 0 5] • significa ter 3 bytes de dados, então 5 bytes pad+contador • Isto pode requerer um bloco de entrada extra sobre a mensagem • Existem outros, mais exóticos, que evitam a necessidade de um bloco extra

  14. Vantagens e Limitações do CBC • Um bloco de texto-cifrado depende de todos os blocos anteriores • Qualquer mudança a um bloco afeta todos os blocos seguintes • Precisa do Vetor de Inicialização (IV) • Precisa ser conhecido pelo emissor e receptor • Se enviado limpo, atacantes podem mudar bits do primeiro bloco, e mudar o IV para compensar • Por isso IV tem que ser um valor fixo (como na EFTPOS) • Ou ser enviado criptografado no ECB antes do resto da mensagem

  15. Cipher FeedBack (CFB) • Mensagem é tratada como um fluxo de bits • Adicionada a saída da cifra de bloco • Resultado é resposta para o próximo passo • Padrão permite qualquer número de bit (1,8, 64 ou 128 etc) para ser resposta • denotado CFB-1, CFB-8, CFB-64, CFB-128 etc • Mais eficiente para usar todos os bits no bloco (64 ou 128) Ci = Pi XOR DESK1(Ci-1) C-1 = IV • Uso: criptografia de fluxo de dados, autenticação

  16. Cipher FeedBack (CFB)

  17. Vantagens e Limitações da CFB • Apropriado quando dados chegam em bits/bytes • Mais comum modo de fluxo • Limitação é necessário para pararenquanto encripta o bloco após todo n-bits • Note que a cifra de bloco é usada no modo de encriptação em ambos os finais • Erros propagam por muitos blocos depois do erro

  18. Output FeedBack (OFB) • Mensagem é tratada como um fluxo de bits • Saída da cifra é adicionada a mensagem • Saída é então resposta (por isso o nome) • Resposta é independente da mensagem • Pode ser calculada antecipadamente Ci = Pi XOR Oi Oi = DESK1(Oi-1) O-1 = IV • Uso: encriptação em fluxo de canal com ruídos

  19. Output FeedBack (OFB)

  20. Vantagens e Limitações do OFB • Bits com erros não se propagam • Maior vulnerabilidade para modificação do fluxo de mensagens • Uma variação da cifra de Vernam • Por isso deve-se nunca re-utilizar a mesma sequência (key+IV) • emissor & receptor devem continuar em sincronia • Originalmente especificado com n-bit de resposta • Pesquisas posteriores tem mostrado que somente resposta de bloco inteiro (Ex.: CFB-64 ou CFB-128) deveria ser usado

  21. Modo Counter (CTR) • Um “novo” modo, apesar de proposto a mais tempo • Similar ao OFB mas encripta o valor counter ao invés de qualquer valor de resposta • Deve ter um valor diferente da chave & counter para cada bloco de texto (nunca re-utilizado) Ci = Pi XOR Oi Oi = DESK1(i) • Uso: criptografia em redes de alta velocidade

  22. Counter (CTR)

  23. Vantagens e Limitações do CTR • Eficiência • Pode fazer criptografias paralelas em h/w ou s/w • Pode pré-processar em antecipação a necessidade • Bom para bursty links de alta velocidade • Acesso randômico para encriptar blocos de dados • Segurança provável (bom como os outro) • Mas deve-se certificar-se de nunca re-utilizar os valores da chave/counter, senão pode quebrá-lo (cf OFB)

  24. Cifras de fluxo • Processa a mensagem bit a bit (como no fluxo) • Tem um pseudo-aleatório fluxo de chave • Combinando (XOR) com o fluxo de texto claro • Aleatoriedade do fluxo de chave destrói completamente as propriedades estatísticas na mensagem • Ci = Mi XOR StreamKeyi • Mas nunca se deve re-utilizar o fluxo de chave • Senão pode-se recuperar a mensagem

  25. Estruturadacifra de fluxo

  26. Propriedadesdacifra de Fluxo • Algumas considerações de design são: • Longo período sem repetições • Estatisticamente randômico • Depende de uma chave grande o bastante • Grande complexidade linear • Devidamente implementado, pode ser tão seguro quanto uma cifra de bloco com a chave do mesmo tamanho • Porém mais simples & rápido

  27. RC4 • Uma cifra proprietária pertencente ao RSA DSI • Outro design de Ron Rivest , simples mas eficiente • Tamanho da chave variável, cifra de fluxo de orientação de byte • Amplamente utilizado (web SSL/TLS, wireless WEP) • Chaves formam uma permutação randômica de todos os valores 8-bit • Que usa a permutação para misturar as informações de entrada processando um byte por vez

  28. RC4 - Cronograma da chave • Começa com um vetor S de números: 0..255 • Usa a chave para boa e verdadeira mistura • S forma state interno da cifra for i = 0 to 255 do S[i] = i T[i] = K[i mod keylen]) j = 0 for i = 0 to 255 do j = (j + S[i] + T[i]) (mod 256) swap (S[i], S[j])

  29. RC4 Criptografia • Criptografia continua misturando valores do vetor • A soma dos pares misturados seleciona o valor do “fluxo da chave” da permutação • XOR S[t] com o próximo byte da mensagem para en/decriptar i = j = 0 for each message byte Mi i = (i + 1) (mod 256) j = (j + S[i]) (mod 256) swap(S[i], S[j]) t = (S[i] + S[j]) (mod 256) Ci = Mi XOR S[t]

  30. RC4 Overview

  31. RC4 Segurança • Alegou segurança contra ataques conhecidos • Tem algumas análises, nenhuma prática • Resultado é muito não-linear • Desde RC4 é uma cifra de fluxo, deve-se nunca re-utilizar a chave • Tem uma preocupação com a chave WEP, mas devido a manipulação em vez do próprio RC4

  32. Sumário • DES triplo • Modos de operação • ECB, CBC, CFB, OFB, CTR • Cifras de fluxo • RC4

More Related