Sunteți pe pagina 1din 62
‘Material Instrucional de uso restrto — consulte {saues(@ email com Centro Universitario da Cidade UniverCidade Escola de Ciéncias Exatas e Tecnologia Apostila de Criptografia e Certificagao Digital Prof. Frederico Sauer fsauer@ gmail.com ‘Material Instrucional de uso restrto ~ consulte {saves pmsl com 2 Este trabalho se destina apenas a desobrigar os alunos da insana tarefa de registrar notas de aula, dificultando 0 raciocinio, 0 questionamento e, por fim, a correta compreensio dos conceitos. E composto de conceitos extrafdos dos livros da bibliografia, portanto, néo é uma obra inédita, tampouco pretende substituir as referéncias citadas na ementa. A forma correta de usé-la é: procurar entender os conceitos ¢ associa-los ao mundo pritico, através de suas implementagdes. Caso isso nao seja possivel, buscar outras fontes mais extensas detalhadas para que tudo fique claro, Nao aceite passivamente 0 nao entendimento de algum conceito, Em tiltimo caso, nao deixe de consultar o seu professor. Afinal, nio ha nada mais prazeroso para um verdadeiro mestre do que ensinar. E se ndo entender uma palavra, google it ! Ou entao, consulte a wikipedia. texto, basicamente extrafdo do livro “Redes de Computadores e a Internet - 4*edigo — Kurose/Ross” e de manuais oficiais de certificacao digital, foi dividido em duas partes. No primeiro médulo, os fundamentos de criptografia sio descritos. No segundo médulo € detalhada a sua mais atual ¢ importante forma de implementacdo, a certificagao digital, com base na estratégia mundial de criagao de uma identidade tinica para qualquer cidadao do planeta: um certificado digital. Aproveite ! Entenda sobre o assunto. Certamente, um dia no futuro, todas as sociedades identificarao os seus cidadaos eletronicamente, através de microchips implantados no proprio corpo desde o nascimento de cada um, onde seus dados pessoais estatdo univocamente descritos. Prof. Frederico Sauer ‘Material Instucional de uso restrto consultefsaues(@ email com Apostila da Cadeira de Criptografia ¢ Certificagao Digital Médulo I - Criptografia Antes de falar sobre criptografia, é fundamental entender 0 porqué do seu surgimento. Teorias indicam que, desde a época do homem das cavernas, a necessidade de ocultar informagdes que precisam ser registradas fez surgit curiosos mecanismos criptogréficos. Criptografia significa a transformagao de informacao inteligivel em uma forma aparentemente ilegivel, a fim de ocultar seu real significado de pessoas nao-autorizadas a conhecé-lo. © termo detiva do grego kryptés (escondido) ¢ grdphein (escrever), ¢ & normalmente citada como primeira técnica criptogréfica formal a cifta de César (Imperador romano), descrita mais adiante. No entanto, estudiosos apontam que os primeiros hominfdeos que povoaram o planeta usavam técnicas particulares para contabilizar os seus rebanhos, dando assim origem aos primeiros registros em paredes de cavernas (as hoje admiradas pinturas rupestres encontradas em diversos sitios arqueolégicos espalhados pelo mundo). Atualmente, as demandas estratégicas da Seguranga da Informagio tornam a criptografia indispensdvel para a sociedade moderna, Sabe-se que a informagao agtega poder. Toda informagao valiosa, uma vez conhecida pelo concorrente, passa a ser passivel de utilizagao competitiva, sem 0 necessétio investimento para construf-la. Recentemente (2007) vimos 0 escindalo da utilizagao, pela scuderie McLaren de segtedos tecnolégicos desenvolvidos durante anos pela Ferrari, que Ihe deu hegemonia nas pistas durante anos, permitindo que @ ‘McLaren passasse a ganhar corridas. Comenta-se que tais segredos teriam sido passados por um Engenheiro inescrupuloso, No entanto, com 0 uso adequado de ferramentas criptolégicas, talvez tais informagdes, téo valiosas, nao tivessem saido da empresa Introducio ‘A maioria dos livros de seguranga, por razdes histéricas, usa os personagens Alice e Bob nas suas explanagGes, duas pessoas que desejam se comunicar, porém com seguranga (provavelmente, deviam ser amantes...). Como esse curso refere-se a redes, cabe a observagio que Alice ¢ Bob podem ser dois roteadores que querem trocar tabelas de roteamento com seguranga, um cliente e um servidor que querem estabelecer uma conexio de transporte segura, ou duas aplicagées de e-mail que querem trocar e-mails com seguranga - todos esses tépicos serao examinados mais adiante neste médulo, Alice ¢ Bob so componentes conhecidos da comunidade de seguranga, talvez porque o nome deles seja mais interessante do que uma entidade genérica denominada “A” que quer se comunicar com seguranga com uma entidade genérica denominada “B”. Amores proibidos, comunicagées em tempo de guerra e transagGes financeiras sfo as necessidades dos seres humanos comumente citadas quando o assunto € seguranga nas comunicagées, Foi dito que Alice ¢ Bob querem se comunicar, porém “com seguranga”, mas 0 que isso significa exatamente ? E certo que Alice ¢ Bob gostariam que o contetido de sua comunicagio permanecesse secreto, a salvo de um bisbilhoteiro (digamos, um marido ou esposa ciumenta). Provavelmente gostariam também de ter certeza de que esto realmente se comunicando um com o outro ¢ de que, caso algum bisbilhoteiro interfira na ‘Material Instrucional de uso restrto— consulte {caus email com 4 comunicagao, essa interferéncia seja detectada, O texto deste médulo descreve as técnicas desenvolvidas e conhecidas para permitir a busca destas agbes. Fundamentos de Seguranca da Informagio Voltando aos personagens Alice ¢ Bob, que querem se comunicar “com seguranga”. 0 que isso significa exatamente? Com certeza, Alice quet que somente Bob entenda a mensagem que ela enviou, mesmo que eles estejam se comunicando por um meio inseguro, onde um intruso (Trudy, a intrusa) pode interceptar, ler © executar processos computacionais com qualquer dado que seja transmitido de Alice para Bob. Bob também quer ter certeza de que a mensagem que recebe de Alice foi de fato enviada por ela, ¢ Alice quer ter certeza de que a pessoa com quem estd se comunicando é de fato Bob. Alice ¢ Bob também querem ter certeza de que 0 contetido de suas mensagens nao foi alterado em transito, Também querem, antes de mais nada, ter certeza de que podem se comunicar, isto é, de que ninguém Ihes negue acesso aos recursos necessétios para a comunicagao, Dadas essas_consideragées, podemos identificar as seguintes propriedades desejaveis da comunicagao segura: Confidencialidade. Somente o remetente ¢ o destinatétio pretendido devem poder entender 0 contetido da mensagem transmitida. O fato de terceiros poderem interceptar a mensagem exige, necessariamente, que esta seja cifrada de alguma maneira (que seus dados sejam disfarcados) para impedir que uma mensagem interceptada seja decifrada (entendida) por um interceptador. A confidencialidade é, provavelmente, o significado mais comumente interpretado na exptessio comunicagdo segura, Notemos, contudo, que essa nao é a tinica definigao de confidencialidade. Por exemplo, Alice poderia também querer que o mero fato de ela estar se comunicando com Bob (ou os horarios ou a freqiiéncia de suas comunicacao) fosse também um segredo! Estudaremos técnicas de criptografia para cifrar e decifrar dados mais adiante, Veremos que comunicacao confidencial muitas vezes depende de uma ou mais chaves utilizadas para criptografar/decriptar comunicagdes, Autenticagdo, © remetente ¢ o destinatério precisam confirmar a identidade da outra parte envolvida na comunicagao - confirmar que a outra parte realmente € quem alega ser. A comunicagao pessoal entre seres humanos resolve facilmente esse problema através do reconhecimento visual. Quando entidades comunicantes trocam mensagens por um meio pelo qual nao podem ver a outra parte, a autenticagao nao é assim tao simples. Por que, por exemplo, vocé pode acreditar que o e-mail que recebeu, e que contém um enderego de otigem identificando que aquele e-mail veio de um amigo seu, realmente veio daquele amigo? Se alguém o chama ao telefone dizendo ser de seu banco e perguntando qual é o niimero de sua conta, sua senha ¢ seu saldo baneério, alegando finalidades de verificagao, voc8 daria essas informagoes ? Esperamos que nao. Integridade de mensagem. Mesmo que o remetente 0 destinatério consigam se autenticar reciprocamente, eles também querem assegurar que 0 contetido de sua comunicagao nao seja alterado, por acidente ou por mé intenc&o, durante a transmissio. Veremos também como um receptor pode provar que a mensagem veio de um determinado remetente especitico. Nao-Repudiagdo - talvez. uma das mais importantes propriedades para a comunidade comercial dos administradores de cartes de crédito ¢ todos os demais usudtios do e-commerce, anao- repudiagao pretende garantir que um usudrio autor de uma determinada transagao nao possa ‘Material Instracional de uso restrto— consultefsauer@ email com 5 negé-la no futuro, Disponibilidade e controle de acesso. A necessidade imperiosa de seguranga na rede ficou dolorosamente obvia nos iiltimos anos devido a numerosos ataques de recusa de servigo (denial of service - DoS) que inutilizaram uma rede, um hospedeiro, ou qualquer outro componente da infra-estrutura de rede, para seus usudrios legitimos; o mais notrio desses ataques DoS talvez tenha sido 0 cometido contra os sites Web de imimeras empresas de alta visibilidade. Portanto, um requisito fundamental para comunicagao segura deve ser, antes de mais nada, que ela possa ocorrer - que os "bandidos’ nao possam impedir que a infra- estrutura seja utilizada por usuétios legitimos. fato de que alguns desses usuarios possam ser legitimos, enquanto outros nao, leva naturalmente, & nogao de controle de acesso, para garantir que entidades que procuram obter acesso a recursos possam fazé-lo somente se tiverem os direitos de acesso apropriados ¢ realizarem acessos de uma maneira bem definida Confidencialidade, autenticacao, integridade ¢ nao-epudiagao de mensagem vem sendo considerados componentes fundamentais da comunicagao segura hé bastante tempo. Disponibilidade ¢ controle de acesso sio extensdes mais recentes da nogdo de comunicagées seguras, sem duvida motivadas pelas preocupagées muito reais com a seguranga da infra-estrutura de rede contra um potencial ataque violento dos ‘bandidos’, Um dos modos mais seguros para garantir que 'bandidos’ nao possam causar danos é assegurar, antes de mais nada, que seus pacotes nao entrem na rede. Um firewall é um dispositive situado entre a rede a ser protegida ¢ o resto do mundo (0s 'bandidos’, eles) Ele controla o acesso de e para a rede regulando quais pacotes podem passar- para dentro ¢ para fora da rede, Os firewalls tomaram-se rapidamente componentes comuns em redes, desde pequenas redes residenciais até as pertencentes as maiores empresas do mundo. Estudaremos como firewalls provéem controle de acesso (por pacote ¢ por servigo). Nossa definigao de comunicacao segura concentrou-se primordial mente em proteger a comunicagao e os recursos da rede. Na prética, a seguranga na rede envolve ndo apenas protecao, mas também detecedo de falhas em comunicagdes seguras e ataques a infra- estrutura e reagéo a esses ataques. Em muitos casos, um administrador pode implementar mecanismos especiais de protegio para reagir a ataques. Nesse sentido, a seguranga da rede & conseguida por meio de um ciclo continuo de protegao, detecgao € reagio. Agora que ja determinamos o que significa seguranga na rede, vamos considerar em seguida quais so exatamente, as informagées as quais um intruso pode ter acesso ¢ que ages podem ser executadas por ele , A Figura | ilustra 0 cenatio. Mensagens de controle ede dads Remetenie ou Gal alike é a Tras Figura 1 - Remetente (Alice), destinatario (Bob) e intruso (Trudy) ‘Material Instrucional de uso restrto consulte{saues(@ email com 6 Alice, a remetente, quer enviar dados a Bob, o destinatério, Para trocar dados com seguranga, além de atender aos requisitos de confidencialidade, autenticagao e integridade de mensagens, Alice ¢ Bob trocardo mensagens de controle ¢ de dados. Todas ou algumas dessas_mensagens normalmente serdo criptografadas, Um intruso passivo pode, potencialmente, fazer 0 seguinte: ‘monitorar - ouvir ¢ gravar as mensagens de controle e de dados no canal; modificar, inserir ou eliminar mensagens ou contetido de mensagens. Como veremos, a menos que sejam tomadas contramedidas adequadas, essas capacidades permitem que um intruso monte uma grande variedade de ataques & seguranga monitorar comunicagées (e, possivelmente, roubar senhas e dados), fazer-se passar por outra entidade, seqilestrar uma sesso em curso, recusar servigo a usuarios legitimos da rede sobrecarregando os recursos do sistema ¢ assim por diante. Agora que jé temos certeza de que hé ameacas reais (Trudy) & solta na Internet, quais sio os equivalentes de Alice ¢ Bob na Internet, esses nossos amigos que precisam se comunicar com seguranga? Certamente, Bob ¢ Alice podem ser dois usuérios humanos em dois sistemas finais, por exemplo, uma Alice real e um Bob real que de fato querem trocar e-mails seguros. Eles podem também ser os participantes de uma transagio de comercio eletrénico. Por exemplo, um Bob real pode querer transmitir com seguranga 0 mimero de seu cartao de credito a um servidor Web para comprar um produto pela rede. Entretanto, como descrito em [RFC 1636], 0s participantes que necessitam de comunicagao segura podem também ser componentes da infra-estrutura da rede. Lembre-se de que o sistema de nomes de dominio ou daemons roteadores que trocam informagGes de roteamento requerem comunicago segura entre dois participantes. O mesmo € valido para aplicagGes de gerenciamento de rede. Um intruso que conseguisse interferir, controlar ou corromper ativamente consultas ¢ atualizagdes do DNS [RFC 2535, IETF dnsext 2004], processamentos de roteamento ou fungdes de gerenciamento de rede (RFC 2574] poderiam causar uma devastagio na Internet. Estabelecida a estrutura, apresentadas algumas das definigGes mais importantes e justificada a necessidade de seguranga na rede, vamos examinar a criptografia. Embora a utilizagao da criptografia para prover confidencialidade seja evidente por si sé, veremos em breve que ela também e essencial para prover autenticagao, integridade de mensagem, nio- repudiacao e controle de acesso - O que faz da criptografia uma pedra fundamental da seguranga na rede. Principios de Criptografia Embora a criptografia tenha uma longa histéria que remonta, no mfnimo, a Julio César, técnicas modernas de criptografia, incluindo muitas das usadas na Internet, sio baseadas em progressos feitos nos gltimos 30 anos. Trataremos, no entanto, apenas de seus aspectos essenciais, em particular do modo como as técnicas criptogréficas sao postas em pratica na Internet. Um excelente site on-line € a pagina de perguntas © respostas mais freqiientes (FAQ) do RSA Labs. Observamos também que, conquanto nessa sega focalizaremos a utilizagao da criptografia aplicada a confidencialidade, em breve veremos que as técnicas ‘Material Instrucional de uso restrto consultefsaues(@ pmsl com 7 criptogréficas estio inextricavelmente entrelagadas com a autenticagao, integridade de ‘mensagens, a nao-repudiacao e outras. Técnicas criptograficas permitem que um remetente disfarce os dados de modo que um intruso nao consiga obter nenhuma informagao dos dados interceptados. O destinatatio, € claro, deve estar habilitado a recuperar as dados originais a partir dos dados disfargados. A Figura 2 apresenta alguns dos componentes mais importantes da terminologia usada em criptografia. Testo aberto Testo aber /Algoritmo de | _ Igoritmo de| rats — ees As. oo be ‘S) S co rey ow | jura 2 - Componentes Criptograficos Suponha agora que Alice queita enviar uma mensagem a Bob. A mensagem de Alice em sua forma original (por exemplo, "Bob. I love you. Alice") é conhecida como texto aberto ou texto claro. Alice criptografa sua mensagem em texto aberto usando um algoritmo de criptografia, de modo que a mensagem criptografada, conhecida como texto cifrado, parega ininteligivel para qualquer intruso. O interessante € que em muitos sistemas ctiptograficos modetnos, incluindo os usados na Intemet, a técnica de codificagao & conhecida - publicada, padronizada e disponivel para qualquer um, mesmo para um intruso em potencial ! Evidentemente, se todos conhecem o método para codificar dados, entio deve haver alguma informagao secreta que impede que um intruso decifre dados transmitidos. E aqui que entra a chave. Na Figura 2, Alice fomece uma chave, Ka, uma cadeia de niimeros ou de caracteres, como entrada para o algoritmo de criptografia. O algoritmo de criptografia pega essa chave € 0 texto aberto da mensagem m, como entrada e produz texto ciftado como safda. A notago Ka(m) refere-se & forma do texto ciftado (criptografado usando a chave K,) da mensagem em texto aberto, m. © algoritmo criptogréfico propriamente dito, que usa a chave Ka, ficard evidente do préprio contexto. De maneira semelhante, Bob fomecera uma chave, Kz, a0 algoritmo de decriptagio, que pega a texto ciftado ¢ a chave de Bob como entrada ¢ produz o texto aberto original como saida, Isto é, se Bob receber uma mensagem criptografada Ka (m), ele a decriptaré calculando Kx (K,(m)) = m. Em sistemas de chaves simétricas, as chaves de Bob e de Alice so idénticas e secretas. Em sistemas de chaves piiblicas, é usado um par de chaves. Uma das chaves & conhecida. por Bob e por Alice (na verdade, é conhecida pelo mundo inteiro). A outra chave ¢ conhecida apenas por Bob ou por Alice (mas nao por ambos). ‘Material Instrucional de uso restrto consulte{saues(@ email com 8 Criptografia de Chaves Simétricas Todos os algoritmos criptogréficos envolvem a substituigio de um dado por outro, como tomar um trecho de um texto aberto ¢ entdo, calculando € substituindo esse texto por outro cifrado apropriado, criar uma mensagem cifrada. Antes de estudar um sistema criptografico modemno baseado em chaves, vamos abordar um algoritmo de chaves simétricas muito antigo, muito simples, atribufdo a Jilio César e conhecido como cifia de César (uma cifra e um método para criptografar dados). A ccifra de César funciona tomando cada letra da mensagem do texto aberto e substituindo-a pela k-ésima letra sucessiva do alfabeto (permitindo a rotatividade do alfabeto, isto é, a letra ‘z' seria seguida novamente da letra ‘a’). Por exemplo, se k = 3, entio a letra ‘a’ do texto aberto fica sendo ‘d’ no texto cifrado; ‘b’ no texto aberto se transforma em 'e’ no texto cifrado, e assim por diante. Nesse caso, © valor de k serve de chave. Por exemplo, a mensagem "bob, I love you. Alice.” se toma "ere. 1 oryh brx, dolfh.” em texto cifrado. Embora o texto cifrado na verdade parega nao ter nexo, vocé nao levaria muito tempo para quebrar 0 cédigo se soubesse que foi usada a cifra de César, pois ha somente 25 valores possiveis para as chaves. ‘Um aprimoramento da cifra de César € a cifra monoalfabética, que também substitui ‘uma letra do alfabeto por outra. Contudo, em vez. de substituir as letras seguindo um padrao regular (por exemplo. substituicao por um deslocamento de k para todas as letras), qualquer letra pode ser substituida por qualquer outra, contanto que cada letra tenha uma nica letra substituta e vice-versa. A regra de substituigao apresentada na Tabela 1 mostra uma regra poss{vel para codificar textos abertos Tabela 1 - Cifra de Substituigéo Simples tewoewo la lolelale/stelaliti eli |mtalolplalslslelulviwlxly |e Teno ol mfolofvefetefelsfatr feta |i fets fotofifaty fede Lew ‘A mensagem do texto aberto "bob. I love you. Alice.” Se tora "nkn, s gktc wky. mgsbc", conforme ilustrado na Figura 3. Assim, como aconteceu no casa da cifra de César, © texto parece sem nexo. A cifra mono alfabética também parece ser melhor que a cifra de César, pois hé 26! (da ordem de 10”) possiveis pares de letras, em vez de 25 pares possiveis! texto aberto: abcdefghijklmnoparstuvwxyz texto cifrado: mbvcxzasdfghjklpoinytrevg Ex, texto aberto: bob. i love you. alice texto cifrado: nkn. s gkte wky. mgsbe Figura 3 - Cifra de substituicio simples ‘Uma abordagem de forga bruta que experimentasse todos os 10° pares possiveis demandaria um esforgo demasiadamente grande ¢ impediria que esse fosse um método vidvel para quebrar o algoritmo criptogrifico e decodificar a mensagem. Contudo, pela anilise estatistica da linguagem do texto aberto, por exemplo, e sabendo que as letras 'e’e ‘Material Instrucional de uso restrto— consulte{sauer@ pmsl com 9 sio as mais freqiientes em textos em inglés (13 por cento e 9 por cento das ocorréncias de letras, respectivamente) e sabendo também que determinados grupos de duas e de trés letras aparecem com bastante freqiiéncia em inglés (por exemplo, ‘in’, it, the’, ion’, ‘ing’, ¢ assim por diante), torna-se relativamente facil quebrar esse cédigo. Se o intruso tiver algum conhecimento sobre 0 possivel texto da mensagem, entdo ficaré mais fécil ainda quebrar 0 c6digo. Por exemplo, se a intrusa Trudy for a esposa de Bob ¢ suspeitar que ele esta tendo um caso com Alice, ela poderd facilmente imaginar que os nomes ‘bob’ ¢ ‘Alice’ aparegam no texto, Se Trudy tivesse certeza de que esses dois nomes aparecem no texto cifrado © tivesse uma cépia do texto cifrado da mensagem do exemplo, entao ela poderia determinar imediatamente sete dos 26 pares de letras, 0 que resultaria em 109 possibilidades a menos para verificar pelo método da forga bruta. Na verdade, se Trudy suspeitasse que Bob estava tendo um caso, ela poderia muito bem esperar encontrar algumas outras palavras preferenciais no texto também. Considerando como seria fécil para Trudy quebrar 0 cédigo criptogréfico de Bob Alice, podemos distinguir trés cendtios diferentes, dependendo do tipo de informagao que o intruso tem: Alaque exclusivo a texto cifrado, Em alguns casos, o intruso pode ter acesso somente ao texto cifrado interceptado, sem ter nenhuma informagao exata sobre o contetido do texto aberto, Ja vimos como a analise estatistica pode ajudar o ataque exclusivo ao texto cifrado em um esquema criptogrifico. Alaque com texto aberto conhecido. Vimos anteriormente que, se Trudy, por alguma razo, tivesse certeza de que ‘bob’ e ‘alice’ apareciam no texto cifrado, ela poderia determinar os pares (texto cifrado, texto aberto) para as letras a, |, i, ¢, e, b e o. Trudy poderia também ser muito sortuda e ter gravado todas as transmissdes de texto cifrado e descoberto uma versio decifrada pelo proprio Bob escrita em um pedaco de papel. Quando um intruso conhece alguns dos pares (texto aberto, texto cifrado), referimo-nos a isso como ataque ao esquema criptografico a partir de texto aberto conhecido. Ataque com texto aberto escothido, Nesse tipo de ataque, o intruso pode escolher a mensagem em texto aberto e obter set texto cifrado correspondente. Para os algoritmos criptograficos simples que vimos ate aqui, se Trudy conseguisse que Alice enviasse a mensagem "The quick fox jumps over the Lazy brown dog", ela poderia decifrar completamente o esquema criptografico, j4 que esta frase contém todas as letras do alfabeto. Veremos em breve que, para técnicas de criptografia mais sofisticadas, um ataque com um texto aberto escolhido no significa necessariamente que a técnica criptografica possa ser decifrada. Quinhentos anos atrés foram inventadas técnicas que aprimoravam a cifra monoalfabética, conhecidas como cifras polialfabéticas. A idéia subjacente a criptografia polialfabética € usar varias cifras monoalfabéticas com uma cifra monoalfabética especifica para codificar uma letra em uma posigao especifica no texto aberto da mensagem. Assim, a mesma letra, quando aparece em posigdes diferentes no texto aberto da mensagem, pode ser codificada de maneira diferente, Um exemplo de esquema criptografico polialfabético mostrado na Tabela 2, na qual ha duas ciftas de César (com k = 5 ¢ k= 19), que aparecem nas linhas da tabela. Podemos optar pelo uso dessas duas cifras de César, C1 ¢ C2, seguindo © modelo de repetigao C1, C2, C2, Ci, C2, isto é, a primeira letra do texto deve ser cifrada usando-se Ci, a segunda ¢ a terceira com C2, a quarta, com Cl, ¢ a quinta com C2, O modelo, entio, se repete, com a sexta letra sendo cifrada usando-se Cl, a sétima, com C2, € assim por diante, Dessa maneira, a mensagem em texto aberto "bob, I love you." é cifrada ‘Material Instrucional de uso restrto consulte{saues(@ email com 10 como "ghu, n etox dhz.". Note que o primeiro 'b! da mensagem em texto aberto é cifrado usando-se C1, ao passo que 0 segundo ’b’€ cifrado usando-se C2. Nesse exemplo, a ‘chave! da codificagao e da decodificagao € 0 conhecimento das duas cifras de César (k = 5, k = 19) edo modelo Cl, C2, C2, C1, C2. ‘Tabela 2 - Cifra de Substituigio Dupla revoeeo s blelafe ele oii |s eli mialolple sels lulvfwielye cigs) (elelals Ti leliim aleeles |stefelviwlely [olate clare cram) Le fof v}wlefyle te folelelels Lefoli fs fe fs fm fo fole fale ls Padréo para Criptografia de Dados (DES) e Padrao Avancado de Criptografia (AES) ‘Vamos agora avancar rapidamente até os tempos modemos ¢ examinar 0 DES (data encryption standard - padrao para criptografia de dados), um padrao de criptografia de chaves simétricas desenvolvido em 1977 e atualizado mais recentemente, em 1993, pelo U.S. National Bureau of Standards para uso comercial ¢ nfo-classificado do governo norte- americano. © DES codifica texto aberto em porgdes de 64 bits usando uma chave de 64 bits. Na verdade, oito desses 64 bits da chave sao bits de paridade impar (hd um bit de paridade para cada byte), de modo que a chave DES tem efetivamente 56 bits de comprimento, O National Institute of Standards and Technology (sucessor do National Bureau of Standards) assim estabelece o objetivo do DES: "o objetivo € embaralhar completamente os dados e a chave, de modo que todos os bits do texto cifrado dependam de todos os bits de dados e de todos os bits da chave com um bom algoritmo, no deverd haver nenhuma correlagdo entre o texto cifrado ¢ os dados originais ¢ a chave” ‘A operagio basica do DES é ilustrada na Figura 4, Em nossa discussio, vamos descrever de maneira geral a operacio do DES, deixando os detalhes fundamentais no nivel de bits (ha muitos) para outras fontes. ‘Material Instrucional de uso restrito consulte{saues(@ pmsl com uw Entrada de 64 BS Chave de bts [emus alfa Ki bits K2-8 bits ke bite ermuta ids de 6b Figura 4- Data Encryption Standard (DES) © DES consiste em dois estagios de permutagao (O primeiro e o dltimo passos do algoritmo) nos quais todos os 64 bits so permutados, havendo 16 rodadas idénticas de operagao entre eles. A operagdo de cada rodada e idéntica e toma a safda de dados da rodada anterior como entrada. Durante cada rodada, os 32 bits da extrema direita da entrada sio deslocados para os 32 bits da esquerda da safda. Toda a entrada de 64 bits até a i-ésima rodada e a chave de 48 bits para a i-ésima rodada (derivada da chave DES maior de 56 bits) sio tomadas como entrada para uma fungao que envolve a expansdo das porgdes de 4 bits da entrada para porgies de 6 bits, fazendo-se 0 OU exclusive com as porgdes expandidas de 6 bits da chave Kj, de 48 bits, uma operagao de substituigao, e 0 ulterior OU exclusive com os 32 bits da extrema esquerda da entrada. A saida de 32 bits resultante da fungao é ento usada como os 32 bits da extrema direita da safda de 64 bits da rodada, como mostra a Figura 4. A decodificagao funciona pela reversdo das operacdes dos algoritmos. ‘Até que ponto o DES funciona? Ate que ponto ele é seguro? Ninguém pode ter certeza. Em 1997, uma empresa de seguranga de redes, a RSA Data Security Inc., Iangou um desafio (DES Challenge) para quebrar (decodificar) uma frase curta que tinha sido criptografada usando 0 DES de 56 bits. A frase "Strong cryptography makes the world a safer place." (a boa criptografia faz. do mundo um lugar mais seguro) foi decodificada em menos de quatro meses por uma equipe que usou voluntérios por toda a Internet para explorar sistematicamente 0 espago de chaves. A equipe reivindicou o prémio de 10 mil délares apés ter testado apenas um quarto do espaco de chaves - cerca de 18 quatrilhdes de chaves. O desafio DES Challenge II, de 1999, foi vencido em pouco mais de 22 horas por ‘uma rede de voluntétios ¢ um computador especialmente construfdo para a ocasiao, que custou menos de 250 mil délares (apelidado de ‘Deep Crack’), ¢ est documentado na Internet. ‘Material Instrucional de uso restrto consulte {saves pmsl com 12 Devemos observar também que, até aqui, consideramos apenas a criptografia de uma quantidade de 64 bits. Quando sao criptografadas mensagens mais longas, 0 que é tipicamente 0 caso, 0 DES é em geral usado junto com a técnica conhecida como encadeamento de blocos de cifras, na qual a versio criptografada da j-ésima quantidade de 64 bits € a unidade de dados de ordem (j + 1) si combinadas através de uma operagio "OU exclusiva” antes de a unidade de ordem (j + 1) ser criptografada. Se 0 DES de 56 bits for considerado muito inseguro, pode-se simplesmente executar 0 algoritmo de 56 bits varias vezes, tomando a saida de 64 bits de uma iteragao do DES como entrada para a itera¢do DES seguinte e usando uma chave criptografica diferente para cada rodada. Por exemplo, o DES triplo (3DES) é um padro proposto pelo governo norte- americano para substituir 0 DES, que est4 sendo descontinuado e & permitido apenas em sistemas legados. Em uma operagao criplogrilica, 0 3DES executa primeiro o algoritmo de criptografia DES sobre os dados utilizando uma primeira chave de 56 bits; em seguida, executa 0 algoritmo de decriptacao do DES sobre a safda da primeira rodada de criptografia usando uma segunda chave e, finalmente, executa o algoritmo de criptografia DES sobre a saida da segunda rodada usando uma terceira chave. O 3DES foi proposto como o padrao criptografico para o PPP (protocolo ponto-a-ponto) para a camada de enlace. Em novembro de 2001, 0 NIST anunciou 0 sucessor do DES: 0 Padrio Avancado de Criptografia (Advanced Encryption Standard - AES), também conhecido como algoritmo de Rijndael. O AES € um algoritmo de chave simétrica que processa dados em blocos de 128 bits e pode funcionar com chaves de 128, 192 e 256 bits de comprimento. O NIST estima que uma méquina que conseguisse quebrar o DES de $6 bits em 1 segundo (isto é, experimentar 2°° chaves por segundo) levaria aproximadamente 149 trilhdes de anos para quebrar uma chave AES de 128 bits. Criptografia de Chave Pablica Por mais de dois mil anos (desde a época da cifra de César até a década de 1970), a comunicagao cifrada exigia que as duas partes comunicantes compartilhassem um segredo em comum: a chave simétrica usada para cifrar e decifrar. Uma dificuldade dessa abordagem € que as duas partes tm de concordar, de alguma maneira, com a chave compartithada, mas, para faz8-lo, é preciso comunicagao (presumivelmente segura)! Talvez as partes pudessem se encontrar antes, escolher a chave pessoalmente (por exemplo, dois dos centurides de César poderiam se encontrar nos banhos romanos) ¢, mais tarde, se comunicar de modo cifrado. Em um mundo em rede, contudo, 0 mais provavel é que as partes comunicantes nunca possam se encontrar e jamais possam conversat a nao ser pela rede. E possivel que elas se comuniquem por criptografia sem compartilhar uma chave comum secreta conhecida com antecedéncia? Em 1976, Diffie e Hellman apresentaram um algoritmo (conhecido como Troca de Chaves Diffie Hellman - Diffie Hellman Key Exchange) que faz exatamente isso - uma abordagem da comunicagao segura radicalmente diferente © de uma clegincia maravilhosa que levou ao desenvolvimento dos atuais sistemas de criptografia de chaves publicas, Veremos em breve que os sistemas de criptografia de chaves piblicas também tém diversas propriedades maravilhosas que os tomam titeis no somente para criptografia, mas também para autenticagio e assinaturas ‘Material Instrucional de uso restrto consulte{saues(@ email com 13 digitais. E interessante que, recentemente, veio & luz que idéias semelhantes as dos revolucionérios artigos de Diffie ¢ Hellman “New Directions in Criptography”, de 1976 € as do trabalho "A Method for Obtaining Digital Signatures and Public-Key Cryptosystems”, Rivest-Shamir ¢ Adleman, de 1978 foram — desenvolvidas independentemente no inicio da década de 1970 em uma serie de relat6rios secretos escritos por pesquisadores do Grupo de Seguranga para Comunicagao e Eletrénica (Communications-Electronics Security Group) do Reino Unido. Como acontece com freqiiéncia, grandes idéias podem surgir de modo independente em diversos lugares; felizmente, os progressos da criptografia de chaves ptiblicas ocoreram nao apenas no Ambito privado, mas também no publico. A utilizagao de criptografia de chaves ptblicas, como conceito, é bastante simples. Suponha que Alice queira se comunicar com Bob. Como mostra a Figura 5, em vez de Bob € Alice compartilharem uma tinica chave secreta (como no caso dos sistemas de chaves simétricas), Bob (0 destinatério das mensagens de Alice) tem duas chaves - uma chave pUblica, que esta 4 disposigao do mundo todo (inclusive a disposicao de Trudy, a intrusa), € uma chave privada, que apenas ele (Bob) conhece. Usaremos a notagdo Ky” e Ky” para nos referirmos as chaves publica ¢ privada de Bob, respectivamente. Para se comunicar com Bob, Alice busca primeiramente a chave piblica de Bob. Em seguida, ela criptografa sua mensagem, m, usando a chave piblica de Bob e um algoritmo criptografico conhecido (por exemplo, padronizado), isto é, Alice calcula Ky+(m). Bob recebe a mensagem criptografada de Alice ¢ usa sua chave privada e um algoritmo de decriptagao conhecido (por exemplo, padronizado) para decifrar a mensagem de Alice, isto é, Bob calcula Ky (K'(mm)). == Kj chavecriptogratica publica ©== Kj have criptografica privada Mensagem em Mensagem em texto aberto, m texto aberto, m Texto cifrado ‘Algoritmo de| _ Ks'(m) criptografia [Algoritmo de decriptacao. mom Ka (Kala) igura § - Criptografia de Chaves Pablicas Veremos, mais adiante, que ha algoritmos e (écnicas de criptografia/decriptagao para escother chaves pitblicas e privadas de modo que Kx(Kn‘(m)) = m; isto é, aplicando a chave publica de Bob, Ky’, & mensagem m, para obter Ky+(m), e entao aplicando a chave privada de Bob, Kp’ , a versio criptografada de m, isto 6, calculando Kg (Ky’(m)), obtemos ‘m novamente. Esse resultado ¢ notavel! Dessa maneira Alice pode utilizar a chave de Bob disponivel publicamente para enviar uma mensagem secreta a Bob sem que nenhum deles tenha de permutar nenhuma chave secreta! Veremos em breve que nés podemos permutar a chave piiblica ¢ a chave privada de criptografia e obter o mesmo resultado notivel, isto e, Ks (Ka‘(m)) = Ka* (Kp (m)) = m. A utilizacao de criptografia de chave piblica €, portanto, conceitualmente simples. Mas ‘Material Instrucional de uso restrto consultefsaues(@ pmsl com 14 h4 duas preocupagdes que podem nos ocorrer imediatamente. A primeira preocupagao é que, embora um intruso que intercepte a mensagem cifrada de Alice veja apenas dados ininteligiveis, ele conhece tanto a chave (a chave piiblica de Bob, que esta disponivel para todos) quanto o algoritmo que Alice usou para a criptografia. Assim, Trudy pode montar um ataque com texto aberto escolhido utilizando o algoritmo criptogrdfico padronizado conhecido ¢ a chave criptogréfica de acesso ptiblico de Bob para codificar a mensagem que quiser! Ela pode até tentar, por exemplo, codificar mensagens, ou partes delas, que suspeita que Alice poderia enviar. Fica claro que, para a criptografia de chave piblica funcionar, a escolha de chaves e de cédigos de criptografia/decriptagao deve ser feita de tal maneira que seja impossfvel (ou, ao menos, tao dificil que se tone quase impossivel) para um intruso determinar a chave privada de Bob ou conseguir decifrar ou adivinhar a mensagem de Alice a Bob. A segunda preocupagao é que, como a chave criptogréfica de Bob é piblica, qualquer um pode enviar uma mensagem cifrada a Bob, incluindo Alice ou alguém que se passa por Alice. No caso de uma tnica chave secreta compartilhada, 0 fato de o remetente conhecer a chave secreta identifica implicitamente o remetente para o destinatario. No caso da criptografia de chave publica, contudo, isso nao acontece, j4 que qualquer um pode enviar uma mensagem cifrada a Bob usando a chave dele, que esta publicamente disponfvel a todos, E preciso uma assinatura digital, que sera vista mais adiante, para vincular um remetente a uma mensagem. Embora existam muitos algoritmos ¢ chaves que tratam dessas preocupagées, o algoritmo RSA (cujo nome se deve a seus inventores, Ron Rivest, Adi Shamir e Leonard Adleman) tornou-se quase um sinénimo de criptografia de chave publica. Em primeiro lugar, vamos ver como o RSA funciona e, depois, examinar por que ele funciona, Suponha que Bob queira receber mensagens cifradas, como mostrou a Figura 5. Ha dois componentes inter-relacionados no RSA: © Aescolha da chave piiblica e da chave privada; € © Oalgoritmo de criptografia/decriptagio. Para escolher as chaves publica e privada, Bob deve executar as seguintes etapas: 1. Escolher dois niimeros primos grandes, p ¢ g. Que ordem de grandeza devem ter p ¢ q? Quanto maiores os valores, mais dificil ser4 quebrar o RSA, mas mais tempo se levaré para realizar a codificacio ¢ a decodificagao. © RSA Laboratories recomenda que o produto de p e-q seja da ordem de 1024 bits para uso empresarial e de 768 bits para utilizagio com informagdes menos valiosas (O que nos leva a pensar por que o uso empresarial € considerado muito mais importante do que outros usos!), 2. Computar n = pg e Z= (p - 1)(q- 1). 3. Escolher um niimero ¢ menor do que n que nao tenha fatores comuns (exceto o 1) com z. (Nesse caso, dizemos que ¢ e Z so ntimeros primos entre si) A letra’e’ € usada ja que esse valor ser utilizado na criptografia (‘encryption’, em inglés) 4, Achar um ntimero d, tal que ed - 1 seja divisivel exatamente (isto e, ndo haja resto na divisdo) por z. A letra ‘d' é usada porque seu valor ser4 utilizado na decriptagao. Em outras palavras, dado e, escolhemos d tal que o resto da divisdo de ed por Z seja o ntimero inteiro 1 (0 niimero inteiro, que é 0 resto da divisdo de x por um inteiro n, é denominado x mod n).. 5. A chave pitblica que Bob pée a disposicao de todos, Ka", ¢ o par de niimeros (n,e); sua chave privada, Ky’, e 0 par de mimeros (n,d). ‘Material Instrucional de uso restrito— consultefsaues(@ email com 15 A criptografia feita por Alice ¢ a decriptacao feita por Bob acontecem como segue: © Suponha que Alice queira enviar a Bob um padrao de bits, ou mimero m, tal que m

S-ar putea să vă placă și