0
1
0
1
1
0
1
0

Assinatura Digital, Autenticação e Criptografia. > blog > O que são e como funcionam as assinaturas digitais?

O que são e como funcionam as assinaturas digitais?

O que são e como funcionam as assinaturas digitais?

Assinaturas digitais possuem diversas aplicações e estão presentes no dia-a-dia de muitos sistemas eletrônicos. Mas, às vezes, compreender suas características básicas pode ser um problema, especialmente quando as explicações são muito técnicas. Assim, através de uma analogia simples e relativamente agradável, esperamos que sua compreensão sobre assinatura digital melhore.

E como funciona?

Vamos fazer uma analogia à assinatura de próprio punho em papel.

Primeiramente, imagine que Alice acabou de encaminhar para você um documento em papel que ela acabou de assinar de próprio punho (assinatura tradicional sobre papel). Neste documento assinado estão presentes várias propriedades importantes.

  1. A primeira propriedade que pode ser verificada está relacionada à integridade do documento, ou seja, se o documento sofreu alguma alteração ou é exatamente aquele que Alice assinou. A integridade do documento pode ser verificada visualmente observando a existência de rasuras ou modificações no papel ou rasuras na escrita do documento.
  2. A segunda propriedade que também pode ser verificada é a autenticação do signatário, ou seja, se o documento foi assinado pela pessoa identificada no documento. A autenticação do signatário do documento é feita comparando a assinatura presente no documento com a referência de assinatura da pessoa. Esta é uma atividade muitas vezes difícil de ser realizada pela maioria das pessoas, até por não possuir a assinatura de referência da pessoa. Devido a esta dificuldade, em algumas situações críticas é exigido o uso do reconhecimento de firma pelo cartório.
  3. Por fim, a terceira propriedade importante é a irretratabilidade (não repúdio) da geração da assinatura, ou seja, caso a entidade signatária (Alice) negue que tenha assinado o documento é possível provar para um terceiro que realmente foi ela quem assinou. Isto é realizado também através da verificação da assinatura, estando subentendido que nenhuma outra pessoa consegue reproduzir a assinatura de Alice.

Depois de entendidas as propriedades de uma assinatura de próprio punho em documento em papel, vamos entender como é o cenário de assinatura digital de um documento eletrônico. Aqui, também, estão presentes as mesmas propriedades: integridade do documento, autenticação do signatário e irretratabilidade (não repúdio) da geração da assinatura.

Mas, antes, precisamos entender alguns conceitos importantes sobre a assinatura digital.

Verificação de integridade

Em computação, uma das maneiras para verificar a integridade de um conjunto de dados é fazer uso de uma função que realize um cálculo sobre todos os bytes do conjunto de dados para gerar um valor numérico, que vamos denominar aqui de código de integridade.

Assim, pode-se aplicar a função de integridade sobre os dados de um documento eletrônico e guardar o resultado (código de integridade) junto com o documento. Quando for necessário verificar a integridade deste documento eletrônico no futuro, aplica-se novamente a função de integridade sobre o documento, sendo seu resultado comparado com o código de integridade já armazenado. Se for igual, o documento pode ser considerado íntegro. Esta técnica funciona bem para problemas de integridade decorrente de erros (erros gerados na transmissão, erros gerados no armazenamento, etc.), mas não é adequada para problemas de integridade decorrentes de atos intencionais. Neste caso, alguém poderia modificar o documento e aplicar a mesma função, alterando o código de integridade.

Para permitir a verificação de integridade contra atos intencionais, o código de integridade precisa ser protegido.

Assinatura digital

Para proteger o código de integridade contra alteração intencional pode ser utilizada criptografia assimétrica. Criptografia assimétrica – vide aqui – é aquela que utiliza um par de chaves, sempre lembrando que quando uma chave for utilizada para cifrar só a outra chave parceira pode ser utilizada para decifrar. Na criptografia assimétrica, o par de chaves fica associado à entidade (usuário ou equipamento). Geralmente, uma das chaves é tornada pública e a outra privada (secreta) e protegida pelo dono. Por esse motivo, a criptografia de chave assimétrica é bem flexível.

Vejamos onde a criptografia assimétrica pode ser útil na assinatura digital. Imagine que Alice tenha criado um documento e, para permitir a verificação da integridade do documento, ela fez uso de uma função para gerar o código de integridade. Porém, como vimos, Alice precisa proteger esse código de integridade contra modificação. Ela pode utilizar sua chave privada (aquela secreta e que só ela conhece) para cifrar o código de integridade. Esta operação gera um outro valor que iremos chamar de código de assinatura. Agora, além do documento da Alice existe também o código de assinatura associado ao documento.

As pessoas que desejarem verificar a integridade do documento de Alice precisarão utilizar o código de integridade que está cifrado dentro do código de assinatura. Por exemplo, se Bob desejar verificar a integridade do documento de Alice, precisará decifrar o código de assinatura. Para isso, deve utilizar uma chave pública de Alice, já que Alice havia cifrado o bloco utilizando sua chave privada. O resultado desta operação restaura o código de integridade que havia sido cifrado. Em seguida, é executada a função de integridade sobre o documento, verificando se o resultado é o mesmo do código de integridade.

Caso o código de integridade seja igual, significa que o documento está íntegro. Ainda mais, como foi utilizada a chave pública de Alice para decifrar o código de assinatura, é possível afirmar que foi Alice quem realizou a assinatura, pois somente ela possui o controle de uso da chave privada. Por fim, caso Alice negue que tenha sido ela quem assinou o documento, Bob pode mostrar para um terceiro que, usando a chave pública de Alice, a verificação do código de integridade é bem sucedida, mostrando que somente Alice poderia ter realizado esse procedimento.

Essa é a essência de uma assinatura digital. Toda vez que uma informação deve se manter íntegra, você, o remetente, deve assinar a informação original com sua chave privada (aquela parte do seu par de chaves que seria usada apenas para ‘fechar’…). Em seguida, para que os interessados verifiquem a integridade da informação, eles devem determinar a validade de sua assinatura sobre a informação original utilizando a sua chave pública (aquela parte do seu par de chaves utilizada apenas para ‘abrir’…). Se houvesse qualquer modificação na informação original, por menor que seja, o processo de verificação avisa. É natural que a partir dessa explicação fique a pergunta de como o seu conhecido confia que a chave pública que ele tem em mãos é realmente sua. Mas, para responder essa pergunta entrariam em cena os certificados digitais e as cadeias de confiança, um assunto que deixaremos para outro post.

Por fim, vale lembrar que é comum misturar os termos assinatura digital e assinatura eletrônica. Só que essas são coisas bem distintas, conforme pode ser observado aqui.

Assine nossa Newsletter e fique por dentro das novidades e tecnologias E-VAL. Continue acompanhando nossos conteúdos no blog e aproveitando nosso perfil do Linkedin.