assinaturas digitais. introdução a autenticidade de muitos documentos legais é determinada pela...

37
Assinaturas digitais

Upload: internet

Post on 21-Apr-2015

108 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Assinaturas digitais

Page 2: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Introdução

• A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada.

• Tornou-se necessário encontrar um método que permita assinar documentos eletrônicos, garantindo sua autenticidade.

• 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 criando um hash da mensagem a ser

assinada e criptografando-a com a chave do criador.

Page 3: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Requisitos

a) Que o receptor consiga verificar a identidade alegada pelo transmissor.b) Que o transmissor não consiga posteriormente, repudiar o conteúdo da mensagem.c) O receptor não tenha a possibilidade de inventar, ele mesmo, a mensagem.

Page 4: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Exemplo

• Suponha que o computador de um cliente solicite ao de um banco, que compre uma tonelada de ouro.

a) O banco precisa autenticar o cliente garantindo que o computador que fez a requisição pertence de fato à empresa que será debitada.b) Suponha que logo a seguir, o preço do ouro caia bruscamente. Um cliente desonesto poderia afirmar que não foi ele quem fez a requisição. (repúdio).c) Suponha agora, que o preço do ouro dispare e o banco afirme que o cliente solicitou a compra de uma barra de ouro ao invés de uma tonelada.

Page 5: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Assinatura digital com uso da criptografia de chave simétrica

• Uma estratégia é ter uma Autoridade Central: Uma instituição em que todos confiem.

• Cada usuário escolhe uma chave secreta e a leva pessoalmente ao escritório da Autoridade Central.

• Somente o próprio usuário e a Autoridade Central conhecem cada chave.

• Exemplos de notações:– KA (chave de Alice).

– KAC (chave da Autoridade Central).

Page 6: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Procedimento (1)

• Quando deseja enviar uma mensagem assinada para Bob, Alice gera KA (B, RA, t, P), onde:– B é a identidade de Bob.– RA é um número aleatório escolhido por Alice.– t é um registro de tempo para garantir a

atualidade da mensagem.– KA (B, RA, t, P) é a mensagem criptografada com a

chave de Alice.

Page 7: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Procedimento (2)

• Alice envia a mensagem para a Autoridade Central que a descriptografa comprovando que ela partiu de Alice.

• A Autoridade Central envia a mensagem para Bob.– A mensagem contém o texto claro e a mensagem assinada.– KAC KA (B, RA, t, P) .

Page 8: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Registro de tempo

• Trudy pode repetir uma das mensagens que Alice enviou para a AC.

• Todas as mensagens recebidas são verificadas para ver se RA (o número aleatório) foi usada em alguma delas.

Page 9: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Assinatura digital com uso da criptografia de chave assimétrica

• Problemas estruturais devido ao uso de chave simétrica para assinatura digital:– Todos tem de confiar na autoridade central.– A AC tem de ler todas as mensagens assinadas.

• O ideal seria se o ato da assinatura digital não exigisse a presença de uma autoridade confiável.

Page 10: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Propriedades desejáveis

• D (E(P)) = P• E (D(P)) = P• O RSA tem essas propriedades.

• Logo, Alice pode enviar uma mensagem de texto claro assinada, P, para Bob transmitindo EB (DA (P)).

• Isso é possível porque:– Alice conhece a sua própria chave privada.– Alice conhece a chave pública de Bob.

Page 11: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Procedimentos

• Ao receber a mensagem, Bob a transforma usando sua chave privada e produz DA (P).

• Ele guarda esse texto em local seguro e depois aplica EA para obter o texto claro original.

Page 12: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Assinatura digital com chaves assimétricas

Page 13: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Não repúdio

• Alice nega ter enviado a mensagem.– AC somente aceita uma mensagem se ela tiver sido

criptografada com a chave do usuário, no caso Alice, que lhe foi entregue pela própria.• KA.

– Não há possibilidade de Trudy ter enviado a mensagem a AC sem que esta tivesse percebido.• Bob possui a prova : KAC

(A, t, P).• A AC pode descriptografar a mensagem comprovando que esta foi

