Glossário

O que é Assinatura digital?

Uma assinatura digital é um esquema criptográfico que usa uma chave privada para gerar uma assinatura sobre uma mensagem ou documento, que qualquer pessoa com a chave pública correspondente pode verificar para confirmar a autenticidade e a integridade dos dados.

Também conhecido como: code signing, message signing

As assinaturas digitais fornecem três garantias: autenticação (a mensagem foi criada pelo suposto remetente), integridade (a mensagem não foi alterada desde a assinatura) e não repúdio (o signatário não pode negar tê-la assinado). Essas propriedades tornam as assinaturas digitais legalmente vinculantes em muitas jurisdições e essenciais para a distribuição de software, as transações financeiras e a verificação de identidade.

O processo de assinatura funciona fazendo primeiro o hash da mensagem com uma função hash criptográfica (como o SHA-256) para produzir um resumo de tamanho fixo, e depois criptografando esse resumo com a chave privada do signatário. A verificação inverte o processo: o verificador descriptografa a assinatura com a chave pública do signatário, faz o hash da mensagem de forma independente e compara os dois resumos. Se eles coincidem, a assinatura é válida. Os algoritmos comuns incluem as assinaturas RSA, o ECDSA (Elliptic Curve Digital Signature Algorithm) e o EdDSA.

As assinaturas digitais são distintas do HMAC, embora ambos verifiquem a integridade. O HMAC usa uma chave secreta compartilhada: ambas as partes conseguem gerar e verificar o código, por isso ele não consegue fornecer não repúdio. As assinaturas digitais usam chaves assimétricas, o que significa que apenas o detentor da chave privada consegue assinar, enquanto qualquer pessoa com a chave pública consegue verificar. Essa assimetria é o que permite o não repúdio e torna as assinaturas digitais adequadas para cenários de verificação pública.

Como o Vaulted usa Assinatura digital

A Vaulted não usa assinaturas digitais em seu fluxo de criptografia principal porque o modelo de compartilhamento é simétrico: o remetente e o destinatário compartilham a mesma chave por meio do fragmento da URL, e não há necessidade de não repúdio nem de verificação pública. No entanto, os certificados TLS que asseguram as conexões HTTPS da Vaulted dependem de assinaturas digitais para comprovar a identidade do servidor ao seu navegador, e a integridade do código implantado da Vaulted é verificada por meio da assinatura de código em seu pipeline de CI/CD.