Assinatura Digital


A assinatura digital, também chamada assinatura eletrônica, nasce devido ao crescente uso dos meios digitais para processar e transmitir informação, celebrar contratos, etc. Por isso, é indispensável poder verificar a autenticidade e integridade de um documento digital, já que eles são facilmente modificáveis e não é possível determinar com certeza o autor.

Há que ter noção de que não se tenta substituir o papel, é dizer, não vai ter mais peso legal um documento assinado com assinatura digital do que um assinado a mão em papel, simplesmente se quer dar mais segurança aos documentos que circulam pela internet.

Porém, o que se procura é:

Isto é, o objetivo principal é garantir o não repudio que consiste em que o receptor não possa rejeitar a mensagem recebida por duvidar da integridade tanto do documento quanto do seu autor.


Definição
Características
Tipos
Exemplo

1. Definição

Uma assinatura digital é o resultado da aplicação de um processo criptográfico extremadamente seguro a um documento digital de forma que possa ser atribuído ao seu autor e oferecer garantia de integridade.

O resultado de uma assinatura digital é uma seqüência de bits que se adiciona a uma peça de informação qualquer, e que permite garantir a sua autenticidade de forma independente do processo de transmissão, tantas vezes como se deseje.

.:. Voltar ao topo .:.

2. Características

Os requisitos que a assinatura digital deve cumprir são os seguintes:

Para levar a cabo a assinatura digital existem algoritmos como o DSA, que foi proposto pelo National Institute of Standards and Technology (NIST) e mais tarde estandardizado, que se pode combinar um algoritmo de cifrado, como, por exemplo, o RSA, com alguma das funções HASH já vistas: o MD5, o MD2, o SHA-1, etc.

O Algoritmo de Assinatura Digital (DSA) é proposto como standard em 1991. Este algoritmo é uma variante dos algoritmos de ElGamal e Schnoor e finalmente estandardiza-se em 1994, passando a chamar-se de Standard de Assinatura Digital (DSS).

No ano 1996 a administração dos Estados Unidos permite a exportação de Clipper 3.11, aonde vem imerso o DSS, que usa uma função hash de tipo SHS, Secure Hash Standard.

As normas TS 101 733 e TS 101 903 definem os formatos técnicos da assinatura eletrônica.

A primeira baseia-se no formato clássico PKCS#7 e a segunda em XMLDsig -assinatura XML- especificada pelo consorcio W3C.

.:. Voltar ao topo .:.

3. Tipos

Pode-se falar de assinatura digital simétrica ou assimétrica, segundo o tipo de criptografia usado.

A assinatura digital simétrica caracteriza-se por:

A assinatura digital assimétrica soluciona o problema de transmitir uma única chave. Neste caso há uma chave única e outra privada que são inversas e que ademais servem para autenticar a mensagem e ao emissor.

O problema que têm este tipo de cifrados é que são muito lentos, já que as mensagens podem ser muito grandes, tendo milhares ou milhões de bytes. É por isto que aparecem as funções hash ou funções resumo, as quais geram, como indica o seu nome, um resumo representativo da mensagem.

Baixo as normas que definem os formatos técnicos, podem-se ter três modalidades de assinatura:

.:. Voltar ao topo .:.

4. Exemplo

Aqui temos um exemplo de assinatura digital assimétrica utilizando funções hash.

Figura 6. Uso da Assinatura Digital.


O Thiago escreve uma mensagem ao Fabio, logo lhe aplica uma função hash e cifra o resumo obtido com a sua chave privada. Antes de enviar-lhe a mensagem ao Fabio, adiciona este resumo cifrado à sua mensagem. Isto será a assinatura digital, que autentica ao Thiago por ter feito o cifrado com a sua chave privada e garante a integridade do documento com a função hash.

Quando o Fabio recebe a mensagem, o que faz por um lado é voltar a gerar um resumo da mensagem que lhe chegou e pelo outro decifrar, com a chave pública do Thiago, a firma que ele lhe enviou.

Por último, compara as duas funções resumo, assim, se são iguais assegura-se de que a mensagem não tem sido modificada e de que foi o Thiago que enviou.

Há que destacar que a mensagem pode ir ou não cifrada, mas o que sempre irá cifrado é o resultado da função hash.

.:. Voltar ao topo .:.