Sei sulla pagina 1di 9

Computer Emergency Response Team - Rio Grande do Sul

fonte: http://www.cert-rs.tche.br/docs_html/autentic.html

Autentificao
O que Autentificao?
Quando voc recebe uma mensagem de correio eletrnico, como voc pode saber se da pessoa que pretendeu envi-la? Voc no sabe. claro, a mensagem tem um cabealho, mas o cabealho pode ter ser falsificado. Isso fcil para um hacker no to habilidoso que deseja que sua mensagem venha de algum que ele gosta e de qualquer lugar que ele goste e faa isso to bem que voc seja enganado. Nunca sbio acreditar completamente na linha de "From" de qualquer mensagem de e-mail. Programas de segurana de e-mail podem garantir, ou autentificar, que uma certa mensagem de fato de alguma pessoa de quem o nome aparece na linha de "From". Isto algumas vezes conhecido como "autentificao de dados da origem" e feito com alguma coisa chamada de assinatura digital. Antes de verificar ao equivalente digital, vamos olhar para as assinaturas manuscritas.

Autentificao no Papel
Assinaturas manuscritas em documentos foram muito tempo usadas como prova de autoria de, ou pelo menos de acordo com, os contedos do documento. O que a assinatura em um documento e como o ato de assinar to compelido? 1. A assinatura no pode ser falsificada. A assinatura prova que o signatrio assinou deliberadamente o nome dele no documento. 2. A assinatura autntica. A assinatura pode convencer o recipiente do documento que o signatrio realmente assinou o nome dele ou dela nele. 3. A assinatura no reutilizvel. A assinatura escrita no documento e no pode ser movida para um documento diferente. Em outras palavras, uma pessoa sem escrpulos no pode mover uma assinatura de um documento para um documento completamente diferente. 4. O documento assinado inaltervel. Depois que o documento foi assinado, no pode ser alterado. Isto no realmente verdade, mas se uma carta datilografada e assinada tem mudanas manuscritas substantivas no seu corpo, algum vai se tornar suspeito. 5. A assinatura no pode ser repudiada. A assinatura e o documento so coisas fsicas. O signatrio no pode depois reivindicar que ele ou ela no assinou isto. De fato, isto no necessariamente verdadeiro para assinaturas manuscritas: Falsificao possvel, assinaturas podem ser fotocopiadas de um documento e podem ser postas em outro, documentos podem ser alterados facilmente depois da assinatura e as pessoas negam que assinam algo o tempo todo. Mas esta a idia. Isso at pior em computadores. "Atachando" simplesmente um bitmap de uma assinatura manuscrita a um documento de um computador no funciona. O documento poderia ser alterado facilmente depois da assinatura ser "atachada" e ningum poderia descobrir isto. At pior, a assinatura poderia ser facilmente copiada sobre outros documentos.

Assinaturas Digitais
Uma assinatura digital uma seqncia de bits adicionados a documentos digitais (Veja a Figura 1). Assim como a assinatura manuscrita, sua autenticidade pode ser verificada, mas distinto da assinatura manuscrita, ela nica ao documento sendo assinado. A assinatura manuscrita de algum parece quase a mesma coisa, repetidas vezes. Aquela assinatura digital de uma pessoa parece diferente para cada documento diferente que ela assina. Version: 2.5 Assinaturas digitais so outra aplicao de criptografia de chave pblica. Se voc se lembra, criptografia de chave pblica utiliza uma chave pblica e privada. Qualquer um pode codificar mensagens com a chave pblica de Bob, mas s Bob pode decifrar mensagens com a sua chave privada.

Figura 1. Assinando um mail eletrnico.

