A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Criptografia e Segurança de Rede Capítulo 6 Quarta Edição por William Stallings Tradução: Carlos Daniel Abreu.

Apresentações semelhantes


Apresentação em tema: "Criptografia e Segurança de Rede Capítulo 6 Quarta Edição por William Stallings Tradução: Carlos Daniel Abreu."— Transcrição da apresentação:

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.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 DoyleThe Adventure of the Dancing Men, Sir Arthur Conan Doyle

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

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

5 DES triplo com duas chaves Deve-se usar 3 criptações Deve-se usar 3 criptações Afigura a necessidade de 3 chaves distintas Afigura a necessidade de 3 chaves distintas Mas pode usar 2 chaves com sequência Cript-Decript-Cript Mas pode usar 2 chaves com sequência Cript-Decript-Cript C = E K1 (D K2 (E K1 (P))) C = E K1 (D K2 (E K1 (P))) cript & decript equivalentes em segurança cript & decript equivalentes em segurança se K1=K2 então funciona com Simples DES se K1=K2 então funciona com Simples DES Padronizado em ANSI X9.17 & ISO8732 Padronizado em ANSI X9.17 & ISO8732 Nenhum ataque conhecido 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 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: Possui um tamanha de chave efetivo de 168 bits e é definido da seguinte maneira: C = E K3 (D K2 (E K1 (P))) C = E K3 (D K2 (E K1 (P))) Diversas aplicações na internet adotaram o 3DES com três chaves, incluindo PGP, S/MINE 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 Criptografia de cifra de bloco com tamanho do bloco fixo Ex.: DES usa blocos de 64-bit c/ chaves de 56-bit Ex.: DES usa blocos de 64-bit c/ chaves de 56-bit Precisa de alguma maneira para en/decript arbitrária quantidade de dados Precisa de alguma maneira para en/decript arbitrária quantidade de dados ANSI X modo de usar (agora FIPS 81) define 4 possíveis modos ANSI X modo de usar (agora FIPS 81) define 4 possíveis modos posteriormente 5 definições para AES & DES posteriormente 5 definições para AES & DES Tem modos de blocos e fluxo Tem modos de blocos e fluxo

8 Modo Eletronic Codebook Mensagem é quebrada em blocos independentes que são criptografados 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 é um valor que é substituído, como um codebook, por isso do nome. Cada bloco é codificado independentemente dos outros blocos Cada bloco é codificado independentemente dos outros blocos C i = DES K1 (P i ) Uso: ideal para transmissão segura de pequena quantidade de dados 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 Mensagens repetidas podem aparecer no criptograma Se alinhado com o bloco da mensagem Se alinhado com o bloco da mensagem Particularmente com os dados do gráfico Particularmente com os dados do gráfico Ou com mensagens que mudam muito pouco, que se tornam um problema de analise de code-book 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 Fraqueza é devido a blocos de mensagem criptografada serem independentes Utilização principal é o envio de alguns blocos de dados Utilização principal é o envio de alguns blocos de dados

11 Modo Cipher Block Chaining (CBC) Mensagem é quebrado em blocos Mensagem é quebrado em blocos Ligados juntos na operação de criptografia Ligados juntos na operação de criptografia Cada bloco da cifra anterior é encadeado com o bloco do texto atual, por isso o nome. 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 Usa o vetor inicial (IV) para iniciar o processo C i = DES K1 (P i XOR C i-1 ) C -1 = IV Uso: Confidencialidade, autenticação 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 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 Que não é tão grande quanto o tamanho do bloco da cifra também com conhecidos valores de não-dados (ex.: nulos) também com conhecidos valores de não-dados (ex.: nulos) Ou PAD último bloco juntamente com a contagem do tamanho do PAD Ou PAD último bloco juntamente com a contagem do tamanho do PAD ex. [ b1 b2 b ]ex. [ b1 b2 b ] significa ter 3 bytes de dados, então 5 bytes pad+contadorsignifica ter 3 bytes de dados, então 5 bytes pad+contador Isto pode requerer um bloco de entrada extra sobre a mensagem Isto pode requerer um bloco de entrada extra sobre a mensagem Existem outros, mais exóticos, que evitam a necessidade de um bloco extra 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 Um bloco de texto-cifrado depende de todos os blocos anteriores Qualquer mudança a um bloco afeta todos os blocos seguintes Qualquer mudança a um bloco afeta todos os blocos seguintes Precisa do Vetor de Inicialização (IV) Precisa do Vetor de Inicialização (IV) Precisa ser conhecido pelo emissor e receptor Precisa ser conhecido pelo emissor e receptor Se enviado limpo, atacantes podem mudar bits do primeiro bloco, e mudar o IV para compensar 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) Por isso IV tem que ser um valor fixo (como na EFTPOS) Ou ser enviado criptografado no ECB antes do resto da mensagem Ou ser enviado criptografado no ECB antes do resto da mensagem

