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

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

Segurança em Redes Aula 4

Apresentações semelhantes


Apresentação em tema: "Segurança em Redes Aula 4"— Transcrição da apresentação:

1 Segurança em Redes Aula 4
Luiz Fernando Rust INMETRO Tel. (021)

2 Criptografia Convencional
CriptoAnálise Linear Diferencial Timming Analysis Power Analysis Differential Fault analysis IDEA AES

3 Criptoanálise Linear Ataque de texto-limpo conhecido
H. Heys, A tutorial on Linear and Differential Cryptamalysis Idéia básica Aproxima S-boxes por funções lineares (ou afins) Exclusive-or “soma” de bits de entrada u e bits de saída  Para u e  aleatórios probabilidade da expressão ser satisfeita é ½ Dado uma Probabilidade Linear pL (expressão linear ser satisfeita), define-se desvio (bias) como pL - 1/2 Quanto maior o desvio ( І pL - ½ І ), melhor a aplicabilidade da criptoanálise linear com menos textos conhecidos Achar expressões que tenham alta ou baixa probabilidade de serem satisfeitas (alto desvio)

4 Codificador S- Boxes

5 Mapeando um S-box Exemplo:
X2 Å X3 Å y1 Å y3 Å y4 = 0 ou X2 Å X3 = y1 Å y3 Å y4 Aplicando os 16 possíveis valores de X e examinando os valores de Y, verifica-se sucesso em 12 dos16 casos o desvio de probabilidade é 12/16 –1/2

6 Generalizando mapeamento no S-box
Entrada (horizontal) Saída (vertical) Valor representa o desvio (número de acertos – 8) * 16

7 Aproximação linear para o codificador inteiro
Apenas para os 3 primeiros rounds

8 Piling-UP Desvio

9 Extração dos bits da chave
Aplicando Piling-UP Com probabilidade 15/32 e desvio = 1/32 Processo envolve decodificação parcial do último round Testar todos os valores de subchaves possíveis Exemplo 10000 amostras (texto claro/texto cifrado) Fazer ou-exclusivo do texto cifrado com a subchave em teste Resultado é aplicado na função reversa do S-box Valor é comparado com a função linear aplicada no texto claro Se igual incrementa o contador da subchave Valor correto da chave é aquele que tiver maior desvio Desvio = І contador – 5000 І / 10000

10 Chave do exemplo anterior

11 Criptoanálise Diferencial
Desenvolvida em 1990 por Eli Biham e Adi Shamir Ataque de texto limpo escolhido Compara o comportamento do texto cifrado para blocos com diferenças pré-determinadas Analisa as diferenças no processamento das Sboxes do último round de forma a determinar a chave utilizada nesse round Os bits restantes da chave (8) podem ser obtidos por força bruta

12 Round no DES (função F) Propriedades importantes

13 Princípios No projeto das S-boxes existiu a preocupação de garantir que é produzida uma saída aleatória face a uma entrada aleatória Porém, a diferença dos resultados de uma S-box para pares de entradas com uma diferença determinada não é mais aleatória Exemplo para S-1 Frequência da diferença dos resultados nos pares de entrada com diferença 01 (64 possíveis pares) comportamento está longe de ser aleatório muitas das possibilidades de resultado estão excluidas (0,1,2,4,8) maior probabilidade de ocorrer certos resultados

14 Tabela de distribuição de S1 - Probabilidade de saída

15 Exemplo Pode-se determinar também as entradas e as saídas
Exemplo: Diferença de entrada = 34

16 Como achar K? Dado S1E = 1 e S1E* = 35
Pela tabela verificamos que existem 8 formas de mapear 34 com D Pela construção da tabela determinamos que K X tem de ser 06, 10, 16, 1C, 22, 24, 28, 32.

17 Como achar K? Repetindo o mesmo raciocínio para S1E = 21 e S1E* = 15
Pela tabela verificamos que existem 6 formas de mapear 34 com 3 Pela construção da tabela determinamos que K X tem de ser 01, 02, 15, 21, 35, 36 Chave (K) Determinada pela intersecção dos conjuntos de possibilidades 17 ou 23

18 Ataque n-rounds A cripto-análise diferencial baseia-se no conhecimento das diferenças na entrada/saída das S-boxes... As diferenças nas entradas da S-box do último round são diretamente calculadas dos criptogramas disponíveis Já as diferenças na saída terão de ser calculadas com base em estimativas Motivo pelo qual a viabilidade da criptoanálise diferencial é fortemente influenciada pelo número de rounds ...para 3 rounds é possível conduzir uma análise determinística Para mais do que isso é necessário uma abordagem probabilística que aumenta muito o número de pares texto limpo/criptograma a analisar e complica substancialmente o ataque