enviada por Alice.• Um juiz poderá confirmar que Bob, de fato, possui uma mensagem

válida criptografada por DA simplesmente aplicando EA à mensagem.

Page 14: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Considerações ao não repúdio

• Bob só poderá provar que a mensagem de fato partiu de Alice, enquanto DA permanecer secreta.– Se Alice revelar sua chave secreta, o argumento

deixará de existir, pois qualquer um poderia ter enviado a mensagem, inclusive Bob.

Page 15: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Sumário de mensagens

• Uma crítica aos métodos de assinatura digital é que eles frequentemente reúnem duas funções distintas: – Autenticação.– Sigilo.– Consome muito processamento pois exige que a

mensagem inteira seja encriptada.• Em geral, a autenticação é necessária, mas o sigilo

não.• Veremos agora um esquema de autenticação que

não exige a criptografia da mensagem inteira.

Page 16: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Função de Hash

• Esse esquema se baseia na ideia de uma função de hash.

• A função extrai um trecho qualquer do texto claro e a partir dele calcula uma sequência de bits relacionada de tamanho fixo.– MD (Message Digest).

Page 17: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Propriedades

• Se P for fornecido, o cálculo de MD(P) será muito fácil.

• Se MD(P) for fornecido, será efetivamente impossível achar P.

• Uma mudança na entrada de um único bit produz uma saída totalmente diferente.

Page 18: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Vantagem

• Calcular um sumário da mensagem a partir de um trecho do texto claro é muito mais rápido.

• Os hashes são usados, entre outras finalidades, para agilizar os algoritmos de assinatura digital.

Page 19: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Procedimentos gerais

• O assinante gera um resumo criptográfico da mensagem.

• O assinante cifra o resumo com sua chave privada.

• Este resumo criptográfico cifrado é a assinatura digital que deve ser encaminhada a Autoridade Central ou ao destinatário junto com a mensagem.

Page 20: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Verificando a assinatura

• Utilizando a chave pública do remetente, o destinatário decifra a assinatura, obtendo o resumo.

• Como o destinatário tem a mensagem, ele gera novamente, de maneira independente, o resumo criptográfico da mensagem.

• O destinatário compara os resumos obtidos:– Se ambos forem iguais, a assinatura é válida.

Page 21: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Assinatura digital utilizando sumário de mensagens

• Ao invés de assinar P com KAC (A, t, P), agora AC calcula o sumário da mensagem aplicando MD a P, produzindo MD(P).

• Em seguida, A AC inclui KCA (A, t, MD(P)) como o quinto item da lista enviada a Bob, ao invés de KAC (A, t, P).

Page 22: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

SHA-1 e SHA-2

• Diversas funções para sumários foram propostas.• Uma das mais utilizadas é a SHA-1 (Secure Hash

Algorithm), NIST, 1993.– Trata os bits do sumário de forma que cada bit de

saída seja afetado por cada um dos bits da entrada.• Desenvolvido pela NSA e ratificado pelo NIST.• Processa blocos de 512 bits e gera um sumário

de 160 bits.

Page 23: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

SHA e RSA para assinatura de mensagens não secretas

Page 24: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

MD5

• Outro sumário muito popular.• Rivest, 1992.• Após uma década de uso, os pontos fracos no

MD5 tem aumentado a probabilidade de encontrar duas mensagens com o mesmo hash.– 263 mensagens para encontrar uma que

combinasse com o hash da mensagem interceptada.

Page 25: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Padrão de Assinatura Digital

• Em 1991, o Nacional Institute of Standards and Technology (NIST) publicou o Federal Information Processing Standard (FIPS 186), conhecido como padrão de assinatura digital (DSS).– O NIST propôs a utilização de uma variante do

algoritmo El Gamal como o seu novo padrão para assinaturas digitais.• O El Gamal não utiliza a fatoração de números extensos

e sim a dificuldade de calcular logaritmos discretos.

Page 26: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Padrão de Assinatura Digital (DSS)

• O DSS utiliza um algoritmo que foi projetado apenas para assinaturas digitais.– Ele não pode ser usado para criptografia ou para

