sexta-feira, 5 de julho de 2013

Assinatura digital



Uma assinatura digital é um mecanismo de autenticação que permite ao criador de uma mensagem anexar um código que atue como uma assinatura. A assinatura é formada tomando o hash da mensagem e criptografando-a com a chave privada do criador. A assinatura garante a origem e a integridade da mensagem.
A assinatura digital pode ser realizada de duas formas: assinando todo o documento ou assinando uma versão resumida ou sintetizada do documento (digest message), utilizando uma função hash.
Assinando o documento
Utiliza-se a chave privada do emissor para criptografar (assinar) a mensagem. A chave pública do emissor é utilizada para descriptografar a mensagem. Na assinatura digital, a chave privada é usada para cifragem e a chave pública é usada pra decifragem da mensagem.
A assinatura digital pode agregar características:
·         Integridade: indica que as informações não foram adulteradas;
·         Autenticação: permite identificar quem produziu a informação;
·         Não repúdio: o emissor não pode negar que enviou a informação.

Assinando a síntese de um Documento
Nesse caso, o emissor assina o resumo do documento, em vez de assinar o documento inteiro. Uma versão resumida do documento (digest) e criada e assinada.
Para criar uma síntese da mensagem (digest) usamos uma função de hash (função de síntese). A finalidade da função de hash é criar uma síntese da mensagem de tamanho fixo a partir da mensagem original de tamanho variável. As duas funções hash mais importantes são denominadas MD5 (Message Digest 5) e SHA-1 (Secure Hash Algorithm 1). A primeira produz uma versão sintetizada de 120 bits de tamanho. A segunda produz uma versão de 160 bits.
Algumas propriedades que uma função de hash deve possuir são:
·         O mecanismo deve ser unidirecional. A versão sintetizada só pode ser criada a partir da mensagem original e não o oposto;
·         O hash de uma mensagem não pode ser igual ao hash de outra mensagem;
·         Uma pequena alteração na mensagem original deve gerar um hash totalmente diferente.
Após a geração do hash, ele é criptografado (assinado) com a chave privada do emissor. O hash criptografado é anexado junto ao texto claro e criptografado com a chave pública do receptor.
No destino, o receptor descriptografa a mensagem com sua chave privada, gerando o texto claro e o hash criptografado. Em seguida, o hash é descriptografado com a chave pública do emissor. Um novo hash é gerado com o texto claro. Se ele coincidir com o hash atual, então a integridade e a autenticidade estão garantidas.

Nenhum comentário:

Postar um comentário