Uma das aplicações mais importantes da certificação digital é fornecer garantia de autoria e de integridade de um documento, o que pode ser feito por meio do que se convencionou chamar de Assinatura Digital | Certificados Digitais.
Definição
Para definirmos o que é assinatura digital, precisamos primeiro compreender o que é uma assinatura eletrônica. Segundo o documento Visão Geral sobre Assinaturas Digitais na ICP-Brasil (DOC-ICP-15):
“Uma assinatura eletrônica representa um conjunto de dados, no formato eletrônico, que é anexado ou logicamente associado a um outro conjunto de dados, também no formato eletrônico, para conferir-lhe autenticidade ou autoria.
A assinatura eletrônica, portanto, pode ser obtida por meio de diversos dispositivos ou sistemas, como login/senha, biometria, impostação de Personal Identification Number (PIN) etc.
Um dos tipos de assinatura eletrônica é a assinatura digital, que utiliza um par de chaves criptográficas associado a um certificado digital. Uma das chaves – a chave privada – é usada durante o processo de geração de assinatura e a outra – chave pública, contida no certificado digital – é usada durante a verificação da assinatura.”
A Assinatura Digital é, portanto, um tipo específico de assinatura eletrônica que possui grande robustez. Por esse motivo, a MP 2.200-2 dá presunção de legitimidade a esse tipo de assinatura:
Art. 10º Consideram-se documentos públicos ou particulares, para todos os fins legais, os documentos eletrônicos de que trata esta Medida Provisória.
- 1º As declarações constantes dos documentos em forma eletrônica produzidos com a utilização de processo de certificação disponibilizado pela ICP-Brasil presumem-se verdadeiros em relação aos signatários, na forma do art. 131 da Lei nº 3.071, de 1º de janeiro de 1916 – Código Civil.
Ciclo de vida
A Assinatura Digital possui um ciclo de vida, que é composto das seguintes fases, segundo o DOC-ICP-15 [BRASIL, 2012c]:
- Criação – processo de criação de um resumo criptográfico logicamente associado a um conteúdo digital e a chave criptográfica privada do signatário;
- Verificação Inicial – processo de verificação quanto à validade de uma ou mais assinaturas digitais logicamente associadas a um conteúdo digital;
- Armazenamento – processo que trata da guarda da assinatura digital. Compreende, pelo menos, cuidados para conversão dos dados para mídias mais atuais, sempre que necessário;
- Revalidação – processo que estende a validade do documento assinado, por meio da reassinatura dos documentos ou da aposição de carimbos do tempo, quando da expiração ou revogação dos certificados utilizados para gerar ou revalidar as assinaturas, ou ainda quando do enfraquecimento dos algoritmos ou tamanhos de chave utilizados.
Verificação Final ou Litígio
Para Blanchette [BLANCHETTE, 2006], existe ainda mais uma etapa do ciclo de vida da assinatura digital: a Verificação Final ou Litígio, na qual o documento é apresentado como evidência para um juiz e a assinatura é novamente verificada, para se obter informações sobre a identidade do signatário e a integridade do documento.
A Verificação Inicial pode ocorrer segundos, minutos ou dias depois da etapa de Criação, ao passo que a Verificação Final pode acontecer anos depois da criação da assinatura, e já no contexto de um documento arquivado.
Uma pergunta que se impõe é: como fazer a Verificação Final da assinatura no longo prazo, depois de expirado o certificado digital utilizado em sua criação?
Este é um assunto que vem sendo estudado em todo o mundo. Na ICP-Brasil, um passo importante para que se realize uma verificação final confiável foi a criação dos Padrões Brasileiros de Assinatura Digital, que permitem a guarda, de forma estruturada, de todos os dados que serão necessários para a verificação da assinatura no longo prazo.
Nos próximos artigos vamos estudar quais são os padrões brasileiros de assinatura e como eles podem contribuir para manter a validade jurídica de um documento assinado digitalmente, mesmo depois de expirado o certificado digital utilizado na criação da assinatura.
Utilização da assinatura digital
Assinar um documento eletrônico com uma assinatura digital é um processo de dois passos: o arquivo de computador que contém o documento eletrônico é primeiramente submetido a um algoritmo de embaralhamento com perda, o que produz um valor conhecido por hash ou resumo criptográfico. Na segunda etapa, esse hash é então cifrado com a chave privada do signatário. O resultado dessa operação é a assinatura digital, que se constitui em um objeto digital separado do documento eletrônico em si, mas que fica associado a ele, para futura validação.
O documento eletrônico, juntamente com a assinatura digital, é apresentado para a terceira parte, que confirma sua validade ao decifrar a assinatura digital com a chave pública do signatário, obtida no certificado digital. O resultado da decifração é o valor hash do documento eletrônico, conforme gerado pelo signatário. A seguir, a terceira parte realiza, ela própria, um novo cálculo do valor hash do documento e o compara com o valor hash que recebeu junto com o documento. Se forem iguais, significa que o documento eletrônico está íntegro e que é possível identificar o signatário por meio do certificado digital. Caso contrário, a assinatura digital é inválida.
Por si só, uma assinatura digital não diz nada sobre a verdadeira identidade do signatário. Para a verificação de uma assinatura digital, a ligação entre o signatário e sua chave pública deve ser evidenciada a partir de um certificado digital. Na ICP-Brasil, o certificado digital deve ser criado por uma autoridade certificadora credenciada, o que lhe confere um alto grau de confiabilidade.
Chave Pública
O certificado digital contém a chave pública e informações sobre a identidade do titular do certificado (proprietário da chave), o período de validade, o algoritmo de assinatura, o número de série do certificado e o nome da autoridade certificadora, entre outras informações. Os certificados digitais têm um prazo de validade limitado, mas também podem ser revogados antes do término desse período. O titular do certificado pode pedir a revogação do certificado em diversas situações, como roubo ou perda da chave privada, alteração nas informações contidas no certificado etc.
Para permitir que se verifique a confiabilidade dos certificados de titulares finais, eles são assinados com a chave privada da autoridade certificadora. Para verificar se a assinatura realizada pela autoridade certificadora é válida, deve-se obter sua chave pública. Essa chave pública, por sua vez, está contida num certificado digital, emitido por outra autoridade certificadora de nível mais alto, que o assina digitalmente. Esse processo se repete até chegar-se a um certificado auto assinado, emitido por uma AC considerada confiável. No caso da ICP-Brasil, essa entidade é a AC-Raiz, operada pelo Instituto Nacional de Tecnologia da Informação (ITI).
Assim, para a verificação de uma assinatura digital, é necessária a validação de toda uma cadeia de entidades. Não é suficiente apenas arquivar o documento e a assinatura digital, se se deseja validar um documento eletrônico assinado digitalmente, no futuro. Isso significa que, além dos processos de assinatura, é necessário realizar ações complementares, tais como obter de carimbos de tempo para confirmar o momento da assinatura, anexar todos os certificados da cadeia e as respectivas LCRs etc.
Documentos assinados digitalmente têm, muitas vezes, uma vida muito maior do que as chaves criptográficas e as tecnologias empregadas na geração da assinatura digital. Isso ocorre porque a validade das chaves é intencionalmente curta, uma vez que elas podem ser comprometidas. Podem também, futuramente, ser descobertos métodos de criptoanálise que permitam obter com facilidade a chave privada, a partir da chave pública correspondente [STAPLETON, 2005]. Como verificar, daqui a uma dezena de anos, se o certificado digital correspondente à chave privada que assinou o documento não estava expirado ou revogado, no momento da assinatura? Ou ainda, como precisar o momento em que foi realizada a assinatura?
Para tentar solucionar essa questão, podem ser utilizados carimbos do tempo, que registram data e hora no resumo criptográfico (hash) do documento digital e/ou da assinatura digital. Essa medida, todavia, remete de volta à questão inicial, uma vez que o carimbo do tempo é, ele mesmo, um conjunto de dados assinado digitalmente. Como provar, daqui a dezenas de anos, que a chave privada da Autoridade de Carimbo do Tempo não foi comprometida, ou que o carimbo não foi forjado, de alguma maneira, dada a evolução tecnológica dos computadores e o avanço na solução de problemas matemáticos hoje insolúveis?
Para responder a essas questões, foram criados, na ICP-Brasil, os padrões brasileiros de assinatura digital, a partir da publicação, em 2008, dos regulamentos:
- DOC-ICP-15 – Visão Geral Sobre Assinaturas Digitais na ICP-Brasil
- DOC-ICP-15.01 – Requisitos Mínimos para Geração e Verificação de Assinaturas Digitais na ICP-Brasil
- DOC-ICP-15.02 – Perfil de Uso Geral para Assinaturas Digitais na ICP-Brasil
- DOC-ICP-15.03 – Requisitos das Políticas de Assinatura Digital na ICP-Brasil
Nos próximos artigos vamos estudar esses padrões e suas aplicações, tomando como exemplo documentos a que estamos acostumados em nosso dia-a-dia.
Sobre: Viviane Bertol
Consultora em certificação digital, com Mestrado e Doutorado nessa área pela Universidade de Brasília.
Trabalhou no Instituto Nacional de Tecnologia da Informação (ITI) na Coordenadoria-Geral de Auditoria e Fiscalização e Coordenadoria-Geral de Normalização e Pesquisa.
Participação da elaboração de metodologias de auditoria e realizado auditorias em Autoridades de Registro e Autoridades Certificadoras.
Participou da elaboração de diversos normativos da ICP-Brasil.
Colunista e membro do conselho editorial do Instituto CryptoID.
Leia outros artigos escritos pela Colunista Viviane Bertol
Contato de Viviane Bertol viviane@pkiconsulting.com