Segurança em Redes - 3



Documentos relacionados
OTES07 Segurança da Informação Módulo 05a: Criptografia Simétrica: DES/SDES

Criptografia e Segurança de Redes Capítulo 5. Quarta Edição por William Stallings

Segurança da Informação Aula 5 Criptografia. Objetivos e Tipos. Cifras de Bloco e Fluxo

Segurança Informática em Redes e Sistemas

Criptografia e Segurança em Rede Capítulo 3. William Stallings

Resumo Segurança em Redes de Computadores

Segurança em Redes de Computadores

4 ÍNDICE Exemplo de redundância e distância de unicidade... 41

Software de Telecomunicações. Cifras simétricas por blocos

SEGURANÇA CRIPTOGRAFIA E SEGURANÇA DE DADOS. As funções de cifra são consideradas totalmente seguras se:

Segurança de Sistemas de Informação

OSRC001 Segurança em Redes de Computadores Módulo 07: Criptografia Simétrica: AES/SAES

OTES07 Segurança da Informação Módulo 05b: Criptografia Simétrica: AES/SAES

M3D4 - Certificados Digitais Aula 2 Certificado Digital e suas aplicações

Sistemas criptográficos simétricos

MAB 715 Segurança em Redes

TÓPICOS ESPECIAIS EM SEGURANÇA DA INFORMAÇÃO

Conceitos básicos de criptografia

Capítulo 3 - Cifras de Blocos e Data Encryption Standard Por toda a tarde, Mungo tinha trabalhado no código de Stern, principalmente com a ajuda das ú

Tópicos Especiais em Segurança da Informação. Aula 2 Criptografia AES

Segurança da Informação Aula 6 Principais Algoritmos Simétricos. Criptografia Assimétrica.

CRIPTOGRAFIA E SEGURANÇA DE REDES

PLANO DE DISCIPLINA DISCIPLINA: Segurança da Informação

PTC Aula 19. (Kurose, p ) (Peterson, p ) 09/06/ O que é segurança de rede? 5.2 Princípios de criptografia

Criptografia. Módulo I Terminologia. M. B. Barbosa 2006/2007. Departamento de Informática Universidade do Minho

Capítulo 8. Segurança de redes

Configurar Virtual Private Network (VPN) avançado Setup no Firewall RV110W

Engloba os criptossistemas clássicos. Outros nomes: (Criptografia...)

Raquel de Araújo Fábio Borges Gerson Nunes. O algoritmo AES: Apresentação e Descrição da Estrutura p.1/23

Criptografia no MSX Fulswrjudild qr PVZ

ULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade.

UM HARDWARE IP PARA CRIPTOGRAFIA NO PADRÃO AES-RIJNDAEL

Criptografia e Segurança das Comunicações

Segurança conceitos básicos. Sistemas Distribuídos

SISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios

Configuração do gateway ao gateway VPN no Roteadores RV016, RV042, RV042G e RV082 VPN

Engenharia de Segurança

ANÁLISE DO ALGORITMO VENCEDOR DO AES: O RIJNDAEL

CRIPTOGRAFIA ASSINATURAS DIGITAIS CERTIFICADOS DIGITAIS SSL/TLS. Professor Edgard Jamhour

Lista - RAID. c) Redundância d) Capacidade

Curso de Formação de Oficiais Conhecimentos Específicos ENGENHARIA DE COMPUTAÇÃO CADERNO DE QUESTÕES

Nome: Nº de aluno: Exame 1ª chamada (perguntas impar) / Repescagem 1º teste / Repescagem 2º teste SRC /07/04 1º teste

Execícios de Revisão Redes de Computadores Edgard Jamhour. Filtros de Pacotes Criptografia SSL

Faculdade de Engenharia da Computação

Transcrição:

Núcleo de Computação Eletrônica Universidade Federal do Rio de Janeiro Segurança em Redes - 3 Luiz Fernando Rust e-mail: INMETRO Tel. (021) 2679-9072 rust@nce.ufrj.br lfrust@inmetro.gov.br 11 Criptografia Convencional DES simplificado Codificador Feistel DES, 3-DES IDEA AES 2

