Por Eder Alvares P. Souza
Como minha primeira contribuição ao CryptoID, gostaria de ajudar a esclarecer uma dúvida que é frequente nas discussões sobre assinatura digital.
Durante esses anos atuando como consultor em Segurança da Informação e Certificação Digital, tenho me deparado com essa dúvida, que frequentemente assombra quem deseja adotar a certificação digital em seus processos corporativos, mesmo a tecnologia sendo muito segura e podendo reduzir consideravelmente custos operacionais corporativos.
Entender como é efetuada a verificação da assinatura digital e como o certificado digital do signatário é validado se tornou um conhecimento fundamental para o convencimento e defesa de um projeto destinado a assinar digitalmente documentos eletrônicos corporativos.
Com tudo isso, considero importante apresentar esse processo de verificação com o objetivo de apoiar esses profissionais na apresentação da tecnologia e dos benefícios da sua adoção.
Primeiramente é importante separar o processo de validação das assinaturas digitais em duas etapas, sendo a primeira a verificação da assinatura digital propriamente dita e a segunda a validação do certificado digital do signatário.
A primeira etapa tem como objetivo garantir a autenticidade e integridade do documento eletrônico onde a assinatura digital foi aposta, e esses pontos são verificados utilizando os algoritmos de assinatura digital, como por exemplo o RSA e de integridade, onde o mais comum para nós agora é o SHA-‐256.
Essa etapa é executada utilizando a chave privada do signatário e não o seu certificado digital, que será utilizado somente no processo de verificação da validade da assinatura.
Com isso, aqui já aparecem elementos desconhecidos da maioria das pessoas, pois para assinar um documento eletrônico não é utilizado o certificado digital e sim uma chave privada que foi gerada no momento da solicitação do certificado e todo titular de um certificado digital, possui uma chave privada, que é conhecimento exclusivo do usuário, e o certificado digital emitido.
Já os processos de assinatura digital são um processo criptográfico que envolve dois conjuntos de algoritmos muito importantes, os algoritmos de resumo de mensagem e os algoritmos de assinatura digital.
Os algoritmos de resumo de mensagem são utilizados para gerar um resumo binário, de tamanho fixo, que é gerado considerando todo o documento eletrônico, assim, esse resumo se torna uma identidade do documento.
Após o calculo do resumo, qualquer mudança, por menor que seja, irá resultar em um resumo completamente diferente, e com isso, será possível identificar qualquer alteração no documento após o seu cálculo.
Já a assinatura digital, como nos documentos físicos, tem como objetivo garantir a anuência ou intenção em relação ao conteúdo de um documento eletrônico e essa assinatura é produzida através da criptografia do resumo de mensagem gerado utilizando a chave privada do signatário.
Como as chaves privadas são elementos de cunho pessoal e privado, somente o seu proprietário deveria ter a capacidade de utilizá-‐la e com isso, existe uma responsabilidade direta entre o proprietário da chave privada utilizada na assinatura e o documento assinado.
Os interessados em verificar a integridade e autenticidade do documento eletrônico assinado digitalmente, precisa somente calcular o resumo do documento eletrônico assinado, decifrar o resumo cifrado anteriormente utilizando a chave pública do signatário e comparar o resultado com o calculado.
Se o resumo calculado for idêntico ao decifrado pela chave pública, que foi localizada no certificado digital do assinante, é possível concluir que o documento está integro e o assinante é o titular do certificado digital, no qual a chave pública utilizada foi resgatada.
Assim, possuímos evidencias suficiente para atestar que, o titular do certificado digital utilizado na verificação da assinatura digital, possuía a intenção de assinar digitalmente o documento eletrônico verificado.
A partir desse ponto está claro o desejo do signatário em relação ao documento assinado, mas ainda é necessário verificar se o mesmo está habilitado a produzir a assinatura digital aposta ao documento.
É a partir desse ponto que iniciamos a segunda etapa do processo de validação da assinatura digital e essa etapa tem o objetivo de validar o certificado digital do signatário e garantir que o mesmo está apto a efetuar a assinatura digital do documento eletrônico.
O certificado digital foi pensado com o objetivo de dar credibilidade às chaves criptográficas que são utilizadas em um ecossistema criptográfico e um dos elementos fundamentais de uma infraestrutura de chaves públicas.
Através do certificado digital podemos averiguar a validade da chave pública utilizada para verificar a assinatura digital e essa averiguação deve ocorrer avaliando quatro condições importantes.
A primeira condição a ser avaliada é a data de validade do certificado digital e consequentemente a data permitida para uso da chave pública e privada do signatário
O certificado digital possui duas datas que são a data na qual as chaves do titular passam a ter validade e a data de expiração das chaves. Assim, essas datas precisam ser verificadas com o objetivo de garantir a validade das chaves no momento da assinatura digital do documento eletrônico.
Após a verificação das datas, a próxima condição a ser verificada é a cadeia de confiança referente ao certificado digital utilizado. Avaliar a cadeia de confiança tem como finalidade garantir a confiabilidade do certificado digital e consequentemente das chaves utilizadas no processo de assinatura e verificação do documento assinado digitalmente.
As entidades interessadas e que irão efetuar a validação da assinatura digital devem possuir as Autoridades Certificadoras nas quais confiam e essas Autoridades Certificadoras compõem a sua cadeia de confiança.
Aqui no Brasil, como em alguns país do mundo, existe legislação para uso e aceitação dos documentos assinados digitalmente e assim, independente das Autoridades Certificadoras nas quais essas entidades confiem, as Autoridades Certificadoras participantes da ICP-‐Brasil gozam de credibilidade e confiança em território nacional.
Portanto, nenhuma entidade subordinada ás leis brasileiras pode se recusar a aceitar um documento eletrônico assinado com um certificado digital, emitido por uma Autoridade Certificadora credenciada pelo governo federal e que esteja válido.
A cadeia de confiança composta pelas Autoridades Certificadoras da ICP-‐Brasil devem ser aceitas por qualquer entidade em território nacional e essa questão está resolvida na Medida Provisória 2200/2.
Com isso, o processos de verificação deve avaliar se o certificado digital do signatário foi emitido por uma Autoridade Certificado credenciada e operacional na ICP-‐Brasil.
A terceira condição diz respeito ao tipo de certificado digital utilizado no processo de assinatura do documento eletrônico. A ICP-‐Brasil faculta a emissão de dois tipos de certificados digitais, os certificados do tipo A e certificados do tipo S.
Os certificados digitais do tipo A são certificados digitais destinados a permitir a assinatura digital dos documentos eletrônicos e com isso, somente o titular tem conhecimento e custódia da chave privada vinculada a esse tipo de certificado.
Já os certificados do tipo S tem como finalidade possibilitar a criptografia de arquivos e equipamentos de forma segura, pois utilizando certificados digitais do S o titular pode solicitar a uma entidade externa a custódia de sua chave privada e, em um incidente que comprometa a sua chave privada, ela poderá recorrer a essa entidade externa para resgatar uma cópia da sua chave. Consequentemente, esse tipo de certificado digital não pode ser utilizado no processo de assinatura digital.
A última condição a ser avaliada com o objetivo de garantir a legitimidade da assinatura é o estado sobre a revogação do certificado digital.
Todas as Autoridades Certificadoras devem comunicar aos terceiros sobre o estados dos certificados digitais emitidos e essa comunicação acontece através de dois serviços importantes, a Lista de Certificados Revogados (LCR), ou o Online Certificate Status Protocol (OCSP).
Assim, todas as entidades interessadas em validar o certificado digital de um assinante precisa utilizar um desses serviços com o objetivo de verificar se não houve, por parte do titular, a revogação do certificado digital utilizado.
Se o certificado digital estiver revogado, a entidade que está verificando a assinatura digital pode concluir que essa assinatura foi produzida utilizando chaves que não são mais válidas e isso anula a assinatura digital em avaliação.
Entender essas as condições existentes para a verificação de uma assinatura digital é fundamental tanto para o time técnico quanto para os executivos que desejam utilizar a tecnologia em seus processos de negócio e com o conhecimento adequado as empresas podem se beneficiar da certificação digital de forma correta e reduzir de forma considerável diversos custos relativos a assinatura digital de documentos.
Espero ter atingido o objetivo principal deste post que é conduzir os interessados sobre o assunto a um entendimento abrangente sobre a segurança e as etapas referente às assinaturas digitais.
Até a próxima!
Sobre Eder Alvares P. Souza
- Mestre em Engenharia de Software pelo IPT-SP, com MBA em Gestão Empresarial pela FGV e especialização em Segurança da Informação pelo IBTA e bacharel em Ciências da Computação pela FAC-FITO.
- Professor do curso de Segurança da Informação do Instituto Brasileiro de Tecnologia Avançada e responsável pelo tema Criptografia e Certificação Digital.
- Atua há quinze anos na área de Tecnologia e Segurança da Informação e atualmente é Diretor Técnico na e-Safer Consultoria.
- Vivência no desenvolvimento de produtos e implantação de soluções de Segurança e Certificação Digital em empresas de grande porte.
- Eder é colunista e membro do conselho editorial do Instituto CryptoID.