Existe outra coisa que voc pode fazer com criptografia de chave pblica. Voc pode inverter os papis da chave pblica e privada. A Alice poderia codificar a sua mensagem com a sua chave privada e poderia enviar isto para Bob. Esta no nenhuma comunicao segura. Bob, ou qualquer um outro no que diz respeito ao assunto, poderia decifrar a mensagem com a chave pblica de Alice e poderia ler isto. (Lembre-se, a chave pblica dela pblica. Est extensamente disponvel.) Mas ningum mais tem a chave privada de Alice. Ningum mais poderia ter codificado isto, e isto autentica a origem da mensagem. Esta a idia central e melhor discut-la com alguma profundidade. S a Alice conhece sua chave privada, logo somente ela pode codificar a mensagem. Todo mundo conhece a chave pblica de Alice, assim qualquer um pode decifrar a mensagem. Codificando a mensagem com a chave privada dela, ela est efetivamente assinando a mensagem. Ela est fazendo algo com a mensagem que somente ela pode fazer. Quando Bob decifra a mensagem com a chave pblica de Alice, ele verifica a assinatura dela, o que autentica a origem da mensagem. Para a decifragem produzir uma mensagem legvel, ela deve ter sido assinada pela chave privada de Alice. Qualquer um pode verificar a assinatura de Alice. As assinaturas digitais satisfazem os cinco critrios das assinaturas de papel que foram listadas anteriormente: 1. A assinatura no pode ser falsificada; s Alice conhece sua chave privada. 2. A assinatura autntica; quando Bob verifica a assinatura com a chave pblica de Alice ele sabe que ela assinou (codificou) isto. 3. A assinatura no reutilizvel; a assinatura em um documento no pode ser transferida para qualquer outro documento. 4. O documento assinado inaltervel; qualquer alterao de um documento (se ele foi ou no codificado) e a assinatura no mais vlido. 5. A assinatura no pode ser repudiada. Bob no precisa da ajuda de Alice para verificar sua assinatura. Existe uma simplificao importante na explicao acima: assinar no significa realmente codificar com a chave privada e a verificao no realmente decifrar com a chave pblica. A matemtica geralmente mais complicada. Voc deve pensar melhor nestas operaes de autenticao bem como a assinatura e a verificao e pratic-las.

Algoritmos de Assinatura Digital


Da mesma maneira que muitos algoritmos de chaves pblicas diferentes realizam administrao de chaves, muitos algoritmos de chaves pblicas diferentes fazem assinaturas digitais. Sero discutidas somente as que sejam provvel que voc veja em uso, ou em verses atuais ou futuras do PGP ou do PEM. RSA Alm de codificar chaves, o algoritmo de chave pblica RSA pode ser tambm usado para gerar assinaturas digitais. As matemticas so as mesmas se voc utiliza o RSA para administrao de chaves ou assinaturas digitais: existe uma chave pblica e privada, e a segurana do sistema est baseado na dificuldade de fatorar nmeros grandes. Ambos PGP e PEM utilizam o RSA para assinaturas digitais. DSA O DSA um algoritmo de assinatura digital (Digital Signature Algorithm). (Tambm existe um Padro de Assinatura Digital (Digital Signature Standard), ou DSS. O padro implementa o algoritmo - realmente s uma diferena na terminologia.) um algoritmo de chave pblica, mas s pode ser usado para assinaturas digitais. O DSA foi inventado no NSA e patenteado pelo governo. (Se ou no esta patente vlida no est claro.) O NIST aprovou o DSA como um padro de assinatura digital federal. Quando o DSA foi primeiramente proposto, a Indstria RSA de Segurana de Dados e companhias que j tinham autorizado o algoritmo RSA lanaram uma campanha contra o DSA. Eles aludiram uma possvel "porta de armadilha" que permitiria ao governo quebrar o DSA. Eles se queixaram da velocidade do algoritmo, o fato que no pode ser usado para cifragem e o tamanho da chave. O nico assunto real de segurana o tamanho da chave. Quando o padro foi primeiramente proposto, o tamanho da chave era de 512 bits - muito pequeno. O padro final permite chaves de at 1024 bits - mais que suficiente para necessidades de segurana de qualquer um. O DSA obtm sua segurana do problema de logaritmo discreto. As matemticas so muito diferentes do RSA, mas a segurana semelhante para chaves semelhantes em tamanho. Embora excees so teoricamente possveis, provvel que qualquer grande avano na quebra do RSA tambm implique um avano semelhante na quebra do DSA, e vice-versa. No existe nenhuma vantagem na segurana usando um algoritmo em cima do outro. Ocasionalmente comparaes entre a velocidade e eficincia entre os dois algoritmos so publicadas. No surpreendentemente, os publicados pela Indstria RSA de Segurana de Dados mostram que o RSA melhor que o DSA e os publicados pelo NIST mostram que o DSA melhor que o RSA. Com o RSA, leva-se mais tempo para assinar uma mensagem que verificar uma assinatura. Com o DSA, ambas operaes de assinatura e de verificao levam a mesma quantia de tempo. Em realidade, estas diferenas so secundrias; com a finalidade da segurana de um programa de correio eletrnico elas so desprezveis. Atualmente nenhum programa de segurana de correio eletrnico utiliza o DSA, mas existem conversas dele ser utilizado para assinaturas digitais em uma verso de PEM (a mesma verso que usa o ElGamal em vez do RSA para administrao de chave). Novamente, no se preocupe se voc v-lo; ele da mesma forma to seguro quanto o RSA.