15 Cipher FeedBack (CFB) Mensagem é tratada como um fluxo de bits Mensagem é tratada como um fluxo de bits Adicionada a saída da cifra de bloco Adicionada a saída da cifra de bloco Resultado é resposta para o próximo passo Resultado é resposta para o próximo passo Padrão permite qualquer número de bit (1,8, 64 ou 128 etc) para ser resposta 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 denotado CFB-1, CFB-8, CFB-64, CFB-128 etc Mais eficiente para usar todos os bits no bloco (64 ou 128) Mais eficiente para usar todos os bits no bloco (64 ou 128) C i = P i XOR DES K1 (C i-1 ) C -1 = IV Uso: criptografia de fluxo de dados, autenticação 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 Apropriado quando dados chegam em bits/bytes Mais comum modo de fluxo Mais comum modo de fluxo Limitação é necessário para parar enquanto encripta o bloco após todo n-bits Limitação é necessário para parar enquanto encripta o bloco após todo n-bits Note que a cifra de bloco é usada no modo de encriptação em ambos os finais Note que a cifra de bloco é usada no modo de encriptação em ambos os finais Erros propagam por muitos blocos depois do erro Erros propagam por muitos blocos depois do erro

18 Output FeedBack (OFB) Mensagem é tratada como um fluxo de bits Mensagem é tratada como um fluxo de bits Saída da cifra é adicionada a mensagem Saída da cifra é adicionada a mensagem Saída é então resposta (por isso o nome) Saída é então resposta (por isso o nome) Resposta é independente da mensagem Resposta é independente da mensagem Pode ser calculada antecipadamente Pode ser calculada antecipadamente C i = P i XOR O i O i = DES K1 (O i-1 ) O -1 = IV Uso: encriptação em fluxo de canal com ruídos 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 Bits com erros não se propagam Maior vulnerabilidade para modificação do fluxo de mensagens Maior vulnerabilidade para modificação do fluxo de mensagens Uma variação da cifra de Vernam Uma variação da cifra de Vernam Por isso deve-se nunca re-utilizar a mesma sequência (key+IV) Por isso deve-se nunca re-utilizar a mesma sequência (key+IV) emissor & receptor devem continuar em sincronia emissor & receptor devem continuar em sincronia Originalmente especificado com n-bit de resposta 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 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 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 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) Deve ter um valor diferente da chave & counter para cada bloco de texto (nunca re-utilizado) C i = P i XOR O i O i = DES K1 (i) Uso: criptografia em redes de alta velocidade Uso: criptografia em redes de alta velocidade

22 Counter (CTR)

23 Vantagens e Limitações do CTR Eficiência Eficiência Pode fazer criptografias paralelas em h/w ou s/w Pode fazer criptografias paralelas em h/w ou s/w Pode pré-processar em antecipação a necessidade Pode pré-processar em antecipação a necessidade Bom para bursty links de alta velocidade Bom para bursty links de alta velocidade Acesso randômico para encriptar blocos de dados Acesso randômico para encriptar blocos de dados Segurança provável (bom como os outro) 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) 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) Processa a mensagem bit a bit (como no fluxo) Tem um pseudo-aleatório fluxo de chave Tem um pseudo-aleatório fluxo de chave Combinando (XOR) com o fluxo de texto claro Combinando (XOR) com o fluxo de texto claro Aleatoriedade do fluxo de chave destrói completamente as propriedades estatísticas na mensagem Aleatoriedade do fluxo de chave destrói completamente as propriedades estatísticas na mensagem C i = M i XOR StreamKey i C i = M i XOR StreamKey i Mas nunca se deve re-utilizar o fluxo de chave Mas nunca se deve re-utilizar o fluxo de chave Senão pode-se recuperar a mensagem Senão pode-se recuperar a mensagem

25 Estrutura da cifra de fluxo

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

27 RC4 Uma cifra proprietária pertencente ao RSA DSI Uma cifra proprietária pertencente ao RSA DSI Outro design de Ron Rivest, simples mas eficiente Outro design de Ron Rivest, simples mas eficiente Tamanho da chave variável, cifra de fluxo de orientação de byte Tamanho da chave variável, cifra de fluxo de orientação de byte Amplamente utilizado (web SSL/TLS, wireless WEP) Amplamente utilizado (web SSL/TLS, wireless WEP) Chaves formam uma permutação randômica de todos os valores 8-bit 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 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: Começa com um vetor S de números: Usa a chave para boa e verdadeira mistura Usa a chave para boa e verdadeira mistura S forma state interno da cifra 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 Criptografia continua misturando valores do vetor A soma dos pares misturados seleciona o valor do fluxo da chave da permutação 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 XOR S[t] com o próximo byte da mensagem para en/decriptar i = j = 0 for each message byte M i i = (i + 1) (mod 256) j = (j + S[i]) (mod 256) swap(S[i], S[j]) t = (S[i] + S[j]) (mod 256) C i = M i XOR S[t]

30 RC4 Overview

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

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


Carregar ppt "Criptografia e Segurança de Rede Capítulo 6 Quarta Edição por William Stallings Tradução: Carlos Daniel Abreu."

Apresentações semelhantes


Anúncios Google