11/11/2009

A segurança e padrões técnicos da certificação digital


O projeto da Certificação Digital para ter a confiança dos legisladores teve que provar tecnicamente, além de todos os seus benefícios, um robustez muito grande no que diz respeito a segurança e garantias que comprovassem a não fragilidade do processo.


Essa robustez, se baseia, para mim, em 3 pilares:

  • Criptografia;
  • Código Hash;
  • ePar de chaves (pública e privada).
Dados técnicos que garantem a segurança.

A criptografia utilizada poderá chegar a 2.048 bits que é algo monstruoso. Para se ter um parâmetro, um banco de varejo utiliza em seu sistema uma criptografia de 128 bits para as transações on line de seus clientes. Isso quer dizer que é vinte vezes fácil entrar em um sistema bancário e fazer transações indevidas do que corromper um Certificado Digital.

O código Hash é produzido por um algoritmo que usa como entrada a informação transmitida.


Todo documento eletrônico, se transformado em linguagem de máquina, será produzido por 0 e 1. Assim, o sistema traz um resumo do arquivo, associando esse número ao meu certificado digital (chave privada) aplicando ainda sobre o resultado algumas informações contidas na máquina em que o arquivo foi gerado, como, por exemplo, data e hora, número de série do HD, entre outras coisas. Essas variáveis tornam impossível a reprodução do documento ou alteração do mesmo sem que não autorizado e sem deixar rastros.


O resultado do processo é um documento pequeno, leve e seguro, uma “impressão digital” com tamanho fixo de 128 ou 160 bits. O código Hash é utilizado
para saber se a informação não foi alterada. A alteração de um único bit da informação produz um Hash completamente diferente.

Veja no desenho abaixo como funciona o processo: O par de Chaves Pública e Privada. Na verdade o que temos em mãos com o nosso certificado digital é a nossa senha privada que foi gerada a partir de uma outra “senha” que chamamos de chave pública. Essas chaves (são números muito grandes – 2.048 bits) e a partir da chave pública se cria a privada. O detalhe importante é que a chave privada somente o próprio titular do certificado terá acesso, pois diferentemente da senha e login, as chaves não são espelhadas, mas sim assimétricas. Portanto, para alguém ter acesso a minha chave privada e fazer uso do meu certificado digital é necessário que eu conceda em transmitir a outrem a minha chave.

Esse formato fica muito claro se analisarmos a MP 2.200-2/01 que instituiu a certificação Digital no Brasil. Vejamos o que nos diz a MP:


Art. 6º Às AC, entidades credenciadas a emitir certificados digitais vinculando pares de chaves criptográficas ao respectivo titular, compete emitir, expedir, distribuir, revogar e gerenciar os certificados, bem como colocar à disposição dos usuários listas de certificados revogados e outras informações pertinentes e manter registro de suas operações.


Parágrafo único. O par de chaves criptográficas será gerado sempre pelo próprio titular e sua chave privada de assinatura será de seu exclusivo controle, uso e conhecimento. (grifo nosso)


Percebam que aqui, começamos a falar também do não repúdio que se tornou fundamental para a adesão das pessoas no projeto. Falaremos do “não repúdio” mais adiante e em um segundo momento.


Importante lembrar que a senha do Certificado Digital é realmente pessoal. Tomando-se, ainda, os bancos como exemplo, quando alguém cadastra sua senha em um servidor, a mesma não está sob conhecimento exclusivo do titular, no caso citado o banco também saberá a sua senha. No caso do Certificado Digital, a senha é restrita ao dono. Ela escolhe, e a insere no seu Certificado em um momento “íntimo” com a mídia (smart card ou token) que armazenará o Certificado Digital. Não é necessário informar a ninguém a senha escolhida. No caso das senhas e login, a tecnologia utilizada é a de espelhamento, existirá sempre uma cópia daquela senha e login em algum lugar, em algum servidor.

Outra vantagem de segurança da certificação digital é que a senha não transita na rede para ser validada. Quando alguém realiza uma transação bancária na Internet, a sua senha e seu login navegam até o servidor do banco para autenticação e autorização. É nesse caminho que um hacker faz a captura da senha. Na certificação digital, a senha é local, transitando somente entre seu computador e a mídia que armazena o seu Certificado. A senha não trafega na rede.


Esses são os tópicos de maior relevância para a segurança dos documentos que utilizem essa “nova” tecnologia. Espero que a leitura tenha sido boa e agradável. Qualquer dúvida estou à disposição.

Um abraço a todos e até a próxima!


Tiago Muriel