Escolhendo um Tamanho para a Chave


Esta uma deciso importante. As tabelas nos dizem que chaves de 1024 bits so requeridas para qualquer segurana a longo prazo. Como isto Realmente Funciona O mundo real , como sempre, mais complicado. A complicao anloga ao problema de usar criptografia de chave pblica para cifrar a mensagem: Algoritmos de chave pblica so incmodos e complicados e demora muito para assinar uma mensagem inteira. A maneira que programas de segurana de correio eletrnico utilizam assinaturas digitais pegando uma impresso digital (fingerprint) do documento e assinando aquela impresso digital (fingerprint). Esta funo de fingerprinting chamada uma funo de hash de uma s via. (Veja a prxima seo, "Funes de Hash de uma s Via, para detalhes.) Uma funo de hash de uma s via pega um tamanho arbitrrio da mensagem e produz uma impresso digital de tamanho fixo daquela mensagem. A impresso digital uma funo matemtica nica da mensagem e grande o suficiente de forma que a chance de duas mensagens diferentes terem o mesmo valor de hash astronomicamente pequeno. Assim, o programa de segurana de correio eletrnico utiliza uma funo de hash de uma s via para gerar um valor de hash do documento a ser assinado e ento utiliza um algoritmo de assinatura digital para criptografia de chave pblica para assinar o valor de hash. Um exemplo poderia tornar as coisas claras. Alice est usando PEM:MD5 como uma funo de hash de uma s via e o RSA para assinaturas digitais. (Voc ir aprender um pouco como o MD5 trabalha.) Ela quer enviar uma mensagem assinada para Bob. Estes so os passos que ela tem que seguir: 1. Alice escreve a mensagem. 2. A Alice gera um hash de uma s via da mensagem e usa uma funo de hash de uma s via, como o MD5. 3. Alice assina o valor de hash com um algoritmo de assinatura digital de chave pblica, como o RSA e a chave privada dela. 4. Alice concatena a mensagem e a assinatura para adquirir uma nova, assinada, mensagem. 5. Alice envia por e-mail esta mensagem assinada para Bob. No lado de Bob, ele pode ler a mensagem sem fazer qualquer esforo. Mas ele quer verificar a assinatura de Alice. Estes so os passos ele tem que seguir (veja a Figura 2):

Figura 2. Verificando a assinatura de um mail eletrnico.

1. Bob separa a mensagem da assinatura. 2. Usando uma funo de hash de uma s via, Bob computa o valor de hash da mensagem. 3. Bob adquire a chave pblica de Alice. 4. Usando um algoritmo de assinatura digital de chave pblica e a chave pblica de Alice, Bob decifra a assinatura de Alice. 5. Bob compara a assinatura decifrada de Alice com o valor de hash da mensagem. 6. Se eles so o mesmo, Bob verificou a assinatura de Alice e aceitou a mensagem como genuna. Se eles so diferentes, Bob rejeita a assinatura.

Eve no pode forjar a assinatura de Alice. Eve no conhece a chave privada de Alice, assim ela no pode assinar "Alice" em uma mensagem. Eve no pode pegar uma assinatura de uma mensagem vlida assinada por Alice e atach-la a uma nova mensagem; quando Bob tenta verificar a assinatura ele perceber que os dois valores de hash so diferentes e assinatura no vlida. Isto poderia parecer um procedimento complicado, mas lembre-se de que programas de segurana de e-mail cuidam dos detalhes. Tudo que a Alice tem que fazer indicar que ela deseja enviar uma mensagem assinada e o programa cuida do resto. Ele gera o valor de hash de uma s via, assina o hash, concatena a mensagem e o hash junto e envia a coisa inteira para Bob. No lado do receptor, o programa de Bob faz a operao de verificao facilmente.

Funes de Hash de uma s Via


Uma funo de hash de uma s via converte uma mensagem de tamanho arbitrrio em um hash de tamanho fixo. Este um dos outros truques de criptografia. Como um algoritmo de cifragem, uma funo de hash de uma s via converte uma mensagem de texto plano em palavras sem nexo. Porm, distinto de um algoritmo de cifragem, no existe nenhuma maneira de voltar para trs com uma funo de hash de uma s via. Com a chave correta, a pessoa pode decifrar um texto cifrado codificado com um algoritmo de cifragem; impossvel inverter uma funo de hash de uma s via para adquirir a entrada original do valor da sada. Esta uma diferena importante: Um algoritmo de cifragem no destri nenhuma informao. Para qualquer determinado texto cifrado (e uma chave), existe somente um texto plano correto que pode ter resultado aquele texto cifrado. Uma funo de hash de uma s via destri a informao. Para qualquer sada resultante de uma funo de hash de uma s via, vrias mensagens podem ter produzido aquela sada. Outra diferena entre algoritmos de cifragem e funes de hash de uma s via que as funes de hash de uma s via no tm uma chave (veja a Figura 3). Nenhum segredo envolvido na funo de hash de uma s via; a segurana est na falta da habilidade de ir para outro modo. Esta propriedade faz disso uma maneira til para identificar uma mensagem. Pense em uma funo de hash de uma s via como uma impresso digital. Da mesma maneira que uma impresso digital identifica exclusivamente um indivduo, uma funo de hash de uma s via identifica exclusivamente uma mensagem de tamanho arbitrrio. Pelo menos, essa a idia. Tecnicamente isso uma mentira.

Figura 3. Funo de hash de uma s via.

Valores de hash de uma s via so normalmente pequenos: 16 ou 20 bytes. As mensagens podem ser grandes, muito grandes. Isso um meio simples para mostrar que um nmero infinito de mensagens diferentes ir resultar um hash para o mesmo valor de hash de uma s via. Mas lembre-se, as chances de que duas mensagens quaisquer resultem um hash do mesmo valor quase impossvel e pode ser considerado desprezvel. Mostrando que existe um nmero arbitrariamente grande em uma coisa, mas achando duas mensagens que resultam em um hash para o mesmo valor outro. Isto onde os espertos matemticos realmente entram. So projetadas funes de hash de uma s via de forma que seja praticamente impossvel criar uma mensagem que resulte um hash de um valor particular, ou criar duas mensagens diferentes que resultem um hash de um mesmo valor.

Isto bom. Se Eve pudesse criar duas mensagens que resultem um hash de um mesmo valor, ela poderia criar uma mensagem incua para a Alice assinar e uma mensagem incriminando que declara que Alice deve a Eve $1 milho. Alice assinaria a mensagem incua. Ento Eve poderia levar a assinatura e poderia juntar a mensagem incriminada. Agora, desde que ambas as mensagens resultem um hash de um mesmo valor, Eve tem a assinatura vlida de Alice na mensagem incriminada. Eve sempre poderia tentar um ataque de fora bruta contra uma funo de hash de uma s via. Isso quer dizer, ela poderia gerar um hash da mensagem aps mensagem, procurando por uma mensagem que resulte um hash de um valor particular, ou duas que resultem um hash de um mesmo valor. A taxa de sucesso deste ataque depende do tamanho do valor de hash. As Tabelas 1 e 2 mostram ataques atravs de hardware especializados; ataques pelos computadores mais rpidos so 1.000 vezes mais lentos ou 1.000 vezes mais caros. Como o nmero de mensagens que tm que ser testadas excede de longe a quantia de tempo necessrio para testar qualquer mensagem nica, estes nmeros podem ser examinados independente da funo de hash de uma s via. Todas as tabelas incluem estimativas para 1995 e para o futuro e todas assumem que um hacker pode gastar $1 milho. Estimativas futuras assumem que o poder computacional, de hardware e de software, aumenta em um fator de 10 a cada cinco anos. Pode-se adquirir qualquer um deles dez vezes mais rpidos ou dez vezes mais baratos. muito mais fcil achar duas mensagens que resultem um hash de um mesmo valor randmico que achar uma mensagem que resulte um hash de um valor determinado. Isto chamado o "paradoxo do aniversrio". Quantas pessoas tm que estar no mesmo quarto antes que se tenha 50 porcento de chance de que uma delas tenha sua mesma data de aniversrio? A resposta 183. Certo, quantas pessoas tm que estar no mesmo quarto antes que se tenha 50 porcento de chance de que duas delas tenham a mesma data de aniversrio? A resposta surpreendentemente baixa: 23. Assim, quantos valores randmicos de hash de 64-bit voc tem que gerar para achar um que resulte um hash para um valor particular? 2^64 (10^19). Quantos valores randmicos de hash de 64-bit voc tem que gerar para achar dois que resultem um hash para o mesmo valor? 2^32 (4 bilhes). O uso de no mnimo um valor de hash de 128-bit essencial para segurana e um valor de hash de 160-bit melhor. Qualquer coisa menos que isso estar colocando-o em problemas. Claro que, esta anlise global assume que no existem alguma forma de ataque melhor contra a funo de hash de uma s via. Como a maioria das coisas de criptografia, ningum pode provar que uma funo de hash de uma s via segura contra tudo, inclusive ao ataque de fora bruta. Tudo que ns podemos fazer inventar funes, sujeit-las a escrutnios pblicos e a uma grande reviso e esperar pelo melhor. MD5 O MD5 uma funo de hash de uma s via inventada por Ron Rivest do MIT que tambm trabalha para a Indstria RSA de Segurana de Dados. O MD significa "Message Digest" e o algoritmo produz um valor de hash de 128-bit para um tamanho arbitrrio da mensagem inserida. O MD5 foi primeiramente proposto em 1991, depois de alguns ataques de criptoanlise descobertos contra a funo de hash de uma s via utilizada no MD4 de Rivest. O algoritmo foi projetado para velocidade, simplicidade e segurana. claro que os detalhes do algoritmo so pblicos e foi analisado por uma variedade de criptgrafos. Uma fraqueza foi descoberta em alguma parte do MD5, mas ela no afetou a segurana global do algoritmo. Porm, o fato que ele s produz um valor de hash de 128-bit muito inquietante; prefirido uma funo de hash de uma s via que produza um valor mais longo. O PGP e o PEM usam o MD5 como uma funo de hash de uma s via.

SHA O SHA o Algoritmo de Hash Seguro, uma funo de hash de uma s via inventado no NSA. Ele produz um valor de hash de 160-bit de um tamanho arbitrrio da mensagem. Os funcionamentos internos do SHA so bem parecidos aos do MD4, indicando que os criptgrafos do NSA levaram o algoritmo MD4 e melhoraram a sua segurana. De fato, a fraqueza na parte do algoritmo MD5 mencionada acima, descoberta depois que o SHA foi proposto, no funciona contra o SHA. Atualmente, no existe alguma forma conhecida de ataque criptoanaltico contra o SHA com exceo do ataque de fora bruta. E seu valor de 160-bit faz do ataque de fora bruta ineficiente. claro que no existe alguma prova que algum no possa entender como quebrar o SHA amanh. Atualmente nem o PGP, nem o PEM utilizam o SHA, mas espera-se que ambos ofeream isto, pelo menos como uma opo, antes que se espere muito tempo. MD2 e MD4 O MD4 o precursor do MD5 e tambm foi inventado por Ron Rivest. Depois que algumas fraquezas de segurana foram descobertas no MD4, Rivest escreveu o MD5. O MD4 foi parte das especificaes originais do PEM, mas j no mais usado. O MD2 uma funo de hash de uma s via simplificada e produz um hash de 128-bit. uma opo no PEM; No recomendado us-lo porque geralmente acredita-se que no muito seguro. Outras Funes de Hash de uma S Via Existem outras funes de hash de uma s via na literatura. Snefru e N-Hash foram quebrados; fique longe de qualquer programa que os utilize. Haval no foi, mas no muito utilizado. RIPE-MD foi desenvolvido para a Comunidade europia. E existe uma pilha inteira de funes de hash de uma s via baseado em algoritmos de bloco como o DES e o IDEA, alguns seguros e alguns no muito seguros.

Adquira outros documentos em www.PGRedes.HPG.com.br

fonte: http://www.cert-rs.tche.br/docs_html/autentic.html

Potrebbero piacerti anche