troca de chaves.– Apesar disso, é uma técnica de chave pública.

Page 27: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Diferenças entre o RSA e o DSS

• RSA (emissor).– A mensagem a ser assinada é inserida em uma

função de hash que produz um código de hash seguro, de tamanho fixo.

– Esse código é, então, criptografado usando a chave privada do emissor para formar a assinatura.

– Tanto a mensagem, quanto a assinatura são então transmitidas.

Page 28: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Diferenças entre o RSA e o DSS

• RSA (receptor).– O destinatário pega a mensagem e produz um

código de hash.– O destinatário também assina, usando a chave

pública do emissor.– Se as saídas combinarem, a assinatura é aceita

como válida.• Como somente o emissor conhece a chave privada,

somente ele poderia ter produzido uma assinatura válida.

Page 29: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Diferenças entre o RSA e o DSS

• DSS (emissor).– A técnica do DSS também usa uma função de hash.– O código de hash é fornecido como entrada para uma função

de assinatura, com um número aleatório k, gerado para essa assinatura em particular.

– A função de assinatura também depende da chave privada do emissor (Pra) e de um conjunto de parâmetros conhecidos por ambos os lados.• Podemos considerar esse conjunto como uma chave pública global

(Pug).

– O resultado é uma assinatura que consiste em dois componentes rotulados como s e r.

Page 30: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Diferenças entre o RSA e o DSS

• DSS (receptor).– Na ponta receptora, o código de hash da

mensagem que chega é gerado.– A saída, junto com a assinatura é inserida em uma

função de verificação.• A função de verificação também depende da chave

pública global, além da chave pública do emissor.– Correspondente da chave privada do emissor.

Page 31: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Resumo da aula

• A assinatura digital é um método que se assemelha as assinaturas feitas em papel.

• Gera uma prova de quem é o autor da mensagem.

• Provê também:– Autenticidade.– Integridade.– Irretratabilidade.

Page 32: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Resumo da aula (2)

• Pode fazer uso de duas chaves (criptografia assimétrica).

• Pode fazer uso também, da função resumo ou de hash.– O método consiste em gerar o resumo da

mensagem e cifra-lo com a chave privada do emissor.

– Para a verificação de uma assinatura digital, o receptor refaz o hash e cifra-o com a chave pública do emissor. As saídas tem de ser iguais.

Page 33: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Assinando um documento

• Inicialmente, crie um diretório com o seu nome.

mkdir <seu nome>

• Entre em seu diretório.cd <seu nome>

Page 34: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Assinando um documento (2)

• Gere a chave privada RSA de 2048 bits.openssl genrsa –out chave_seu_nome.prv 2048

• Extraia a chave pública.openssl rsa –in chave_seu_nome.prv –pubout –out chave_seu_nome.pub

Page 35: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Assinando um documento (3)

• Crie um arquivo de texto com uma mensagem qualquer.echo “Mensagem desejada” > mensagem_seu_nome.txt

• Agora, gere um resumo SHA-1 do arquivo texto.

openssl dgst –sha1 –out hash_seu_nome.txt mensagem_seu_nome

Page 36: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Assinando um documento (4)

• Assine o hash com a chave privada.

openssl rsautl –sign –in hash_seu_nome.txt –inkey chave_seu_nome.prv –out assinatura_seu_nome

• Entregue os arquivos abaixo para o aluno ao seu lado.– mensagem_seu_nome.txt, – assinatura_seu_nome – chave_seu_nome.pub

Page 37: Assinaturas digitais. Introdução A autenticidade de muitos documentos legais é determinada pela presença da assinatura manual autorizada. Tornou-se necessário

Verificando a assinatura

• Desencripte a assinatura do aluno ao seu lado utilizando a chave pública dele.

openssl rsautl –verify –pubin –inkey chave_aluno_ao_seu_lado.pub –in

assinatura_aluno_ao_seu_lado

• Na tela será exibido o hash SHA-1 decifrado

• Gere o hash SHA-1 e verifique se são iguais.openssl dgst –sha1 mensagem_aluno_ao_seu_lado.txt