19 Ataque n-rounds Gerar características diferenciais até o penúltimo round Fazer decodificação parcial do último round Testar todos os valores de subchaves possíveis Exemplo Tabela de distribuição do codificador do tutorial de H. Heys, (A tutorial on Linear and Differential Cryptamalysis(

20 Características Diferenciais
Usando

21 Extração dos bits da chave
Conactenando S-boxes Com probabilidade Processo envolve decodificação parcial do último round Testar todos os valores de subchaves possíveis Exemplo 5000 amostras (texto claro/texto cifrado) Fazer ou-exclusivo do par de textos cifrados com a subchave em teste Resultado é aplicado na função reversa do S-box Valor é comparado com as diferenças obtidas para cada par de textos claros correspondente Se igual incrementa o contador da subchave Valor correto da chave é aquele que tiver maior valor no contador prob = contador / 5000

22 Chave do exemplo anterior

23 Resumo de resultados da Criptoanálise diferencial

24 Outras Técnicas de Criptoanálise
Muitas técnicas de cripto-análise não atacam diretamente o algoritmo criptográfico mas procuram retirar informação do “ambiente” onde este é executado Power analysis Timming analysis Differential fault analysis Estas técnicas não são, de forma alguma, específicas do DES Algumas são até particularmente adequadas para atacar cifras assimétricas

25 Timming Analysis Analisa tempos de execução das operações criptográficas de forma a retirar informação sobre os parâmetros do algoritmo Particularmente efetiva para algoritmos assimétricos, onde as operações são fortemente dependentes dos dados (e.g. Exponenciação modular) Cuidados especiais nas implementações dificultam ataques (e.g. dummy code; randomized delays; etc.)

26 Power Analysis Retira informação dos parâmetros dos algoritmos por análise do consumo de energia Execuções condicionais Escalonamento das chaves Permutações Divergência do relógio no ciclo 6 indica execução condicional...

27 Differential Fault analysis
Comparam a execução do algoritmo com uma onde são induzidos erros na sua execução Induz-se um erro num dos bits do último round Por analise diferencial, determina-se chave do round Restantes bits por força bruta... Vocacionada para atacar dispositivos “tamper proof” (e.g. Smartcards)

28 International Data Encryption Algorithm (IDEA)
Criado em 1991 por James Massey e Xuejia Lai Possui patente da suíça ASCOM Systec Estruturado seguindo as mesmas linhas gerais do DES também é um cifrador de bloco iterativo, com um bloco de tamanho igual a 64 bits e um tamanho de chave de 128 bits Possui apenas 8 iterações (DES possui 16) Cada iteração IDEA funciona como se fosse uma dupla iteração DES Na maioria dos microprocessadores, uma implementação por software do IDEA é mais rápida do que uma implementação por software do DES Considerado um dos mais seguros codificadores atuais Usado no PGP IDEA - O International Data Encryption Algorithm  foi criado em 1991 por James Massey e Xuejia Lai e possui patente da suíça ASCOM Systec. O algoritmo é estruturado seguindo as mesmas linhas gerais do DES. Mas na maioria dos microprocessadores, uma implementação por software do IDEA é mais rápida do que uma implementação por software do DES. O IDEA é utilizado principalmente no mercado financeiro e no PGP, o programa para criptografia de pessoal mais disseminado no mundo. RC28 -Projetado por Ron Rivest (o R da empresa RSA Data Security Inc.) e utilizado no protocolo S/MIME, voltado para criptografia de corporativo. Também possui chave de tamanho variável. Rivest também é o autor do RC4, RC5 e RC6, este último concorrente ao AES.

29 IDEA Texto pleno organizado em blocos de 64 bits
Confusão e difusão são gerados por grupos algébricos XOR Adição mod (216) Multiplicação mod ( ) – também visto com S-boxes Todas as operações incidem em blocos de 16 bits Blocos de dados são divididos em 4 blocos de 16 bits Utiliza 8 rodadas e cada rodada tem 14 passos

30 IDEA - Rodadas Exceto para a última rodada, swap Y2 e Y3
Depois da última rodada (oitava):

31 IDEA: Interações .

32 IDEA – Geração de chaves
Usa um total de 52 subchaves 6 em cada uma das 8 rodadas e 4 na operação de saída Chave original K é dividida em 8 subchaves de 16 bits 6 primeiras são usadas no primeiro round As duas restantes ficam para o segundo round Desloca chave 25 bits para esquerda e divide novamente em 8 subchaves Usa as quatro primeiras para completar as chaves do segundo round As quatro restantes ficam para o terceiro round Assim sucessivamente....

33 IDEA considerações Velocidade Criptoanálise
Implementações atuais rodam duas vezes mais rápidas que o DES Criptoanálise Ataque de força bruta necessita 2128 Parece ser imune a ataques diferenciais (pouco estudo ainda) Algumas classe de chaves podem facilitar ataques do tipo texto pleno escolhido, mas nunca serão usadas

34 Advanced Encryption Standard
Programa iniciado em 1997 pelo NIST para substituir o DES AES: novo padrão durante os próximos 30 anos (e vida útil de outros 50 ou 60 anos) Obs: AES deverá proteger informações até o século XXII! Requisitos do sucessor do DES ter chaves de 128, 192 e 256 bits operar com blocos de 128 bits ser “eficiente” ser “flexível” estar livre de royalties Quinze candidatos foram selecionados em jun/98 Cinco candidatos em 1999: Serpent, Mars, RC6, Twofish e Rijndael

35 Advanced Encryption Standard
AES foi adotado o pelo National Institute of Standards and Technology (NIST) como US FIPS PUB 197 em Novembro de 2001 depois de um processo de padronização de 5 anos Concorrentes Rijndael (86 votos) - anunciado vencedor em Outubro de 2000 Rijndael can be pronounced "Rhine dahl", a long “i" and a silent “e“ Desenvolvido por Joan Daemen e Vincent Rijmen (Rijmen-Daemen - Bélgica) Serpent (59 votos) Mars (13 votos) RC6 (23 votos) Twofish (31votos) Pela primeira vez um codificador público é usado plo NSA para informação Top Secret "The design and strength of all key lengths of the AES algorithm (i.e., 128, 192 and 256) are sufficient to protect classified information up to the SECRET level. TOP SECRET information will require use of either the 192 or 256 key lengths. The implementation of AES in products intended to protect national security systems and/or information must be reviewed and certified by NSA prior to their acquisition and use."

36 Rijndael Características Opera em arrays de 4×4 de bytes –
operações realizadas no nível de byte tamanhos de chaves: 128, 192, 256 bits tamanhos de blocos: 128, 192, 256 bits número de rodadas: 9, 11, 13 (além de uma rodada extra no final) Opera em arrays de 4×4 de bytes – Denominado estado Versões com blocos maiores operam com colunas adicionais Cada rodada composta de quatro passos substituição de bytes deslocamento de linhas mistura de colunas, soma da subchave de rodada

37 Substituição de bytes 0 1 2 3 4 5 6 7 8 9 a b c d e f
a b c d e f 0 63 7c 77 7b f2 6b 6f c b fe d7 ab 76 1 ca 82 c9 7d fa f0 ad d4 a2 af 9c a4 72 c0 2 b7 fd f f7 cc 34 a5 e5 f1 71 d 3 04 c7 23 c a e2 eb 27 b2 75 c 1a 1b 6e 5a a0 52 3b d6 b3 29 e3 2f 84 5 53 d1 00 ed 20 fc b1 5b 6a cb be 39 4a 4c 58 cf 6 d0 ef aa fb 43 4d f9 02 7f 50 3c 9f a8 7 51 a3 40 8f 92 9d 38 f5 bc b6 da ff f3 d2 8 cd 0c 13 ec 5f c4 a7 7e 3d 64 5d 19 73 f dc 22 2a ee b8 14 de 5e 0b db a e0 32 3a 0a c c2 d3 ac e4 79 b e7 c8 37 6d 8d d5 4e a9 6c 56 f4 ea 65 7a ae 08 c ba e 1c a6 b4 c6 e8 dd 74 1f 4b bd 8b 8a d 70 3e b f6 0e b9 86 c1 1d 9e e e1 f d9 8e 94 9b 1e 87 e9 ce df f 8c a1 89 0d bf e d 0f b0 54 bb 16

38 Deslocamento de linhas

39 Mistura de colunas

40 Soma da subchave de rodada

41 AES completo

42 CriptoAnálise do AES Pela primeira vez a Matemática envolvida é completamente aberta Ataques conhecidos Quebras com codificadores que implementam um menor número de rodadas 7/ , 8/12 – 192, 9/14 – 256 Preocupações com a margem pequena entre o número de rodadas passíveis de quebra e o padronizado Quebra criptográfica é qualquer coisa melhor que uma busca exaustiva Como uma busca exaustiva envolve pelo menos Ataque téorico proposto em 2002 – XSL attack Erros nas estimativas Cache timing attack Ataque não contra o AES mas contra implementações mal-feitas do AES Servidor usando OpenSSL sem restrição de tempo Recomendação do autor -> não usar S-box

43 Outros Algoritmos Simétricos
Blowfish ( bits) Não patenteado Fácil implementar Alta velocidade de execução Roda em emenos de 5K de memória S-boxes dependem dos dados Skipjack (80 bits) Utilizado no Clipper e Fortezza Desenvolvido pela NSA Em domínio público desde jun/98 CAST-128 e CAST-256 128 e 256 bits, patenteado pela Nortel (não há royalties) As funções variam de rodada para rodada

44 Outros Algoritmos Simétricos
RC5 e RC28 Projetados por Ron Rivest (o R da empresa RSA Data Security Inc.) Também é o autor do RC4 e RC6, este último foi concorrente ao AES RC5 Rápido, Simples Adaptável para processadores com diferentes tamanhos de palavra Número variável de rodadas Chave de tamanho variável Baixa necessidade de memória Alta segurança Rotações dependentes dos dados RC28 Utilizado no protocolo S/MIME Voltado para criptografia de corporativo Também possui chave de tamanho variável


Carregar ppt "Segurança em Redes Aula 4"

Apresentações semelhantes


Anúncios Google