Criptografia e Certifica��o Digital 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. |