Anda di halaman 1dari 17

GeekBrasil http://www.geekbrasil.com.

br

Criptografia
Por: Daniela Pistelli Introduo A criptografia j estava presente no sistema de escrita hieroglfica dos egpcios. Desde ento vem sendo muito utilizada, principalmente para fins militares e diplomticos. No mbito da computao a criptologia importante para que se possa garantir a segurana em todo o ambiente computacional que necessite de sigilo em relao s informaes que manipula. Pode ser usada para se codificar dados e mensagens antes que esses sejam enviados por vias de comunicao, para que mesmo que sejam interceptados, dificilmente podero ser decodificados. Terminologias A palavra criptografia vem do grego kryptos (em portugus, escondido) + grafo (grafia, escrita): arte ou cincia de escrever em cifra ou cdigo; em outras palavras, um conjunto de tcnicas que permitem tornar incompreensvel uma mensagem originalmente escrita com clareza, de forma a permitir normalmente que apenas o destinatrio a decifre e compreenda. Quase sempre o deciframento requer uma chave, uma informao secreta disponvel ao destinatrio. Terceiros podem atravs de uma "escuta" ter acesso 'a mensagem cifrada e determinar o texto original ou mesmo a chave, quebrando o sistema. A criptoanlise (analisys = decomposio) a arte ou cincia de determinar chave ou decifrar mensagens sem conhecer a chave. A criptologia a cincia que rene criptografia e criptoanlise. Uma cincia muito antiga, a criptologia j estava presente no sistema de escrita hieroglfica dos egpcios h quase quatro mil anos. Desde ento vem sendo muito utilizada, principalmente para fins militares e diplomticos (e por amantes tambm). Sua utilizao durante a Segunda Guerra, e a conseqentemente quebra dos cdigos alemo e japons, foi fundamental para o sucesso dos Aliados. O livro The Codebreakers (Kahn) apresenta a historia desta cincia ate a Segunda Guerra, inclusive.. Quase sempre o deciframento requer uma chave, uma informao secreta disponvel ao destinatrio. Criptoanlise (kripts; anlysis = decomposio) : e a arte ou cincia de determinar a chave ou decifrar mensagens sem conhecer a chave. Uma tentativa de criptoanlise e chamada ataque. Criptologia (kripts; logo = estudo, cincia): e a cincia que rene a criptografia e a criptoanlise. A criptografia computacional usada para garantir: Geek Brasil www.geekbrasil.com.br 1

1 - Sigilo: somente os usurios autorizados tm acesso informao. 2 - Integridade da informao: garantia oferecida ao usurio de que a informao correta, original, no foi alterada, nem intencionalmente, nem acidentalmente. Autenticao do usurio : o processo que permite ao sistema verificar se a pessoa com quem est se comunicando de fato a pessoa que alega ser. Autenticao de remetente: o processo que permite a um usurio certificar-se que a mensagem recebida foi de fato enviada pelo remetente, podendo-se inclusive provar perante um juiz, que o remetente enviou aquela mensagem. Autenticao do destinatrio: consiste em se ter uma prova de que a mensagem enviada foi como tal recebida pelo destinatrio. Autenticao de atualidade: consiste em provar que a mensagem atual, no se tratando de mensagens antigas reenviadas. Cifrar o ato de transformar dados em alguma forma ilegvel. Seu propsito o de garantir a privacidade, mantendo a informao escondida de qualquer pessoa no autorizada, mesmo que esta consiga visualizar os dados criptografados. Decifrar o processo inverso, ou seja, transformar os dados criptografados na sua forma original, inteligvel.Para cifrarmos ou decifrarmos uma mensagem, necessitamos de informaes confidenciais geralmente denominadas chaves ou senhas. Dependendo do mtodo de criptografia empregado, a mesma chave pode ser utilizada tanto para criptografar como para decriptografar mensagens, enquanto outros mecanismos utilizam senhas diferentes. A criptografia, hoje em dia, mais que somente misturar e desembaralhar informaes. Autenticao fundamental para garantirmos privacidade. Usamos autenticao em nosso dia a dia, quando assinamos um cheque, por exemplo. O mesmo ocorre quando usamos meios eletrnicos de comunicao. Os processos criptogrficos atuais nos fornecem mecanismos para implementarmos tal funo. A assinatura digital garante a procedncia do documento, enquanto o timestamp digital nos informa o momento da criao de um documento. Estes mecanismos podem ser usados para controlar, por exemplo, acessos a discos rgidos compartilhados ou controlar canais de TV pagas por tempo de uso.As aplicaes para o campo da criptografia so muito amplas. Com algumas ferramentas bsicas possvel elaborar esquemas e protocolos que nos permitam o uso do "dinheiro eletrnico", ou provar que se tem acesso a certa informao sem a necessidade de revel-la, ou ento dividir um contexto sigiloso de modo que no menos de 3 de um grupo de 5 pessoas, por exemplo, possam reconstru-lo. Sistemas Criptogrficos Criptossistemas podem ser tanto quando assimtricos. Num criptossistema simtrico a encriptao e a decriptao so feitas com uma nica chave, ou seja, tanto o remetente quanto o destinatrio usam a mesma chave. Num sistema assimtrico, ao contrrio, duas chaves so empregadas. Em criptossistemas de uma chave, como por exemplo o DES (Data Encription Standart), ocorre o chamado "problema de distribuio de chaves". A chave tem de ser enviada para todos os usuarios autorizados antes que mensagens possam ser trocadas. Isso resulta num atraso de tempo e possibilita que a chave chegue a pessoas no autorizadas. Criptossistemas assimtricos, ou de dua chaves, contormam o problema da distribuio de chaves atravs do uso de chaves pblicas. A criptografia de chaves pblicas foi inventada em 1976 por Whitfield diffie e Martin Hellman a fim de resolver o problema da distribuio de chaves. No novo sistema, cada pessoa tem um par de chaves chamadas : chave pblica e chave privada. A chave pblica divulgada enquanto que a chave privada e deixada em segredo. Para mandar uma mensagem privada, o transmissor encripta a mensagem usando a chave pblicado destinatrio pretendido. Segue um exemplo de como o sistema funciona. Quando Ana quer mandar uma mensagem para Carlos, ela procura a chave pblica dele em um diretrio, a usa para encriptar a mensagem, e a envia. Carlos ento usa a sua chave privada para decriptar a mensagem e l-la. Este sistema tambm permite a autenticao digital de mensagens , Geek Brasil www.geekbrasil.com.br 2

