Criptografia Cripto =oculto/escondido +Grafia =escrita Criptografia =arte de escrever oculto, em cdigo Elementos da criptografia Codificao (encriptao) embaralhamento de um contedo de forma que fique ininteligvel a quem no possui a chave para restaurar Cripto-Algoritimo, Criptosistema ou Cifra: mtodo Chave: elemento combinado ao algoritmo para permitir combinaes/variaes Mensagem/ Texto-Puro encriptao Texto-Cifrado decriptao P 2001 / 1 Segurana de Redes/Mrcio dvila 38 Criptografia Criptografia: grande ferramenta de segurana Elemento bsico: Confidencialidade Tambm pode garantir: Integridade, Autenticao, Controle de acesso, No-repdio Criptoanlise Estudo de meios p/quebrar cdigos de criptografia Toda cifra pode ser quebrada de alguma forma Sucesso do mtodo a dificuldade de quebr-lo Algoritmo computacionalmente seguro Custo de quebrar excede o valor da informao O tempo para quebrar excede a vida til da info. 2 2001 / 1 Segurana de Redes/Mrcio dvila 39 Criptografia Meios de criptoanlise Fora bruta: tentar todas as possibilidades Mensagem conhecida Mensagem escolhida (conhecida e apropriada) Anlise matemtica e estatstica Engenharia social Conceitos para bom algoritmo de criptografia Confuso transformaes na cifra de forma irregular e complexa Difuso pequena mudana na mensagem, grande na cifra 2001 / 1 Segurana de Redes/Mrcio dvila 40 Criptografia Categorias de cifra: Seqencial: em geral mais fraca, baixa difuso Bloco: mais usada Exemplos EXEMPLIFIQUE EXEMPLIFIQUE XEMELPFIQIEU (inverte cada 2 letras) A A A A A A B A A A A A A B C D E F B C D E F G (deslocamento pela letra ant.) 1 2 3 4 5 6 7 8 9 1011121314151617181920212223242526 A B C D E F G H I J K L MNO P QR S T U VWX Y Z B C D E F GH I J K L MNO P QR S T U VWX Y Z A NO P QR S T U VWX Y Z A B C D E F GH I J K L M 3 2001 / 1 Segurana de Redes/Mrcio dvila 41 Criptografia Tipos de funo de criptografia Chave secreta, Simtrica ou Convencional Existncia de uma nica chave secreta (K) Chave pblica ou Assimtrica Existncia de par de chaves: pblica (Ke) e privada (Kd) P encriptao C decriptao P ! !! !K P encriptao C decriptao P ! !! !Ke ! !! !Kd 2001 / 1 Segurana de Redes/Mrcio dvila 42 Criptografia Outras aplicaes relacionadas Chave pblica como Assinatura digital Autenticao de mensagem Validar a integridade da mensagem (contra falsificao) Existem tcnicas criptogrficas baseadas em chave (Message Authentication Code - MAC) e outras no criptogrficas (algoritmos hash uni-direcionais) P assinatura C validao P ! !! !Kd ! !! !Ke 4 2001 / 1 Segurana de Redes/Mrcio dvila 43 Criptografia Convencional Convencional Chave secreta nica, compartilhada entre origem e destino Simtrica: decodificao o inverso da codificao Aplicao principal: Confidencialidade, privacidade Requisitos Conhecido o algoritmo e texto-cifrado, deve ser difcil decifrar ou obter a chave A chave deve ser compartilhada de forma segura entre remetente (origem) e destino Vantagens Rpida Privacidade segura Ampla compreenso Desvantagens Chave secreta compartilhada Sem autenticao nica Sem no-repdio 2001 / 1 Segurana de Redes/Mrcio dvila 44 Criptografia Convencional Principais algoritmos Data Encryption Standard/Algorithm(DES/DEA) Mais conhecido, inventado pela IBM em 1971 Evoluo: Triplo DES (3DES, TDES ou TDEA) International Data Encryption Standard (IDEA) Instituto Federal de Tecnologia da Sua, 1991 Blowfish Bruce Schneier, 1993 RC5 Ron Rivest (RSA Laboratories), 1994 CAST Carlisle Adams & Stafford Tavares, 1997 Futuro (padro a ser adotado pelo NIST): Advanced Encryption Standard (AES) 5 2001 / 1 Segurana de Redes/Mrcio dvila 45 Criptografia Convencional Comparativo de algoritmos 2001 / 1 Segurana de Redes/Mrcio dvila 46 Criptografia Convencional DES O algoritmo de criptografia convencional mais usado o DES (Data Encryption Standard) ou DEA (Data Encryption Algorithm) O DES foi inventado pela IBM em 1971 Foi adotado em 1977 pelo NIST (National Institute of Standards and Technology, EUA) Era essencial a implementao em hardware O DES criptografa blocos de 64 bits usando uma chave de 56 bits O DES executa 16 rodadas de criptografia 6 2001 / 1 Segurana de Redes/Mrcio dvila 47 DES 2001 / 1 Segurana de Redes/Mrcio dvila 48 Algoritmo do DES Rodada do DES Cada rodada usa uma sub-chave gerada a partir da chave original As operaes matemticas em cada rodada so as mesmas A diferena est na sub-chave e na funo F As funes de expanso, contrao e permutao de bits so diferentes para cada rodada O objetivo dos S-box e das permutaes quebrar a linearidade dos dados A conseqncia a dificuldade da inverso da operao de criptografia 7 2001 / 1 Segurana de Redes/Mrcio dvila 49 Rodada do DES 2001 / 1 Segurana de Redes/Mrcio dvila 50 Segurana do DES Existem 2 56 chaves possveis de 56 bits (~7,210 16 ) Em 1993 foi feito um estudo de custo de uma mquina paralela para quebrar o DES: Desafio Em 29 de janeiro de 1997, RSA Laboratories publicou um desafio de quebrar uma mensagem cifrada com DES Um consultor desenvolveu um programa de fora bruta e o distribuiu pela Internet 96 dias depois a mensagem foi quebrada Mais de 70.000 mquinas foram usadas 8 2001 / 1 Segurana de Redes/Mrcio dvila 51 Encadeamento de DES 2001 / 1 Segurana de Redes/Mrcio dvila 52 Triplo DES (3DES) Para melhorar a segurana do DES, o algoritmo pode ser aplicado mais vezes em seqncia A forma mais simples usar o DES 2 vezes Porm, dadas as chaves K1 e K2, possvel encontrar K3 tal que E K2 [ E K1 [ P ]] =E K3 [ P ] Portanto, a forma mais comum de aplicar o DES mais vezes em seqncias de 3 3DES comumente usa uma seqncia E-D-E 9 2001 / 1 Segurana de Redes/Mrcio dvila 53 3DES 2001 / 1 Segurana de Redes/Mrcio dvila 54 3DES 3DES corresponde, com 3 chaves de 56 bits, a uma chave efetiva de 168 bits C =E K1 [ D K2 [ E K3 [ P ] ] ] O algoritmo 3DES tambm pode ser usado com 1 ou 2 chaves distintas Para duas chaves (112 bits): C =E K1 [ D K2 [ E K1 [ P ] ] ] Para uma chave (56 bits), se torna o DES comum: C =E K1 [ D K1 [ E K1 [ P ] ] ] =E K1 [ P ] 10 2001 / 1 Segurana de Redes/Mrcio dvila 55 DES Concluso eficiente (principalmente em hardware) Apesar do DES ser um algoritmo antigo, ganhou sobrevida com o 3DES A vantagem o aproveitamento de todo software e hardware j criado 3DES compatvel com o DES usando 1 chave somente 2001 / 1 Segurana de Redes/Mrcio dvila 56 Encadeamento de Blocos Os textos em geral medem muitos blocos Caso do DES: cada bloco 64 bits armazena apenas 8 letras ASCII Se a mesma chave for usada para criptografar todos os blocos do texto, surgiro padres de repetio de blocos (cifras iguais para blocos iguais) Quanto maior o texto, maior a quantidade de padres repetidos para anlise Electronic codebook (ECB): dada uma chave, o resultado fixo para cada bloco de texto. Pode-se imaginar um livro gigante com cada bloco de texto possvel (como um alfabeto) e a cifra resultante, como uma mera tabela de transposio 11 2001 / 1 Segurana de Redes/Mrcio dvila 57 Encadeamento de Blocos 2001 / 1 Segurana de Redes/Mrcio dvila 58 Encadeamento de Blocos Para evitar a anlise de freqncia de blocos, deve ser usada alguma tcnica para que blocos iguais gerem cifras diferentes ao longo do texto Uma soluo fazer com que as chaves de criptografia dos blocos no sejam as mesmas Outra soluo compactar o texto antes da criptografia, o que elimina padres originais A tcnica mais comum o encadeamento de blocos: cada bloco afeta o seguinte 12 2001 / 1 Segurana de Redes/Mrcio dvila 59 Criptografia Convencional Futuro NIST: Advanced Encryption Standard (AES) Requisitos mnimos definidos para o AES: Algoritmo publicamente definido Ser uma cifra simtrica de bloco Projetado para que o tamanho da chave possa aumentar Implementvel tanto em hardware quanto em software Disponibilizado livremente ou em acordo com termos ANSI Fatores de julgamento: Segurana (esforo requerido para criptoanlise) Eficincia computacional Requisitos de memria Adequao a hardware e software Simplicidade Flexibilidade Requisitos de licenciamento 2001 / 1 Segurana de Redes/Mrcio dvila 60 Criptografia Convencional Seleo do Advanced Encryption Standard (AES) Processo seletivo do algoritmo desde 1997 Etapa 1: 15 candidatos selecionados em Agosto 1998 Etapa 2: 5 finalistas anunciados em Agosto 1999 Escolha do vencedor em Outubro 2000 Padronizao prevista para 2 semestre 2001 Vencedor: Rijndael Vincent Rijmen, J oan Daemen Outros algoritmos finalistas: MARS IBM RC6 RSA Laboratories Serpent Ross Anderson, Eli Biham, Lars Knudsen Twofish Bruce Schneier, J ohn Kelsey, Doug Whiting, David Wagner, Chris Hall, Niels Ferguson 13 2001 / 1 Segurana de Redes/Mrcio dvila 61 Distribuio de Chaves A distribuio de chaves o ponto fraco dos algoritmos de chave secreta