DES simplificado (S-DES) Desenvolvido por Edward Scahefer da Universidade de Santa Clara Fins educacionais 5 funções executadas na seguinte ordem: 1. uma permutação inicial IP 2. uma função f k 3. uma função switch SW que troca duas metades 4. A função f k novamente 5. A inversa IP 1 da permutação IP Os passos 2 e 3 usam as chaves K 1 e K 2, geradas través do algoritmo de geração de chaves 3 Expressões Algoritmo de codificação na chave K: onde Algoritmo de de decodificação na chave K: 4

Esquema do S-DES 5 Permutação inicial (e inversa) 1. Permutação Inicial 5. Inversa da Permutação Inicial Observar que 6

Função Fk 2. Onde L,R são os 4bits mais a esquerda e mais a direita da entrada de 8 bits, F é um mapeamento de strings de 4 bits para strings de 4 bits Sk é uma subchave (K1 ou K2, dependendo do caso) Exemplo: assumindo Saida do estágio IP = (10111101) -> L = 1011, R = 1101 F(R,SK) = 1110 7 Função Fk Mapeamento F Operação Expansão E (string de 4 bits para 8 bits) A saída sobre uma entrada é representada por é XOR-ed para obter Abreviado por Que alimentam os S-boxes linha de cima em S0 e linha de baixo em S1 8

Função Fk - uso de S-boxes S- Boxes Primeira linha aplicada em S0 produz 2 bits Segunda linha aplicada em S1 produz 2 bits O primeiro e o quarto bit especificam a linha O segundo e o terceiro bit especificam a coluna Exemplo Os 4 bits gerados sofrem permutação P4 gerando a saída da função Fk 9 Função SW 3. A função Switch SW Troca os 4 bits da esquerda com os da direita, de forma que a segunda aplicação de fk opera sobre um conjunto diferente de 4 bits 10

Algoritmo de geração de chaves Envolve 3 funções que são aplicadas numa sequência de 5 passos para produzir 2 subchaves: 1. Uma permutação P10 que permuta um entrada de 10 bits 2. Uma operação de deslocamento a esquerda (shift) 3. Uma permutação de 8 bits que produz uma saída de 8 bits, gerando a primeira subchave K1 4. Novamente a saída do passo 2 sofre um segundo deslocamento duplo a esquerda 5. Uma permutação de 8 bits que produz uma segunda saída de 8 bits, gerando a segunda subchave k2 11 Esquema da geração de chaves 12

Funções básicas geração de chaves 1. Permutação P10 2. A função de deslocamento Shift Deslocamento circular a esquerda (rotação) de uma posição dos 5 primeiros ou últimos bits 3. Permutação P8 4. Chave K1 é gerada 13 Funções básicas geração de chaves Aplica shift duplo - saída do passo 2 sofre um segundo deslocamento duplo a esquerda Permutação P8 Chave K2 é gerada 14

Exemplo de geração de chave 15 Criptoanálise do S-DES Ataque Ciphertext Ataque de força bruta é possível já que existem apenas 2 10 possibilidade com uma chave de 10 bits Ataque Known plaintext Pode-se descrever o relacionamento entre um único bloco de texto pleno E um bloco de texto cifrado Em termos (não-linear) de equações que desconhece os 10 bits da chave 16

Criptoanálise do S-DES Sendo (p 00,p 01,p 02,p 03 ) = (a,b,c,d) (p 10,p 11,p 12,p 13 ) = (w,x,y,z) as duas saídas de 4 bits do operador de expansão (Fk), e (q,r,s,t) a saída gerada pela aplicação de S0 e S1: A operação de S0 é definida pelas seguintes equações q = abcd + ab + ac + b + d (adição em modulo 2) R = abcd + abd + ab + ac + ad + a + c + 1 Alternando mapeamentos lineares (permutações e adições) com este mapeamentos não lineares resulta em expressões polinomiais complexas, tornando a criptoanálise difícil 17 Relacionamento com o DES DES opera com bloco de entrada de 64 bits O esquema de de codificação pode ser definido como IP -1 f k16 SW f k15 SW... SW f k1 IP Usa chave de 56 bits, dos quais 16 subchaves de 48 bits são calculadas por uma sequência de deslocamentos e permutações Algoritmo de codificação Ao invés de F atuando sobre 4 bits, ela atua sobre 32 bits Depois da expansão/permutação inicial, a saída de 48 bits pode ser diagramada como n 32 n 1 n 2 n 3 n 4 n 5 n 4 n 5 n 6 n 7 n 8 n 5......... n 28 n 29 n 30 n 31 n 32 n 1 18

