A assinatura digital é
um recurso amplamente utilizado nas infra- estruturas de chaves
públicas. Ela funciona como uma garantia da autenticidade do
emissor e de que as informações trocadas não
sofreram modificação durante o percurso que a
informação percorre desde o emissor até o receptor.
Na assinatura digital, um hash da mensagem original é
criptografado (assinado), pela chave privada do emissor do
documento. Desta forma, como somente o emissor da mensagem possui
uma cópia da chave privada, só ele pode ter assinado a
mensagem. Qualquer um que ler a mensagem assinada digitalmente pode
extrair a assinatura da chave, decodificar o seu conteúdo com
a chave pública do emissor, e comparar o valor com o
hash da própria mensagem recebida. Se os valores forem
idênticos, podemos assumir que a mensagem não foi
modificada no caminho entre o emissor e o receptor, e podemos
assumir que foi o emissor quem realmente enviou a mensagem.
Além disso, se provamos que o emissor que realmente enviou a
mensagem, ele não tem como dizer que não a enviou,
caracterizando o não repúdio da
mensagem.
Figura 8 - Assinatura Digital. O emissor gera
um hash da mensagem (1), codifica este hash com sua chave privada
(2), combina esta assinatura digital com a mensagem e a envia. O
receptor recebe a mensagem(4) e calcula o hash dela (5). Enquanto
isso, ele utilize a chave pública do emissor para obter o hash
contido na assinatura digital (6). O receptor compara os valores
dos hashs (7). Caso os valores sejam
idênticos o receptor pode inferir que a mensagem não foi
modificada desde a emissão. Além disso, a mensagem
realmente veio do emissor, pois só ele possui a chave privada
que foi utilizada para assinar digitalmente a mensagem. E ao mesmo
tempo, o emissor não pode negar que enviou a mensagem, afinal
ele a assinou com sua chave privada.