ou seja possvel prover certeza ao receptor sobre a identidade do transmissor e sobre a integridade da mensagem. Quando uma mensagem encriptada com uma chave privada, ao invs da chave pblica; o resultado uma assinatura digital, ou seja, uma mensagem que s uma pessoa poderia produzir, mas que todos possam verificar. Normalmente autenticao se refere ao uso de assinaturas digitais : a assinatura um conjunto inforjvel de dados assegurando o nome do autor ou funcionando como uma assinatura de documentos , ou seja, que determinada pessoa concordou com o que estava escrito. Isso tambm evita que a pessoa que assinou a mensagem depois possa se livrar de responsabilidades, alegando que a mensagem foi forjada. Um exemplo de criptossistema de chave pblica o RSA (Rivest-Shamir-Adelman) . Sua maior desvantagem a sua capacidade de canal limitada, ou seja, o nmero de bits de mensagem que ele pode transmitir por segundo. Enquanto um chip que implementa o algortmo de uma chave DES pode processar informao em alguns milhes de bits por segundo, um chip RSA consegue apenas na ordem de mil bits por segundo. Ento vejamos , sistemas de uma chave so bem mais rpidos, e sistemas de duas chaves so bem mais seguros. Uma possvel soluo combinar as duas, fornecendo assim um misto de velocidade e segurana. Simplesmente usa-se a encriptao de uma chave para encriptar a mensagem, e a chave secreta transmitida usando a chave pblica do destinatrio. importante no confundir chave privada com chave secreta.A primeira mantida em segredo, enquanto que a segunda enviada para as pessoas que efetivaro a comunicao.

Algortmos

Algortmos de Chave nica ou Secretas (Simtricos) O exemplo mais difundido de cifrador computacional de chave nica o DES (Data Encryption Standard), desenvolvido pela IBM e adotado como padro nos EUA em 1977. O DES cifra blocos de 64 bits (8 caracteres) usando uma chave de 56 bits mais 8 bits de paridade (o que soma 64 bits).O algoritmo inicia realizando uma transposio inicial sobre os 64 bits da mensagem, seguida de 16 passos de ciftagem e conclui realizando uma transposio final, que a inversa da transposio inicial.Para os 16 passos de ciftagem usam-se 16 sub-chaves, todas derivadas da chave original atravs de deslocamentos e transposies. Um passo de cifragem do DES, tem dois objetivos bsicos: a difuso e a confuso. A difuso visa eliminar a redundncia existente na mensagem original, distribuindo-a pela mensagem cifrada. O propsito da confuso tomar a relao entre a mensagem e a chave to complexa quanto possvel.O DES pode ser quebrado pelo mtodo da fora bruta, tentando-se todas as combinaes possveis de chave. Como a chave tem 56 bits, tem-se um total de 2 exp 56 chaves possveis. Existem diversos algoritmos de cifragem de blocos de chave nica, entre eles: Triple-DES: O DES aplicado 3 vezes, com sequncias de cifragem e decifragem, combinando a utilizao de 2 chaves. WLucifer: precursor do DES. Madryga: trabalha com 8 bits, usando ou-exclusivo e deslocamento de bits.

Geek Brasil

www.geekbrasil.com.br

NewDES: blocos de 64 bits e chave de 120 bits. FEAL-N: baseado no DES, pode-se especificar o nmero de passos da cifragem, fraco se utiliza-se menos de 8 passos. LOKI: bloco e chave de 64 bits. Khufu e Khafre: trabalham de forma semelhante ao DES, usam tabelas de substituio de 256 posies de 32 bits - contra as de 6 posies de 4 bits do DES - usam chaves de 512 bits e um nmero de passos flexveis, mltiplo de 8. IDEA: blocos de 64 bits com chave de 128 bits. MMB: blocos e chave de 128 bits. Skipjack: chave de 80 bits e 32 passos de processamento.

Estes e outros algoritmos podem ser encontrados em : ftp://ftp.funet.fi:/pub/crypt/cryptography/symmetric

Algortmos de Chave Pblica (Assimtricos) A chave de ciframento pblicada ou tornada acessvel aos usurios, sem que haja quebra na segurana. Dessa forma cada usurio tem uma chave de ciframento, de conhecimento pblico, e outra de deciframento, secreta. Se um usurio A deseja mandar uma mensagem para um usurio B, ele utiliza a chave de ciframento pblica PB e envia a mensagem para B, este de posse de sua chave de deciframento secreta SB decodifica a mensagem. Um exemplo desse sistema o RSA, anacronico de seus autores Rivest, Shamir e Adleman. Sua seguranca baseia-se na intrabilidade da fatoraao de produtos de dois primos. Um usurio B para determinar seu par (PB,SB), procede da seguinte maneira: escolhe ao acaso dois primos grandes "p" e "q" e computa o seu produto (n=p*q), e o nmero f(n)=(p-1)*(q-1); B escolhe ao acaso um nmero "c" relativamente primo com f(n) (ou seja, c e f(n) no possuem fatores em comum) e determinara "d" tal que c*d (mdulo f(n)). Finalmente, o usurio B pblica sua chave pblica PB(c,n) e mantm secretos p, q, f(n) e d. A chave secreta SB(d,n) deve ser mantida em sigilo completo.

Cifragem de Blocos Um algoritmo que realiza cifragem sobre blocos pode operar de diversas maneiras distintas. As mais conhecidas so: 1 - Modo do livro de Cdigos (Electronic Code Book - ECB)

Geek Brasil

www.geekbrasil.com.br

