A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Assinaturas digitais.

Apresentações semelhantes


Apresentação em tema: "Assinaturas digitais."— Transcrição da apresentação:

1 Assinaturas digitais

2 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.

3 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.

4 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.

5 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).

6 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.

7 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) .

8 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.

9 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.

10 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.

11 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.

12 Assinatura digital com chaves assimétricas

13 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.

14 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.

15 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.

16 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).

17 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.

18 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.

19 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.

20 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.

21 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).

22 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.

23 SHA e RSA para assinatura de mensagens não secretas

24 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.

25 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.

26 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.

27 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.

28 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.

29 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.

30 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.

31 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.

32 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.

33 Assinando um documento
Inicialmente, crie um diretório com o seu nome. mkdir <seu nome> Entre em seu diretório. cd <seu nome>

34 Assinando um documento (2)
Gere a chave privada RSA de 2048 bits. openssl genrsa –out chave_seu_nome.prv Extraia a chave pública. openssl rsa –in chave_seu_nome.prv –pubout –out chave_seu_nome.pub

35 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

36 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

37 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


Carregar ppt "Assinaturas digitais."

Apresentações semelhantes


Anúncios Google