Criptografia Documentos

download Criptografia Documentos

of 23

Transcript of Criptografia Documentos

  • 8/13/2019 Criptografia Documentos

    1/23

    Copyright Geraldo Xexowww.modulo.com

    - 1 -

    AUTENTICAO DE DOCUMENTOS DIGITAIS POR SISTEMASCRIPTOGRFICOS DE CHAVE PBLICA

    RESUMO

    Autenticar um documento permitir que sua origem eintegridade sejam verificados de maneira segura. Quando um

    documento est escrito em papel, formas tradicionais deautenticao incluem assinaturas, marcas e produtos especiais.No universo digital, o problema de autenticao se torna

    difcil pela facilidade de copiar e alterar os dados sem que sepossa detectar a falsificao no futuro. Para resolver esseproblema e permitir a autenticao de documentos e mensagensdigitais foram desenvolvidos mtodos baseados em criptografia.Utilizando esses mtodos, podem ser estabelecidos contratos emensagens podem ser trocadas de forma segura, sem que sejapossvel falsificar uma mensagem ou, conseqentemente, negarsua autoria.

    Neste trabalho apresentamos uma introduo sobre osmtodos de autenticao baseados em sistema criptogrficos de

    chave pblica. Utilizando assinaturas digitais, esses mtodosapresentam caractersticas vantajosas sobre mtodos baseadossobre sistemas criptogrficos tradicionais, i.e., de chave secreta.Dois mtodos de assinatura so discutidos, o RSA e o DSA, comoexemplo das principais tcnicas de assinatura sendo utilizadasatualmente.

    www.projetoderedes.kit.net

  • 8/13/2019 Criptografia Documentos

    2/23

    Copyright Geraldo Xexowww.modulo.com

    - 2 -

    Sumrio

    1. Introduo........................................................................ ...................................................41.1. Sistemas Criptogrficos Simtricos ................................................... .......................41.2. Sistemas Criptogrficos Assimtricos ................................................ .......................51.3. Usos Especficos ................................................. ...................................................5

    1.3.1. Autenticao em sistemas distribudos ....................................................... ....51.3.2. Assinaturas Cegas ........................................................ ................................51.3.3. Servios de estampagem de tempo.................................................................6

    1.4. Apresentao ...................................................... ...................................................62. Introduo a Criptologia.................................................................................................... ....7

    2.1. Sistemas Criptogrficos .................................................. .........................................72.1.1. Sistemas criptogrficos assimtricos ................................................. .............7

    2.2. Autenticidade...................................................................................................... ....72.3. Criptoanlise............................................... ........................................................ ....8

    3. Assinaturas Digitais................................................. ........................................................ ....93.1. Sistemas de chave pblica....................................................... ................................10

    3.1.1. O problema da fatorizao..............................................................................113.1.2. O problema do logaritmo discreto....................................................................11

    3.2. Alguns sistemas de autenticao usando RSA..........................................................113.2.1. Internet Privacy Enhanced Mail (PEM)...... ..... ...... ..... ...... ...... ..... ...... ..... ...... ....113.2.2. Assinatura digital no Public-Key Cryptografic System (PKCS)...... ...... ..... ..... ....123.2.3. SPX.............................................................................................................12

    3.3. O Digital Signature Standard (DSS)..... ...... ..... ...... ...... ..... ...... ..... ..... ...... ..... ...... ..... .124. Algoritmos para o Sistema de Chave Pblica.........................................................................13

    4.1. RSA.............................................................................. .........................................134.1.1. Ataques ao RSA .................................................. .........................................13

    4.1.2. Escolha dos valores............................ ....................................................... ....144.1.3. RSA na prtica..................................................... .........................................144.1.4. Certificados................................................................... ................................14

    4.2. DSA.............................................................................. .........................................154.2.1. Assinatura e Verificao ................................................ ................................154.2.2. Outras caractersticas do processo.................................................................164.2.3. Crticas ao DSA ................................................... .........................................164.2.4. Respostas as Crticas.................................. ..................................................16

    4.3. Outros Algoritmos ................................................. ..................................................165. Algoritmos para os Resumos de Mensagens ................................................... ......................17

    5.1. Funes de Hash e Resumos de Mensagens ..... ..... ...... ..... ...... ..... ...... ...... ..... ...... .....175.1.1. Outros Mtodos ................................................... .........................................17

    5.2. MD2........................................................................................ ...............................17

    5.2.1. passo 1: adio de bytes extras ........................................................ .............185.2.2. passo 2: concatenao do checksum ................................................ .............185.2.3. passo 3: inicializao do buffer MD.................................................................185.2.4. passo 4: processamento em blocos de 16 bytes..............................................185.2.5. passo 5: sada ..................................................... .........................................19

    5.3. Outros mtodos .................................................... ..................................................195.3.1. MD4 e MD5 ................................................ ..................................................195.3.2. SHS.............................................................................................................19

    6. Concluso ...................................................... ....................................................... .............20

    www.projetoderedes.kit.net

  • 8/13/2019 Criptografia Documentos

    3/23

    Copyright Geraldo Xexowww.modulo.com

    - 3 -

    7. Bibliografia....................................................................... ...................................................21

    8. Index102.......................................................................... ...................................................23

    www.projetoderedes.kit.net

  • 8/13/2019 Criptografia Documentos

    4/23

  • 8/13/2019 Criptografia Documentos

    5/23

    Copyright Geraldo Xexowww.modulo.com

    - 5 -

    1.2. Sistemas Criptogrficos Assimtricos

    A soluo para garantir a autenticidade de mensagens e a identidade do autor apareceucom o advento de sistemas criptogrficos de chave pblica, ou sistemas criptogrficosassimtricos [7], que possuem chaves distintas de cifragem e decifragem, que permitem que umdocumento seja cifrado apenas por uma pessoa, mas decifrado por vrias, ou vice-versa. Ooriginador do documento usa uma chave privada para realizar a cifragem, e publica em um diretriouma chave pblica correspondente a sua chave privada. Assim, todos os interessados podemutilizar sua chave pblica para determinar a origem do documento. Sistemas de chave pblicadevem ter sua segurana dependente apenas da segurana da chave privada. Assim, quanto maisresistente for a chave privada a tentativas de ataque, i.e., tentativas de falsificao, mais certezapode se ter da autenticidade do documento.

    Apesar da necessidade de se manter o documento em aberto ser resolvida pelo uso dachave pblica, um mtodo mais interessante a utilizao de um resumo da mensagem. Umresumo de mensagem o resultado da aplicao de uma funo unidirecional sobre a mensagemoriginal, gerando uma segunda mensagem, de tamanho muito menor que a original. Esses tipos defunes garantem que a partir da mensagem pode se encontrar facilmente seu resumo, porm paraencontrar a mensagem a partir do resumo necessria uma busca exaustiva. Aplicando a cifragemde chave pblica sobre o resumo da mensagem obtm-se uma assinatura digital.

    Devido as caractersticas especiais do sistema de chave pblica e dos resumos demensagens, uma assinatura digital garante a origem e integridade da mensagem e no pode sernegada.

    O princpio bsico de sistemas de autenticao baseados em mtodos de chave pblica: Se uma entidade pode assinar corretamente um mensagem utilizando a chave privada daidentidade reclamada, ento esse ato constitui prova suficiente de autenticao [36].

    1.3. Usos Especficos

    Vrios so os usos especficos da autenticao de mensagens digitais, entre elespodemos citar: autenticao para sistemas distribudos [36], assinatura de contratos, transfernciade fundos e assinatura cega [4].

    1.3.1. Autenticao em sistemas distribudosWoo e Lam [36] descrevem motivao e sistemas para autenticao em sistemas

    computacionais distribudos. Um sistema distribudo submetido a vrias ameaas, entre elas ocomprometimento das comunicaes. Trs so as ameaas as comunicaes em um ambientedistribudo: escuta clandestina, modificao arbitrria do de mensagens e replay de mensagensantigas (uma unio das anteriores).

    Para evitar esses trs ataques, tambm trs formas de autenticao so necessrias:autenticao de integridade da mensagem, autenticao da origem da mensagem e autenticaoda identidade de um entidade, i.e., verificao que uma entidade possui a identidade por elareclamada. O segundo caso pode ser visto como um subproblema do terceiro.

    1.3.2. Assinaturas CegasUma assinatura cega [4] uma extenso de uma assinatura digital que inclui privacidade.

    Em um sistema de assinatura digital, possvel criar um relatrio sobre as atividades dasentidades que realizam a assinatura de uma seqncia de documentos. Em uma assinatura cega,

    www.projetoderedes.kit.net

  • 8/13/2019 Criptografia Documentos

    6/23

    Copyright Geraldo Xexowww.modulo.com

    - 6 -

    impossvel recuperar os passos do emissor das mensagens. O artigo de David Chaum [4] explica

    vrias aplicaes de assinaturas cegas e chama a ateno do uso de tcnicas de autenticao emprocessadores de capacidade computacional limitada, que esto sendo instalados em cartesinteligentes (smart cards).

    1.3.3. Servios de estampagem de tempoUm servio de estampagem de tempo fornece certificados associando um documento

    com uma data de uma forma criptograficamente segura. Esse certificado pode ser utilizado maistarde para provar que determinado documento existia no tempo de sua certificao. Uma dasformas sendo utilizadas atualmente para provar a existncia de um documento em uma certa data publicar a assinatura digital desse documento em um jornal.

    1.4. Apresentao

    No captulo 2 ser feita uma pequena introduo a criptologia. No captulo 3 seroapresentados o que so assinaturas digitais e os mtodos que a utilizam. A seguir, seroapresentados alguns algoritmos para os mtodos de cifragem e resumo, nos captulos 4 e 5. Aconcluso apresenta um resumo do trabalho apresentado e uma proposta de continuao dotrabalho.

    www.projetoderedes.kit.net

  • 8/13/2019 Criptografia Documentos

    7/23

    Copyright Geraldo Xexowww.modulo.com

    - 7 -

    2. INTRODUO A CRIPTOLOGIA

    2.1. Sistemas Criptogrficos

    Dois so os objetivos bsicos da criptografia: garantir o segredo e a autenticidade de umamensagem. Um Sistema Criptogrfico [6] possui cinco componentes:

    1. um espao de mensagens em claro, p;2. um espao de mensagens cifradas, f;3. um espao de chaves, n;4. uma famlia de transformaes de cifragem, Ek: p D f, onde k U n e

    5. uma famlia de transformaes de decifragem, Dk: f D p, onde k U n.Para uma chave k, Dk a inversa de Ek, logo, para qualquer mensagem dada M, M U p, Dk(Ek(M)) = M.

    2.1.1. Sistemas criptogrficos assimtricosEm um sistema criptogrfico assimtrico, ou de duas chaves, as chaves de cifragem e

    decifragem so diferentes, de forma que seja computacionalmente impossvel determinar uma apartir do conhecimento da outra. A autenticao obtida mantendo Ek secreta. Este conceito foiintroduzido em [7] e foi chamado de cifragem por chave pblica.

    Nos sistemas de autenticao por chave pblica, cada usurio A tem uma transformaoprivada de cifragem EAe uma transformao pblica de decifragem Dk. A transformao privada descrita por um chave privada (ou secreta) e a transformao pblica por uma chave pblica,derivada a partir da chave provada por uma transformao unidirecional.

    Para compreender melhor a notao apresentada em funo dos sistemas de chavepblica, basta considerar, como Bellare e Micali em [3] que o espao de chaves n formado depares ordenados (Pk,Sk), onde Pk a chave pblica e Sk a chave secreta. Outra opo foi usadapor Simmons em [34], que define um sistema criptogrfico com dois espaos de chaves, n e n', umpara a chave de cifragem, k, outro para a chave de decifragem, k'. Nesse caso, se k = k', o sistema simtrico, se k k', assimtrico.

    2.2. Autenticidade

    Um sistema criptogrfico para garantir autenticidade exige que um criptoanalista no sejacapaz de trocar um texto cifrado C por um texto cifrado C' sem deteco. Formalmente, ele devecumprir dois requisitos:

    1. Deve ser computacionalmente impossvel para um criptoanalistasistematicamente determinar a transformao de cifragem Ekdado C, mesmo queo texto em claro M seja conhecido.

    2. Deve ser computacionalmente impossvel para um criptoanalista sistematicamenteencontrar uma mensagem cifrada C' tal que Dk(C') um texto em claro vlido noconjunto p.

    O primeiro requisito assegura que um criptoanalista no pode sistematicamentedeterminar a transformao de cifragem, logo, ele incapaz de cifrar um texto em claro M' esubstituir o texto cifrado falso C'=Ek(M') por C. O segundo requisito assegura que o criptoanalista

    www.projetoderedes.kit.net

  • 8/13/2019 Criptografia Documentos

    8/23

    Copyright Geraldo Xexowww.modulo.com

    - 8 -

    no pode encontrar um texto cifrado C' que pode ser decifrado para um texto em claro significativo

    sem a transformao de decifragem.A autenticao (ao contrrio do segredo) requer apenas que a transformao de cifragem

    Ekseja mantida secreta, permitindo que Dk seja revelada, caso no facilite o descobrimento deEk.

    2.3. Criptoanlise

    A prpria necessidade de utilizar sistemas criptogrficos j indica que existe uma oumais entidades interessadas em interferir em um canal de comunicao com a finalidade de alterardados em proveito prprio. Estas entidades, normalmente chamadas de atacantes, utilizamtcnicas de criptoanlise.

    A segurana de um sistema criptogrfico medida pelo tipo de ataque que ele podesofrer sem que seja quebrado, i.e., sem que a segurana seja comprometida. Considera-se que aforma mais segura de sistema criptogrfico deve resistir a ataques mesmo quando todos seusalgoritmos so publicados e os usurios do sistema colaboram com o criptoanalista, sendomantida em segredo apenas a chave.

    Existem dois tipos bsicos de ataques: ataques pela chave pblica e ataques pormensagens. No ataque pela chave, o inimigo conhece apenas a chave pblica do usurio. Nosataques por mensagens, vrios esquemas podem ser montados, dependendo da forma que oatacante tem para utilizar as mensagens do usurio.

    Dos vrios tipos de ataques por mensagens possveis, o mais geral o mtodo doataque adaptativo escolhido. Nesse ataque, o criptoanalista utiliza o "assinador" A para obterassinaturas de mensagens da sua escolha, sendo permitido que ele escolha as mensagens noapenas em funo da chave pblica de A, mas tambm em funo das respostas fornecidas por A.

    No mtodo do texto em claro conhecido so dados ao criptoanalista pares texto em claro ecriptograma com a mesma chave. No mtodo do texto em claro escolhido o criptoanalista podeescolher quais textos em claro devem ser cifrados com uma determinada chave (mas no podeescolhe-los em funo da resposta).

    Os procedimentos de criptoanlise mais ingnuos so os de fora bruta, a buscaexaustiva ou a busca em tabela. No processo de busca exaustiva o atacante utiliza o mtodo dotexto em claro conhecido para experimentar todas as chaves possveis. A complexidade de tempodeste mtodo O(n), onde n o tamanho da chave, a complexidade de espao O(1). Noprocesso da busca em tabela utiliza-se o mtodo do texto em claro escolhido. Para um texto emclaro escolhido so pr-computados todos os criptogramas relativos a todas as chaves, sendoindexados pelo criptograma. Dado um criptograma, a descoberta da chave acontece em um tempoproporcional a O(1), mas o espao ocupado proporcional a O(n).

    Todo sistema de chave criptogrfico de chave pblica pode ser quebrado no

    deterministicamente em tempo polinomial e, desde que, minimamente, no deve ser possvel quesejam quebrados deterministicamente em tempo polinomial, uma prova que um determinadosistema seguro equivale a provar que PNP [10]. importante deixar clara a dificuldade de secriar um sistema criptogrfico comprovadamente seguro, j que o problema equivalente um dosmais importantes problemas em aberto da matemtica.

    www.projetoderedes.kit.net

  • 8/13/2019 Criptografia Documentos

    9/23

    Copyright Geraldo Xexowww.modulo.com

    - 9 -

    3. ASSINATURAS DIGITAIS

    Assinaturas digitais funcionam para documentos digitais assim como assinaturascomuns funcionam para documentos impressos: a assinatura uma mensagem no falsificvelgarantindo que uma certa pessoa ou entidade escreveu ou est de acordo com o documento noqual a assinatura est colocada. [9]

    Um algoritmo de assinatura um algoritmo que transforma uma mensagem de qualquercomprimento e uma chave privada em uma assinatura, de tal modo que seja computacionalmenteno realizvel encontrar duas mensagens com a mesma assinatura, encontrar uma mensagemcom uma assinatura pr-determinada ou encontrar a assinatura para uma mensagem sem utilizar achave privada.[14]

    Como tal, a assinatura digital permite que qualquer pessoa que leia uma mensagem se

    certifique que ela realmente foi assinada pelo originador da assinatura (garantia de origem) e de quea mensagem no foi modificada (garantia de integridade). Alm disso, assinaturas digitais nopodem ser repudiadas, isto , o originador da assinatura no pode, aps assina-la, deixar decumprir as obrigaes determinadas pela assinatura utilizando a afirmao que a assinatura teriasido falsificada.

    Uma assinatura digital funciona da seguinte forma: Alice1, para assinar uma mensagem,realiza uma algoritmo envolvendo simultaneamente sua chave secreta e a mensagem propriamentedita, enviando o resultado, i.e., a assinatura (Fig. 1), junto com a mensagem. Bob, para verificar aassinatura, realiza um segundo algoritmo envolvendo a mensagem recebida, a assinatura e a chavepblica de Alice. Se o resultado do algoritmo aplicado por Bob possui alguma propriedade pr-definida (Fig. 2), ento a mensagem considerada genuna, caso contrrio, considerada alteradae descartada.

    Logo, um sistema de autenticao por assinatura digital pode ser definido informalmente

    por duas funes, uma definindo um mtodo de assinatura de tal modo que a falsificao sejaimpossvel, e outra, definindo um mtodo de certificao.

    Atualmente existem vrios sistemas de assinaturas digital, porm apenas um tem largaaceitao, baseado no sistema de chave pblica conhecido como RSA. Recentemente umaagncia do governo americano (NIST), auxiliada pela NSA, publicou o Digital Signature Schema(DSS), um novo padro de assinatura digital que vem sendo alvo de muitas crticas, particularmentepelos possuidores da patente do RSA.

    1 Em criptografia, Alice, Bob e Charlie so os nomes padres utilizados para exemplificar os

    usurios e suspostos atacantes para um mtodo ou sistema.

    www.projetoderedes.kit.net

  • 8/13/2019 Criptografia Documentos

    10/23

    Copyright Geraldo Xexowww.modulo.com

    - 10 -

    doc

    chaveprivada

    assinatura

    Fig. 1: A assinatura gerada por meio de uma funo que tem como parmetros a chave privada eo documento.

    doc

    ?chavepblicaassinatura

    Fig 2: A verificao tem como parmetros a chave pblica, o documento e assinatura.

    3.1. Sistemas de chave pblica

    O conceito de sistema criptogrfico de chave pblica foi apresentado pela primeira vezpor Diffie e Hellman em 1976 [7], porm eles no conseguiram apresentar um mtodoimplementando a idia.

    Em seu artigo, Diffie e Hellman propuseram que sistemas de chave pblica fossemcriados a partir de funes com segredo. Uma funo com segredo uma extenso do conceito defunes unidirecionais. Uma funo dita unidirecional se computacionalmente fcil de realizar,mas computacionalmente difcil de inverter. Uma funo com segredo uma funo com um

    www.projetoderedes.kit.net

  • 8/13/2019 Criptografia Documentos

    11/23

    Copyright Geraldo Xexowww.modulo.com

    - 11 -

    parmetro associado com o qual fcil realizar a inverso, mas que, sem esse parmetro,

    aparenta ser unidirecional.Nesse trabalho apresentaremos dos algoritmos de assinatura baseados na idia de

    utilizar funes para as quais a manuteno de um certo valor em segredo causa uma dificuldadecomputacional na computao da funo inversa. Ambos so construdos sobre problemasmatemticos computacionalmente difceis. A maioria dos mtodos em uso utilizam um dessesdois problemas ou uma modificao que os torna mais difceis. Inicialmente tambm se utilizava oproblema da mochila, mas as principais aplicaes deste foram demonstradas inseguras.

    3.1.1. O problema da fatorizaoSistemas de chave pblica baseados no problema da fatorizao utilizam a caracterstica

    que multiplicar dois nmeros primos uma tarefa fcil, enquanto fatorar um nmero grande em doisnmeros primos uma tarefa computacionalmente muito mais difcil.

    Um exemplo de sistema baseado na fatorizao em nmero primos o RSA, umsistema de chave pblica para cifragem e autenticao inventado em 1977 por Ron Rivest, AdiShamir e Leonard Adleman [24]. O RSA patenteado pela RSA Data Security, Inc.

    importante notar que, quanto mais avanadas forem as tcnicas de fatorizao, razovel admitir que no haver modificao na utilidade destes algoritmos, pois os primos sogerados utilizando as mesmas tcnicas. Logo, quanto mais fcil for fatorar um nmero de umtamanho especfico, mais fcil ser gerar primos de tamanhos maiores.

    Considerando que a busca de fatores primos um dos problemas mais antigos damatemtica, sua utilizao para um problema prtico considerada de grande elegncia.

    3.1.2. O problema do logaritmo discretoNa sua forma mais simples, o sistema do logaritmo discreto tenta descobrir o expoente x

    na frmula y = gx mod p. A segurana dos sistemas depende da dificuldade de determinar o valor

    de x. O Algoritmos de ElGamal e do DSA so baseados no problema do logaritmo discreto. Oprimeiro foi publicado por ElGamal em [8], enquanto o segundo foi publicado pelo NIST em [20].Modificaes desse problema utilizam a exponencial discreta, que parece ser mais segura que oproblema original.

    3.2. Alguns sistemas de autenticao usando RSA

    Sendo o RSA o algoritmo mais utilizado atualmente para autenticao, importanteapresentar vrios sistemas que o utilizam.

    3.2.1. Internet Privacy Enhanced Mail (PEM)

    O Internet PEM um padro projetado, proposto mas ainda no adotado oficialmentepelo Internet Activities Board para permitir a troca de mensagens eletrnicas (mail) seguras pelaInternet. PEM inclui padres para cifragem, autenticao e gerncia de chaves, sendo um padroinclusivo, do qual fazem parte sistemas simtricos, assimtricos e suporte para vrias ferramentascriptogrficas, sendo que a funo de hash (resumo), cifragem e assinatura so especificadas nocabealho da mensagem.

    O padro PEM cita algoritmos considerados seguros, permitindo a posterior incluso denovos mtodos. Atualmente ele cita o RSA e o DES [17].

    www.projetoderedes.kit.net

  • 8/13/2019 Criptografia Documentos

    12/23

    Copyright Geraldo Xexowww.modulo.com

    - 12 -

    3.2.2. Assinatura digital no Public-Key Cryptografic System (PKCS)

    O PKCS uma coleo de padres [14] proposta pela RSA Data Security, Inc.,utilizando sistemas assimtricos para realizar as seguintes tarefas:

    assinatura digital, envelopamento digital, onde uma mensagem "selada" de tal forma que s

    pode ser lida por um destinatrio especificado, certificao digital, onde uma autoridade de certificao assina uma

    mensagem especial contendo o nome de algum usurio e sua chave pblica, de tal formaque qualquer um possa ter confiana na chave pblica desse usurio e

    concordncia de chave, onde duas entidades, sem arranjo prvio, trocammensagem de tal forma a concordar com uma chave privada conhecida apenas por elas,que pode ser usada no futuro como chave para um sistema simtrico.

    Tendo sido realizado pela empresa possuidora da patente do RSA, no de seespantar que o sistema de chave pblica descrito nesses padres seja o prprio RSA.

    Os objetivos globais do PKCS so manter compatibilidade com o Internet PEM, estendero Internet PEM para lidar com qualquer tipo de dados e tratar um nmero maior de atividades eservir como proposta para ser parte dos padres OSI.

    Tanto o PKCS quanto o PEM utilizam os mtodos de resumo conhecidos como MD2[15], MD4 [22] e MD5 [23].

    3.2.3. SPXO SPX um sistema de autenticao para sistemas distribudos que faz parte do Digital

    Distributed System Security Architecture [4]. Tem a mesma funo do Kerberos, porm utilizasoftware baseado no RSA.

    3.3. O Digital Signature Standard (DSS)

    Em agosto de 1991 o National Institute of Standards and Technology (NIST), guiado pelaNational Security Agency, lanou a proposta de um padro de assinatura digital, o DigitalSignature Algorithm (DSA), baseado nos algoritmos de Schnorr [33] e ElGamal [8].

    Este padro foi fortemente atacado e considerado por muitos "fraco", "irracional" e"potencialmente perigoso". Como o padro "de facto" da indstria de computao o RSA, fatoreseconmicos multiplicaram as crticas aos fatores tcnicos. Depois das crticas, ao menos umamodificao simples, porm de grande importncia foi realizada no proposta.

    importante notar que o DSA s pode ser utilizado para autenticao, e no paracifragem ou troca de chaves.

    Como alternativa ao DSA, a Mobius Encription Technology props o Mobius DigitalSignature Scheme[2] .

    O DSS deve utilizar o mtodo de resumo conhecido como SHS, proposto quase quesimultaneamente pelo NIST.

    www.projetoderedes.kit.net

  • 8/13/2019 Criptografia Documentos

    13/23

    Copyright Geraldo Xexowww.modulo.com

    - 13 -

    4. ALGORITMOS PARA O SISTEMA DE CHAVE PBLICA

    Nesse captulo so descritos os algoritmos de chave pblica mais discutidos atualmente:o RSA e o DSA.

    4.1. RSA

    O RSA se inicia com dois grandes nmeros primos, p e q. Dados esses nmeros,encontra-se seu produto, n=pq, denominado mdulo. Um terceiro nmero e, menor que n erelativamente primo com (p-1)(q-1) escolhido e seu inverso mod (p-1)(q-1), d, calculado. Isto

    significa que ed 4 1 mod (p-1)(q-1) ; e e d so chamados expoentes pblico e privado,respectivamente. A chave pblica o par (n,e), enquanto a chave privada d. Os fatores p e qdevem ser mantidos secretos ou destrudos.

    Se Alice deseja enviar um documento assinado m para Bob, ela cria a assinatura sfazendo a operao s = mdmod n, onde d e n pertencem as chaves de Alice. Alice envia ento se m para Bob. Para verificar a assinatura, Bob realiza a operao semod n. Se o resultado for m, amensagem autntica. Isso pode ser verificado pelas equaes abaixo:

    1. s = mdmod n2. m = semod n3. de = 1 mod ((p-1)(q-1))

    4. m = mdemod n de 1 e 2 (2)

    5. Como n=pq, p e q primos, @(n) = (p-1)(q-1) (3)6. de = 1 mod @(n) de 3 e 5

    7. m = m1mod n de 4 e 6 (4)

    4.1.1. Ataques ao RSAO ataque mais grave ao RSA descobrir a chave privada correspondente a uma chave

    pblica. O caminho bvio tentar fatorar o nmero n e descobrir os fatores p e q. Se o RSA forequivalente ao problema da fatorao, esse o nico ataque possvel, porm isso ainda no foiprovado e razovel admitir que pode existir outro ataque ao RSA que no tente uma fatoraodireta de n.

    2s - md = an, m - se = bn, s = md+ an, m - (md+an)e= bn, m - mde- n (...) = bn, m - mde= cn3Onde @(n) a funo de Euler para n e representa a quantidade de nmeros menores e primos

    em comum com n.

    4Pelo teorema de Euler, se mdc(a,n)=1, ento a@(n)= 1 mod n. Isso permite provar que se a = b

    mod @(n), entopa= c mod n L pb= c mod n . Basicamente, a = k@(n) + b ,pa = c mod n,pk@(n)+b= c

    mod n, pb= c mod n. Para maiores explicaes, ver [1,5,12].

    www.projetoderedes.kit.net

  • 8/13/2019 Criptografia Documentos

    14/23

    Copyright Geraldo Xexowww.modulo.com

    - 14 -

    Uma das caractersticas do RSA que ele um sistema multiplicativo. Uma funo dita

    multiplicativa quando dado f(x) e f(y), calcular f(xy) fcil. Isso significa que o RSA suscetvel aataques por texto em claro escolhido.

    4.1.2. Escolha dos valoresAt pouco tempo se considerava que os primos p e q deviam ser primos fortes. Primos

    fortes so nmeros primos com caractersticas especiais que os tornam mais difceis de seremencontrados por certas tcnicas de fatorao. Porm recente descobertas em tcnicas defatorao que apresentam performance semelhante com nmeros primos normais e nmerosprimos fortes acabaram com essa necessidade.

    O tamanho do mdulo n determina a dificuldade de fatorizao e descoberta de p e q.Rivest [25] calcula que uma chave de 512 bits pode ser fatorado atualmente com um custo deUS$8.2 milhes. Ele sugere que pessoas com dados muito importantes usem chaves de 700 a 800bits, enquanto uma autoridade de certificao pode usar uma chave de 1000 bits ou mais. Osnmeros p e q devem ter tamanho aproximadamente iguais, logo se n tiver 512 bits, p e q devemter 255 e 257 bits.

    Normalmente, e escolhido como 3 ou 216 - 1, que o quinto primo de Fermat 5. Aescolha de e parece no afetar a segurana do mtodo, e o uso do nmero 3 permiteimplementaes velozes..

    4.1.3. RSA na prticaNa prtica, ao invs de assinar a mensagem completa, o primeiro passo de quem quer

    utilizar o RSA para assinaturas digitais aplicar sobre a mensagem um algoritmo de hashing.Esse algoritmo cria uma "impresso digital" da mensagem, i.e., um nmero, que ento cifradocom a chave privada.

    Verifica-se ento que o algoritmo de hashing passa a ser item importante na segurana

    da assinatura, pois deve ser impossvel realizar um ataque com o objetivo de encontrar outramensagem com o mesmo hashing (resumo). Vrios algoritmos foram propostos, sendo que algunsdeles so descritos no prximo captulo.

    4.1.4. CertificadosUm certificado uma prova de identidade fornecida por uma entidade conhecida e

    confivel, que garante que uma assinatura pertence a entidade que a reclama. Certificados sofornecidos por uma Autoridade Certificadora (AC). As chaves privadas das ACs so de extremaimportncia e devem ser mantidas em uma Unidade de Assinatura de Certificados, uma caixa dealta segurana que destri seu contedo se aberta.

    Como uma AC pode ser alvo de um ataque intensivo, sua chave deve ser muito longa,provavelmente 1000 bits ou mais.

    5Nmeros de Fermat so nmeros na forma 22

    n+ 1, os quais Fermat conjecturou que seriam

    todos primos em 1640, devido a sequncia: F0=3, F1=5, F2=17, F3=257, F4=65537. Porm ,em 1732, Euler

    provou que F5no primo, pois F5=4294967297 = (641)*(6700417), derrubando a conjectura.

    www.projetoderedes.kit.net

  • 8/13/2019 Criptografia Documentos

    15/23

    Copyright Geraldo Xexowww.modulo.com

    - 15 -

    4.2. DSA

    O Digital Signature Algorithm (DSA ) um algoritmo de assinatura digital (e no decifragem) utilizado em conjunto com uma funo de hash H, no especificada no padro. A base departida do algoritmo um conjunto de parmetros:

    p = um mdulo primo, 2511< p < 2512,

    q = um primo divisor de p-1, onde 2159< q < 2160,

    g = h(p-1)/qmod p, onde h qualquer inteiro positivo menor que p tal que g > 1,x = um inteiro positivo menor que q,y = gxmod p,m = a mensagem a ser assinada,k = um inteiro aleatrio menor que q,H = uma funo de hashing unidirecional.

    Os inteiros p,q e g podem ser pblicos e comuns a um grupo de usurios. A chaveprivada x e a chave pblica y. x e k precisam ser mantidos secretos, mas k pode ser trocado acada assinatura.

    4.2.1. Assinatura e VerificaoPara assinar uma mensagem k, o usurio escolhe um k aleatrio e calcula:

    r = (gkmod p) mod qs = (k-1(H(m) + xr)) mod q

    onde k-1 o inverso multiplicativo de k, mod q; isto :

    k-1k mod q = 1e 0 < k-1 < q

    Os valores r e s so a assinatura da mensagem, sendo transmitidos junto com m.Antes de verificar a mensagem assinada, o recipiente da mensagem recebe de maneira

    autenticada os valores p, q, g e a chave pblica do emissor.Sejam m', r', e s', as verses recebidas de m,r e s, respectivamente, e seja y a chave

    pblica do emissor. Para verificar a assinatura o recipiente primeiro verifica se:

    0 < r' < q, e0 < s'< q

    Se alguma dessas condies foi violada, assinatura rejeitada. Caso positivo, orecipiente calcula:

    w = (s')-1mod qu1= ((H(m'))w) mod qu2= ((r')w) mod qv = (((g)u1(y)

    u2) mod p) mod q

    www.projetoderedes.kit.net

  • 8/13/2019 Criptografia Documentos

    16/23

    Copyright Geraldo Xexowww.modulo.com

    - 16 -

    Se v = r'', a assinatura foi verificada e o recipiente pode ter uma confiana alta de que a

    mensagem recebida foi enviada pela entidade que possui a chave privada x correspondente a y.Caso contrrio, a mensagem foi comprometida e deve ser considerada invlida.

    A prova que v=r' pode ser encontrada em [20] e, devido a complexidade, foge do escopodesse trabalho.

    4.2.2. Outras caractersticas do processoEm [20] outras caractersticas do processo so apresentadas. Essas caractersticas no

    fazem parte do padro, mas servem de suporte ao mesmo. Entre elas esto: a prova que v = r' ,sugestes de mtodos para gerao dos parmetros e duas pequenas discusses sobre a geraode nmeros aleatrios e implementaes de matemtica modular em software e hardware.

    4.2.3. Crticas ao DSAAs crticas mais importantes ao DSA partiram de Ronald L. Rivest [25] (O R do RSA) e

    Martin Hellman [11]. Eles apontam, entre outros, os seguintes fatos: a chave muito curta (512 bits), k pode ser fcil de descobrir, o processo de seleo foi, no mnimo, secreto ou falho, existe um problema de patentes, principalmente com o mtodo de Schnorr e com

    a Public Key Partner's, possuidora da patente do modelo de criptografia por chave pblica, houve uma inverso das expectativas do tempo para assinar e verificar na

    proposta, o RSA j um padro para 2/3 das companhias americanas, incluindo IBM, Apple,

    Digital e outras, e um padro de entidades mundiais, incluindo ISO, CCITT e Internet, o DSS no inclui um mecanismo de troca de chaves para o estabelecimento de

    comunicao por um sistema criptogrfico simtrico, ou ainda um mecanismo de envelope e

    o sistema no foi estudado por tempo suficiente para garantir sua segurana(enquanto o RSA j sofreu 15 anos de ataques).

    4.2.4. Respostas as CrticasA mais importante resposta as crticas ao DSA foi a modificao do tamanho do mdulo

    p, que passou a poder variar entre 512 e 1024 bits.As outras respostas envolvem basicamente argumentos polticos e podem ser

    encontradas em [19].

    4.3. Outros Algoritmos

    Vrios outros algoritmos foram propostos para a utilizao em sistemas de chavepblica. Merkle e Hellman [12] apresentaram um algoritmo baseado no problema da "mochila ", umproblema NP-completo, que demonstrou ser inseguro. ElGamal[8] props um algoritmo baseadono problema do logaritmo discreto. Schnorr [33] props uma modificao ao algoritmo de ElGamalque serviu de base para o desenvolvimento para o DSA. Em 1980, Williams [35] apresentou umamodificao ao RSA que vulnervel a um ataque por cifras selecionadas. Ainda, como crtica aoDSA, foi proposto um outro sistema chamado Mobius[2], cuja segurana baseada na soluoda equao xf(x)= -.

    www.projetoderedes.kit.net

  • 8/13/2019 Criptografia Documentos

    17/23

  • 8/13/2019 Criptografia Documentos

    18/23

    Copyright Geraldo Xexowww.modulo.com

    - 18 -

    O algoritmo inicia com uma mensagem de b, b um inteiro no negativo, bytes como

    entrada, para qual deve ser encontrado o resumo. Imaginamos que a mensagem seja escrita daseguinte forma:

    m0 , m1 , ... , m(b-1)

    os cinco passos seguintes so executados para computar o resumo da mensagem.

    5.2.1. passo 1: adio de bytes extrasA mensagem completada (estendida) de forma que seu tamanho, em bytes, seja um

    mltiplo de 16. A extenso sempre realizada, mesmo que o tamanho da mensagem j seja ummltiplo de 16. Ao menos 1 byte e no mximo 16 bytes so utilizados para completar amensagem.

    A extenso realizada colocando-se i bytes de valor i no fim da mensagem.Nesse ponto, a mensagem resultante pode ser denotada como M[0 ... N-1], onde N um

    mltiplo de 16.

    5.2.2. passo 2: concatenao do checksumAo resultado do passo anterior, concatena-se um checksum de 16 bytes. Esse passo

    usa uma permutao pseudo-aleatrioa de 256 bytes baseada nos dgitos de ;. Seja S[i] o i-simoelemento da tabela com essa permutao (que pode ser encontrada em [15]).

    Para isso, deve ser executado o seguinte algoritmo:

    1. /* inicializao */2. Para i=0 at 153. C[i]=04. fim

    5. L=0

    6. Para i=0 at N/16-17. Para j=0 at 158. c = M[i*16+j]9. C[j]= S[c xor L]10. L = C[j]11. fim12.fim

    5.2.3. passo 3: inicializao do buffer MD

    Um buffer X, de 48 bytes, inicializado em zero,

    5.2.4. passo 4: processamento em blocos de 16 bytesExecutar o seguinte algoritmo:

    1. /* processar em blocos de 16 bytes */2. Para i=0 at N'/16-13. Para j=0 at 154. X[j+16]= M[i*16+j]

    www.projetoderedes.kit.net

  • 8/13/2019 Criptografia Documentos

    19/23

    Copyright Geraldo Xexowww.modulo.com

    - 19 -

    5. X[j+32]= X[16+j] xor X[j]

    6. fim

    7. Para j=0 at 178. Para k=0 at 479. t = X[k] xor S[t]10. X[k]= X[k] xor S[t]11. fim12. t=(t+j) mod 25613. fim14.fim

    5.2.5. passo 5: sadaO resumo de mensagem produzido X[0],...,X[15]. (16*8 bits = 128 bits).

    5.3. Outros mtodos

    5.3.1. MD4 e MD5Tanto o MD4 quanto o MD5 seguem os mesmos passos de MD2, porm com algoritmos

    diferentes. Ao invs de utilizarem o checksum, eles utilizam o tamanho da mensagem no passo 2.Os passos 4 de MD4 e MD5 produzem funes mais seguras. A descrio completa dosalgoritmos e implementaes de referncia podem ser encontradas em [22] e [23].

    5.3.2. SHS

    O Secure Hash Standard [SHS] proposta pelo NIST para uso com o DSA. uma funode resumo de mensagem que fornece um resumo de 160 bits, semelhante estruturalmente a MD4e MD5. Sua implementao 25% mas lenta que MD5, porm pode ser mais segura, pois seusresumos so 25% maiores que os de MD4 e MD5. Essa funo ainda no foi adotada formalmentecomo padro.

    www.projetoderedes.kit.net

  • 8/13/2019 Criptografia Documentos

    20/23

    Copyright Geraldo Xexowww.modulo.com

    - 20 -

    6. CONCLUSO

    Foram apresentados os mtodos mais importantes de assinaturas digitais e resumo demensagens, com uma pequena abordagem do problema atual causado pela proposta da NIST.

    Com esse trabalho foi desenvolvida um compreenso geral do mecanismo de assinaturadigital que permite um trabalho futuro estudando novas formas de assinatura, especificamente, ummtodo de assinatura que permita assinar toda um famlia de documentos, e no apenas umdocumento.

    Pela anlise dos mtodos de assinatura, podemos dividir a assinatura em duas fases: afase de resumo e a fase de cifragem. Fica claro que o problema de assinar uma famlia dedocumentos equivalente a encontrar uma funo de resumo vlida para toda essa famlia.

    www.projetoderedes.kit.net

  • 8/13/2019 Criptografia Documentos

    21/23

    Copyright Geraldo Xexowww.modulo.com

    - 21 -

    7. BIBLIOGRAFIA

    1. Alencar Filho, Edgar. Teoria Elementar do Nmeros. Livraria Nobel, 1981.2. Anderson, John C. Response to NIST's Proposal.Commun. of ACM 35(7),

    1992, 50-52.3. Bellare, Mihir e Micali, Silvio. How to Sign Given Any Trapdoor

    Permutation, Journal of the Association for Computing Machinery 39(1), jan. 1992, 214-233.4. Chaum, David. Achieving Electronic Privacy. Scientific American 267(2).

    Aug. 1992, 96-101.5. Churchhouse, R.F., Ciphering Algorithms, 1989 CERN School of

    Computing, 1989, editada po C. Verkerk, 285-308.6. Denning, D. E. R. Cryptography and Data Security, Addison-Wesley, 1983

    7. Diffie, Whitfield e Hellman, Martin E. New Direction in Cryptography. IEEETrans. on Information Theory IT-22(6) . Nov. 1976, 644-654.8. El Gamal, T. A public-key cryptosystem and a signature scheme based on

    discrete logarithms. IEEE Trans. Inf. Theory TI-31 (1985) 469-472.9. Fahn, Paul. Answers to Frequently Asked Questions about Today's

    Cryptography, RSA Laboratories, 1992.10. Grollmann, J. and Selman, A. Complexity Measures for Public-Key

    Cryptosystems. SIAM J. Comput. 17(2). (abril 1988) 309-335.11. Hellman, Martin E. Response to the NIST's Proposal, Commun. of ACM

    35(7), 1992, 47-49.12. Hellman, Martin E. The Mathematics of Public-Key Cryptography.

    Scientific American - Trends in Computing, Special Issu/VOl. 1 78-87. Reprinted fromScientific American Aug 1979.

    13. Kaliski Jr, Burton S. Some Examples of the PKCS Standards. RSA DataSecurity Inc., June 1991.14. Kaliski Jr., Burton S. An Overview of the PKCS Standards. RSA Data

    Security Inc., June 1991.15. Kaliski, B. The MD-2 Message-Digest Algorithm, Internet RFC 1319, April

    1992.16. Lempel, A. Cryptology in Transition. ACM Computing Surveys 11(4) , dez.

    1979 285-305.17. Linn, J. Privacy Enhanced for Internet Eletronic Mail: Part I: Message

    Encription and Authentication Procedures, Internet RFC 1113+, 1992.18. Lucchesi, C. L. Introduo a Criptografia Computacional. I EBAI, Editora

    da Unicamp, Campinas, 1985.19. Lyons, J. W. Summary of the Statement before teh Judiciary Committee of

    the House of Representatives. Commun. of ACM 35(7), 1992, 53-54..20. NIST, The Digital Signature Standard. Commun. of ACM 35(7), 1992, 36-

    40.21. Popek, G. J. e Kline, C. S. Encryption and Secure Computer Networks.

    ACM Computing Surveys 11(4) , dez. 1979 331-356.22. Rivest, R. The MD4 Message-Digest Algorithm, Internet RFC 1320, April

    1992.23. Rivest, R. The MD5 Message-Digest Algorithm, Internet RFC 1321, April

    1992.

    www.projetoderedes.kit.net

  • 8/13/2019 Criptografia Documentos

    22/23

    Copyright Geraldo Xexowww.modulo.com

    - 22 -

    24. Rivest, R.L., Shamir, A., Adleman, L. A method for obtaining digital

    signatures and public-key cryptosystems. Commun. of ACM 21. 1978, 120-126.25. Rivest, Ronald L. Response to the NIST's Proposal, Commun. of ACM

    35(7), 1992, 41-4726. RSA Data Security, Inc. PKCS #1 RSA Encription Standard, version 1.4,

    June 1991.27. RSA Data Security, Inc. PKCS #3 Diffie-Hellman Key-Agreement

    Standard, version 1.3, June 1991.28. RSA Data Security, Inc. PKCS #5 Password-Based Encryption Standard,

    version 1.4, June 1991.29. RSA Data Security, Inc. PKCS #6 Extended-Certificate Syntax Standard,

    version 1.4, June 1991.30. RSA Data Security, Inc. PKCS #7 Cryptographic Message Syntax

    Standard, version 1.4, June 1991.31. RSA Data Security, Inc. PKCS #8 Private-Key Information Syntax

    Standard, version 1.1, June 1991.32. RSA Data Security, Inc. PKCS #9 Selected Attribute Types, version 1.0,

    June 1991.33. Schnorr, C. P. Efficient identification and signatures for smart cards.

    Advances in Cryptology: Proceedings of Crypto 89. G. Brassard Ed., Lecutre Notes inComputer Science 435, Springer Verlag, N.Y., 239-251.

    34. Simmons, G. J. Symmetric and Asymmetric Encryption. ACM ComputingSurveys 11(4) , dez. 1979 305-330.

    35. Williams, H. C. A Modification of the RSA Public-Key EncryptionProcedure. IEEE Transactions on Information Theory. IT-26(6) Nov. 1980.

    36. Woo, Thomas Y.C. e Lam, Simon S. Authentication for Distributed

    Systems. IEEE Computer, Jan 92, 39-51.

    www.projetoderedes.kit.net

  • 8/13/2019 Criptografia Documentos

    23/23

    Copyright Geraldo Xexowww.modulo.com

    8. INDEX

    algoritmo de assinatura, 10assinatura cega, 6assinatura digital, 5; 6; 10; 13; 17; 21; 23certificado, 16chave privada, 5; 10; 11; 13; 15; 16; 17; 18;

    21chave pblica, 1; 5; 10; 11; 12; 13; 15; 17;

    18; 19cifragem, 4cifras, 4; 19

    criptoanlise, 4criptografia, 4criptograma, 4criptologia, 4decifragem, 4direo nica, funes, 11DSA, 12; 13; 14; 17; 18; 19; 22ElGamal, 12; 13; 19estampagem, 6fatorao, 15; 16funo com segredo, 11funo unidirecional, 5hash, 13; 17; 20; 22

    hash \b, 20Hellman, 11; 18; 19Kerberos, 4; 13logaritmo discreto, 12MD2, 13; 20; 21; 22MD4, 13; 20; 22MD5, 13; 20; 22mochila, 12; 19Mobius, 14; 19NIST, 10; 12; 13; 14; 22; 23NSA, 10PEM, 12PKCS, 13; 24

    primos fortes, 16resumo de mensagem, 5Rivest, 12; 16; 18; 20RSA, 10; 12; 13; 15; 16; 18; 19; 20; 21; 25SHS, 14; 20; 22Sistema Criptogrfico, 7sistemas criptogrficos assimtricos, 5sistemas criptogrficos simtricos, 4sistemas distribudos, 5

    Snefru, 20SPX, 13unidirecional, funo, 20

    www.projetoderedes.kit.net