Cada bloco da mensagem original individual e independentemente cifrado para produzir os blocos da mensagem cifrada. O bloco tpico tem 64 bits, o que produz um livro de cdigos de 2 exp 64 entradas. E note-se que para cada chave possvel existe um livro de cdigos diferentes. A vantagem do mtodo sua simplicidade e a independncia entre os blocos. A desvantagem que um criptoanalista pode comear a compilar um livro de cdigos, mesmo sem conhecer a chave. Um problema mais grave a chamada repetio de bloco, onde um atacante ativo pode alterar parte de uma mensagem criptografada sem saber a chave e nem mesmo o contedo que foi modificado. Pode-se por exemplo interceptar uma transao bancria de transferncia de saldo de qualquer pessoa, a seguir pode-se realizar uma transferncia de saldo de uma conta para a conta do atacante e interceptar a mensagem, assim pode-se identificar os blocos correspondentes ao destinatrio e dessa forma substituir em todas as mensagens o destinatrio pelo atacante. 2 - Modo de Encadeamento de Blocos (Cipher Block Chaining - CBC) CBC realimenta a cifragem do bloco atual com o resultado das cifragens dos blocos anteriores. A operao mais utilizada o ou-exclusivo com o bloco anterior, dessa forma os blocos iguais serao normalmente cifrados de forma diferente, desde que no mnimo um dos blocos anteriores seja diferente da mensagem. Entretanto 2 mensagens iguais serao mapeadas para os mesmos blocos. E duas mensagens com incio igual sero cifradas da mesma forma at que ocorra a diferena. A maneira empregada para evitar esse problema a utilizacao de um vetor de inicializaao distinto para cada mensagem. 3 - Modo da Realimentao de Cifra (Cipher Feedback - CFB) Quando h necessidade de enviar-se mensagens que possuem tamanho menor que um bloco usase o mtodo CFB, que trabalha com grupos (8 bits por exemplo - 1 caracter), neste caso a realimentacao feita sobre o grupo, utilizando-se tambm o ou-exclusivo. 4 - Cifras de Substituio Troca cada caracter ou grupo de caracteres por outro, de acordo com uma tabela de substituio.Pode-se quebrar este mtodo analisando-se a frequncia de cada caracter no texto cifrado e comparando-se estas frequncias com aquelas que normalmente aparecem em um determinado idioma.As vogais tm maior frequncia que as consoantes e alguns caracteres possuem frequncia baixssima em relao aos demais. Para amenizar a frequncia de caracteres, podemos utilizar vrias tabelas para a cifragem de um texto. Para uma substituio monoalfabtica podemos ter 261 Tabelas de Substituio. Tem-se uma chave que diz qual das tabelas ser usada para cada letra do texto original. Portanto, quanto maior a chave mais seguro o mtodo. Entretanto, suficiente descobrir o tamanho da chave k e analisar blocos de k caracteres no texto, verificando a frequncia de repetio dos caracteres. 4.1 - Substituio Monoalfabtica Cada letra do texto original trocada por outra de acordo com uma tabela e com sua posio no texto. A Substituio de Csar um exemplo de substituio monoalfabtica que consiste em trocar cada letra por outra que est 3 letras adiante na ordem alfabtica. Ex: A=D. Pode-se usar outros valores ao invs de 3, o que constitui a chave de ciframento. Existem apenas 26 chaves, por isso um mtodo que visa proteger textos com pequeno grau de sigilo. 4.2 - Substituio por Deslocamentos A chave indica quantas posies deve-se avanar no alfabeto para substituir cada letra. Diferente da substituio de Csar, as letras no so trocadas sempre por uma letra n posies a frente no alfabeto. Ex: Chave:020813, A primeira letra trocada pela letra que est 2 posies a frente no Geek Brasil www.geekbrasil.com.br 5

alfabeto, a segunda pela que est 8 posies a frente, e assim por diante, repetindo a chave se necessrio. (P AI=RIV). 4.3 - Substituio Monofnica Como a anterior, mas agora cada caracter pode ser mapeado para um ou vrios caracteres na mensagem cifrada. Isso evita a linearidade da substituio. 4.4 - Substituio Polialfabtica A combinao no uso de vrias substituies monoalfabticas, usadas em rotao de acordo com um critrio ou chave. Por exemplo, poderiam ser utilizadas 4 tabelas, usadas em alternncia a cada 4 caracteres. Substituio por Polgramos: utiliza grupo de caracteres ao invs de um caracter individual. Se fossem considerados trigramas, por exemplo, ABA poderia ser substitudo por RTQ ou KXS, 5 - Cifras de Transposio Troca-se a posio dos caracteres na mensagem. Por exemplo, pode-se rescrever o texto percorrendo-o por colunas. Ou ento definir o tamanho para um vetor de trocas e tambm uma ordem em que as trocas sero feitas. Pode-se usar chave para isso. Ex: em um vetor de tamanho 6 pode-se trocar o primeiro caracter pelo terceiro, o segundo pelo quinto e o quarto pelo sexto.Se a frequncia dos caracteres for a mesma do idioma, temos substituio por transposio. Se for diferente, temos por substituio.Tambm possvel combinar substituio e transposio, ou vice-versa. 6 - Mquinas de Cifragem Um cdigo trabalha com grupos de caracteres de tamanho varivel, ao contrrio da cifra. Cada palavra substituida por outra. Quebrar um cdigo equivale a quebrar uma gigantesca substituio monoalfabtica onde as unidades so as palavras e no os caracteres. Para isso deve-se usar a gramtica da lngua e analisar a estrutura das frases. Mquinas de cifragem baseiam-se em engrenagens que tem tamanhos diferentes e que giram a velocidades diferentes, obtendo um substituio polialfabtica com chave de 26n, onde n o nmero de engrenagens.

Sistemas Criptogrfncos e Criptoanlise Um criptossistema deve ser seguro mesmo quando os algoritmos de cifragem e de deciframento sejam conhecidos. Por esta razo so usadas chaves. Uma pessoa no autorizada que tem acesso a alguns dos elementos de um criptosistema denominada de atacante. Um atacante passivo somente obtm cpias dos elementos, enquanto um atacante ativo pode alterar alguns desses elementos. Existem cinco tipos de ataque (ou criptoanlise) mais comuns.Todos eles supe que o criptoanalista possui conhecimento total sobre os mtodos de cifragem e decifragem utilizados, mas no sobre as chaves. 1 - Ataque do texto cifrado (cyphertext-only): o criptoanalista tem a sua disposio uma grande quantidade de mensagens cifradas, mas desconhece as originais e as chaves utilizadas. Sua tarefa recuperar as mensagens normais (deduzir as chaves utilizadas). 2 - Ataque do texto conhecido (known-plaintext): o criptoanalista tem a sua disposio uma grande quantidade de mensagens cifradas e tambm as mensagens originais equivalentes. Sua tarefa

Geek Brasil

