CRIPTOGRAFIA
Transcrição
CRIPTOGRAFIA
CRIPTOGRAFIA Everson Santos Araujo [email protected] Introdução • Criptografia, do grego kryptos (escondido, oculto) mais a palavra grápho (grafia, escrita), é a ciência de escrever em códigos ou em cifras. » Através desta técnica se transforma um texto “em claro” em um texto “cifrado” http://everson.por.com.br 2 Introdução • Criptoanálise, do grego krypto mais a palavra análysis (decomposição), é a ciência que estuda a recuperação do que está oculto • Criptologia é a ciência que engloba a criptografia e a criptoanálise http://everson.por.com.br 3 Objetivo • A criptografia fornece técnicas que permitem a codificação e decodificação dos dados, onde os mesmos podem ser transmitidos e armazenados sem que haja alterações ou exposição à entidade não autorizada • O objetivo da criptografia é prover uma comunicação segura, garantindo aos serviços a confidencialidade http://everson.por.com.br 4 História - na Idade Antiga • 1900 a.C. Khnumhotep II, arquiteto do faraó Amenemhet II, construiu alguns monumentos que precisavam ser documentados. Contudo, estas informações, escritas em tabletes de argila, não deveriam cair no domínio público • Seu escriba teve a idéia de substituir algumas palavras do texto destes tabletes. Assim, em caso de roubo o ladrão não encontraria o caminho que o levaria ao tesouro http://everson.por.com.br 5 Histórico - na Idade Antiga • 1500 a.C. criptologia da Mesopotâmia chegou a um nível bastante moderno. O primeiro registro do uso da criptografia nesta região está numa fórmula para fazer esmaltes para cerâmica • O tablete que contém a fórmula tem apenas 8 x 5 cm e foi achado às margens do rio Tigre. Usava símbolos especiais que podem ter vários significados diferentes http://everson.por.com.br 6 Histórico - na Idade Antiga • 600-500 a.C. Atbash, Albam e Atbah são três das cifras hebraicas mais conhecidas. Eram usadas principalmente em textos religiosos escribas hebreus usaram a cifra Atbash para escrever o livro de Jeremias • Estas cifras baseiam-se no sistema de substituição simples (ou substituição monoalfabética). As três são, então, reversíveis porque na primeira operação obtém-se o texto cifrado e, aplicando-se a mesma cifra ao texto cifrado, obtém-se o texto original http://everson.por.com.br 7 Atbash, Albam e Atbah http://everson.por.com.br 8 Histórico - na Idade Antiga • 475 a.C. Tucídides conta sobre ordens entregues ao príncipe e general espartano Pasanius, pode ser considerado o sistema de criptografia militar mais antigo, o scytale ou bastão de Licurgo • Um bastão de madeira ao redor do qual se enrola uma tira de couro ou pergaminho, longa e estreita. Escreve-se a mensagem no sentido do comprimento do bastão, a tira é desenrolada e contém a mensagem cifrada http://everson.por.com.br 9 Destacam-se ainda, na Idade Antiga » Euclides de Alexandria (330 a.C. a 270 a.C.) ! matemático grego que compilou e sistematizou a geometria e a teoria dos números da sua época no famoso texto “Elementos” » Erastótenes de Cirene (276 a.C. a 194 a.C.) ! filósofo e geômetra grego, conhecido como criador de um método para identificar números primos, o “Crivo de Erastótenes” » Políbio (204 a.C. a 122 a.C.) ! historiador grego que criou o “Código Políbio”. Cifra-se uma letra com um par de números, entre 1 e 5, tendo por base uma tabela de 5x5. O telégrafo ótico » Júlio César (50 a.C.) ! usava na sua correspondência particular uma cifra na qual cada letra da mensagem original era substituída pela letra que a seguia em três posições no alfabeto http://everson.por.com.br 10 Histórico - na Idade Média • Na Idade Média (476 a 1453), cujo período inicial também foi chamado de “período das trevas”, a contribuição árabe-islâmica (Al-Kindi, 801-873) foi significativa, principalmente com a invenção da criptanálise para a substituição monoalfabética http://everson.por.com.br 11 Histórico - na Idade Média • A Itália foi a primeira a acordar, sendo responsável pelos primeiros grandes avanços • Veneza criou uma organização especializada em 1452, cujo único objetivo era lidar com a criptologia » Composta por três secretarias que solucionavam e criavam cifras que eram usadas pelo governo http://everson.por.com.br 12 Histórico - na Idade Moderna • A Idade Moderna viu uma verdadeira explosão na criptologia. Trocavam-se idéias, faziam-se experiências e estudos e, principalmente, publicavam-se trabalhos. Foi um período de grandes inovações e de grande expansão na criptologia • Pararam de perseguir, prender e queimar os “bruxos da criptologia” porque os interesses de estado dependiam cada vez mais de criptógrafos e criptoanalistas qualificados http://everson.por.com.br 13 Histórico - na Idade Moderna • Em 1466 Leon Battista Alberti inventou a primeira cifra polialfabética criando o disco de cifragem » O Disco de Alberti, como ficou conhecido, é um melhoramento do código de César, recorrendo a dois discos. A chave consiste em escolher uma letra do disco interno (móvel) e fazê-la coincidir com uma outra do disco externo (fixo) http://everson.por.com.br 14 Histórico - na Idade Moderna • É de Johannes Trithemius (1462-1516) o primeiro livro impresso sobre criptologia (1518). Criador da “Tabela de transposição”, foi o pioneiro na Substituição com chave progressiva » Cifrando a primeira letra da mensagem com a primeira linha, a décima segunda letra com a décima segunda linha, sucessivamente. » Ao alcançar a última linha da tabela, recomeça com a primeira linha http://everson.por.com.br 15 Histórico - na Idade Moderna • Giovanni Battista Bellaso (1553-1564) publicou algumas cifras de substituição polialfabética » Introduzindo assim o conceito de palavras-chave, o antepassado da senha http://everson.por.com.br 16 Histórico - na Idade Moderna • Philibert Babou (1558), para escapar da análise da freqüência de ocorrência de letras, criou uma solução que consiste em substituir uma letra não por um símbolo convencionado, mas sim por um de vários símbolos • O número de símbolos referentes a cada letra do texto claro deve ser proporcional à sua frequência na língua utilizada, técnica de substituição homofônica http://everson.por.com.br 17 Histórico - na Idade Moderna • Sir Francis Bacon (1561-1626) é o inventor de um sistema de esteganografia que ele publicou em The Advancement of Learning. Denominou seu alfabeto de biliteral porque utiliza uma combinação das duas letras A e B em grupos de cinco • A cifra é conhecida pelo seu nome, Cifra de Bacon, hoje em dia classificada como codificação binária de 5-bits http://everson.por.com.br 18 Cifra de Bacon Letra A B C D E F G H I/J K L M Bacon aaaaa aaaab aaaba aaabb aabaa aabab aabba aabbb abaaa abaab abaab ababb http://everson.por.com.br Binário 00000 00001 00010 00011 00100 00101 00110 00111 01000 01001 01001 01010 Letra N O P Q R S T U/V W X Y Z Bacon abbaa abbab abbba abbbb baaaa baaab baaba baabb babaa babab babba babbb Binário 01100 01101 01110 01111 10000 10001 10010 10011 10100 10101 10110 10111 19 Uso da Cifra de Bacon B A C O N 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 01 1 0 0 c h e c a r a s e g u r a n ç a do s i s t ema checar a segurança do sistema checAr a seguraNça DO sIsTEma http://everson.por.com.br 20 Alfabeto de Bacon http://everson.por.com.br 21 A EVOLUÇÃO Evolução • A evolução da criptografia aconteceu em três fases distintas: » manual » por máquinas » em rede • Na criptografia por máquinas, uma tabela predeterminada era usada em conjunto com uma máquina, onde o operador desta, usando a tabela e manipulando a máquina podia enviar uma mensagem criptografada http://everson.por.com.br 23 Criptografia por Máquinas • Os primeiros relatos constam dos Cilindros Cifrantes, uma invenção do século XIX, utilizados pelos militares no século XX até a Segunda Guerra Mundial » São constituídos por vários discos com um orifício central, montados sobre um eixo. Devem poder rodar independentemente e, na sua superfície mais externa, possuem alfabetos permutados. O cilindro é montado com discos que possuam sequências de letras diferentes http://everson.por.com.br 24 GRANDES GUERRAS A Primeira Guerra Mundial • Em janeiro de 1917, os serviços secretos britânicos interceptaram um telegrama cifrado do ministro Arthur Zimmermann, direto para o embaixador alemão em Washington, o conde Von Bernstorff • A mensagem tinha sido cifrada pelo Código 0075, um dicionário de lista dupla de 10 mil palavras ou frases, que os britânicos já haviam conseguido decifrar antes, ainda que só parcialmente http://everson.por.com.br 26 A Segunda Guerra Mundial • Os aliados perceberam que a lógica matemática poderia ser usada para decifrar as mensagens alemãs, apenas se os cálculos pudessem ser feitos rapidamente • Convocado em 4 de setembro de 1940, Alan Turing deixou Cambridge para ir para a Escola de Cifras e Códigos do Governo Inglês • Os alemães tinham desenvolvido um sistema superior de codificação, e os lingüistas tiveram que dar licença para os matemáticos http://everson.por.com.br 27 A Segunda Guerra Mundial • A invenção alemã era a ENIGMA, uma máquina codificadora que inovava associando a elétrica com a mecânica » O movimento eletromecânico exercia-se concentricamente sobre vários rotores em um eixo » Cada rotor tinha 26 contatos, eqüidistantes uns dos outros e do centro. A chave era manualmente introduzida e determinava o posicionamento inicial dos rotores » A cada letra da mensagem, estes rodavam por saltos sucessivamente http://everson.por.com.br 28 Enigma http://everson.por.com.br 29 A Segunda Guerra Mundial • Alan Turing, The Bombe » Usado para agilizar o processo de decifrar as mensagens do enigma • Max Newman, Colossus » Determinava a combinação que tinha sido utilizada para cifrar uma mensagem ! Paralelo assíncrono, 2.500 válvulas, Unidade de leitura de fita de 5 canais com velocidade de 5.000 kc/s, Unidade de saída construída com um teletipo http://everson.por.com.br 30 O Pós-Guerra • National Security Agency (NSA), criada em 1952 pelo governo dos Estados Unidos, a fim de centralizar e liderar todos os esforços governamentais em criptologia • A agência se transformaria no maior concentrador de matemáticos e linguistas, o centro com a maior capacidade computacional do planeta e a maior quantidade de supercomputadores em um mesmo lugar http://everson.por.com.br 31 TIPOS DE CRIPTOGRAFIA Tipos de Criptografia • Quanto a chave: » Simétricos ! A mesma chave é usada tanto para criptografar como para descriptografar as mensagens » Assimétricos ! Utiliza 2 chaves diferentes, que pertencem apenas a 1 participante. Elas estão matematicamente relacionadas, mas é computacionalmente impossível obter uma a partir apenas da outra. Uma é chamada PÚBLICA (CP) a outra é SECRETA (CS) e deve ser guardada em sigilo http://everson.por.com.br 33 Criptografia Simétrica • As criptografias até então apresentadas são simétricas: » Transposição » Substituição Monoalfabética ! Monogrâmico ! Poligrâmico ! Tomogrâmico » Substituição Polialfabética ! Chave Progressiva ! Palavra-Chave ! Auto-Chave http://everson.por.com.br 34 Criptografia Simétrica por Transposição • Consiste em misturar as letras do texto original de acordo com uma regra reversível qualquer. Em outras palavras, o texto cifrado é um criptograma obtido através da permutação do texto original » Exemplos: ! O Bastão de Licurgo - Scytale ! A Fórmula Sator ! Transposições Geométricas ! Rail Fence ! Grade Giratória ! A Cifra de Bazeries http://everson.por.com.br 35 Criptografia Simétrica por Substituição • Um dos métodos dessa classe de criptografia é o da substituição monoalfabética, também conhecida como substituição simples » Substitui-se cada um dos caracteres do texto original por outro, de acordo com uma tabela préestabelecida, para se obter o texto cifrado. http://everson.por.com.br 36 Criptografia Simétrica por Substituição • Tipos de Monoalfabética: » Monogrâmico ! Cada letra da mensagem original é substituída por apenas uma outra letra, número ou símbolo. (Cifras Hebraicas, Código de César, Cifra do KamaSutra, Cifra dos Templários, Cifra de Pig Pen, Cifra de Bazeries) » Poligrâmico ! Se substitui um ou mais caracteres da mensagem original por uma ou mais letras, números ou símbolos. Portanto, o comprimento da mensagem cifrada nem sempre é o mesmo da mensagem original. (Cifra de Babou) » Tomogrâmico ! Aqueles nos quais cada letra é representada por um grupo de duas ou mais letras ou números. (O Código de Políbio, A Cifra de Bacon) http://everson.por.com.br 37 Criptografia Simétrica por Substituição • Outro método é o da substituição polialfabética » O termo alfabeto se aplica ao conjunto de símbolos que serão utilizados para substituir os símbolos (letras) originais » Numa substituição polialfabética utiliza-se múltiplos alfabetos para praticar a substituição de uma mesma mensagem ! Exemplos: O disco de Alberti, A Tabula Recta de Trithemius, Bellaso e a Palavra-Chave, A Cifra de Della Porta, A Cifra de Vigenère, O Cilindro de Jefferson, As Cifras Playfair, A Cifra de Beaufort, A Família Vigenère. http://everson.por.com.br 38 Os destaques da Criptografia Simétrica • 1974, IBM apresenta a cifra Lucifer ao National Bureau of Standards (NBS), que com a ajuda da NSA, introduz algumas modificações e adota a cifra como padrão de encriptação de dados para os EUA, chamando de FIPS PUB-46, conhecido hoje como DES - Data Encryption Standard http://everson.por.com.br 39 Os destaques da Criptografia Simétrica • DES, chave de 56 bits e blocos de 64 bits » Projetado inicialmente para ser utilizado em componentes de hardware, nos dias atuais, ele é usado na Internet em conexões Web segura, o protocolo SSL (https) se utiliza do DES • Atualmente é utilizada uma versão aprimorada deste, o 3DES ou DES Triplo, que nada mais é do que um DES no qual um bloco de dados é criptografado três vezes com diferentes chaves http://everson.por.com.br 40 Os destaques da Criptografia Simétrica • 1987, Ron Rivest desenvolveu o algoritmo RC4, 10 vezes mais rápido do que o DES » O algoritmo consiste em utilizar uma matriz que a cada passo tem os seus valores permutados e misturados com a chave, o que provoca que seja muito dependente desta matriz. A chave pode ter até 256 bytes (2048 bits), embora o algoritmo seja mais eficiente quando é menor, pois a perturbação aleatória induzida na matriz é superior » 1994, criado o RC5. Permitindo que o usuário defina o tamanho da chave, o tamanho do bloco, e o número de passos do algoritmo de encriptação http://everson.por.com.br 41 Os destaques da Criptografia Simétrica • 1991, em Zurique na Suíça, por James Massey e Xuejia Lai, nasce o IDEA (International Data Encryption Algorithm) » Projetado para ser facilmente programado, é forte e resistente a muitas formas de criptoanálise • O algoritmo é estruturado seguindo as mesmas linhas gerais do DES mas com uma chave de 128 bits http://everson.por.com.br 42 CHAVES PÚBLICAS E PRIVADAS Criptografia Assimétrica • A criptografia de chave pública ou criptografia assimétrica, foi criada em 1970. Esse método funciona com uma chave para criptografar, e outra para descriptografar a mesma mensagem • No sistema de chave pública, cada pessoa tem que ter duas chaves, uma que fica publicamente disponível, e outra, que deve ser mantida em segredo • O algoritmo que se mantém até hoje é o RSA, que é patenteado pela RSADSI (RSA Data Security Incorporated) nos Estados Unidos http://everson.por.com.br 44 Criptografia Assimétrica • RSA é um algoritmo de encriptação de dados, que deve o seu nome a três professores do Instituto MIT, Ron Rivest, Adi Shamir e Len Adleman. » Fundamenta-se em Teorias Clássicas dos Números. É considerado dos mais seguros, já que ainda não foi quebrado. É também o primeiro algoritmo a possibilitar encriptação e assinatura digital http://everson.por.com.br 45 Criptografia Assimétrica ! As pessoas (A) e (C), escrevem mensagens, utilizando a chave pública da pessoa (B), a partir desse momento somente a pessoa (B), poderá ler as mensagens; ! As mensagens são enviadas à pessoa (B); ! A pessoa (B), recebe as mensagens de (A) e (C), e usa a sua chave privada para descriptografar; ! A pessoa (B), lê as mensagens, e se, tiver que responde-las, deverá usar as chaves públicas de criptografia de (A) e/ou (C). http://everson.por.com.br A B B Pública Privada C B Pública 46 Criptografia Assimétrica • Assinatura Digital usa a chave privada para escrita, e o sentido das chaves acaba sendo outro. Todos que tem a chave pública vão conseguir ler a mensagem • Entretanto, somente quem tem a chave privada é capaz de ter gerado esse código, logo, a mensagem deixa de ser secreta, e se torna uma mensagem autêntica http://everson.por.com.br 47 Assinatura + Criptografia • Nesse método, temos certeza de quem é a pessoa que nos enviou a mensagem, pois, usamos sua chave pública para abrir a mensagem. E precisamos da nossa chave privada, para decifrar o texto. • Vantagens » utilização de chaves distintas, integridade, fácil distribuição e assinatura digital • Desvantagem » lentidão http://everson.por.com.br 48 A popularização da Criptografia • PGP (Pretty Good Privacy) trata-se de um software gratuito de criptografia criado por Philip Zimmermman em 1991 • A intenção foi a de ajudar na defesa da liberdade individual, uma vez que ele percebeu que o uso do computador seria algo cada vez maior e que o direito à privacidade deveria ser mantido. Por ser gratuito, o PGP acabou se tornando uns dos meios de criptografia mais conhecidos, principalmente na troca de e-mails http://everson.por.com.br 49 A popularização da Criptografia • No PGP, são usadas chaves assimétricas • Além disso, para reforçar a segurança, o software pode realizar um segundo tipo de criptografia através de um método oriundo do IDEA que, na verdade, é um tipo de chave simétrica http://everson.por.com.br 50 ALGORITMOS PARA INTEGRIDADE Algoritmos para Integridade - Hash • Hash é a transformação de uma grande quantidade de informações em uma pequena quantidade de informações » São fórmulas matemáticas que convertem uma mensagem com qualquer comprimento em uma mensagem com comprimento fixo de dígitos que representa a mensagem original » É uma função de sentido único, ou seja, não é possível reverter para a mensagem original http://everson.por.com.br 52 Algoritmos para Integridade • MD5 criado por Ron Rivest produz uma mensagem de 128 bits, para uma mensagem de entrada de tamanho arbitrário. Seus detalhes são públicos, e têm sido analisados pela comunidade de criptografia • Foi descoberta uma fraqueza em parte do MD5, mas até agora ela não afetou a segurança global do algoritmo http://everson.por.com.br 53 Algoritmos para Integridade • SHA-1 (Secure Hash Algorithm One), é uma função de espalhamento unidirecional criada pela NSA, gera uma mensagem de 160 bits, a partir de um tamanho arbitrário de mensagem • O funcionamento interno do SHA-1 é muito parecido com o do MD4 • Atualmente, não há nenhum ataque conhecido contra o SHA-1 http://everson.por.com.br 54 ENTIDADES CERTIFICADORAS Certificação de chave pública • Garantia de que uma chave pública realmente pertença a quem assim o diz • Essa garantia é dada por um certificado que associa a identidade de alguém a uma dada chave pública • A autenticidade do certificado é garantida pela assinatura digital de uma entidade confiável, a AUTORIDADE CERTIFICADORA http://everson.por.com.br 56 Certificação de chave pública • O certificado pode ser enviado junto com a mensagem ou estar disponível em um serviço online, permitindo a autenticação de um participante sem necessidade de manter cadastro do mesmo ou sequer de ter tido um contato prévio com ele • A aceitação de um certificado envolve a conferência da assinatura digital, usando a chave pública da Autoridade Certificadora http://everson.por.com.br 57 Certificação de chave pública http://everson.por.com.br 58 NO BRASIL ICP Brasil • Infra-Estrutura de Chaves Públicas Brasileira. • Conjunto de técnicas, práticas e procedimentos, a ser implementado pelas organizações governamentais e privadas brasileiras com o objetivo de estabelecer os fundamentos técnicos e metodológicos de um sistema de certificação digital baseado em chave pública http://everson.por.com.br 60 Instituto Nacional de Tecnologia da Informação • Autarquia federal vinculada à Casa Civil da Presidência da República, é a Autoridade Certificadora Raiz - AC Raiz da ICP-Brasil » Tem por competências emitir, expedir, distribuir, revogar e gerenciar os certificados das AC de nível imediatamente subseqüente ao seu; » Gerenciar a lista de certificados emitidos, revogados e vencidos; » Executar atividades de fiscalização e auditoria das AC, das Autoridades de Registro - AR e dos prestadores de serviço habilitados na ICP-Brasil http://everson.por.com.br 61