O que é Assinatura Digital
Com a informática tomando cada vez mais espaço nas relações humanas, naturalmente a informação e a comunicação escrita tem passado do papel para o meio digital. Até então todas as relações jurídicas têm sido documentadas em papel e autenticadas através da assinatura de próprio punho, carimbo ou chancela.
A assinatura tem poder de autenticidade porque pode ser cientificamente verificada, comprovando sua autoria. Assim, um documento escrito qualquer, quando assinado por alguém, constitui prova da ciência e/ou anuência do seu conteúdo pela pessoa que o assina, tendo a devida validade jurídica.
E com a informação em meio digital? Não há como imprimir as particularidades grafotécnicas da assinatura manuscrita para o meio digital. Uma assinatura manuscrita e “escaneada” (digitalizada) não possui qualquer valor jurídico porque pode ser reproduzida fielmente inúmeras vezes, sendo apenas representação da assinatura original e impedindo a comprovação da sua autenticidade. Assinar a superfície do CD também não garantiria que o seu conteúdo é autêntico. E quando a informação é transmitida de um lugar para outro? Não existe meio físico que possa comportar uma assinatura manuscrita.
Para substituir a assinatura manuscrita, criou-se a Assinatura Digital, que possui características próprias e distintas do seu equivalente manuscrito. É a forma de conferir à um arquivo de dados, que pode ser um texto, um programa, uma imagem, ou qualquer forma de informação armazenada em meio digital, três características básicas que conferem prova inegável da sua autoria:
-
Autenticidade – o receptor pode confirmar que a assinatura foi feita pelo autor;
-
Integridade – qualquer alteração do arquivo faz com que a assinatura não corresponda mais ao documento;
-
Não repúdio ou Irretratabilidade – o autor não pode negar a autenticidade da mensagem.
Um pouco de criptografia
Para entender como essas características citadas são obtidas, precisamos entender alguns conceitos de criptografia.
A criptografia é a forma de prover o sigilo da informação através de mecanismos de codificação aplicados à uma mensagem, que permitem que somente o emissor e o destinatário dessa mensagem possa interpretá-la. Toda criptografia depende de um método de codificação (ou algorítimo) e de uma ou mais chaves. Mesmo que o algorítimo seja conhecido, o segredo da chave garante o sigilo da mensagem.
Existem dois tipos básicos de criptografia: simétrica e assimétrica.
Na criptografia simétrica, a mesma chave que codifica a mensagem, é utilizada para decodificar, portanto ela tem que ser de conhecimento comum entre emissor e receptor. Quando o receptor não conhece a chave, o emissor tem que transmiti-la ao receptor de alguma forma, expondo uma fragilidade do sistema.
Na criptografia assimétrica, é utilizado um par de chaves matematicamente relacionadas entre si sendo uma delas de conhecimento público e outra de uso privado do emissor. Apesar da sua relação, não há como descobrir uma chave partindo de seu par.
Uma mensagem criptografada por uma das chaves (seja publica ou privada) só pode ser descriptografada com o seu par correspondente. Essa característica, permite que esse tipo de criptografia atenda a duas funções distintas: Confidencialidade e Autenticidade. A Confidencialidade é obtida quando o emissor criptografa uma mensagem usando a chave pública do receptor e somente esse último pode decifrar a mensagem com a sua chave privada. A Autenticidade é obtida pelo uso inverso, ou seja, como uma mensagem criptografada pelo emissor, com a sua chave privada, permite que qualquer pessoa decifre a mensagem com a sua (dele) chave pública, comprovando a autenticidade da mensagem, já que esta só pode ter sido cifrada com a chave privada do emissor.
Além da criptografia garantir a confidencialidade da mensagem, de certa forma ela garante a integridade, pois qualquer alteração da mensagem criptografada gera uma anomalia na mensagem ao ser descriptografada, denunciando a corrupção da mensagem. Contudo, a forma mais adequada de garantir a integridade é com o uso de uma função de hash.
Um hash é uma espécie de criptografia de mão única. É um valor numérico de tamanho fixo, obtido através da aplicação de um modelo matemático, de tal forma que a alteração de um único bit na mensagem (ou arquivo), produz um hash de valor totalmente distinto do hash original. Portanto, se o hash de uma mensagem é gerada pelo emissor e enviada juntamente com ela, o receptor pode aplicar o mesmo algorítimo nessa mensagem e verificar se os hashes são idênticos, comprovando a integridade da mensagem.
Note que não há necessidade da mensagem estar criptografada para o uso do hash. Sua função, portanto, é garantir a integridade da mensagem e não a confidencialidade.
É importante citar que não há como obter a mensagem original a partir do seu hash e também, que é virtualmente impossível duas mensagens diferentes produzirem o mesmo valor de hash (chamado de “colisão”).
Certificados Digitais
Um certificado digital é uma espécie de “identidade digital”. É um arquivo em formato binário padronizado e autenticado, emitido por uma CA – Certificate Authority (Autoridade Certificadora). Ela contém, informações de identificação pessoal e a sua chave pública.
Quando alguém desejar obter sua chave pública, ela procura num catálogo de chaves públicas para poder criptografar a mensagem a ser enviada a você. Se o seu certificado não for emitido por uma CA (você pode gerar seu próprio certificado), você é tem que repassar sua chave pública ao emissor.
Para verificar se um certificado é válido, o interessado deve obter a chave pública da CA que emitiu o certificado e valida-la contra o certificado. Existem inúmeras CAs espalhadas pelo mundo e como fica inviável obter a chave pública de todas elas, existem as CAs Raiz, as quais autorizam as operações de todas as demais CAs, obtendo-se uma estrutura hierárquica que é conhecida como ICP – Infra-estrutura de Chaves Públicas ou em inglês, PKI – Public Key Infrastructure.
No Brasil, a ICP-Brasil controla oito CAs (até o momento): Receita Federal, SERPRO, Caixa Econômica Federal, Serasa, Presidência da República, Poder Judiciário, Imprensa Oficial e CertiSign.
Juntando Tudo
Agora que falamos de criptografia, hash e certificado digital, podemos entender o funcionamento da assinatura digital:
Em um primeiro momento o autor gera um hash do documento (mensagem ou arquivo) e usando sua chave privada, ele criptografa e armazena o hash criptografado junto ao documento original, gerando a assinatura digital.
Para verificar a autenticidade do documento, deve-se gerar um novo rash a partir desse documento (ou mensagem) e este novo hash comparado com hash contido na assinatura digital. Para isso, é necessário descriptografar a assinatura com a chave pública do autor.
Observe que diferente da assinatura manuscrita, a digital é sempre diferente para cada documento em função do valor de rash.
A autoria do documento é comprovada pela descriptografia da assinatura usando a chave pública do autor, que por sua vez, tem sua identidade confirmada pelo certificado digital, obtendo-se as características de autenticidade e o não repúdio. A integridade da mensagem é comprovada pela igualdade do hash recém calculado com o armazenado na assinatura.
Considerações
A assinatura digital já é reconhecida legalmente em diversos países, inclusive o Brasil. Para que tenha valor legal diante do governo brasileiro, segundo a Medida provisória 2.200-2, o certificado deve ser emitido por uma das instituições autorizadas pela ICP Brasil, a menos que acordada entre as partes de uma transação, o uso de outra CA qualquer.
A tecnologia tem se difundido rapidamente em função dos requisitos de agilidade das transações eletrônicas da sociedade tecnológica de hoje. Talvez não substitua totalmente o uso do papel e da assinatura manuscrita, mas certamente será de uso corriqueiro. O aspecto preocupante dessa tecnologia, é que ela se fundamenta no sigilo da chave privada. O vazamento ou cópia da chave privada, permite que o usuário tenha sua identidade personificada por outra pessoa, já que ela pode ser utilizada para assinar digitalmente os documentos e transações eletrônicos.
——
2 respostas Até agora ↓
Evandro Neto. // Outubro 11, 2008 às 8:47 pm |
Um assunto bem abordado. Uma leitura obrigatória para quem é da área de TI, pois ainda encontramos profissionais que confundem assinatura digital de assinatura “digitalizada”.
Congratulations, Hat!
cristiantm // Outubro 24, 2008 às 10:24 am |
Muito bom, deu uma boa visão geral do tema.
Só não acho que o ponto crítico da assinatura digital seja o sigilo da chave. Tokens e Smartcards facilitam bastante o manejamento disso. Normalmente é mais fácil forjar uma assinatura à mão do que roubar uma chave, e no caso do sinistro, é só solicitar a revogação à Autoridade Certificadora.
O ponto crítico na minha opinião é a falta de noção de que a assinatura digital tem uma validade restrita, e neste aspecto é bastante diferente da assinatura “normal”: Ao expirar o certificado do signatário, a assinatura automaticamente perde sua validade, pois não se pode mais verificar a assinatura com segurança. Isso sem falar na quebra dos algoritmos envolvidos (hash, RSA), que um dia provavelmente ocorrerá.
Há solução para isso, que é o uso de “carimbo de tempo”, que nada mais é que uma espécie de contra-assinatura, vinculada à uma data assegurada por uma terceira parte confiável (Autoridade de Carimbo de Tempo). Com estes “carimbos”, “ancoramos” a assinatura a pontos seguros no tempo, e no futuro, mesmo que os algoritmos da assinatura estejam quebrados (e desde que os do carimbo ainda sejam seguros) e os certificados envolvidos revogados ou expirados, podemos fazer a validação da assinatura com base na data do carimbo, e não com base na data atual.
Infelizmente, no entanto, o uso disto não é muito comum ainda. Muita gente deve ter assinado documentos digitais nos 7 anos de ICP-Brasil, e mal sabe que essa assinatura não é mais (tecnicamente) confiável.
Estamos evoluindo, no entanto: Em breve deverá sair a regulamentação da assinatura digital ICP-Brasil, que trará o que há de mais moderno na área de formatos de assinatura para conservação de longo prazo (CAdES e XAdES).
Apenas meus 2 centavos no assunto…
Att,
Cristian T. Moecke