www.modulo.com.br Fundao Joo Pinheiro Escola de Governo de Minas Gerais Mestrado em Administrao Pblica: Criptologia Uma cincia fundamental para tratamento de informaes sigilosas www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 2 SUMRIO INTRODUO O que Criptografia Algo sobre a histria da Criptografia ( e comico sobre a Criptografia no Brasil) Tcnicas mais freqentes de criptografia Aplicaes da Criptografia PRINCPIOS BSICOS DA CRIPTOGRAFIA Autenticidade Confidencialidade Integridade Disponibilidade ASPECTOS LEGAIS DO USO DA CRIPTOGRAFIA Meios Legais de Proteo da Informao Protees por Meios No Legais TAXONOMIA DOS RISCOS PARA AS ORGANIZAES OS SISTEMAS CRIPTOGRFICOS Tcnicas Simples: Tcnicas Simples de Criptoanlise: Criptografia por Chave Pblica Sistemas Criptogrficos baseados em Curvas Elpticas RSA - Rivest, Shamir and Adleman Algorithm (Algoritmo de Criptografia RSA baseado em chave pblica e privada) SET - Secure Eletronic Transaction (Transaes eletrnicas seguras com carto de crdito) Algoritmo Criptogrfico Blowfish GLOSSRIO BIBLIOGRAFIA www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 3 INTRODUO Desde que as sociedades humanas estruturam-se tem havido a necessidade de se ocultar informaes entendidas, cada uma a seu tempo, como segredos. Sejam segredos familiares, segredos sentimentais, segredos pessoais, segredos religiosos, ou segredos militares ou governamentais. To forte quanto a necessidade de guardar estes segredos o desejo de outros de desvendar esses mesmos segredos. Seja por dinheiro, poder, vingana, curiosidade, arrogncia, ou qualquer outro sentimento essa tem sido uma batalha que, ao longo dos anos vem sendo travada entre aqueles que querem guardar segredos e os que querem desvendar esses segredos. Na atualidade, com o avano cada vez maior dos poderes das Redes de Computadores, as distncias entre os vrios agentes distribudos ao longo do planeta tendem a ficar menores. medida que isto acontece a tomada de decises ressente-se em maior grau da velocidade em que estas decises so tomadas. Contudo a qualidade das decises tomadas continuam sendo determinadas pela qualidade das informaes disponveis para tal. Neste contexto a disponibilidade, a qualidade e o controle sobre a informao ganham outro grau de magnitude na importncia estratgica que esta sempre teve para os governos e para as empresas. Assim quanto maior o fluxo de informaes em redes de telecomunicaes, ou maior a quantidade de informao armazenada em meios computacionais, maior a necessidade de empresas, governos (e at de pessoas fsicas) de se protegerem contra uma velha ameaa que agora ganha outras feies com desenvolvimento da informtica: o furto e a adulterao de informao. Tendo em vista a necessidade de se criar ferramentas capazes de proteger a informao e de prover segurana aos documentos armazenados e transmitidos pelas organizaes atravs do mundo, tem-se a motivao para se estudar Criptografia. www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 4 O que Criptologia A palavra Criptologia deriva da palavra grega kryptos (oculto) e logos (estudo). Este campo de estudo mais abrangente abarca as disciplinas da Criptografia e da Criptoanlise combinadas. Um conceito que possa definir Criptologia em poucas palavras que ela seria o estudo das escritas secretas. Na verdade Criptologia o estudo de Cdigos e Cifras (no necessariamente secretos). Mensagens ocultas que no so nem codificadas nem cifradas so, simplesmente, ocultas. A tcnica da tinta invisvel um exemplo de mensagem oculta. Um cdigo um sistema preestabelecido de substituio de palavras ou de pargrafos. Um idioma estrangeiro, por exemplo, como um cdigo secreto onde cada palavra em portugus possui uma equivalente nele. Assim, "i" em portugus equivale a "hola" em espanhol ou "hi" em ingls. A maioria dos cdigos funcionam com um "livro de cdigos" onde esto relacionadas as equivalncias, como se fosse um dicionrio. J a palavra cifra vem do hebraico saphar, que significa "dar nmero". A maioria das cifragens so intrinsecamente sistemticas, freqentemente baseadas em tcnicas de sistemas numricos. Formada a partir da concatenao do termo grego kryptos (escondido, oculto) e da palavra grapho (grafia, escrita), a Criptografia apresenta-se como a cincia de escrever em cdigos ou em cifras, ou seja, uma cincia capaz de prover meios atravs dos quais seja possvel transformar um texto em claro (inteligvel) em um texto cifrado (ininteligvel). Ao seu turno, o termo Criptoanlise o estudo de como quebrar os mecanismos criptogrficos, podendo assim revelar o contedo das mensagens cifradas. Para muitos autores o compromisso da Criptografia seria o provimento da privacidade das comunicaes. De fato, a proteo de comunicaes sensveis tem sido a nfase da criptografia ao longo de toda historia. Dentro da Criptologia a cincia da Criptografia tem como seu objeto de estudos os processos de Encriptao ou seja, a transformao dos dados em uma forma que torna impossvel a sua leitura sem o apropriado conhecimento. O seu propsito assegurar privacidade da informao mantendo o entendimento da mensagem oculto de qualquer um a qual ela no seja destinada. A Decriptao, por outro lado, o reverso da Encriptao; a transformao de dados encriptados novamente em uma forma inteligvel. www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 5 Encriptao e decriptao geralmente requerem o uso de uma informao secreta que atua como uma chave. Para alguns mecanismos de encriptao a mesma chave usada para tanto para a cifragem dos dados quanto para a sua decifragem; para outros mecanismos as chaves usadas para a encriptao e decriptao so diferentes. Na atualidade a aplicao da criptografia est ligada a uma propriedade to fundamental de nossas vidas como a privacidade: a Autenticao. O uso da autenticao algo comum no nosso cotidiano quando assinamos algum documento e como nos movemos para um mundo onde as decises e contratos so feitos de forma eletrnica, necessitamos ter tcnicas eletrnicas de provimento de autenticao. A Criptografia prov mecanismos para tais procedimentos. Uma assinatura digital vincula um documento ao proprietrio de uma chave particular, enquanto um selo digital vincula um documento ao momento de sua criao em um momento particular. Estes mecanismos criptogrficos podem ser usados para o controle de acesso a um disco compartilhado, a uma instalao de alta segurana ou um canal privado de TV. O campo da criptografia encobre ainda outros usos. Com o uso de ferramentas criptogrficas bsicas possvel a construo de elaborados esquemas e protocolos que permitem pagamentos com o uso do dinheiro eletrnico, para comprovarmos nosso conhecimento de certas informaes sem que tenhamos de revela-la. Contudo, mesmo que o uso moderno da criptografia esteja crescendo em reas diversas, a criptografia continua sendo fundamentalmente baseada em tcnicas inspiradas em tipos de lgicas e problemas de difcil soluo. Algo sobre a histria da Criptografia ( e cmico sobre a Criptografia no Brasil) A criptografia to antiga como a escrita. Desde que o homo sapiens iniciou sua jornada sobre este planeta, o mesmo tem necessitado comunicar-se com seus semelhantes mas em outras ocasies no quer que outros se entendam. Em situaes de guerra nenhum comandante deseja que seus inimigos conheam suas estratgias caso viesse interceptar uma mensagem. A despeito do fato de existirem pessoas cuja grafia faria qualquer mdico se morder de inveja ( e em muitos casos a prpria pessoa no entende o que escreveu) esta tcnica no pode ser classificada como Criptografia. www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 6 Os espartanos foram os primeiros a utilizar um sistema de criptografia militar, por volta do sculo V a.C. Eles cifravam e ocultavam mensagens usando um bastonete que eles chamavam de skytalh (esctala) e uma cinta enrolada nele, na qual a mensagem era escrita. A cinta era desenrolada e enviada ao destinatrio, o qual tinha outra esctala, de igual dimetro. Ele ento enrolava de novo a cinta e lia a mensagem [Ric00]. Se o bastonete fosse do tamanho errado, a mensagem seria ilegvel. O general romano Jlio Csar tambm relatou o uso de mensagens cifradas em seu livro, sobre as Guerras Glicas. A ele atribuda a criao de um sistema simples de substituio de letras, que consistia em escrever o documento codificado com a terceira letra que seguiria a ela no alfabeto. Assim a letra A era substituda pela D, e a B pela E e assim sucessivamente. Por conseguinte seu nome foi dado a qualquer tipo de mtodo de cifragem semelhante ao que usou: alf. puro: a b c d e f g h i j k l m n o p q r s t u v x y w z alf. Csar: D E F G H I J K L M N O P Q R S T U V X Y Z A B C D Na Idade Mdia. os alquimistas, de forma geral, ficaram bastante conhecidos por escreverem suas receitas de forma cifrada. Pulando alguns sculos, Leonardo da Vinci escreveu seus projetos, na poca mirabolantes (e passveis de serem premiados com um churrasco promovido pela Inquisio) atravs da escrita em forma reversa ( ou especular), podendo ser lida colocando-se o original de frente a um espelho. Nostradamus foi outro que tambm se preocupou com a possibilidade de virar churrasco e desenvolveu suas centrias numa linguagem que at hoje tenta se descobrir. Descobre-se o que ele estava falando, na grande maioria das vezes, depois do fato ter acontecido. No obstante se atribui ao abade Johannes Trithemius as melhores referncias sobre a criptografia neste perodo[Leo01]. Este religioso escreveu em 1530 a obra denominada Poligrafa, o primeiro livro impresso sobre o tema. Trithemius introduziu o conceito de Tabela Ajustada, na qual o alfabeto normal permutado para codificar as mensagens. So lendrios, tambm, os mapas de tesouro escondidos durante os sculos XVII e XVIIII. Neles os piratas supostamente encriptavan a localizao de tesouros, baseando-se principalmente em mtodos de substituio de alfabeto. O principal uso da criptografia na era moderna tem sido militar. Em 1917, por exemplo, o servio de Inteligncia Naval de Inglaterra entregou aos Estados Unidos uma mensagem que havia sido enviada ao embaixador alemo na Cidade do Mxico pelo governo germnico. Na mesma se autorizava ao diplomata a negociar um www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 7 acordo com o Mxico para entrar a favor de Alemanha na Primeira Guerra Mundial. Em troca, os mexicanos receberiam os territrios de Novo Mxico, Arizona e Texas, caso resultassem vencedores. O texto conhecido como Telegrama Zimmermann levou os norte americanos a participar dessa guerra contra Alemanha [Leo01]. J na II Guerra Mundial os cdigos da mquina Enigma, usada pelos mesmos alemes, foram quebrados pelos analistas norte americanos, o mesmo se dando com os cdigos usados pelos japoneses. Os alemes, na primeira guerra venceram os russos facilmente, por conta disso. Os EUA conseguiram no perder do Japo na Segunda Guerra por possurem os cdigos de transmisso deste. Os alemes, por sua vez, no conseguiram invadir a Inglaterra pelo mesmo motivo. Rommel deve sua fama de raposa do deserto em parte ao fato de que conseguiu capturar uma transmisso americana detalhando como era o modo de operao dos britnicos no deserto. A apario dos computadores, e a disponibilizao de capacidade de processamento sempre crescente, fez com que a criptografia se fizesse agora de forma digital. Em 1976, a IBM desenvolveu um sistema criptogrfico denominado Data Encryption Standard (DES), que logo foi aprovado pelos rgos de normatizao do governo americano. O DES baseia-se em elaborados sistemas matemticos de substituio e transposio os quais fazem que seja particularmente difcil de ser rompido. Entretanto o DES depende de que tanto o remetente da mensagem como o receptor conheam a chave com a qual ela foi encriptada. Neste sentido este mecanismo se parece com o sistema usado pelos espartanos, que necessitavam ter o cilindro com o qual se havia codificado o texto para que o mesmo pudesse ser lido. No caso do DES este cilindro se denomina chave. A segurana desta chave vai depender de seu tamanho. Quando temos uma mensagem cifrada ha um nmero n de possibilidades de descobrir a chave com a qual ela foi encriptada. Assim, a confiabilidade de uma chave depende de que esse nmero n seja to grande que um atacante demande demasiado tempo para testar todas as possibilidades. Uma chave de 56 bits atualmente o padro no DES. Para ler uma mensagem cifrada com o DES necessrio usar a mesma chave com a qual ela foi encriptada. Para fins de transaes comerciais virtuais esta propriedade se torna pouco prtica e insegura, porque a prpria chave deve ser transmitida por meios eletrnicos. Para resolver este problema se criou a criptografia de chave pblica. Neste sistema existem duas chaves: uma privada e outra pblica. Quando A quer enviar uma mensagem para B, este solicita sua chave pblica (que como o nome indica pode ser conhecida por todo mundo). Com a chave pblica A encripta a mensagem e a envia a B, que logo procede a descifragem aplicando sua chave privada, que no deve ser conhecida de mais ningum. A vantagem deste mtodo que no requer que ambas as partes conheam as chaves privadas deforma mtua. www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 8 As implementaes mais conhecidas da criptografia de chave pblica o RSA e o PGP. Em 1977, Rivest, Shamir e Adelman desenvolveram o RSA e publicaram o algoritmo de encriptao a pesar da oposio do governo norte americano, que considera a criptografia um assunto de estado. Mais tarde a patente do RSA e dada ao Instituto Tecnolgico de Massachusetts (MIT) que logo a cede a um grupo denominado PKP (Public Key Partners). Em 1991, o programador Phil Zimmermann autoriza a publicao em boletins eletrnicos e grupos de noticias de um programa por ele desenvolvido e batizado como Pretty Good Privacy ou PGP. O PGP tem como base os algoritmos do RSA publicados em 1978. Quando Zimmermann publicou o PGP se viu em problemas com o Departamento de Estado Norte Americano que abriu uma investigao para determinar se ele havia violado as restries de exportao de criptografia ao autorizar a divulgao do cdigo fonte do PGP na Internet. A pesar do mesmo ter se comprometido a deter seu desenvolvimento, diversos programadores em vrias partes do mundo continuaram adiante, portando-o para distintas plataformas e assegurando sua expanso. Stale Schumacher, um programador noruegus, tem se encarregado das verses internacionais do PGP, que so totalmente compatveis com sua contraparte norte americana. A verso americana doPGPpode ser baixado a partir da URL http://web.mit.edu/network/pgp-form.html mas necessrio ser cidado residente dos Estados Unidos ou Canad para poder us-lo. Ao mesmo tempo, os 12 volumes (mais de 6.000 pginas) que contem o cdigo fonte do PGP internacional, esto disponveis na Pgina Internacional do PGP na URL http://www.ifi.uio.no/~staalesc/PGP/. Mas por que to importante a criptografia na Internet? Se considerar-mos que atualmente os volumes de transaes on-line apresentam perspectivas de movimentar centenas de milhes de dlares por ano entendemos a necessidade de tornar este canal de informao o mais seguro possvel. A rede no , na atualidade, suficientemente confivel. O protocolo principal pelo qual se transmite a informao que viaja pela rede (TCP/IP, Transfer Control Protocol/Internet Protocol) no variou em sua essncia desde a criao da Internet. Assim quando enviamos uma mensagem esta ser dividida em vrios datagramas, que viajaro de modo independente, para depois serem recompostos no computador de destino, sem que o receptor final possa saber que rota tomou cada um deles. Como nenhum destes datagramas est encriptado, qualquer um que os pegue em seu caminho pode le-los sem problema. www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 9 Desta forma a criptografia aparece como facilitador para o crescimento do comrcio eletrnico. A idia, portanto, encontrar um sistema onde os dados comerciais e financeiros possam viajar de um modo seguro pela rede. Na atualidade o SET (Secure Electronic Transaction) o sistema utilizado para viabilizar este propsito. O SET um sistema de criptografia baseado no mecanismo de chave pblica e no qual participam as mais importantes companhias de cartes de crdito de nvel mundial (Visa, Master Card e American Express) e vrias empresas de informtica (Microsoft, IBM, Netscape, dentre outros). SET cobre os trs princpios bsicos para assegurar o crescimento do comrcio eletrnico: Que a informao transmitida seja confidencial; Que as transaes ocorram total integridade, e sem perda de dados; Que compradores e vendedores possam ser autnticos. Durante os perodos da ditadura no Brasil, coisa algo freqente por aqui, sempre houve censura aos meios de comunicao. Nestes perodos no podia se dar o nome aos bois, no podia se falar palavras indevidas, no podia se contar o que estava acontecendo. O reprter que quisesse dar um colorido a sua matria ou transmitir algo diferente, de contedo mais ideolgico ou subversivo tinha que mascarar o contedo, para ver se "driblava" o censor, mas no o leitor. Se a notcia fosse muito forte, podia acontecer de toda a tiragem do jornal ser pura e simplesmente confiscada. fcil de encontrar lembranas desse perodo, basta procurar em livros antigos, a mensagem "texto integral, sem cortes". Para garantir a vendagem dos jornais, durante o perodo da ditadura, alguns editores comearam a editar receitas culinrias. Imaginem jornais, do porte do Estado de So Paulo ou o Globo fazendo isso: na primeira pagina, ao invs de uma notcia sobre a queda de um ministro publicassem uma receita: "Rabada moda Magri Primeiro pegue uma carne de segunda ou de terceira, guarde o caldo, misture com um molho Volnei...". Algumas vezes, os leitores escreviam cartas reclamando que as receitas no funcionavam, apesar do aviso de que essas receitas no significavam absolutamente nada. E o pior que os jornais duplicavam a receita, quando imprimiam este tipo de coisa. Na musica popular, isso acontecia tambm, at a o artista ser obrigado a se asilar, antes de enfrentar cadeia. Dizer que determinado artista queria ou no transmitir essa ou aquela mensagem algo meio forte. Mas era proibido abordar uma serie de temas, durante aquele perodo do milagre brasileiro, como a pobreza ou a represso. S pr se ter uma idia, durante o bicentenrio da independncia dos EUA, comemorado em 1976, foi proibida a publicao de trechos da declarao dos direitos do homem nos meios de comunicao (coisas como "Todo homem tem direito a liberdade de opinio e expresso" eram consideradas subversivas). Pode-se www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 10 encontrar montes de mensagens de duplo sentido, na musica daquele tempo. Na literatura, o romance Zero, do Ignacio de Loyola Brando, um verdadeiro dirio de um "terrorista", que passou inclume pela censura, virou um sucesso de vendas e... foi proibido depois que esgotou e a censura descobriu do que se tratava de fato. O livro "The Codebreakers", do autor americano David Kahn, um livro obrigatrio no que se refere a historia da criptografia. Lendo o livro, descobre-se que existiam no passado clubes dedicados ao estudo dessa matria como hobby na maioria dos pases centrais da poca, desde o inicio do sculo, mas no no Brazil, que s aparece como referencia quando se fala que pais XXX conseguiu decodificar o cdigo diplomtico de pais YYY, e do Brazil. Quando se imagina o problema estratgico que isso representa de se estranhar como que no se pensa mais nisso por estes lados de c. Tcnicas mais freqentes de criptografia Existem dois tipos de sistemas criptogrficos: o de criptografia por Chave Privada (secret-key ou private key) e o de criptografia por Chave Pblica (public-key). Na criptografia por chave privada, tambm conhecida como criptografia simtrica, a mesma chave usada para a encriptao e decriptao da mensagem. O sistema criptogrfico mais popular baseado em chave privada em uso atualmente o Data Encriptao Standard (DES). Na criptografia por Chave Pblica, cada usurio possui uma chave pblica e uma chave privada. A chave pblica feita para ser francamente conhecida enquanto a chave privada permanece em segredo. A encriptao feita com o uso da chave pblica enquanto a decriptao feita com o uso da chave privada. O sistema criptogrfico de chave pblica RSA o sistema mais popular de mtodo de criptografia por chave pblica. A sigla RSA deriva das iniciais de Rivest, Shamir, and Adleman, os inventores deste sistema. O Algoritmo de Assinatura Digital (Digital Signature Algorithm DAS) tambm um outro exemplo de tcnica de chave pblica, utilizada para assinaturas e no para outras aplicaes de encriptao. Os sistemas criptogrficos baseados em Curvas Elpticas (Elliptic Curve Cryptosystems ECC) so criptosistemas baseados em objetos matemticos conhecidos como curvas elpticas. A criptografia por curvas elpticas tem ganho recente popularidade. O protocolo Diffie-Hellman uma tcnica popular de chave pblica para a definio de chaves secretas em canais inseguros. www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 11 Aplicaes da Criptografia A Criptografia apresenta-se como uma ferramenta de grande utilidade para uma srie de aplicaes. Uma aplicao tpica da criptografia a sua utilizao em canais de trfego de mensagens construdos a partir de tecnologias bem conhecidas. Tais sistemas podem ter diferentes nveis de complexidade. Dentre estas aplicaes incluem segurana de comunicaes, identificao e autenticao. Outras aplicaes envolvem sistemas para comrcio eletrnico, certificao, correio eletrnico seguro, recuperao de chaves e acesso seguro a sistemas de computao. Segurana de Comunicaes As aplicaes que envolvem segurana de comunicaes so as que mais demandam o uso da criptografia. Duas pessoas podem se comunicar de forma segura encriptando as mensagens trocadas entre elas. Isto pode ser feito forma que uma terceira pessoa que esteja interceptando estas mensagens nunca possa ser capaz de decifra-las. Atualmente graas ao desenvolvimento da criptografia com chaves pblicas, uma serie de ferramentas esto disponveis para a criao de grandes redes de comunicao que permitem s pessoas comunicarem-se seguramente mesmo que elas nunca tenham se comunicado antes, seja por meio de computadores, celulares ou outros dispositivos de comunicao de uso pessoal. Estas tcnicas so usadas no s para a encriptao de dados, como tambm para a encriptao de voz. Identificao e Autenticao Identificao e Autenticao so as mais vastas aplicaes da criptografia. Identificao o processo de verificao da identidade de algum ou de alguma coisa. Por exemplo, quando se retira dinheiro em um banco o caixa pede para que a pessoa se identifique para verificar a identidade do proprietrio da conta. O mesmo processo pode ser feito de forma eletrnica com o uso da criptografia. Todos os cartes de terminais automticos so associados a uma senha a qual vincula o proprietrio do carto ao proprietrio da conta. Quando o carto inserido em um terminal, a mquina pede a quem tem este carto a senha. Caso esta senha esteja correta, a mquina infere que aquela pessoa seja o proprietrio da conta e libera o acesso. Uma outra aplicao importante da criptografia a Autenticao. A autenticao similar identificao, uma vez que ambos processos permitem a uma entidade o acesso a determinados recursos. Porm a autenticao mais abrangente dado que ela no necessariamente envolve www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 12 a identificao da pessoa ou entidade. A autenticao meramente determina se dada pessoa ou entidade autorizada para aquilo em questo. Comrcio Eletrnico Ao longo de anos recentes tem havido um crescimento do nmero de negcios conduzidos via Internet. Esta forma de negcio conhecido como Comrcio Eletrnico ou E-Commerce. O comrcio eletrnico envolve uma srie de atividades realizadas de forma eletrnica dentre as quais se destacam as transferencias de fundos que so tambm realizadas desta forma. Entretanto a simples apresentao de um nmero de carto de crdito pode levar o seu proprietrio a ser fraudado tendo o seu nmero de carto de crdito usado sem sua permisso. O uso de mecanismos de transao segura na Internet, onde o nmero do carto de crdito enviado junto com outras informaes de forma encriptada tem permitido que estes pagamentos possam se dar de forma segura. Certification Uma outra aplicao da criptografia a Certificao. Certificao um esquema pelo qual agentes confiveis, tais como autoridades certificadoras, enviam um Certificado Eletrnico para um outro agente desconhecido, tal como no caso dos usurios. www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 13 PRINCPIOS BSICOS DA CRIPTOGRAFIA Os princpios bsicos da segurana so: a Autenticidade, Confidencialidade, Integridade e Disponibilidade das Informaes. Os benefcios evidentes so reduzir os riscos com vazamentos, fraudes, erros, uso indevido, sabotagens, roubo de informaes e diversos outros problemas e, assim, consequentemente aumentar a produtividade dos usurios atravs de um ambiente mais organizado, maior controle sobre os recursos de informtica e, finalmente, viabilizar aplicaes crticas das empresas. Autenticidade O controle de autenticidade est associado com a identificao correta de um usurio ou computador. O servio de autenticao em um sistema deve assegurar ao receptor que a mensagem realmente procedente da origem informada em seu contedo. Normalmente, isso implementado a partir de um mecanismo senhas ou de assinatura digital. A verificao de autenticidade necessria aps todo processo de identificao, seja de um usurio para um sistema, de um sistema para o usurio ou de um sistema para outro sistema. Ela a medida de proteo de um servio/informao contra a personificao por intrusos. Um ataque contra a autenticidade envolve alguma forma personificao (spoofing). Um tipo comum de personificao consiste em um usurio externo assumir a identidade de um usurio interno, atuando no sistema no lugar deste usurio legtimo. A maneira mais simples de personificao est associada com infiltraes de senha, onde o intruso informa uma combinao de nome do usurio/senha, depois outra e assim por diante, at que uma determinada combinao permita sua entrada no sistema. Tal tcnica ( usualmente denominada como Fora Bruta ou Brute Force) consome, com freqncia, um volume considervel de tempo e esforo de mquina. Assim classes de softwares como os sniffers, que possibilitam o rastreamento de senhas, esto sendo utilizados cada vez em maiores escalas. Muitos tipos de sistemas no bloqueiam tentativas de login aps um determinado nmero de insucessos. Essa fraqueza inerente em termos de segurana, permite que www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 14 um intruso d incio a um grande nmero de tentativas de login que no so impedidas. Consequentemente, possibilita aos violadores vrias formas de invaso: acessando mensagens de correio eletrnico, os quais contm senhas; ou decifrando- as com uma ferramenta que permite localizar e obter informaes sobre senhas vulnerveis em sistemas. Na verdade, alguns invasores utilizam TFTP ou FTP para tentar obter a senha, em seguida o invasor dever identificar as senhas verdadeiras. No Unix, as senhas contidas em /etc/passwd so cifradas atravs de um esquema de criptografia no-convencional, mas o algoritmo de criptografia em si est largamente disponvel e pode ser at mesmo incorporado em algumas ferramentas utilizadas pelos invasores. Os invasores as utilizam para obter senhas em textos simples que sero informadas durante sesses de telnet ou de rlogin. Confidencialidade Confidencialidade significa proteger informaes contra sua revelao para algum no autorizado - interna ou externamente. Consiste em proteger a informao contra leitura e/ou cpia por algum que no tenha sido explicitamente autorizado pelo proprietrio daquela informao. A informao deve ser protegida qualquer que seja a mdia que a contenha, como por exemplo, mdia impressa ou mdia digital. Deve-se cuidar no apenas da proteo da informao como um todo, mas tambm de partes da informao que podem ser utilizadas para interferir sobre o todo. No caso da rede, isto significa que os dados, enquanto em trnsito, no sero vistos, alterados, ou extrados da rede por pessoas no autorizadas ou capturados por dispositivos ilcitos. O objetivo da confidencialidade proteger informao privada (cidados, indstrias, governo, militar). Na comunicao, ela obtida evitando-se a escuta (meio fsico, topologia), ou se isto no for possvel, evitando-se a inteligibilidade dos dados durante o processo de transmisso (cifra). Uma rede de meios fsicos compartilhados uma rede na qual os pacotes so transmitidos para vrias partes da rede medida que trafegam dos pontos de origem para os de destino. As redes de meios fsicos compartilhados impem um tipo especial de risco de segurana, pois os pacotes podem ser interceptados em qualquer ponto dessas redes. A captura de pacotes dessa forma conhecida como Rastreamento da Rede. Para o rastreamento de uma rede preciso usar um dispositivo fsico ou um programa. Normalmente, os dispositivos fsicos de rastreamento so instalados onde h conexo de cabos, atravs de um conector dentado que penetra no isolamento do cabo, ou em interfaces de porta de mquina host individuais. Os programas de captura de pacotes proporcionam uma interface com um dispositivo de hardware que executado no modo promscuo (sniffer), ou www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 15 seja, copiando todos os pacotes que chegam at ele, independentemente do endereo de destino contido no pacote. Se um sniffer for instalado em alguma parte da rota entre dois hosts de uma rede, senhas e informaes confidenciais podem ser capturadas, causando transtornos e prejuzos. Tal ao pode proporcionar, tambm, a ocorrncia de futuros ataques contra autenticidade, usando senhas, usernames e endereos de host capturados por sniffers. Integridade A integridade consiste em proteger a informao contra modificao sem a permisso explicita do proprietrio daquela informao. A modificao inclui aes como escrita, alterao de contedo, alterao de status, remoo e criao de informaes. Deve-se considerar a proteo da informao nas suas mais variadas formas, como por exemplo, armazenada em discos ou fitas de backup. Integridade significa garantir que se o dado est l, ento no foi corrompido, encontra-se ntegro. Isto significa que aos dados originais nada foi acrescentado, retirado ou modificado. A integridade assegurada evitando-se alterao no detectada de mensagens (ex. trfego bancrio) e o forjamento no detectado de mensagem (aliado a violao de autenticidade). Disponibilidade Ter as informaes acessveis e prontas para uso representa um objetivo crtico para muitas organizaes. No entanto, existem ataques de negao de servios, onde o acesso a um sistema/aplicao interrompido ou impedido, deixando de estar disponvel; ou uma aplicao, cujo tempo de execuo crtico, atrasada ou abortada. Disponibilidade consiste na proteo dos servios prestados pelo sistema de forma que eles no sejam degradados ou se tornem indisponveis sem autorizao, assegurando ao usurio o acesso aos dados sempre que deles precisar. Isto pode ser chamado tambm de continuidade dos servios. Um sistema indisponvel, quando um usurio autorizado necessita dele, pode resultar em perdas to graves quanto as causadas pela remoo das informaes daquele sistema. Atacar a disponibilidade significa realizar aes que visem a negao do acesso a um servio ou informao, como por exemplo: bloqueamento do canal de comunicao ou do acesso a servidores de dados. www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 16 ASPECTOS LEGAIS DO USO DA CRIPTOGRAFIA Reza a Declarao Universal dos Direitos Humanos, art. 19: "Todo o homem tem direito liberdade de opinio e expresso; este direito inclui a liberdade de, sem interferncias, ter opinies e de procurar, receber e transmitir informaes e idias por quaisquer meios, independentemente de fronteiras" Todavia, o direito livre expresso de opinies e repasse ou guarda de informaes, com a evoluo dos meios de comunicao e com o advento da tecnologia da informao, vem sendo cerceado por mecanismos cada vez mais sofisticados de "invaso de privacidade", deixando muitas vezes impune o agente de tais aes. As organizaes tem enfrentado aes na justia, muitas sem o sucesso desejado, visto que as leis de proteo ao patrimnio e dos direitos das pessoas, existentes at a dcada de 70, passaram a no mais atender s necessidades de penalidades para todos os tipos de crimes contra o direito das pessoas. Pela imaterialidade da informao - um bem muito adverso daqueles at ento normalmente tratados como objeto de "roubo", "subtrao" ou "destruio" - fica difcil aplicar o conceito de "coisa", deixando lacunas na lei que, ou no possibilitam aplicar penalidades aos agentes infratores ou exigem verdadeiras "ginsticas" de interpretao por advogados e juizes, para que os julgamentos tenham o resultado esperado em um crime envolvendo a informao. O exame dessas questes tem ocorrido em nvel internacional e regional. Neste particular pode ser citado o OECD (Organisation for Economic Co-operation and Development) e o Council of Europe, que tm produzido guias para legisladores e interessados no assunto, alm de rgos envolvidos em investigao. Em 1983, o OECD procedeu a um estudo que resultou na publicao, em 1986, de relatrio que analisava as leis existentes e recomendava uma lista mnima de abusos contra a informao de modo geral, que os pases deveriam considerar proibidos e passveis de punies por leis criminais, por exemplo: fraudes e falsificaes por computador, alterao de programas e dados, violao de copyright e interceptao de www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 17 comunicaes. Alm destas, outras protees legais deveriam ser adotadas para outros tipos de abusos, incluindo o roubo de "Segredos de Negcios" e acesso no autorizado aos sistemas de computadores. O 8 Congresso das Naes Unidas Para Preveno de Crimes e Tratamento aos Infratores produziu resoluo, na qual cada Nao Membro intensificaria seus esforos no combate aos crimes por computador, observando as seguintes medidas: Modernizao das Leis e procedimentos penais; Desenvolvimento de medidas de preveno e segurana para computadores, no que concerne a respeitar os direitos humanos e as liberdades fundamentais; Adoo de medidas que sensibilizem o pblico e o judicirio para o problema e a importncia de prevenir os crimes por computador; Adoo de treinamento para juizes, oficiais e agncias responsveis por prevenir, investigar e julgar os crimes por computador. Nesta resoluo, recomenda-se que o Comit de Preveno e Controle de Crimes envide esforos no desenvolvimento e na disseminao de regras e padres que auxiliem as Naes a tratar com crimes por computador. Para subsidiar tais aes foi elaborada Lista Mnima de Infraes, concernente crimes por computador, que deveriam ser tratadas pela legislao: Fraude por Computador Compreende a adulterao, dano ou supresso de dados ou programas de computador ou outras interferncias no curso do processamento de dados, que influencie o resultado do processo, ocasionando perdas econmicas ou de propriedade, beneficiando os infratores ou terceiros; Falsificao por Computador Compreende a modificao de dados descrita no item acima, j protegidos por lei, caracterizando embuste ou imitao (fazer se passar por outro); Danos a dados ou programas de computador Deleo, modificao, deteriorao ou supresso de dados ou programas sem autorizao. Sabotagem computacional Introduo, alterao, deleo ou supresso de dados ou programas ou outras interferncias em sistemas, com a inteno de dificultar o funcionamento de computadores ou sistemas de comunicao; Acesso no autorizado www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 18 Acesso a sistemas ou redes de computadores, sem autorizao, burlando os controles de segurana implementados; Interceptao no autorizada Interceptao de comunicaes de, para e de dentro dos sistemas e redes de computadores, feita sem autorizao e por meios tcnicos; Cpias no autorizadas de programas de computadores Reproduo, distribuio ou divulgao de programas de computador, sem autorizao; Reproduo no autorizada de topografia Abrange a reproduo, explorao ou importao comercial no autorizada de topografia de semicondutores. Ainda, a resoluo prope Lista Opcional abrangendo: Espionagem computacional Obteno, transferncia ou uso de segredos de negcio, de modo ilcito, sem autorizao ou qualquer outra justificativa legal, com inteno tanto de causar perdas econmicas para o proprietrio como de obter vantagens econmicas para si ou terceiros; Uso no autorizado de computadores Uso de sistemas ou rede de computadores, sem autorizao, que: 1. feito com a admisso de riscos significativos de perdas para o proprietrio, danos aos sistemas ou ao seu funcionamento; 2. feito com a inteno de causar perdas para o proprietrio, danos aos sistemas ou ao seu funcionamento; 3. causa perdas para o proprietrio, danos aos sistemas ou ao seu funcionamento, mesmo no sendo intencional. Uso no autorizado de programa computacional Uso e reproduo no autorizados de programas protegidos por lei, com a inteno tanto de obter ganhos econmicos para si ou para terceiros, como causar danos ao proprietrio do bem. www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 19 Meios Legais de Proteo da Informao Atualmente, os principais meios invocados para proteger legalmente as informaes so: COPYRIGHT, SEGREDO DE NEGCIO e CONTRATO. Normalmente, aliam-se estes trs mtodos a outros no legais, a fim de obter-se maior nvel de proteo contra cpias e divulgaes indevidas de informaes e sabotagens, visto que as leis no foram criadas observando os aspectos supracitados. Copyright Tem origem no art.1 parag.18 da Constituio dos EUA arbitrando poderes ao Congresso para: "Promover o progresso da cincia e das artes, assegurando por tempo determinado a autores e inventores os direitos exclusivos sobre seus escritos e descobertas". O principal problema determinar se o trabalho possui ou no "originalidade" - ou seja, se mostra alguma criatividade e no somente cpia de trabalhos ou de informaes j existentes. Por exemplo: um Banco de Dados com informaes sobre cadastro de clientes: as informaes no so consideradas "originais" pois qualquer um pode obter as mesmas informaes. O trabalho despendido para obter as informaes no qualifica o Banco de Dados a ser protegido por Copyright. A Lei brasileira no. 9609, de 18.02.98, somente "dispe sobre a proteo de propriedade intelectual de programas de computador, sua comercializao no Pas...", obrigando o cadastramento prvio para a comercializao de programas de computador, tanto nacionais quanto estrangeiros; a celebrao de contratos de distribuio com fornecedores de software de origem externa e o exame de similaridade entre produtos nacionais e estrangeiros. Referida Lei define o objeto a ser protegido, no caso programas e componentes do sistema; a autoria, tanto para softwares desenvolvidos internamente nas empresas quanto fora delas; e os direitos de proteo ao autor. No que tange propriedade intelectual de programas de computador, a Lei 9609 elevou de 25 para 50 anos o prazo de proteo, equiparando-se ao regime de proteo conferido a obras literrias. Entretanto, esta Lei no faz nenhuma referncia proteo das informaes processadas e armazenadas pelos sistemas. Trade Secrecy Protecton (Proteo do Negcio) Essencialmente, a proteo legal ao conhecimento que pessoas ou companhias adquirem pelos seus esforos e que tem valor ou vantagem competitiva para elas. Tipicamente, estes conhecimentos so guardados dos seus concorrentes, pois sabe-se que estes obteriam vantagens ao possuir tais www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 20 informaes. Exemplos: frmulas, programas, metodologias, tecnologias, padres etc. Contrato Acordos estabelecidos formalmente entre vendedores e compradores, definindo as condies de compra. Tipicamente assumem a forma de "Licenas de Uso" para proteger o direito das partes. Protees por Meios No Legais Trata-se da criao de mecanismos ou marcas especficas, como uma "assinatura", que possam comprovar a autoria de trabalhos. Exemplo: implantar erros ou omisses em bases de dados, de forma a obter evidncias de cpias no autorizadas. Se alguns erros so implantados e os mesmos erros se mostram em base de dados de outrem, tem-se boas provas de que um competidor no obteve tais informaes por seus prprios meios. Outro exemplo seria o estilo de programao, que eqivale a um estilo de escrita. Os programadores podem esconder mensagens cifradas no cdigo objeto ou adicionar linhas de programao desnecessrias. Estas idiossincrasias podem ser documentadas e servir de prova contra cpias ilegais. Em resumo, embora os mecanismo acima garantam sustentao legal que favorea aes contra os infratores, a necessidade de uma Lei especfica, que defenda os autores e as companhias contra invases, danos, divulgao no autorizada de informaes ou topografias, dentre outros, e que defina claramente as respectivas penalidades extremamente urgente e imperiosa. Alguns pases j perceberam a importncia de se legislar sobre este assunto - crimes por computador - oferecendo Leis abrangentes, consistentes e rigorosas quanto s penalidades imputadas aos infratores. O Brasil ainda incipiente no tratamento do assunto. Um projeto de lei encontra-se em discusso, estando em vias de aprovao pelo Congresso Nacional. A lacuna deixada pela ausncia de Lei especfica sobre o assunto, tem obrigado advogados e juizes a enquadrar os crimes por computador em crimes comuns previstos em Leis penal e civil tais como: Lei de Escutas Telemticas - art. 5o. Lei 9296/96; Lei do Estelionato e da Falsa Identidade - arts. 171 e 307 do Cdigo Penal, respectivamente; Violao de Direitos - art. 18 da Lei 7492/86; Lei dos Direitos Autorais - Lei 5988/57; www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 21 Lei de Crime Ambiental - art. 62, inciso II da Lei 9605/98; Lei de Proteo da Infncia e da Juventude - art. 241 da Lei 8069/90, dentre outras. www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 22 TAXONOMIA DOS RISCOS PARA AS ORGANIZAES AMEAA Possibilidade de explorao de fragilidades de sistemas, de forma intencional ou no. Podem originar-se interna ou externamente. ATAQUE Classificam-se em: - Ataque ativo - informaes so modificadas. So eles: interrupo, modificao e embuste; - Ataque passivo - informaes no sofrem modificao, sendo somente copiadas. Caracteriza-se pela interceptao. As ameaas tpicas, contra as quais as organizaes despendem maior esforo e investimento em mecanismos de proteo das suas informaes e estratgias de negcio so: Ameaas Descrio Violao de autorizao Uso de autorizao para outra finalidade. Recusa de servios No atendimento, sem motivo explcito, das requisies dos legtimos usurios. Espionagem Obter a informao, sem autorizao do proprietrio. Vazamento Revelao indevida de informao. Violao de Integridade Edio no autorizada de informao. Mascaramento Passar-se por outro, embuste. Replay Retransmisso ilegtima. www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 23 Repudiao Negao imprpria de uma ao ou transao efetivamente realizada. Exausto Sobrecarga de utilizao de recurso. Emulao Imitao para conseguir informaes sensveis. Roubo Posse ilegtima de informaes. Porta dos fundos Programao inserida e escondida no sistema, que possibilita a entrada de forma no convencional. Cavalo de Tria Programa de captura indevida de informaes. Esses tipos de ameaas possibilitam ataques, que podem ser caracterizados como: INVASO - acesso intencional e no justificado, por pessoa no autorizada pelo proprietrio ou operadores dos sistemas. INTERCEPTAO - acesso no autorizado transmisses, possibilitando a cpia das mensagens transmitidas. o ataque mais comum e de difcil deteco pelas partes legtimas. MODIFICAO - um agravante da interceptao, em que o contedo da mensagem alterado. FABRICAO ou EMBUSTE - simulao para o destino de uma origem legtima. O atacante faz-se passar por uma procedncia legtima, inserindo objetos esprios no sistema atacado. INDISPONIBILIDADE ou INTERRUPO - aes no autorizadas ocasionado sobrecarga no processamento de sistemas, tornando-os inacessveis aos legtimos usurios, por longos perodos ou por sucesses de pequenos intervalos. Estes crimes carecem de legislao especfica e, tambm, de apurao ou investigao detalhada que, devido s suas especificidades e meios utilizados, aliados falta de capacitao dos investigadores e do judicirio, dificultam a comprovao do ato e de sua autoria. A situao se torna ainda mais crtica pelas caractersticas do mercado atual, com globalizao da economia, levando pessoas e empresas a disputarem acirradamente sua fatia de mercado e "justificando" aes, mecanismos e tcnicas no muito "ticas" adotadas por elas, para conhecimento de planos e produtos de concorrentes. A inadequao da legislao atual, no tratando tais aes como crime, favorece sua ocorrncia, atravs de agentes internos ou externos ao pas. Com esse cenrio e as fragilidades criadas pela prpria tecnologia de comunicao, as preocupaes com a criao de uma Lei visando a proteo dos cidados e empresas contra crimes por computador so crescentes. imperativo que haja normatizao e definio de punies para os excessos, inclusive as www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 24 tentativas, que tambm afetam a prestao de servios e disponibilidade do sistema para os usurios. www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 25 OS SISTEMAS CRIPTOGRFICOS Podemos classificar os sistemas criptogrficos em sistemas de criptografia clssica e sistemas de criptografia moderna. Os sistemas de criptografia clssica so tambm conhecidos como sistemas convencionais, sistemas simtricos ou sistemas de chave secreta. Por sua vez, os sistemas de criptografia moderna so ainda denominados de sistemas assimtricos ou de chave pblica. Tcnicas Simples: Transposio Ordem Reversa: A mensagem escrita de trs para frente. Em seguida, rene as letras em novos grupos. Texto Puro: Seu marido vai embora quando? (1) odnauq arobme iav odiram ues? (2) od nauqa rob me iavod ram ues? Bi-reverso: As letras so agrupadas em pares e os pares tem a ordem invertida. Texto Puro: seu marido vai embora quando? (3) (se) (um) (ar) (id) (ov) (ai) (em) (bo) (ra) (qu) (an) (do) (4) (es) (mu) (ra) (di) (vo) (ia) (me) (ob) (ar) (uq) (na) (od) Texto cifrado: esmu radi voiame obar uqna od www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 26 Grupo reverso As letras so divididas em grupos que so colocados em ordem reversa. Texto Puro: seu marido vai embora quando (1) seuma ridov aiemb oraqu ando (2) amues vodir bmeia uqaro odna Texto Cifrado: amues vodir bmeia uqaro odna Substituio Alfabeto cifrado: Alfabeto Csar Como se pode ver, o alfabeto comea na letra D, mas poderia comear em qualquer outra. As letras iniciais so colocadas depois da letra Z. alf. puro: a b c d e f g h i j k l m n o p q r s t u v x y w z alf. Csar: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C Ex: Texto puro: ganhei na loto Texto cifr: jdqkhl qd orwr A partir desse mtodo, pode-se colocar mais de um alfabeto, para dificultar a critpoanlise. Quando a mesma letra se repetir, usa-se a segunda cifra. Essa a cifragem por substituio mltipla. alf. puro: a b c d e f g h i j k l m n o p q r s t u v x y w z alf. Cifr1: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C Alf. Cifr2: F E G D J H I M K L P N O S Q R V T U Y W X B Z A C Texto puro: ganhei na loto Texto cifr: jdqkhl sf orwq Transposio Este mtodo, projetado pelo grego Polybius, anterior a Csar, mas continua difundido como mtodo de criptografia. Funciona se ajuntando as letras do nosso alfabeto num quadrado 5X5. Para no complicar, a letra K retirada e substituda por C: www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 27 1 2 3 4 5 --------------- 1 I a b c d e 2 I f g h i j 3 I l m n o p 4 I q r s t u 5 I v x y w z Dessa forma, a letra E passa a ser representada por 15, a letra O pelo numero 34 e assim por diante. Tcnicas Simples de Criptoanlise: Para praticar, o ideal so palavras cruzadas. Mas para tentar decifrar um texto feito com um dos mtodos acima, sem saber qual, h varias formas. Primeiro e mais importante no trabalhar com o texto original, mas fazer uma copia com espao entre as linhas, para se trabalhar. Depois procurar as vogais, que esto presentes em todas as palavras. As consoantes duplas como ss e rr so outro bom alvo. Outras combinaes comuns de letras so lh, ch, nh, br, cr, dr, gr, pr, tr, bl, cl, fl, gl, pl, tl. Saber sobre o que o texto fala pode ajudar, assim como ajuda saber o destinatrio da carta. Palavras como amanha, que repetem a letra a varias vezes, tambm so bons indicadores. Existem estudos que mostram a freqncia de ocorrncia de letras e outros fonemas para as vrias lnguas. A analise da distribuio de freqncia de determinadas series de caracteres constitui a forma mais comum de quebra de mensagens cifradas. Para os mtodos mais sofisticados de cifragem a soluo seria a descoberta da funo inversa quela usada para a cifragem da mensagem. Contudo os mtodos atualmente em voga tornam esta tentativa impossvel na prtica. Criptografia por Chaves Criptografia por Chave nica Na criptografia tradicional, tanto o remetente quanto o receptor de uma mensagem sabem e usam uma mesma chave secreta. Desta forma o remetente a usa para cifrar a mensagem e o receptor a usa para decifra-la. Esta forma conhecida como Criptografia por Chave Secreta ou Chave nica ou Criptografia Simtrica. www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 28 O principal desafio ( e fragilidade) deste mtodo garantir que ningum mais saiba esta chave alm do transmissor e receptor originais. Para tanto eles a devem trocar pessoalmente ou possuir um sistema de entrega, telefone ou outro meio de transmisso confivel capaz de garantir a confiabilidade do segredo. Qualquer um que venha, de alguma forma, ter conhecimento desta chave pode mais tarde ler, modificar ou forjar mensagens encriptadas ou autenticadas que utilizem aquela chave. A gerao, transmisso e armazenamento de chaves denominado Gerncia de Chaves. Dada a esta necessidade os sistemas de criptografia por chave nica apresentam dificuldades em garantir plena segurana, especialmente em ambientes abertos com um grande nmero de usurios. Em um sistema criptogrfico simtrico ou de chave secreta, uma nica chave usada para criptografar e decriptografar. A operao de criptografar compreende a transformao de um texto ou arquivo de dados, que esteja em claro, em algo ilegvel ou irreconhecvel, denominado Texto Cifrado, pela utilizao de um algoritmo e de uma chave criptogrfica. A operao de decriptografar exatamente o inverso, ou seja, dado o texto cifrado, atravs do emprego do mesmo algoritmo e da mesma chave usados na criptografia, obtm-se o texto em claro original. Da a denominao de Sistema Criptogrfico Simtrico. O grande segredo da criptografia simtrica o sigilo a respeito da chave criptogrfica que foi utilizada. Da a denominao de Sistema Criptogrfico de Chave Secreta. Assim, o maior problema deste tipo de sistema conseguir fazer com que o originador e o destinatrio de uma mensagem cifrada pelo algoritmo, e somente eles, possam conhecer a chave secreta ora em uso, assim como combinar sobre futuras alteraes da mesma. Isto requer a existncia de um mtodo pelo qual as duas partes possam se comunicar de modo seguro. Dentre os meios possveis de envio de chave secreta podemos citar o uso de mensageiros confiveis e o emprego dos mecanismos da criptografia de chave pblica. Por sua vez, a grande vantagem da criptografia de chave secreta que ela muito mais rpida que a criptografia de chave pblica. Criptografia por Chave Pblica e Chave Privada Em 1976 Whitfield Diffie e Martin Hellman [RSA00] apresentaram o conceito de Criptografia por Chave Pblica. Este sistema possui duas aplicaes principais: Encriptao e Assinaturas Digitais. Neste sistema cada pessoa possui um par de chaves, uma denominada Chave Pblica e outra denominada Chave Privada. Enquanto a chave pblica tem seu www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 29 conhecimento difundido, a chave privada deve ser mantida em segredo. Neste sistema a necessidade das partes comunicantes de trocar informaes sigilosas eliminada sendo que todas as comunicaes iro envolver somente a chave pblica no sendo necessria a troca de chaves secretas por nenhuma das partes. Ao mesmo tempo este sistema no exige credibilidade dos meios de transmisso envolvidos. O nico requisito deste sistema que a chave pblica esteja associada aos seus usurios de uma forma autenticvel. Qualquer um dos possuidores da chave publica pode usa-la para enviar uma mensagem. Porm a mesma mensagem s pode ser lida mediante o uso da chave privada a qual de uso restrito de seu proprietrio. Neste sistema criptogrfico a chave privada matematicamente derivada da chave pblica. Se, em tese, probalisticamente impossvel a um atacante derivar a chave privada da chave pblica, esta propriedade ainda no pode ser matematicamente comprovada [APS99]. Quais so as vantagens e desvantagens da criptografia baseada em chave pblica e da baseada em chave privada? A principal vantagem do uso de chave pblica o ganho de segurana e convenincia uma vez que a chave privada nunca tem que ser remetida ou revelada a ningum. No sistema da chave secreta, por outro lado, esta deve ser transmitida (seja manualmente ou eletrnicamente ) uma vez que a mesma utilizada para a encriptao quanto para a decriptao. A principal desvantagem deste sistema a possibilidade desta chave vir a ser interceptada e tornar-se de conhecimento de outros. Uma outra vantagem do sistema de chave pblica a sua capacidade de prover assinaturas digitais que no podem ser repudiadas. A autenticao via um sistema de chave secreta requer o compartilhamento do segredo e algumas vezes requer a confirmao de terceiros. Como resultado, quem envia uma mensagem pode repudiar uma mensagem previamente autenticada alegando que o segredo compartilhado foi comprometido por outros que podem ter tido acesso mesma chave. Ao seu turno, o sistema de chave pblica previne este tipo de repdio, visto que cada usurio tem a responsabilidade de proteger sua chave. Esta propriedade da autenticao por chaves pblicas tambm conhecida como No Repdio [RSA00]. Porm a grande desvantagem do sistema de chave pblica a velocidade. Em geral os sistemas de criptografia por chave nica so ordens de magnitude mais rpidos que os mtodos de chave pblica [APS99]. www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 30 Em muitas situaes o uso de criptografia por chave pblica no se faz necessrio e o sistema de chave nica por si s suficiente. Os ambientes onde a distribuio das chaves pode ser plenamente controlado por uma nica autoridade certificadora, tal como em sistemas bancrios fechados, so o exemplo tpico deste tipo de aplicao. Desde que a autoridade certificadora conhece todas as chaves no existe muita vantagem no uso de uma chave pblica e outra privada. Entretanto mesmo que o conhecimento de todas as chaves possa se tornar impraticvel se o nmero de usurios crescer em demasiado, ainda assim o uso do sistema de chave nica pode continuar em uso. Em geral a criptografia por chave pblica mostra-se mais adequada para ambientes multi-usurios abertos. Este sistema usualmente aplicado de forma suplementar o sistema de chave nica para torna-lo mais seguro. Cifragem de Blocos A Cifragem de Blocos um tipo de encriptao por algoritmo por chave simtrica que transforma um bloco de tamanho fixo de texto claro (texto no encriptado) em um bloco de texto encriptado de mesmo tamanho. Um sistema simtrico cifrador de bloco transforma um bloco de texto em claro de tamanho fixo em um bloco de texto cifrado do mesmo tamanho, empregando o algoritmo de criptografar simtrico e uma determinada chave secreta, previamente combinada. O processo de decriptografia do texto assim cifrado conseguido pela aplicao da transformao reversa da criptografia, ainda utilizando a mesma chave secreta. O tamanho do bloco fixo, na maioria dos sistemas simtricos de bloco atuais de 64 bits sendo este o tamanho da chave usada. Com o avano da tecnologia de processadores, tem-se alcanado tamanhos maiores de bloco, por exemplo 128 bits [RSA00]. Esta transformao tem lugar na medida em que uma chave apresentada como parmetro deste processo. A decriptao efetuada pela aplicao reversa do algoritmo de cifragem utilizando-se a mesma chave usada para a encriptao. Quando a mensagem a ser cifrada possui um comprimento arbitrrio, a tcnica de modularizao da mensagem original em blocos de n caracteres utilizada, onde n o tamanho da chave de criptografia. www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 31 Cifragem de Cadeias um sistema simtrico, diferentemente do sistema cifrador de bloco, que opera tipicamente sobre unidades menores de texto em claro, normalmente sobre bits. Tambm ao contrrio dos cifradores de bloco, onde sempre um determinado bloco de texto em claro ir originar o mesmo bloco cifrado, se a mesma chave for sempre usada, no caso do cifrador em cadeia as unidades menores de texto em claro podero gerar textos cifrados diferentes, dependendo das suas posies durante o processo de criptografia. Os sistemas simtricos cifradores de cadeia podem ser projetados para serem muito mais velozes do que qualquer sistema cifrador do bloco. O mecanismo de cifragem de cadeias deve gerar o que conhecido como keystream. A cifragem se d ento pela combinao da keystream com o texto em claro, usualmente por meio de uma operao binria XOR. A gerao da keystream deve se dar de forma independente do texto em claro e do texto cifrado. O interesse no uso das keystream reside no seu apelo terico do one-time pad [APS99]. Esta propriedade, tambm conhecida como cifragem Vernam [APS99], faz uso de uma cadeia de caracteres gerada de forma randmica. Assim uma chave randmica aplicada sobre o texto em claro para a gerao da keystream com base em uma operao XOR e esta ento aplicada sobre o texto em claro, novamente via operao XOR, para a produo do texto cifrado final. Em ltima instncia tudo se passa como se a chave de cifragem usada tivesse o mesmo tamanho do texto em claro, tornando a decifragem computacionalmente impossvel [APS99]. Uma vez que a keystream parece ser randmica para que a intercepta, mesmo que o interceptador possua poder computacional infinito ele s poder obter o texto em claro se puder ter todo o texto cifrado. At o momento nenhum mtodo de cifragem de cadeia emergiu como um padro. Entretanto o padro RC4 [RSA00] tem sido o de maior aplicabilidade. Conquanto os mtodos de cifragem de cadeia contemporneos no possam prover uma segurana matematicamente satisfatria, eles so de uso prtico extremamente difundido [RSA00, APS99], tanto pela velocidade que proporcionam quanto pela segurana prtica que apresentam. www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 32 Funes de Hash Uma funo de hash um tipo de transformao que toma uma entrada m e retorna uma seqncia de tamanho fixo a qual denominado de valor hash onde: h = H(m). Os requisitos bsicos de uma funo hash de criptografia so: As entradas devem possuir qualquer comprimento; As sadas devem possuir sempre o mesmo comprimento; h = H(m) deve ser fcil de calcular para qualquer m dado; m = H -1 (h) deve ser impossvel de ser obtida; H(x) deve ser livre de colises (colision free) ou seja; no podem existir x e y onde x y tal que H(x) = H(y). Um valor hash representa de forma concisa uma mensagem longa ou documento a partir do qual ele foi calculado. Este valor tambm conhecido como Message Digest. Este valor pode ser entendido como sendo uma "impresso digital" do documento. As principais aplicaes das funes hash no campo da criptografia so a proviso da integridade de uma mensagem e nas assinaturas digitais [APS00]. Uma vez que as funes de hash so em geral mais rpidas que os algoritmos de encriptao ou assinatura digital, uma aplicao tpica a da verificao da integridade de um documento. Sistemas Criptogrficos baseados em Curvas Elpticas Aspectos de Segurana A base para a segurana de sistemas criptogrficos baseados em curvas elpticas a aparente intratabilidade do problema do logaritmo discreto de curvas elpticas, que pode ser resumido da seguinte forma: dada uma curva elptica E definida sobre um corpo finito, um ponto P da curva de ordem n, e um ponto Q, determine o inteiro k, 0 < k < n-1, tal que Q = kP. Nos ltimos 12 anos, o problema de logaritmos discretos de curvas elpticas tem recebido considervel ateno de matemticos no mundo inteiro, e nenhum fraqueza significativa foi relatada. Um algoritmo devido a Pohlig e Hellman reduz a www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 33 determinao de k determinao de k mdulo cada um dos fatores primos de n. Logo, para se obter o mximo nvel de segurana n deve ser primo. O melhor algoritmo para quebrar os protocolos baseados em curvas elpticas, segundo Jurisic e Menezes [7], em geral, o mtodo RHO de Pollard que leva, aproximadamente, passos, onde um passo significa uma adio de curva elptica. Em 1993, Oorschot e Wiener [8] mostraram como o mtodo RHO de Pollard pode ser distribudo em paralelo, tal que, se r processadores forem usados, o nmero esperado de passos por cada processador antes de um nico logaritmo discreto ser obtido (47) Em seu trabalho, eles estimam que um atacante (bem financiado), considerando n > 1036 e < 2120, precisaria de uma mquina com 325.000 processadores (a um custo de US$10 milhes poca) para computar um nico logaritmo discreto em 35 dias. Comparemos, agora, a complexidade de algoritmos para quebra da chave. Algoritmos baseados em fatorao de inteiros, como o RSA, tem ataques bem conhecidos. O problema bsico para este tipo de criptografia de chave pblica se encontrar dois primos grandes (p eq), cujo produto seja um inteiro grande N. O tempo necessrio para fatorar este tipo de nmero : (48) Isto ocorre para um mtodo em particular (por sinal, usando curvas elpticas). Pode haver mtodos mais rpidos, em funo do tamanho de N. Mas, de maneira geral, podemos considerar o problema da fatorao com complexidade: (49) Sua complexidade recai, assim, na classificao de sub-exponencial. Sistemas criptogrficos baseados em curvas elpticas usam pontos ou pares de nmeros para esconder a informao. A idia bsica que se tenha um nmero total de pontos disponveis (m) bastante grande. O tempo necessrio para encontrar um particular ponto , aproximadamente, o seguinte: (50) Este tempo completamente exponencial. O resultado que, segundo Rosing [9], embora a comparao no seja trivial, a quantidade de bits que um sistema usando curvas elpticas necessita, para ser www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 34 compatvel com o RSA 1024 bits, est abaixo de 200 bits. Assim, apesar de precisar de dois elementos de 200 bits para representar cada ponto, a quantidade de hardware necessria para se atingir o mesmo nvel de segurana menor que o necessrio para o mesmo nvel de segurana usando mtodos de fatorao de inteiros. RSA - Rivest, Shamir and Adleman Algorithm (Algoritmo de Criptografia RSA baseado em chave pblica e privada) A descoberta de um novo paradigma em criptografia usando chave pblica representada pelo popular sistema de criptografia RSA causou uma nova onda de interesse pela teoria de nmeros e mais importante por processos computacionais. Entre os problemas que naturalmente aparecem achamos a fatorao de inteiros ou num termo mais genrico primality proving. Para lidar com tais problemas, precisamos achar um algoritmo bom, eficiente e rpido e isto causa um crescimento na rea de teoria de nmeros computacionais. O RSA um sistema de criptografia de chave pblica tanto para cifrar quanto para autenticao de dados, foi inventado em 1977 por Ron Rivest, Adi Shamir e Leonard Adleman, pesquisadores do MIT. O RSA combinado com a funo hashing SHA1 (secure hash algorithm) para cifrar a mensagem. A principal vantagem da criptografia baseada em chave pblica a sua maior segurana em relao a criptografia baseada em chave secreta. No sistema baseado em chave pblica as chaves privadas nunca precisam ser transmitidas ou recebidas a ningum. Num sistema de chave secreta, ao contrrio, sempre existe uma chance de que um intruso possa descobrir a chave secreta enquanto esta est sendo transmitida. Outra vantagem do sistema baseado em chave pblica que eles podem fornecer um mtodo para assinaturas digitais, mas em contra partida existe uma como desvantagens principal: a velocidade. O mtodo de chave pblica muito mais lento na cifragem do que o mtodo de chave secreta. www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 35 SET - Secure Eletronic Transaction (Transaes eletrnicas seguras com carto de crdito) Internet A Internet est alterando a maneira pela qual nos comunicamos e pagamos por servios, acessamos as informaes, pagamos e adquirimos mercadorias. Vrios servios financeiros como pagamentos de conta, corretagem, seguros, e home banking esto ou estaro disponveis em larga escala na Internet. Para que tais transaes sejam efetuadas sem prejuzo para o lado do consumidor e at mesmo do servidor a criptografia na Internet se tornou mais que uma realidade e sim uma necessidade, sendo que a cada dia tenta-se implementar algoritmos cada vez mais poderosos e difceis de serem decifrados por pessoas no autorizadas. A autenticao num sistema digital um processo por meio do qual o receptor de uma mensagem digital pode estar confiante da identidade do remetente e / ou da integridade da mensagem. Os protocolos de autenticao podem ser baseados tanto em sistemas criptogrficos convencionais de chave secreta como DES ou em sistemas de chave pblica como RSA; a autenticao em sistemas de chave pblica utiliza assinaturas digitais. A necessidade de assinaturas digitais surgiu da proliferao das comunicaes digitais. Logo, a cifragem e autenticao acontecem sem compartilhamento de chaves privadas: cada pessoa usa apenas as chaves pblicas de outras pessoas e sua prpria chave privada. Qualquer um pode enviar uma mensagem cifrada ou verificar uma mensagem assinada, utilizando apenas chaves pblicas, mas apenas a pessoa em posse da chave privada correta pode decifrar ou assinar uma mensagem (vide figura abaixo): www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 36 necessrio um prazo de validade de uma chave para preveno contra tentativas de quebra a longo prazo. Logo, o tempo de validade deve ser muito menor do que o tempo esperado para que se consiga sua quebra, ou por outro lado, o comprimento da chave deve ser suficientemente grande para tornar as chances de se conseguir sua quebra antes do trmino da validade pequenas. A data de validade de uma chave acompanha a chave pblica num certificado ou num diretrio. O programa de verificao de assinatura deve verificar a validade da chave e no deve aceitar uma mensagem assinada por uma chave fora da validade. A Certificao digital uma aplicao na qual uma autoridade de certificao "assina" uma mensagem especial m contendo o nome de algum usurio A e sua chave pblica, de forma que qualquer pessoa possa "verificar" que a mensagem foi assinada apenas pela autoridade de certificao e assim incrementa crdito na chave pblica de A. Uma implementao tpica da certificao digital envolve um algoritmo de assinatura para assinar a mensagem especial, utilizada pelos certificados da X.509. Com uma assinatura digital comum, qualquer um pode verificar a qualquer hora, que a certificao foi assinada pela autoridade de certificao, sem acesso a informao secreta. A CRL outro tipo de mensagem especial com uma assinatura. A mensagem especial para um CRL contm uma lista de certificados revogados, onde os certificados so tipicamente referenciados indiretamente por um nmero serial. Um CRL habilita autoridade da certificao a "desabilitar" suas assinaturas no certificado de "A" ou certificados estendidos, caso seja necessrio quando o nome de "A" alterado ou sua chave privada comprometida. A certificao digital possui seis aspectos adequados para padronizao: uma sintaxe independente do algoritmo para requisies de certificaes, para certificados, para certificados estendidos, para CRLs, e sintaxe de chave pblica para algoritmos de chave pblica especficos, e algoritmos de assinatura especficos. O processo de assinatura e verificao consiste em quatro passos: digerir mensagens, codificao de dados, criptografia RSA, e converso de cadeias de octetos a cadeia de bits. A entrada para o processo de assinatura pode ser uma cadeia de octetos M, a mensagem; e uma chave privada do assinante. A sada do processo de assinatura deve ser uma cadeia de bits S, a assinatura. O processo de verificao para algoritmos de assinatura consiste em quatro passos: converso de cadeia de bits em cadeia de octetos, decifragem do RSA, decodificao de dados, e mensagem digerida e comparao. O processo de assinatura deve ser desenvolvido com uma chave privada da entidade e o processo de verificao deve ser desenvolvido com uma chave privada da entidade. O processo de assinatura transforma uma cadeia de octetos (a mensagem) a uma cadeia de bits (a assinatura); www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 37 o processo de verificao determina se a assinatura a assinatura de uma cadeia de octetos, a mensagem Impacto da comrcio eletrnico No h dvidas que o comrcio eletrnico, a exemplo da popularidade da Internet, est causando um grande impacto nos servios fornecidos pelas instituies financeiras. Nenhuma instituio financeira deixar de ser afetada direta ou indiretamente pela exploso comrcio eletrnico. O nmero de compras com carto de crdito realizadas atravs deste meio deve crescer com os pedidos online dos sistemas baseados na Internet. Vrios bancos esto planejando aderir a esta nova forma de comrcio eletrnico oferecendo autorizaes para pagamentos com cartes de crdito diretamente pela Internet. Os sistemas de pagamento e suas instituies financeiras tm uma funo significativa estabelecendo especificaes abertas para transaes com pagamentos em carto que: Proporcionam transmisses confidenciais, Autenticam as partes envolvidas, Garantem a integridade das instrues de pagamento para bens e servios, e Autenticam a identidade do portador do carto e do vendedor mutuamente. Confidencialidade da informao Para facilitar e encorajar o comrcio eletrnico usando os produtos com pagamento em carto, ser necessrio garantir aos portadores de carto que as suas informaes de pagamento esto seguras e somente podem ser acessadas pelo destinatrio. Portanto, a conta dos portadores de carto e as informaes de pagamento devem ser asseguradas em suas viagens pela rede, prevenindo a intercepo das nmeros das contas e suas datas de expirao por indivduos no autorizadas. No ambiente de compras on-line atual, instrues contendo informaes de pagamento so freqentemente transmitidas pelos portadores de cartes aos comerciantes sobre redes abertas com poucas precaues de segurana, se houver. Contudo, esta informao da conta proporciona os elementos chave necessrios para criar cartes falsificados e/ou transaes fraudulentas. Enquanto possvel obter informaes de contas em outros ambientes, h um aumento sobre a facilidade de se fazer isso com transaes em redes pblicas. Esta www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 38 preocupao reflete o potencial para um alto volume de fraudes, fraudes automatizadas ( como a utilizao de filtros sobre todas as mensagens que passam sobre a rede para extrair todos os nmeros de contas com pagamento em carto do fluxo de dados na rede), e o potencial para "fraudes maliciosas" que parece ser caractersticas de alguns hackers. Integridade dos dados A informao do pagamento enviada dos portadores de carto para os comerciantes inclui a informao do pedido, os dados pessoais, e as instrues de pagamento. Se qualquer componente for alterado na transio, a transao no ser processada corretamente. Para eliminar esta fonte potencial de fraude e/ou erro, o SET deve proporcionar os meios para garantir que o contedo de cada pedido e a mensagem de pagamento recebida correspondem ao contedo da mensagem enviada. Autenticao da conta do portador do carto Os comerciantes precisam de uma maneira para verificar que um portador de um carto o legtimo usurio da conta do carto. Um mecanismo que usa tecnologia para ligar um portador de carto a um nmero de uma conta de pagamento de um carto especfico reduzir a incidncia de fraude e por isso o custo global do processamento do pagamento. Esta especificao define o mecanismo para verificar que o portador do carto um usurio legtimo de um nmero vlido da conta de pagamento do carto. Nota: Esta especificao no define o processo usado por uma instituio financeira para determinar se um indivduo o legtimo usurio da conta. Autenticao do comerciante A especificao deve proporcionar uma maneira para os portadores de carto de confirmar que o comerciante possui um relacionamento com uma instituio financeira que o permite aceitar pagamentos em carto. Os portadores de carto tambm precisam estar aptos a identificar os comerciantes com os quais ele pode conduzir seguramente o comrcio eletrnico. Interoperabilidade A especificao deve ser aplicvel em uma variedade de plataformas de hardware e software, e no deve incluir uma preferncia de uma sobre a outra. Qualquer portador de um carto de crdito com software compatvel deve estar habilitado a se comunicar com o software do comerciante que tambm faz parte do padro definido. www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 39 Interao dos participantes O SET altera a maneira que os participantes de um sistema de pagamento interagem. Em uma transao face-a-face pormenorizada ou em uma transao de um pedido por e-mail, um processamento eletrnico inicia-se com o comerciante ou com uma instituio financeira que processa as autorizaes dos processos de pagamentos e os pagamentos propriamente ditos. Contudo, em uma transao SET, o processamento eletrnico inicia-se com o portador do carto. Portador do carto de crdito Em um ambiente de comrcio eletrnico, os consumidores e os compradores corporativos interagem com os comerciantes atravs de computadores pessoais. Um portador de carto usa um carto que tenha sido emitido por uma instituio financeira - emissor. O SET assegura que nas interaes dos portadores de carto com os comerciantes, as informaes da conta usada no pagamento permanece confidencial. Emissor Um Emissor uma instituio financeira que estabelece uma conta para um portador de um carto e emite o pagamento. O Emissor garante o pagamento para as transaes autorizadas usando o carto de pagamento em acordo com as regulaes para cada tipo de carto e com a legislao local. Comerciante www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 40 Um comerciante oferece bens para venda ou fornece servios em troca de pagamento. Com o SET, o comerciante pode oferecer interaes eletrnicas seguras aos portadores de carto. Um comerciante que aceita pagamento em carto deve ter um relacionamento com um "Acquirer". Acquirer O "Acquirer" uma instituio financeira que estabelece uma conta com o comerciante e processa as autorizaes para pagamento em carto e os pagamentos. Gateway de pagamento um dispositivo operado pelo "Acquirer" ou uma terceira parte designada que processa as mensagens de pagamento do comerciante, incluindo as instrues de pagamento dos portadores de carto. Tipos de carto As instituies financeiras tem fundado marcas de carto que protegem e anunciam a marca, estabelece e fazem cumprir regras para o uso e a aceitao dos seus cartes, e proporcionar redes para interconectar as instituies financeiras. Terceiros Os Emissores e os "Acquirers" algumas vezes escolhem associar o processamento das transaes com pagamento em carto aos processadores terceiros. Este documento no distingue entre as instituies financeiras e os processadores das transaes. Assinatura Dupla www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 41 O propsito da assinatura dupla ligar duas mensagens que so endereadas para dois destinatrios diferenas. Neste caso, o cliente quer enviar a informao de compra para o comerciante e a informao de pagamento para o banco. O comerciante no precisa saber o nmero do carto de crdito do cliente e o banco no precisa saber os detalhes da compra. Ao cliente oferecida uma proteo extra em termos de privacidade mantendo estes dois itens separados, entretanto estes dois itens precisam estar ligados de tal forma que possam ser usados para resolver qualquer dvida, ou seja, essa ligao necessria para que o cliente possa comprovar que aquela ordem de pagamento destinada aquele pedido e no a qualquer outro bem ou servio. Para ver a necessidade dessa ligao, suponha que o consumidor envie duas mensagens para o comerciante - uma informao de compra (OI) assinada e uma informao de pagamento (PI) assinada - e o comerciante poderia afirmar que uma informao de compra pertence a um outro pedido. A ligao previne isso. A figura acima mostra o uso da assinatura dupla para satisfazer as requisies do pargrafo anterior. O cliente O cliente usa o hash (usando SHA-1) do PI e o hash do OI. Estes dois hashes so concatenados e gerado um novo hash desse resultado. Finalmente, o cliente cifra o hash resultante com a sua chave privada criando a assinatura dupla (DS). Esta operao pode ser resumida da seguinte maneira: DS = Chave Privada [Hash ( Hash(PI) + Hash(OI) ) Agora suponha que o comerciante est de posse de uma assinatura dupla (DS), da informao de compra (OI) e do hash da mensagem para a informao de pagamento - Hash(PI) = PIMD. O comerciante tambm possui a chave pblica do cliente, que foi obtida atravs do certificado do cliente. Ento o comerciante pode calcular as duas quantidades: Hash(PI) = PIMD Chave Privada [Hash ( PIMD + Hash(OI) ) e a chave pblica do cliente Se estas duas quantidades forem iguais, ento o comerciante verificou a assinatura do cliente. Similarmente, se o banco est de posse da assinatura dupla (DS), da informao de pagamento (PI), o hash da informao do pedido (OIMD), e a chave pblica do cliente, ento o banco pode calcular o seguinte: Hash(OI) = OIMD Chave Privada [Hash ( OIMD + Hash(PI) ) e a chave pblica do cliente Novamente, se essas duas quantidades forem iguais, ento o banco verifica a assinatura. Em resumo: comerciante recebeu a informao do pedido(OI) e verificou a assinatura. www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 42 banco recebeu a informao do pagamento (PI) e verificou a assinatura. cliente ligou a OI e a PI e pode fornecer a ligao. Por exemplo, suponha que o comerciante deseja-se substituir por outro pedido (OI) nesta transao, para tirar vantagem. Ele ento teria que encontrar outro OI cujo hash fosse igual ao OIMD. Com o SHA-1, isto considerado impossvel. Sendo assim, o comerciante no pode ligar outro OI com este PI. Processamento do Pagamento Requisio de compra Antes do incio da requisio de compra, o portador do carto completou a sua procura, seleo e o seu pedido. O final desta fase preliminar ocorre quando o comerciante envia um formulrio completo para o consumidor. Todos os procedimentos anteriores ocorrem sem o uso do SET. O processo da requisio de compra consiste de quatro mensagens: Initiate Request, Initiate Response, Purchase Request, e Purchase Response. Para enviar mensagens ao comerciante, o portador do carto deve ter uma cpia do certificado do comerciante e do gateway de pagamento. O cliente requisita um certificado na mensagem Initiate Request, enviada para o comerciante. Esta mensagem inclui o tipo ou marca do carto de crdito usado pelo comerciante. A mensagem tambm inclui uma identificao (ID) assinada para este par de requisio/resposta. O comerciante gera uma resposta e a assina com sua chave privada. Alm da resposta assinada, a mensagem de Initiate Response inclui o certificado de assinatura do comerciante e o certificado do gateway de pagamento. O portador do carto verifica o certificado do comerciante e do gateway de pagamento por meio de suas respectivas assinaturas na autoridade certificadora (CA) e ento cria a informao do Pedido (OI) e a informao do pagamento (PI). A identificao da transao (ID) assinada pelo comerciante colocada em ambos os OI e PI. O OI no contm os dados explcitos do pedido como o nmero e o preo dos itens. Em vez disso, o OI contm uma referncia do pedido gerado na troca entre o comerciante e o consumidor durante a fase de compra antes da primeira mensagem SET. www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 43 Aps isso, o portador do carto prepara a mensagem Purchase Request. Para este propsito, o portador do carto gera uma chave simtrica uma vez, Ks. A mensagem inclui o seguinte: 1. Informao relacionada a compra: essa informao ser encaminhada para o "gateway" de pagamento pelo comerciante e consiste de: A informao do pagamento (PI) A assinatura dupla (DS), calculada entre a PI e a OI assinada com a chave privada do consumidor hash da OI envelope digital 2. Informao relacionada ao pedido: essa informao necessria para o comerciante e consiste de: A informao do pedido (OI) A assinatura dupla (DS), calculada entre a PI e a OI assinada com a chave privada do consumidor hash da PI 3. O certificado do portador do carto: contm a chave pblica do portador do carto. www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 44 Quando o comerciante recebe a mensagem de pedido de compra ele realiza as seguintes aes: Verifica o certificado do portador do carto pela sua assinatura da autoridade certificadora Verifica a assinatura dupla usando a chave pblica do cliente. Isto garante que o pedido no foi modificado na transmisso e que foi assinado usando a chave privada do portador do carto Processa o pedido e encaminha a informao de pagamento para o gateway de pagamento Envia a resposta da compra para o portador do carto A resposta da compra (Purchase Response) inclui um bloco de reconhece o pedido e referencia o nmero da transao correspondente. Este bloco assinado com a chave pblica do comerciante. O bloco e sua assinatura so enviados para o cliente, juntamente com o certificado de assinatura do comerciante. www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 45 Quando o software do portador do carto recebe a mensagem de resposta da compra, ele verifica o certificado do comerciante e ento verifica a assinatura no bloco de resposta. Finalmente, so realizadas algumas aes como atualizar o banco de dados e de mostrar a mensagem para o usurio. Algoritmo Criptogrfico Blowfish Blowfish um algoritmo criptogrfico de chave simtrica desenvolvido por Bruce Schneier. Consiste de um cifrador em blocos de 64 bits com chaves de tamanho varivel (at 448 bits). O Blowfish ganhou uma grande aceitao no mercado sendo utilizado em diversas aplicaes, dentre elas, o Nautilus e o PGPfone. Ainda no so conhecidos ataques contra ele. Possui: Cifragem em blocos de 64 bits; Chave de tamanho varivel: 32 448 bits; Desenvolvido por Bruce Schneier; Mais rpido que o DES e o IDEA; No patenteado e totalmente grtis; No necessita de licena; Cdigo fonte disponvel para download. O algoritmo criptogrfico Blowfish O Blowfish um algoritmo criptogrfico simtrico de blocos que pode ser usado em substituio ao DES ou IDEA. Ele toma uma chave de tamanho varivel, de 32 a 448 bits, tornando-o ideal para aplicaes tanto domsticas, quanto comerciais. O Blowfish foi desenvolvido em 1993 como uma alternativa grtis mais rpida para os algoritmos criptogrficos existentes. Desde ento ele vem sendo analisado de forma considervel e est conquistando a aceitao do mercado como um algoritmo forte. O Blowfish no patenteado, tem sua licena grtis e est a disposio para todos. Qualquer pessoa bem vinda para efetuar o "download" do Blowfish e fazer uso em suas aplicaes.. No h regras de uso do cdigo. Bruce Schneier pede, somente, que seja notificado de aplicaes comerciais para que possam ser listadas em seu website. www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 46 Uma implementao que serve como referncia do Blowfish (nos modos ECB, CBC, CFB e OFB) est disponvel em ftp://ftp.psy.uq.oz.au/ ou em ftp.ox.ac.uk. Uma implementao em Java pode ser encontrada como parte do Cryptix. www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 47 GLOSSRIO TEXTO PURO o texto destinado a ser colocado de forma secreta ou ininteligvel para o publico comum. TEXTO CIFRADO o texto puro aps ser alterado pela cifra ou palavra-chave. CIFRAR, CODIFICAR: Ato de transformar o texto puro em texto cifrado. DECIFRAR, DECODIFICAR: Ato de transformar o texto cifrado em texto puro. QUEBRAR A SENHA OU SEGREDO: Conseguir decifrar um texto cifrado sem possuir a senha. TRANSPOSICAO Alterar a ordem das letras, tal como transformar segredo em esoderg. SUBSTITUICAO Substituir letras especificas por outras, ou por nmeros ou smbolos. Escrever SOS em cdigo morse seria uma substituio. ex: texto puro: SOS cdigo morse: ...---... Vrios msicos tambm usavam linguagem de duplo sentido, para poder transmitir sua mensagem (isso, antes de terem que se asilar para escaparem a represso). ALFABETO CIFRADO: Um alfabeto para ser usado para transposio. ex: Alfabeto puro: a b c d e f g h i j k l m n o p q r s t u v x y z Dessa forma, inimigo viraria TQTPTCE. Pode-se usar mais de um alfabeto, quando ento o sistema se chama polialfabtico. CODIGOS Essa mais ou menos, a forma favorita do brasileiro de criptografia. Consiste em se utilizar palavras-de- codigo ou nmeros- de-codigo para representar o texto, como acontece com as grias. ex: numero-codigo texto-puro 11 muito bom (ver filme "mulher nota 10") 10 bom 1 ruim 5 medio 24 homossexual 171 estelionato Obs: Usei exemplos ja' incorporados a cultura popular, mas esse tipo de cdigo muito usado pela policia. A gria usada por um grupo especifico, tal como usar "foca" para designar reprter iniciante na imprensa tambm pode ser chamada de cdigo. www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 48 VOCABULARIO Nesse texto, o conjunto de palavras que compem um cdigo, tal como visto acima. PALAVRA- CHAVE: A expresso ou cdigo que permite o deciframento do texto cifrado. www.projetoderedes.kit.net Copyright 2002 Caio Jlio Martins Veloso www.modulo.com.br 49 BIBLIOGRAFIA [BEL95] BARATA ELETRICA, nmero 2 So Paulo, 15 de abril de 1995. [Leo01] Criptografia - Historia y Mtodos Clsicos. Disponvel na URL http://leo.worldonline.es/jlquijad/histo.htm. [15/04/2001] [Ign01] MENDVIL. Ignacio, El ABC de los Documentos Electrnicos Seguros. Disponvel na URL http://www.seguridata.com [15/04/2001] [APS99] MENEZES. Alfred J., OORSCHOT Paul C. van, VANSTONE. Scott A., Handbook of Applied Cryptography. CRC Press; 4 ed. jul 1999. Disponvel na URL http://www.cacr.math.uwaterloo.ca/hac/index.html. [15/04/2001] [Ric00] MENEZES. Ricardo, Escrita Secreta: Criptologia. 23 nov 2000. Disponvel na URL http://www.gecm.org.br/!cripto/EscritaSecreta.html [15/04/2001] [RSA00] RSA Laboratories. RSA Laboratories' Frequently Asked Questions About Today's Cryptography. maio 2000. RSA Security Inc. [SP01] SOUSA Jr, Rafael T. de., PUTTINI, Ricardo S. Criptografia e Segurana de Redes de Computadores. UnB - Departamento de Engenharia Eltrica. Braslia. Disponvel na URL http://webserver.redes.unb.br/security/introducao/aspectos.html [15/04/2001] www.projetoderedes.kit.net