www.geekbrasil.com.br

deduzir as chaves usadas (ou um mtodo para recuperar mensagens cifradas com a mesma chave). 3 - Ataque adaptativo do texto escolhido (adaptative-choosen-plaintext): no mtodo anterior, o criptoanalista poderia ser capaz de fornecer somente uma grande quantidade de mensagens de uma s vez; agora ele pode fornecer um pequeno conjunto, analisar os resultados, fornecer outro conjunto e assim por diante. Sua tarefa deduzir as chaves utilizadas. Alguns mtodos de cifragem como o RSA so muito vulnerveis a este ataque. 4 - Ataque do texto cifrado escolhido (choosen-cyphertext): o criptoanalista no s tem uma grande quantidade de mensagens e seus equivalentes cifrados, mas pode produzir uma mensagem cifrada especfica para ser decifrada e obter o resultado produzido. utilizado quando se tem uma "caixa-preta" que faz decifragem automtica. Sua tarefa deduzir chaves utilizadas. 5 - Ataque da chave escolhida (choosen-key): o criptoanalista pode testar o sistema com diversas chaves diferentes, ou pode convencer diversos usurios legtimos do sistema a utilizarem determinadas chaves. Neste Ultimo caso, a finalidade imediata seria de decifrar as mensagens cifradas com essas chaves. Segurana de criptosistemas Um sistema dito seguro se ele teoricamente inquebrvel, ou seja, no interessa qual a quantidade de texto normal ou decifrado a disposio, nunca se tem informao suficiente para deduzir as chaves utilizadas ou decifrar um texto qualquer cifrado. S se conhece um mtodo nesta categoria: a Cifra de Vernam ou One-time pad (cifra de uso nico). Em essncia dois elementos que desejam se comunicar possuem cpias idnticas de uma sequncia randmica de valores, que so usados como chave. O mtodo entretanto, exige que cada chave seja usada uma nica vez e que o comprimento da sequncia (chave) seja maior, ou no mnimo igual ao comprimento da mensagem a ser cifrada.

Chaves secretas

Funes Unidirecionais Podemos dizer que uma uma funo unidirecional se for vivel comput-la e computacionalmente invivel computar a sua inversa. Imagine que temos dois nmeros primos da ordem de 10 exp lOO: multiplic-los uma questo de segundos com a tecnologia atual, no entanto, dado o seu produto da ordem de 10 exp 200, o melhor algoritmo conhecido leva hoje l bilho de anos para fatorar o produto dado. Assim a funo produto de dois primos unidirecional. Uma funcao unidirecional com segredo se existe uma informao que torna a computao da sua inversa possvel. A funao produto de dois primos unidirecional sem segredo. H casos em que uma funo unidirecional sem segredo til, um exemplo tpico na proteo de senhas, apresenta as senhas cifradas por uma funo unidirecional sem segredo (e de invivel deciframento). Quando o usurio inicia sua sesso, fornece a senha que ento ciftada e comparada com a senha cifrada armazenada. Desta maneira, exige-se apenas a integridade do arquivo de senhas, no mais exigindo controle de acesso ao arquivo.

Geek Brasil

www.geekbrasil.com.br

Ao selecionar uma funo unidirecional como funo de ciframento, o projetista deve supor que: . o algoritmo de ciframento de domnio pblico; . o espio, atravs de escuta, tem acesso ao texto cifrado. Diz-se ento que a criptoanlise de texto cifrado conhecido.

Protocolo para a Distribuio de Chaves Secretas Quando se adota o mtodo de chaves secretas, recomendvel no utilizar por muito tempo a mesma. Quando ideal a cada nova sesso uma nova chave seja estabelecida. Mas como estabelecer a chave ao incio de cada sesso? Como evitar as escutas? Cifrar a mensagem? Com que chave? Aqui apresenta-se uma soluo para ilustrar o conceito de funes unidirecionais. A funo a ser usada a exponencial mdulo de um nmero, isto , dados os inteiros 'a', 'x' e 'n', seja ~x)=aAx mod n (n>O, x>=O). Assim, ftx) o resto da diviso de aAx por n. O clculo desta funo vivel. O procedimento abaixo mostra uma maneira de calcular esta funo : Procedimento expomod (a,x,n,r:inteiro); {r possui o resultado da funo} declare y, c : tipo inteiro inicio r:= l; y:=x; c:=a mod n; enquanto y>O faa inicio se mpar(y) ento r=r*c mod n; y=y div 2; C=C 2 mod n; fim; fim; Suponha que dois usurios A e B desejam manter uma conversa sigilosa atravs de chave secreta. As duas partes escolheram um nmero primo grande , p' da ordem de 10A 100, e j concordaram tambm em utilizar uma base , a'. Preferivelmente deve ser uma raiz primitiva de p, de modo que ffx)=aAx mod p uma b~eo sobre o conjunto 1..p-l dos naturais x tais que l<=x<=p-l. Para iniciar o estabelecimento da chave, A gera ao acaso um expoente x no intervalo 1..p- l e B gera outro, y Usando expomod, A calcula ffx) e B ffy). Ento A envia pela rede ffx) e B envia ffy). De posse de y e ffx), B calcula, usando expomod :

Geek Brasil

www.geekbrasil.com.br

K = [(ffx)]Ay mod p = (aAx mod p)Ay mod p = aA(xy) mod p = K. Da mesma forma, A usa expomod e de posse de x e ffy) calcula: k = [(ffy)]AX mod p = (aAy mod p)AX mod p = aA(xy) mod p - - K. Assim A e B chegam a um nmero comum K, que ser a chave de ciframento para as mensagens. Suponha um espio bem informado que obtenha os valores de a e p e, atravs de escuta, os valores de f(f(x)) e de f(f(y)). Para determinar K, ele precisa determinar a funo logaritmo mdulo p, que intratvel. Mesmo A no capaz de determinar o valor de y e B o valor de x. A funo expomod unidirecional sem segredo, permite a A e B trocarem uma chave secreta utilizando a prpria rede.

