Assinaturas digitais

        Um outro beneficio de criptografia com chave pública é que provê um método para empregar assinaturas digitais. Assinaturas digitais habilitam o receptor da informação verificar a autenticidade da origem da informação, e também verifica se a informação está intacta. Assim, assinaturas digitais com chave pública provêem autenticação e integridade de dados. Uma assinatura digital também provê não repúdio, o que significa que previne o emissor de reivindicar que ele ou ela não enviaram de fato a informação. Estas características são tão fundamentais para criptografia como privacidade, se não mais.

        Uma assinatura digital serve para o mesmo propósito que uma assinatura manuscrita. Porém, uma assinatura manuscrita é fácil falsificar. Uma assinatura digital é superior que uma assinatura manuscrita no sentido que é quase impossível falsificar, e mais, isto presta atenção aos conteúdos da informação como também para a identidade do signatário. Algumas pessoas tendem a usar assinaturas mais que eles usam encriptação. Por exemplo, você pode não se preocupar se qualquer um sabe que você há pouco depositou $1000 em sua conta, mas você quer ter certeza que era com o caixa de banco com quem você estava lidando.

        A maneira básica na qual são criadas assinaturas digitais é ilustrada na Figura 1-6. Em vez de encriptar informação usando a chave pública de outra pessoa, você encripta ela com sua chave privada. Se a informação pode ser desencriptada com sua chave pública, então ela pode ser verificada se foi originado de você.

fig1-6.gif (9198 bytes)

Figura 1-6. Assinatura digital simples

Hash functions

        O sistema descrito acima tem alguns problemas. É lento, e ele produz um volume enorme de dados—pelo menos dobra o tamanho da informação original. Uma melhoria no esquema acima é a adição do hash function no processo. Um hash function pega uma entrada de tamanho variável—neste caso, uma mensagem de qualquer tamanho, até mesmo milhares ou milhões de pedaços—e produz um produto de tamanho fixo; digamos, 160-bits. A hash function assegura que, se a informação é mudada de qualquer forma—até mesmo por só um bit—uma saída inteiramente diferente é produzida.

        PGP usa uma hash function com valor criptográfico forte nos dados originais que o usuário está assinando. Isto gera dados de tamanho fixo conhecido como message digest. (Novamente, qualquer mudança para a informação resulta em um message digest totalmente diferente.)

        Então PGP usa o message digest e a chave privada para criar a " assinatura ". PGP transmite a assinatura e os dados originais juntos. Após a recepção da mensagem, o receptor usa PGP para recomputar o message digest, verificando a assinatura assim. PGP pode encriptar os dados originais ou não; assinar os dados originais é útil se alguns dos receptores não estão interessados em ou não são capazes de verificar a assinatura.

        Contanto que uma hash function segura seja usada, não há nenhum modo para levar a assinatura de alguém de um documento e botar esta em outro, ou alterar uma mensagem assinada de qualquer forma. A mudança mais leve em um documento assinado fará com que o processo de verificação de assinatura digital falhe.


fig1-7.gif (9052 bytes)

Figura 1-7. Assinatura digital segura

        Assinaturas digitais representam um papel principal na autenticação e validação das chaves de outros usuários de PGP.


voltar

Principal

avançar