S-P networks Substituição virtual construída a partir de componentes mais simples (rounds) Substituições (de tamanho razoável) Transposições São projetados de forma a maximizar os efeitos de Difusão e Confusão (introduzidos por Shanon) Difusão: um dígito afeta o valor de muitos dígitos codificados Confusão: complica o máximo a relação entre o texto cifrado e a chave usada 19 Codificador Feistel Evitar duplicação dos dispositivos/programas para cod/decod cada bloco é partido em dois sub-blocos um é aplicada a transformação e o outro é preservado Os sub-blocos são ainda trocados para que o round seguinte afete agora o sub-bloco que ficou inalterado Todos os codificadores simétricos, em uso, são baseados na estrutura de bloco proposta por Feistel da IBM em 1973 20

Algoritmo O bloco é dividido em 2 partes L 0 (esquerda e R 0 (direita As duas metades passam por 16 rodadas de processamento/combinação A entrada (L i-1, R i-1 ) da i-ésima rodada é obtida da saída da (i-1) rodada, tanto como a subchave Uma substituição é feita na metade da esquerda através da aplicação de uma função F na parte da direita 21 Um round pode ser considerado a sua própria operação inversa se realizarmos algumas trocas nos sub-blocos... 22

Propriedades do Feistel A implementação de uma rede Fesitel depende da escolha dos seguintes parâmetros: Tamanho do bloco: quanto maior o bloco, maior a segurança Tamanho da Chave: quanto maior o tamanho da chave, maior a segurança Número de rodadas: múltiplas rodadas oferecem uma segurança crescente Algoritmo de geração de subchave: complexidade maior acarreta maior dificuldade na criptoanálise Rápida codificação/decodificação pro software: a velocidade de execução do algoritmo é uma preocupação 23 Algoritmos do tipo Feistel 24

Características dos Codificadores em blocos Último bloco é completado (padding) Mais complexos Consideravelmente mais lentos DES é cerca de 10x mais lento do que RC4 Codificadores sequenciais não promovem a difusão Obs: é curioso notar que toda a segurança do codificador perfeito one time pad é baseada apenas em confusão Substituição em blocos Conceitualmente, corresponde a uma substituição em um alfabeto enorme em blocos de 64 bit existirão 2 64! possíveis substituições) 25 DES Data Encryption Standard (DES) Esquema de codificação mais amplamente empregado Especialmente em transações financeiras Geração de código PIN Block Cipher O texto pleno (plaintext) é processado em blocos de 64-bits Tamanho da chave: 56 bits Atualmente NÃO é considerado seguro 26

Algoritmo DES O algoritmo DES é dividido em 3 partes 1. Dado um texto pleno x, calcula-se Onde L 0 é parte esquerda e R 0 e á parte direita de x 0 27 Algoritmo DES Calcula-se 16 interações da seguinte função 28

Exemplo de uma interação 29 Algoritmo DES Calcula-se Que é a inversa de P 30

Algoritmo DES 31 DES Função F 1. O primeiro argumento de F, digamos A, é expandido de acordo com a função E(A) é uma permutação de A com os 16 bits repetidos 2 vezes 32

DES Função F 2. O outro argumento de F, digamos J, é de 48 bits. Calcula-se O resultado é escrito na forma de 8 strings de 6 bits 33 DES Função F 3. Existem 8 S-Boxes (S 1,...,S 8 ) que são arrays 4x16 Dado Calcula-se S J (B J ) b 1 b 6 é a representação binária da linha e b 2 b 3 b 4 b 5 da coluna É o elemento de S J em binário Exemplo B = 010011 C = 10 = 1010 34

S-Boxes 35 DES Função F Aplica-se uma permutação P Em (32 bits) 36

Cálculo da chave K Tamanho 64 bits, sendo que 8 bits de paridade Bits nas posições 8,16,...,64 são definidos de forma que o número de 1 s em cada byte seja par Cálculo 1. Descartar os bits de paridade e realizar a seguinte permutação Onde são as duas metades de K (28 bits cada) 37 Cálculo da chave K 2. Para i = 1,...16 Sendo que Se i = 1,2,9,16 é um deslocamento de 1 bit para esquerda Senão é um deslocamento de 2 bits para a esquerda 38

Cálculo da chave K 39 Princípios do projeto do DES Os S-boxes contém trapdoors escondidos para que a NSA decodifique facilmente? Propriedades anunciadas em 1994 Nenhum bit de saída do S-box deveria ser próximo de uma função linear Todas as linhas de todos os S-boxes são permutações de 0,1...15 Se duas entradas diferem em apenas 1 bit, as saídas devem diferir em pelo menos 2 bits Se duas entradas diferem nos dois bits do meio, as saídas devem diferir em pelo menos 2 bits Se duas entradas diferem nos dois primeiros bits e são idênticas nos dois últimos, as saídas não devem ser iguais Não mais do que 8 entre 32 pares de entrada com diferença de 6-bits podem reproduzir essa diferença na saída 40

Efeito avalanche do DES Propriedades desejada: Uma mínima mudança na entrada implica numa grande alteração na saída DES têm um forte comportamento de difusão Exemplo Entradas 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 10000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Chave 0000001 1001011 0100100 1100010 0011100 0011000 0011100 00110010 41 Efeito Avalanche Entendendo o efeito avalanche do DES (S-P network) 42

Propriedades/Características do DES Complementaridade DES foi projetado para implementações eficientes em hardware Algumas operações particularmente ingratas para implementações em software em particular, permutações e manipulações várias ao nível do bit Algumas chaves com problemas de segurança devido ao mecanismo de produção das subchaves Chaves fracas chaves K1..K16 todas iguais operação de codificação é uma involução cifrar duas vezes permite recuperar o texto original Chaves semi-fracas apenas duas sub-chaves diferentes Chaves possivelmente fracas apenas 4 sub-chaves diferentes Observação todos estes conjuntos de chaves estão tabelados basta assegurar que não é escolhida nenhuma destas chaves 43 Robustez do DES Muita controvérsia sobre a segurança do DES Uma chave de 56 bits é grande o suficiente? Em 1977 Diffie e Hellman propuseram uma máquina paralela com 1 milhão de dispositivos (custo estimado de US$ 20 milhões) que reduziria o tempo de 100 anos para 10 horas Em 1993 Mike Weiner propôs o projeto de um chip com tecnoligia pipeline que conseguia atingir uma marca de 50 milhões de chaves por segundo Em 29 de Janeiro de 1997, os laboratórios RSA lançaram um desafio para achar o texto pleno precedido por 3 blocos conhecidos the unknown message is Ataque de força bruta espalhado em 70000 sites plea internet que levou 96 dias para descobrir a chave Cronologia: http://en.wikipedia.org/wiki/data_encryption_standard 44

Modos de operação do DES 4 modos de operação para satisfazer diferentes requisitos DES é usado em bancos, governo e industria privada 45 Modo ECB Electronic codebook Mesma chave é usada na codificação de cada bloco Útil para para pequenas quantidades de dados Exemplo: chaves codificadas 46

Modo CBC C = E [C i k i 1 P ] i D [C ] = D [E Cipher Block Chaining D K [C i ] = (C i 1 Pi ) C i 1 D K [C i ] = C i 1 C i 1 Pi = Pi Inicia com um vetor inicial IV K i K K (C i 1 P )] i 47 Modo CFB Cipher FeedBack Funciona como um stream cipher 48

Modo OFB Output FeedBack Não propaga erros de transmissão mas é mais vulnerável usado para transmissão via satélite 49 Criptoanálise do DES Força bruta Quebra em 2 56 Análise diferencial Primeira vez publicado em 1990 Quebra em 2 47 Necessita 2 47 textos plenos escolhidos Análise linear Publicado em 1993 Quebra também em 2 47 Necessita 2 47 textos plenos conhecidos 50

Múltiplos DES Alternativas para aumentar a robustez do DES Preservar investimentos em software e equipamentos Duplos DES C = E k2 [E K1 [P]] P = D k1 [D K2 [C]] Chaves com 56x2= 112 bits Meet-in-the-middle-attack X = E k1 [P] = D K2 [C] Quebra em 2 56 ( não muito melhor que 2 55 ) 51 Triplo DES Para conter meet-in-the-middle-attack usa-se 3 estágios Com duas chaves C = E k1 [D K2 [E K1 [P]]] Não têm importância criptográfica o uso de D K2 A única vantagem é permitir o a decodificação do DES simples C = E k1 [D K1 [E K1 [P]]] = E K1 [P] Usado nos padrões de gerência de chaves ANSI X9.17 e ISO 8732 Quebra com 2 112 52

Triplo DES Com três chaves C = E k3 [D K2 [E K1 [P]]] Usado em várias aplicações na internet PGP e S/MIME 53