Assinatura Digital Nos sistemas com chave pblica, qualquer pessoa pode cifrar uma mensagem, mas somente o destinatrio da mensagem pode decifr-la. Invertendo-se o uso das chaves podemos ter uma que s pode ser cifrada por uma pessoa e decifrada por qualquer um, obtendo-se assim umefeito de personalizao do documento, semelhante a uma assinatura. Um sistema desse tipo denominado assinatura digital. Assim para personalizar uma mensagem, um determinado usurio A codifica uma mensagem utilizando sua chave secreta e a envia para o destinatrio. Somente a chave pblica de A permitir a decodificao sua chave secreta e a envia para o da mensagem, portanto a prova de que A enviou a mensagem. A mensagem assim pode ser decodificada por qualquer um que tenha a chave pblica de A. Para garantir o sigilo deve-se a primeira utilizando a prpria chave secreta (para fazer a criptografia duas vezes a mensagem: a chave pblica do destinatrio, para que somente este possa ler a mensagem. Propriedades 1 - a assinatura autntica: quando um usurio usa a chave pblica de A para decifrar uma mensagem, ele confirma que foi A e somente A quem enviou a mensagem; 2 - a assinatura no pode ser forjada: somente A conhece sua chave secreta: 3 - o documento assinado no pode ser alterado : se houver qualquer alterao no texto criptografado este no poder ser restaurado com o uso da chave pblica de A; 4 - a assinatura no reutilizvel: a assinatura uma funo do documento e no pode ser transferida para outro documento; 5 - a assinatura no pode ser repudiada: o usurio B no precisa de nenhuma ajuda de A para reconhecer sua assinatura e A no pode negar ter assinado o documento.

Certificado digital Certificado de Identidade Digital, tambm conhecido como Certificado Digital, associa a identidade de um titular a um par de chaves eletrnicas (uma pblica e outra privada) que, usadas em conjunto, fomecem a comprovao da identidade. uma verso eletrnica (digital) de algo Geek Brasil www.geekbrasil.com.br 9

parecido a uma Cdula de Identidade - serve como prova de identidade, reconhecida diante de qualquer situao onde seja necessria a comprovao de identidade. Certificado Digital pode ser usado em uma grande variedade de aplicaes, como comrcio eletrnico, groupware (Intranet's e Internet) e transferncia eletrnica de fundos (veja o exemplo recente do Banco Bradesco S.A. na implantao do seu servio Internet - o BradescoNet). Dessa forma, um cliente que compre em um shopping virtual, utilizando um Servidor Seguro, solicitar o Certificado de Identidade Digital deste Servidor para verificar, a identidade do vendedor e o contedo do Certificado por ele apresentado. De forma inversa, o servidor poder solicitar ao comprador seu Certificado de Identidade Digital, para identific-lo com segurana e preciso. Caso qualquer um dos dois apresente um Certificado de Identidade Digital adulterado, ele ser avisado do fato, e a comunicao com segurana no ser estabelecida. O Certificado de Identidade Digital emitido e assinado (chancelado) por uma Autoridade Certificadora Digital(Certificate Authority), como a Thawte (certificadora da ArtNET), que emite o Certificado. Para tanto, esta autoridade usa as mais avanadas tcnicas de criptografia disponveis e de padres internacionais (norma ISO X.509 para Certitncados Digitais), para a emisso e chancela digital dos Certificados de Identidade Digital. Um certificado contem trs elementos: 1 - Informao de atributo Esta a informao sobre o objeto que certificado. No caso de uma pessoa, isto pode incluir seu nome, nacionalidade e endereo e-mail, sua organizao e o departamento desta organizao onde trabalha. 2 - Chave de informao pblica Esta a chave pblicada entidade certificada. O certificado atua para associar a chave pblica informao de atributo, descrita acima. A chave pblica pode ser qualquer chave assimtrica, mas usualmente uma chave RSA. 3 - Assinatura da Autoridade em Certificao (CA) A CA assina os dois primeiros elementos e, ento, adiciona credibilidade ao certificado.Quem recebe o certificado verifica a assinatura e acreditar na informao de atributo e chave pblicaassociadas se acreditar na Autoridade em Certificao.

Selo Cronolgico Digital O Servico de Selo Cronolgico Digital gera selos cronolgicos que associam a data e a hora a um documento digital em uma forma de criptografia forte. O selo cronolgico digital pode ser usado futuramente para provar que um documento eletrnico existia na data alegada por seu selo cronolgico. Por exemplo, um fsico que tenha uma idia brilhante pode descrev-la usando um processador de textos e selar este documento com o selo cronolgico digital.O selo cronolgico e o documento, juntos, podem mais tarde comprovar que este cientista o merecedor do Prmio Nobel, mesmo que um rival publique essa idia primeiro.

Geek Brasil

www.geekbrasil.com.br

10

Exemplo de uso do sistema: suponha que Paulo assine um documento e queira sel-lo cronologicamente. Ele calcula o resumo da mensagem usando uma funo de hashing seguro e, ento, envia este resumo (no o documento) para o DTS, que enviar de volta um seio cronolgico digital consistindo do resumo da mensagem, da data e da hora em que foi recebida pelo DTS e da assinatura do DTS. Como o resumo da mensagem no revela qualquer informao a respeito do contedo do documento, o DTS no tem condies de saber o contedo do documento que recebeu o selo cronolgico digital. Mais tarde, Paulo pode apresentar o documento e o selo cronolgico, juntos, para provar a data em que este foi escrito. Aquele que vai comprovar a autenticidade do documento calcula o resumo da mensagem, verifica se as mensagens calculada e apresentada so iguais, e observa ento a assinatura do DTS no selo cronolgico. Para ser confivel, o selo cronolgico no pode ser falsificvel. Considere os requisitos para um DTS como descrito a seguir. O DTS deve ser proprietrio de uma chave longa (1.024 bits), se este desejar que os selos cronolgicos sejam seguros por muitas dcadas. A chave privativa do DTS deve ser armazenada em um local de mxima segurana, como, por exemplo, um cofre inviolvel em um local seguro. A data e a hora vm de um relgio que no possa ser alterado, (NIST) Deve ser impossvel criar selos cronolgicos sem usar um mecanismo que s aceite este relgio. O uso do DTS parece ser extremamente importante, se no essencial, para manter a validade de documentos atravs dos anos. Suponha um contrato de leasing de vinte anos entre um proprietrio de terras e um arrendatrio. As chaves pblicas usadas para assinar o contrato expiram aps um ano. Solues, como reafirmar as chaves ou reassinar o contrato a cada ano, com novas chaves, requerem a cooperao de ambas as partes durante vrios anos enquanto durar o contrato. Se uma das partes se torna insatisfeita com o contrato, ela pode recusar-se a cooperar. A soluo registrar o contrato com o DTS na data da primeira assinatura deste. Ambas as partes recebem ento uma cpia do selo cronolgico, que pode ser usada anos mais tarde para comprovar a autenticidade do contrato original. No futuro, o provvel que o DTS ser usado para tudo, desde a assinatura de contratos a longo prazo at dirios pessoais e cartas. Hoje, se um historiador descobrir algum manuscrito e atribu-lo a um escritor famoso (j falecido), sua autenticidade poder ser comprovada por meios fsicos. Mas, se um achado semelhante ocorrer adqui a 100 anos, provavelmente ser em arquivos de computador (disquetes ou fitas). Talvez a nica forma de comprovar sua autenticidade seja atravs do selo cronolgico digital.

Site seguro Um site seguro constitudo por programas de computador que so executados em um servidor seguro para atender solicitaes feitas pelos usurios finais, atravs de seus prprios programas (clientes seguros). Dotado de caractersticas que tornam as transaes eletrnicas confidenciais, mediante criptografia, o servidor seguro utiliza-se de um protocolo especial de comunicao que o SSL ((" Secure Socket Layer" - desenvolvido originalmente pela Netscape), que utiliza criptografia de chave assimtrica, tornando a comunicao entre as partes virtualmente inviolvel. Desta forma, se houver interceptao das informaes trafegadas entre o cliente e o servidor por parte de pessoas no autorizadas, estas informaes sero de utilidade zero, j que seria necessrio o conhecimento prvio das chaves privadas de criptografia. Para que o sigilo e a inviolabilidade da comunicao realmente existam, necessrio um Certificado de Identidade Digital vlido.

Geek Brasil

www.geekbrasil.com.br

11

Formas de Pagamento Virtual

Para se comprar coisas pela internet necessrio arranjar uma forma adequada de efectuar o pagamento. No mundo real existem muitas maneiras de de pagar: dinheiro, cartes bancrios, cartes de crdito, cheque, senhas, etc... Da mesma forma na internet foram criados vrios sistemas de pagamento. Cartes de Crdito Uma das primeiras formas de pagamento na internet foi o uso de cartes de crdito. Trata-se de um sistema que j existe no mundo real, que usado por milhes de pessoas e que permite efetuar compras em qualquer parte do mundo, desde que seja aceite pelo comerciante. Existem vrios tipos de cartes, mas todos funcionam da mesma forma: o possuidor do carto efetua um pagamento, as informaes do carto sao dadas e o dinheiro movimentado do possuidor para o fornecedor dos servios. Assim o seu uso na internet simples: basta ter um carto de crdito, este ser aceite pelo fornecedor de servios e enviar informaes sobre o carto para o fornecedor. O problema reside em questes de segurana : como garantir que o comprador mesmo o dono do carto? Para contornar este obstculo existem vrias formas. Uns usam sistemas de criptografia e autorizaao do carto online. Outros preferem o uso da confirmao pelo telefone ou e-mail. Dinheiro Virtual Como pagar para quem no possui ou no gosta de usar cartes de crdito? A resposta reside no dinheiro virtual. O dinheiro foi uma invenco espantosa pois antes todo sistema comercial se baseava em trocas. Para obter um bem era necessrio troc-lo por outro bem, o que tinha e nmeros inconvenientes. No entanto o dinheiro s tem valor porque se lhe reconhecido esse valor (pelo estado, entidades bancrias, ...). No incio muitas pessoas prefiriam continuar com o sistema de trocas. Levou algum tempo para que os mais precavidos reconhececem o valor do dinheiro. Foram as vantagens deste (menor peso e volume) assim como uma interveno por parte da entidade emissora que conduziram ao seu uso generalisado . A criao de dinheiro virtual torna-se o passo seguinte nesta evoluo financeira. O dinheiro virtual tem muitas vantagens: no ocupa espao, no tem custos de emisso , no se desgasta e no se pode perder Mas para ser bem sucedido o dinheiro virtual precisa de ser seguro, rpido e simples de usar vrios sistemas de dinheiro virtual foram criados, cada um tem as suas vantagens e no claro qual ser aceito. Como exemplo destes sistemas temos o NetCash, o Netbill, o Netchex, o Netcheque, o Netmarket e o Magic Money. ecash De momento o candidato mais provvel o ecash da empresa holandesa Digicash. Existe um banco emissor que d o ecash aos utilizadores em troca de dinheiro real. O utilizador gasta quanto ecash quiser. Mais tarde o fornecedor de servios pode trocar o ecash (se o quiser) depois (no tal banco) por dinheiro. Mais tarde o fomecedor de O dinheiro real. Em cada transao so usadas assinaturas digitais pblicas para manter segurana. software cliente, usado pelos clientes para encriptar a transao, gratuito e garante anonimato.Somente as lojas e servios participantes tm de pagar uma pequena taxa e declarar todas transaes (para evitar fugas ao fisco ou lavagem de dinheiro). Devido a ser um sistema simples o ecash tem bastantes probabilidades de ser bem sucedido.

Geek Brasil

www.geekbrasil.com.br

12

NetCheque O NetCheque, desenvolvido pela Universidade da Califrnia do Sul , usa-se da mesma forma que os cheques tradicionais. Os NetCheques so e-mails assinados pelo pagador autorizado com uma assinatura eletrnica (cdigo criptogrfico) e enviados para o receptor. Este processo protegido pelo sistema de kerberos. A assinatura do utilizador cria o cheque enquanto que o endosso da pessoa a quem se paga o transforma numa ordem para o computador do banco. LETSystem Trata-se de um sistema mais ambicioso e complexo. Funciona na base de dinheiro local, tipos de unidades monetrias vagas e usadas em certas comunidades. Como exemplo desta unidades temos o Stroud, xxxx e pedras. Um utilizador nunca passa a dever dinheiro mas fica antes comprometido, i.e., devendo um servio comunidade. Este tipo de sistema depende bastante da confiana de todos que o usam.

PGP PGP um criptsistema hbrido que combina algortmos de chaves pblicas (assimtricas) com algortmos convencionais (simtricos), com a vantagem de utilizar a velocidade da criptografia convencional e a seguranca da criptografia por chaves pblicas. As chaves pblicas so mantidas em arquivos que contm a identificao do usurio (i.e. o nome da pessoa), a hora (timestamp) da gerao do par de chaves e as chaves propriamente ditas. So usados dois arquivos (key rings) diferentes, um para chaves pblicas e outro para as secretas, que podem conter uma ou mais chaves cada um. As chaves pblicas so internamente referenciadas por uma Key JD, que uma abreviao dessa chave (os 64 bits menos significativos). Enquanto muitas chaves podem ter a mesma identificao do usurio (User JD), nenhuma chave pode ter a mesma Key JD. PGP faz uso de "message digest para realizar as assinaturas. "Message digest o nome que se d a um conjunto de 128 bits fortemente cifrados, funo da mensagem. algo anlogo ao checksum ou ao CRC, que um cdigo verificador de erros, e representa compactamente a mensagem, usada para detectar mudanas em seu contedo. Diferentemente do CRC, entretanto, computacionalmente impraticvel a qualquer pessoa descobrir uma outra mensagem que produza uma mesma " message digest", que ainda criptografada pela chave secreta para formar a assinatura digital. Os documentos so autenticados por um prefixo que contm o Key JD da chave secreta que foi usada para assin-lo, o " message digest" do documento devidamente criptografado pela chave secreta doremetente e a hora (timestamp) de quando foi realizada a assinatura. O Key ID utilizado pelo destinatrio para relacion-lo com a chave pblicado remetente, afim de checar a assinatura. O software automaticamente procura a chave pblica e a identificao do usurio remetente no arquivo de chaves pblicas. Arquivos cifrados so prefixados pelo Key ID da chave pblica usada para cifr-la. O receptor usa essa informao para relacionar a correspondente chave secreta que decifra a mensagem. Da mesma forma, o software do destinatrio automaticamente localiza essa chave secreta no arquivo de chaves secretas.Esses dois tipos de arquivos so o principal mtodo de armazenamento e gerenciamento das chaves pblicas e privadas. Geek Brasil www.geekbrasil.com.br 13

Vulnerabilidades

Nenhum sistema de segurana impenetrvel. PGP pode ser enganado de vrias formas diferentes. Em qualquer sistema de segurana, temos que nos perguntar se a informao que escondemos mais valiosa para um eventual agressor do que o custo que este teria para burlar o sistema de proteo. Isto ajudaria a nos proteger de ataques de baixo custo sem nos preocuparmos com meios mais sofisticados e caros de espionagem. l - Comprometimento da passphrase e chave secreta: Provavelmente o modo mais simples de quebrar o sistema escrever em algum lugar sua passphrase. Se algum a achar e tambm conseguir copiar seu arquivo de chave secreta, pode tranquilamente ler suas mensagens e enviar outras tantas com a sua assinatura, fazendo com que todos pensem que foi voc o autor das tais mensagens. No usar passwords simples que possam ser facilmente descobertas como os nomes de esposa ou filhos j ajuda. Se voc fizer de sua passphrase uma nica palavra (tornando-se uma pas,S.word), ela poder ser descoberta por um computador que teste todas as palavras do dicionrio. Por isso uma passphrase melhor do que uma password claro que um agressor mais sofisticado poderia ter em seu computador um banco de dados com frases famosas para tentar achar sua passphrase. Uma passphrase fcil de lembrar e difcil de se descobrir poderia ser construda por alguns dizeres criativos sem sentido algum ou referncias literrias obscuras. 2 - Falsificao da chave pblica: Este pode ser o ponto mais vulnervel de um criptossistema de chave pblica, principalmente porque a maioria dos novatos na rea no percebem a falsificao imediatamente. Quando voc usar a chave pblicade de algum, esteja certo de que no foi falsificada. S podemos confiar na chave pblica de uma pessoa se a obtivermos diretamente dessa pessoa, ou se a recebemos em uma mensagem assinada por algum em quem confiamos. Mantenha um controle fisico de seus arquivos de chave pblica e secreta, mais preferivelmente em seu computador pessoal do que naqueles ligados em rede com acesso remoto.Tenha sempre uma cpia de ambos os arquivos. 3 - Arquivos no apagados completamente do disco: Outro problema potencial causado pelo modo de deleo de arquivos da maioria dos sistemas operacionais. Quando voc criptografa um arquivo e apaga o texto original, o sistema operacional no destri fisicamente o contedo do texto original. Ele apenas marca que aqueles blocos foram apagados do disco, permitindo que esse espao seja reutilizado posteriormente. Esses blocos marcados ainda contm o texto original que queramos destruir, e que ser realmente apagado apenas quando outros dados forem gravados por cima. Se o agressor tiver acesso aos blocos marcados antes que eles sejam regravados, ele pode recuperar o texto original ou pelo menos parte dele, o que pode ser facilmente realizado com programas especializados. De fato isto poderia at acontecer acidentalmente, se por alguma razo alguma coisa der errado na estrutura lgica de armazenamento de dados do disco e alguns arquivos forem acidentalmente apagados ou corrompidos. Programas de recuperao podem ser utilizados para tentar reaver os

Geek Brasil

www.geekbrasil.com.br

14

arquivos danificados, mas isto frequentemente faz com que arquivos previamente deletados sejam ressucitados junto com os arquivos que realmente interessam. Da, aquele arquivo confidencial que voc achava ter sumido para todo o sempre pode reaparecer e ser lido pela pessoa que estava tentando consertar seu disco. Mesmo quando voc est escrevendo sua mensagem com um processador de textos,o editor estar gerando vrias cpias temporrias do seu texto no disco, apenas porque texto ele trabalha internamente. Essas cpias temporrias so apagadas pelo prprio assim processador quando o finalizamos, mas os seus fragmentos ficam no disco, em algum lugar. A nica forma de se ter certeza que nossos textos originais no reaparecero de uma hora pra outra, , de algum jeito, apagar fisicamente do disco o contedo da mensagem. A menos que voc tenha certeza de que todos os blocos marcados como apagados sero reutilizados brevemente, pode-se tomar providncias para reescrev-los, e assim, destruir qualquer vestgio do texto sigiloso deixado pelo seu editor de textos favorito. Pode-se faz-lo utilizando qualquer programa especializado disponvel no mercado, como por exemplo o Norton Utilities para DOS (WIPEINFO.EXE). Mesmo tomadas todas as providncias descritas acima, tavez ainda seja possvel recuperar o conteUdo original do texto por algum cheio de recursos. Resduos magnticos dos dados originais ficam no disco mesmo aps serem regravados. Algum hardware sofisticado de recuperao de dados pode algumas vezes ter utilidade para reaver os dados (mais a j demais). 4 - Vroses e Cavalo de Tria: Outro tipo de ataque poderia envolver um vrus especial que infectaria o PGP ou o seu sistema operacional. Este vrus hipottico seria projetado para capturar sua passphrase ou chave secreta, e grav-la em algum arquivo no disco ou envi-la via rede para o 'proprietrio' do referido vrus. Ele poderia at alterar o comportamento do PGP para que as assinaturas no sejam checadas corretamente, por exemplo. Defender-se desse tipo de ataque nada mais do que evitar contaminao por virus em geral. PGP no tem defesas contra vrus, ele assume que a sua mquina est livre de vermes, o que pode ser pelo menos tentado por verses atualizadas de produtos anti-vrus disponveis no mercado. Se por acaso um vrus especial contra PGP aparecer, esperamos que todos tomemos conhecimento logo. Outra forma de espionagem envolveria uma cpia do PGP parecida visualmente com a original, mas alterada para que no ftlncionasse a contento. Por exemplo, algum poderia deliberadamente alter-lo para que no checasse as assinaturas corretamente, permitindo a falsificao das mesmas. Esta verso tipo "Cavalo de Tria" no seria difcil de ser desenvolvida, pois o cdigo fonte do PGP amplamente divulgado. Para evitar tais problemas, deve-se confiar na fonte de onde foi adquirida a cpia do PGP, ou peg-la de vrias fontes independentes e compar-las com um utilitrio destinado para esse fim. 5 - Falha de segurana fsica: Uma descuido do prprio usurio poderia permitir a algum adquirir seus arquivos originais ou mensagens impressas. Um oponente determinado poderia utilizar meios tais como roubo, vasculhamento de lixo, sequestro, suborno, chantagem ou infiltrao entre os funcionrios. No se iluda com a falsa sensao de segurana s porque voc tem uma ferramenta de criptografia. As tcnicas criptogrficas protegem a informao somente quando elas esto criptografadas, violaes fisicas de segurana podem compromet-las.

Geek Brasil

www.geekbrasil.com.br

15

6 - Espionagem "Tempest". Outra forma de espionagem tem sido utilizada por oponentes muito bem equipados que conseguem detectar os sinais eletromagnticos emitidos pelo computador. Este tipo de ataque caro e de intensa monitorao pode ser realizado por um caminho suprido da maquinaria necessria, estacionado prximo ao seu local de trabalho e remotamente captando todos os seus toques de teclado, assim como os textos jogados na tela, podendo comprometer seus passwords, mensagens, etc. Este tipo de ataque, conhecido como tempest, poderia ser evitado blindando-se computadores e cabos de rede, de modo que esses sinais no sejam mais emitidos. 7 - Anlise de trfico : Mesmo que no seja possvel ler o contedo das mensagens criptografadas, alguma informao til ainda poderia ser deduzida observando-se de onde as mensagens chegam e para onde elas vo, o tamanho das mesmas e a hora em que foram enviadas. a mesma coisa que olhar para uma conta telefnica de longa distncia e ver para onde voc ligou, quando e por quanto tempo ficou conversando, mesmo que o contedo da conversa seja desconhecido para um possvel espio. A isto chamamos de anlise de trfico. Para resolver este tipo de problema, precisaramos de protocolos de comunicao especialmente desenvolvidos para reduzir exposio dessas anlises, possvelmente com alguma assistncia criptogrfica. 8 - Exposio em sistemas multi-usurio: PGP foi originalmente projetado para rodar em mquinas MSDOS mono-usurias, sob seu controle fisico direto. Mas agora exitem verses do PGP que tambm rodam em sistemas multi-usurios como UNIX e VAXlVMS. Nesses sistemas, os riscos de descobrirem seus passwords, chaves secretas ou mensagens so maiores. Um intruso esperto o suficiente ou o prprio administrador de rede poderiam ter acesso aos seus arquivos originais, ou talvez utilizar-se de algum programinha especial para monitorar constantemente a digitao ou ver o que est aparecendo em sua tela. Os riscos reais de segurana dependem de cada situao em particular Alguns sistemas multiusurios podem ser considerados seguros porque todos os usurios so confiveis, ou porque no h interesse suficiente em espionar algum. De qualquer modo, recomenda-se rodar o PGP de uma mquina isolada, em um sistema mono-usurio, diretamente sob seu controle fisico. 9 - Cripto-anlise: Um espio com acesso a supercomputadores poderia montar um formidvel e carssimo ataque para descobrir sua chave secreta, utilizando-se de algum novo mtodo confidencial de anlise da informao criptografada. Talvez fosse possvel, mas note que o Governo Americano acredita suficientemente no algoritmo RSA a ponto de, em alguns casos, proteger informaes a respeito de armas nucleares. Intensas tentativas de quebrar o algoritmo na RSA tiveram sucesso desde 1978. Talvez o Governo Americano tenha algum mtodo confidencial para quebrar o algoritmo de criptografia convencional utilizado no PGP (IDEA). Mas algum otimismo se justifica, pois os projetistas do algoritmo IDEA esto entre os melhores da Europa. Ele foi extensivamente analisado e revisado por alguns dos melhores cripto-analistas encontrados no mundo. Alm disso, mesmo que estes algoritmos tivessem alguma fraqueza desconhecida, o PGP comprime o texto original antes de criptograf-lo, o que deveria reduzir essas fraquezas quaisquer que fossem. Conclumos que o gasto computacional para quebrar uma mensagem provavelmente seria muito maior do que o valor da prpria mensagem.

Geek Brasil

www.geekbrasil.com.br

16

\!!!!!!/ ------------oOOO--(_)------------------------| Arquivo baixado da GEEK BRASIL | http://www.geekbrasil.com.br | Dvidas ou Sugestes? | O seu portal de informtica e internet ()

| webmaster@geekbrasil.com.br |__| |__| || Ooo ||

--------------------------oOOO----------------

ooO

Geek Brasil

www.geekbrasil.com.br

17