Criptografia e Certifica��o Digital Show Este artigo apresenta os principais conceitos envolvendo criptografia e certifica��o digital, fundamentais para a compreens�o e implementa��o do com�rcio eletr�nico seguro na Internet. O artigo aborda:
Servi�os Oferecidos As t�cnicas de criptografia oferecem seis tipos de servi�os b�sicos. Sem estes predicados n�o � poss�vel realizar o com�rcio eletr�nico seguro na Internet:
Se imaginarmos uma compra pela Internet, podemos perceber a necessidade de todos os requisitos acima. Por exemplo, a informa��o que permite a transa��o - tais como valor e descri��o do produto adquirido -precisa estar dispon�vel no dia e na hora que o cliente desejar efetu�-la (disponibilidade), o valor da transa��o n�o pode ser alterado (integridade), somente o cliente que est� comprando e o comerciante devem ter acesso � transa��o (controle de acesso), o cliente que est� comprando deve ser realmente quem diz ser (autenticidade), o cliente tem como provar o pagamento e o comerciante n�o t�m como negar o recebimento (n�o-rep�dio) e o conhecimento do conte�do da transa��o fica restrito aos envolvidos (privacidade). Criptografia Sim�trica O ciframento de uma mensagem baseia-se em dois componentes: um algoritmo e uma chave. Um algoritmo � uma transforma��o matem�tica. Ele converte uma mensagem em claro em uma mensagem cifrada e vice-versa. Quando Alice (origem)cifra uma mensagem, ela utiliza um algoritmo de ciframento para transformar o conte�do em claro da mensagem em texto cifrado. Quando Bob (destinat�rio) decifra uma mensagem, ele utiliza o algoritmo de deciframento correspondente para converter o texto cifrado de novo em uma mensagem clara. Antigamente, a seguran�a do ciframento estava baseada somente no sigilo do algoritmo criptogr�fico. Se Eve (um intruso) conhecesse o algoritmo sem chave, poderia decifrar uma mensagem cifrada t�o facilmente quanto Bob. Pode-se contornar o problema apresentado utilizando o segundo componente b�sico da criptografia de mensagens: a chave. Uma chave � uma cadeia aleat�ria de bits utilizada em conjunto com um algoritmo. Cada chave distinta faz com que o algoritmo trabalhe de forma ligeiramente diferente. Embora existam algoritmos que dispensem o uso de chaves, sua utiliza��o oferece duas importantes vantagens. A primeira � permitir a utiliza��o do mesmo algoritmo criptogr�fico para a comunica��o com diferentes receptores, apenas trocando a chave. A segunda vantagem � permitir trocar facilmente a chave no caso de uma viola��o, mantendo o mesmo algoritmo. O n�mero de chaves poss�veis depende do tamanho (n�mero de bits) da chave. Por exemplo, uma chave de 8 bits permite uma combina��o de no m�ximo 256 chaves (28). Quanto maior o tamanho da chave, mais dif�cil quebra-la, pois estamos aumentando o n�mero de combina��es. Quando Alice cifra uma mensagem, ela utiliza um algoritmo de ciframento e uma chave secreta para transformar uma mensagem clara em um texto cifrado. Bob, por sua vez, ao decifrar uma mensagem, utiliza o algoritmo de deciframento correspondente e a mesma chave para transformar o texto cifrado em uma mensagem em claro. Eve, por n�o possuir a chave secreta, mesmo conhecendo o algoritmo, n�o conseguir� decifrar a mensagem. A seguran�a do sistema passa a residir n�o mais no algoritmo e sim na chave empregada. � ela que agora, no lugar do algoritmo, dever� ser mantida em segredo por Alice e Bob. Quando a chave de ciframento � a mesma utilizada para deciframento ou esta �ltima pode facilmente ser obtida a partir do conhecimento da primeira, ambas precisam ser compartilhadas previamente entre origem e destinat�rio, antes de se estabelecer o canal criptogr�fico desejado, utilizando-se um canal seguro e independente do destinado � comunica��o sigilosa. Este tipo de ciframento emprega a criptografia conhecida como sim�trica ou de chave secreta.
Apesar de sua simplicidade, existem alguns problemas na criptografia sim�trica:
Criptografia Assim�trica A maneira de contornar os problemas da criptografia sim�trica � a utiliza��o da criptografia assim�trica ou de chave p�blica. A criptografia assim�trica est� baseada no conceito de par de chaves: uma chave privada e uma chave p�blica. Qualquer uma das chaves � utilizada para cifrar uma mensagem e a outra para decifr�-la. As mensagens cifradas com uma das chaves do par s� podem ser decifradas com a outra chave correspondente. A chave privada deve ser mantida secreta, enquanto a chave p�blica dispon�vel livremente para qualquer interessado. De uma forma simplificada, o sistema funciona assim: Bob e todos os que desejam comunicar-se de modo seguro geram uma chave de ciframento e sua correspondente chave de deciframento. Ele mant�m secreta a chave de deciframento; esta � chamada de sua chave privada. Ele torna p�blica a chave de ciframento: esta � chamada de sua chave p�blica. A chave p�blica realmente condiz com seu nome. Qualquer pessoa pode obter uma c�pia dela. Bob inclusive encoraja isto, enviando-a para seus amigos ou publicando-a em boletins. Assim, Eve n�o tem nenhuma dificuldade em obt�-la. Quando Alice deseja enviar uma mensagem a Bob, precisa primeiro encontrar a chave p�blica dele. Feito isto, ela cifra sua mensagem utilizando a chave p�blica de Bob, despachando-a em seguida. Quando Bob recebe a mensagem, ele a decifra facilmente com sua chave privada. Eve, que interceptou a mensagem em tr�nsito, n�o conhece a chave privada de Bob, embora conhe�a sua chave p�blica. Mas este conhecimento n�o o ajuda a decifrar a mensagem. Mesmo Alice, que foi quem cifrou a mensagem com a chave p�blica de Bob, n�o pode decifr�-la agora. A grande vantagem deste sistema � permitir que qualquer um possa enviar uma mensagem secreta, apenas utilizando a chave p�blica de quem ir� receb�-la. Como a chave p�blica est� amplamente dispon�vel, n�o h� necessidade do envio de chaves como � feito no modelo sim�trico. A confidencialidade da mensagem � garantida, enquanto a chave privada estiver segura. Caso contr�rio, quem possuir acesso � chave privada ter� acesso �s mensagens. Seguem descri��es de alguns algoritmos assim�tricos:
Assinatura Digital Outro benef�cio da criptografia com chave p�blica � a assinatura digital, que permite garantir a autenticidade de quem envia a mensagem, associada � integridade do seu conte�do. Por exemplo, suponha que Alice (origem) queira comunicar o nascimento de sua filha para todos os seus amigos (destinat�rios = Bob), mas queira garantir aos mesmos que a mensagem foi enviada realmente por ela. E, embora n�o se importe com o sigilo da mensagem, deseja que a mesma chegue integra aos destinat�rios, sem altera��es como, por exemplo, do sexo da crian�a. Alice ent�o cifra a mensagem com sua chave privada e a envia, em um processo denominado de assinatura digital. Cada um que receber a mensagem dever� decifr�-la, ou seja, verificar a validade da assinatura digital, utilizando para isso a chave p�blica de Alice. Como a chave p�blica de Alice apenas decifra (ou seja, verifica a validade de) mensagens cifradas com sua chave privada, fica garantida assim a autenticidade, integridade e n�o-repudia��o da mensagem. Pois se algu�m modificar um bit do conte�do da mensagem ou se outra pessoa assin�-la ao inv�s de Alice, o sistema de verifica��o n�o ir� reconhecer a assinatura digital de Alice como sendo v�lida. � importante perceber que a assinatura digital, como descrita no exemplo anterior, n�o garante a confidencialidade da mensagem. Qualquer um poder� acess�-la e verific�-la, mesmo um intruso (Eve), apenas utilizando a chave p�blica de Alice. Para obter confidencialidade com assinatura digital, basta combinar os dois m�todos. Alice primeiro assina a mensagem, utilizando sua chave privada. Em seguida, ela criptografa a mensagem novamente, junto com sua assinatura, utilizando a chave p�blica de Bob. Este, ao receber a mensagem, deve, primeiramente, decifr�-la com sua chave privada, o que garante sua privacidade. Em seguida, "decifr�-la" novamente, ou seja, verificar sua assinatura utilizando a chave p�blica de Alice, garantindo assim sua autenticidade. Segue a descri��o de alguns algoritmos utilizados para assinatura digital:
Fun��o Hashing A assinatura digital obtida atrav�s do uso da criptografia assim�trica ou de chave p�blica infelizmente n�o pode ser empregada, na pr�tica, de forma isolada, do modo como foi didaticamente descrito no item anterior. Est� faltando, portanto, descrever um mecanismo fundamental para o adequado emprego da assinatura digital. Este mecanismo � a fun��o Hashing. Sua utiliza��o como componente de assinaturas digitais se faz necess�rio devido � lentid�o dos algoritmos assim�tricos, em geral cerca de 1.000 vezes mais lentos do que os sim�tricos. Assim, na pr�tica � invi�vel e contraproducente utilizar puramente algoritmos de chave p�blica para assinaturas digitais, principalmente quando se deseja assinar grandes mensagens, que podem levar preciosos minutos ou mesmo horas para serem integralmente "cifradas" com a chave privada de algu�m. Ao inv�s disso, � empregada uma fun��o Hashing, que gera um valor pequeno, de tamanho fixo, derivado da mensagem que se pretende assinar, de qualquer tamanho. Assim, a fun��o Hashing oferece agilidade nas assinaturas digitais, al�m de integridade confi�vel, conforme descrito a seguir. Tamb�m denominada Message Digest, One-Way Hash Function, Fun��o de Condensa��o ou Fun��o de Espalhamento Unidirecional, a fun��o Hashing funciona como uma impress�o digital de uma mensagem gerando, a partir de uma entrada de tamanho vari�vel, um valor fixo pequeno: o digest ou valor hash. Este valor est� para o conte�do da mensagem assim como o d�gito verificador de uma conta-corrente est� para o n�mero da conta ou o check sum est� para os valores que valida. Serve, portanto, para garantir a integridade do conte�do da mensagem que representa. Assim, ap�s o valor hash de uma mensagem ter sido calculado atrav�s do emprego de uma fun��o hashing, qualquer modifica��o em seu conte�do -mesmo em apenas um bit da mensagem - ser� detectada, pois um novo c�lculo do valor hash sobre o conte�do modificado resultar� em um valor hash bastante distinto. Segue a descri��o de algumas func�es Hashing empregadas em produtos e protocolos criptogr�ficos:
Criptografia Sim�trica x Assim�trica: Protocolos Criptogr�ficos Qual o modelo de criptografia que devemos utilizar? Sim�trico ou assim�trico? A resposta � simples: devemos utilizar os dois, em um modelo denominado h�brido. O algoritmo sim�trico, por ser muito mais r�pido, � utilizado no ciframento da mensagem em si. Enquanto o assim�trico, embora lento, permite implementar a distribui��o de chaves e a assinatura digital. Al�m disso, como j� exposto no item anterior, deve-se utilizar tamb�m o mecanismo de Hashing para complemento da assinatura digital.
Em resumo, os algoritmos criptogr�ficos podem ser combinados para a implementa��o dos tr�s mecanismos criptogr�ficos b�sicos: o ciframento, a assinatura e o Hashing. Estes mecanismos s�o componentes dos protocolos criptogr�ficos, embutidos na arquitetura de seguran�a dos produtos destinados ao com�rcio eletr�nico. Estes protocolos criptogr�ficos, portanto, prov�m os servi�os associados � criptografia que viabilizam o com�rcio eletr�nico: disponibilidade, sigilo, controle de acesso, autenticidade, integridade e n�o-rep�dio. Seguem exemplos de protocolos que empregam sistemas criptogr�ficos h�bridos:
Certificado Digital Com um sistema de chave p�blica, o gerenciamento de chaves passa a ter dois novos aspectos: primeiro, deve-se previamente localizar a chave p�blica de qualquer pessoa com quem se deseja comunicar e, segundo, deve-se obter uma garantia de que a chave p�blica encontrada seja proveniente daquela pessoa (Bob). Sem esta garantia, um intruso Eve pode convencer os interlocutores (Alice e Bob) de que chaves p�blicas falsas pertencem a eles. Estabelecendo um processo de confian�a entre os interlocutores, Eve pode fazer-se passar por ambos. Deste modo, quando um interlocutor (Alice) enviar uma mensagem ao outro (Bob) solicitando sua chave p�blica, o intruso poder� intercept�-la e devolver-lhe uma chave p�blica forjada por ele. Ele tamb�m pode fazer o mesmo com o recebedor (Bob), fazendo com que cada lado pense que est� se comunicando com o outro, quando na verdade est�o sendo interceptados pelo intruso. Eve ent�o pode decifrar todas as mensagens, cifr�-las novamente ou, se preferir, pode at� substitu�-las por outras mensagens. Atrav�s deste ataque, um intruso pode causar tantos danos ou at� mais do que causaria se conseguisse quebrar o algoritmo de ciframento empregado pelos interlocutores. A garantia para evitar este ataque � representada pelos certificados de chave p�blica. Tais certificados consistem em chaves p�blicas assinadas por uma pessoa de confian�a, geralmente no formato padr�o ITU X.509v3. Servem para evitar tentativas de substitui��o de uma chave p�blica por outra. O certificado de Bob cont�m algo mais do que sua chave p�blica: cont�m informa��es sobre Bob - seu nome, endere�o e outras dados pessoais - e � assinado por algu�m em quem Alice deposita sua confian�a: uma autoridade de certifica��o ou CA (Certification Authority), que funciona como um cart�rio eletr�nico. Assim, um certificado digital pode ser definido como um documento eletr�nico, assinado digitalmente por uma terceira parte confi�vel, que associa o nome (e atributos) de uma pessoa ou institui��o a uma chave criptogr�fica p�blica. Pela assinatura da chave p�blica e das informa��es sobre Bob, a CA garante que a informa��o sobre Bob est� correta e que a chave p�blica em quest�o realmente pertence a Bob. Alice, por sua vez, confere a assinatura da CA e ent�o utiliza a chave p�blica em pauta, segura de que esta pertence a Bob e a ningu�m mais. Certificados desempenham um importante papel em um grande n�mero de protocolos e padr�es utilizados na prote��o de sistemas de com�rcio eletr�nico. Autoridades de certifica��o, como Verisign, Cybertrust e Nortel, assinam certificados digitais garantindo sua validade. Uma CA tamb�m tem a responsabilidade de manter e divulgar uma lista com os certificados revogados (Certificate Revocation List - CRL). Certificados nesta lista podem ter sido roubados, perdidos ou, simplesmente, estar sem utilidade. As CAs podem estar encadeadas em hierarquias de certifica��o, onde a CA de um n�vel inferior valida sua assinatura com a assinatura de uma CA mais alta na hierarquia. Existem diversos tipos de cerificados, conforme descri��o feita a seguir.
A infra-estrutura para lidar com o gerenciamento de chaves p�blicas � definido pelo padr�o Public Key Infrastructure (PKI), que define onde os certificados digitais ser�o armazenados e recuperados, de que forma est�o armazenados, como um certificado � revogado, entre outras informa��es. Este artigo foi escrito por Luiz Paulo Maia () e Paulo Sergio Pagliusi (). Refer�ncias: Security and Electronic Commerce, David Kosiur, Microsoft Press, 1997. http://mspress.microsoft.com/prod/books/sampchap/1252.htm Cryptography and Network Security 2 ed., William Stallings, Prentice Hall, 1998. Tese de Mestrado: "Introdu��o de Mecanismos de Seguran�a em Sistemas de Correio Eletr�nico" Bruce Schneier: E-Mail Security - How To Keep Your Electronic Messages Private. Bruce Schneier: Applied Cryptography. John Wiley & Sons, Inc., EUA, 1996. Sites e Links interessantes: www.rsa.com; www.pgpi.com; e www.hackers.com.br. Como os algoritmos de resumo criptográficos podem ser utilizados na assinatura digital?Os algoritmos de criptografia foram desenvolvidos para garantir o acesso rápido a dados eletrônicos e evitar alteração ou compartilhamento indevidos. Dessa forma, os envolvidos na troca digital podem ter certeza de que estão acessando informações legítimas.
Qual algoritmo pode ser usado tanto para criptografia quanto para assinatura digital?Para levar a cabo a assinatura digital existem algoritmos como o DSA, que foi proposto pelo National Institute of Standards and Technology (NIST) e mais tarde estandardizado, que se pode combinar um algoritmo de cifrado, como, por exemplo, o RSA, com alguma das funções HASH já vistas: o MD5, o MD2, o SHA-1, etc.
Qual a criptografia da assinatura digital?A assinatura digital é um recurso que usa criptografia para validar um documento em formato digital de forma segura e confiável. Trata-se de uma chave privada e individual, exclusiva para de cada pessoa, que é vinculada a um certificado digital, funcionando como registro de autenticidade.
Quais os 3 tipos de algoritmos utilizados em criptografia?Os principais algoritmos de criptografia simétrica são DES (Data Encryption Standard), 3DES (Triple DES), IDEA (International Data Encryption Algorithm), RC2 e RC4 e AES (Advanced Encryption Standard).
|