63
INF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional Prof. Ricardo Dahab IC-UNICAMP 14/12/2002

INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

  • Upload
    ledieu

  • View
    225

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

INF712 – Gerência de Segurança da Informação

Conceitos básicos de Criptografia ComputacionalProf. Ricardo Dahab

IC-UNICAMP14/12/2002

Page 2: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

2

Fontes principaisLivros

Cryptography and Network Security, Principles and Practice, de William Stallings.

Capítulo 1 do Handbook of Applied Cryptography, de Menezes, van Oorschot e Vanstone. (.ps, .pdf).

Page 3: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

3

Criptografia e mecanismos de segurança

Vários mecanismos são empregados para prover serviços de segurança.

Quase todos são baseados em ferramentas criptográficas:– Primitivas– Protocolos criptográficos de

vários níveis de complexidade.

Page 4: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

4

Qual criptografia? Clássica X Moderna

Convencional, simétrica ou de chave secreta

X Moderna, assimétrica

ou de chave pública

Page 5: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

5

Criptografia Convencional

Técnicas clássicas Técnicas modernas Algoritmos modernos Sigilo e autenticação com criptografia

convencional, ou simétrica.

Page 6: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

6

Criptografia Convencional O modelo convencional de ciframento

pressupõe a existência de uma chave previamente combinada entre as duas partes em comunicação.

Esse segredo autentica uma parte perante a outra.

Esse tipo de criptossistema, também chamado de simétrico ou de chave secreta, perdurou até meados da década de 70.

Page 7: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

7

Criptografia ConvencionalCategorias dos sistemas convencionais: Tipo de operação no texto claro:

substituição e/ou transposição. Interação entre chave e texto:

– blocos: divisão do texto em blocos e reaplicação do algoritmo em cada bloco;

– fluxo: texto é combinado com chave bit a bit.

Não confundir com esteganografia.

Page 8: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

8

Criptoanálise Descoberta total ou parcial da

chave e/ou texto claro por métodos sistemáticos.

Formas de ataque <T2.1> são classificadas de acordo com o nível de conhecimento a que o criptoanalista tem acesso.

Page 9: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

9

CriptoanáliseSegurança de um criptossistema:

– incondicional: poder computacional do criptoanalista é irrelevante;

– computacional: poder computacional é irrelevante na prática, num horizonte de tempo predizível;

– comprovada: poder computacional é irrelevante no presente mas nada se pode dizer do futuro.

Busca exaustiva <T2.2> é a opção “fácil”, na prática.

Page 10: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

10

Técnicas clássicas Substituição:

– Monoalfabética: um caractere por outro de acordo com uma tabela (chave). Ex: César. Mantém a freqüência relativa dos caracteres.

– Monogrupos: grupos de caracteres por outros grupos fixos de caracteres. Ex: Playfair, Hill.

– Polialfabética: monoalfabética variando ao longo <T2.4> do texto claro.

Page 11: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

11

Técnicas clássicas Transposição:

– Embaralhamento dos caracteres de acordo com alguma tabela (chave).

Causam um efeito de dispersão no texto claro.

Os métodos de substituição causam um efeito de confusão no texto.

Page 12: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

12

Técnicas clássicas Produtos: substituição e transposição. Máquinas com rotores

implementavam essa idéia. Algoritmos modernos refinaram e

multiplicaram o poder de tais máquinas, implementadas em computadores.

Page 13: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

13

Técnicas Modernas Técnicas clássicas são inseguras

porque não supunham a existência de computadores em mãos de criptoanalistas.

O primeiro método moderno foi proposto em meados da década de 70, o conhecido D.E.S.

Page 14: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

14

O D.E.S. D.E.S (Data Encryption Standard),

foi o método oficial do governo dos E.U.A. para ciframento de informação não “sensível”, até muito pouco tempo.

Ainda é muito usado em toda a Internet, em sua forma mais fortalecida, o 3-DES.

Page 15: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

15

O D.E.S. Processa blocos de texto de 64 bits cada

vez, sob a ação de uma chave de 56 bits, produzindo 64 bits de texto cifrado.

É composto de 16 rodadas de produtos de transposições e substituições, cada uma usando uma porção diferente da chave.

O efeito avalanche <T3.5> garante que qualquer mudança no texto claro ou chave cause mudança de metade do texto cifrado.

Page 16: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

16

O D.E.S. Critérios de projeto do D.E.S. não foram

totalmente revelados pelos desenvolvedores (originalmente um projeto da IBM).

Isso causou, por anos, desconfiança de que o algoritmo contivesse armadilhas secretas que permitiriam à comunidade de informação acesso a mensagens cifradas dos usuários.

Page 17: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

17

Cifras de blocoModos de operação <T3.6>: ECB (Electronic Codebook) CBC (Cipher Block Chaining) CFB (Cipher Feedback) OFB (Output Feedback)Cada um tem suas vantagens do ponto de

vista de propagação e recuperação de erros, localidade, etc.

Page 18: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

18

Outros algoritmos simétricos modernos

Triple D.E.S (3-DES)– Modo preferido de uso do D.E.S.– Pode ser usado com uma, duas ou

três chaves.– Só é efetivo porque o D.E.S. não é

um grupo algébrico. – Passível de ataques quando duas

chaves são usadas.

Page 19: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

19

O mundo pós-D.E.S. IDEA (International Data Encryption

Algortihm) Blowfish, RC-5, um sem-número de

outros... ...e o novo padrão A.E.S. (Advanced

Encrytpion Standard), resultado de um concurso público de 4 anos.

Page 20: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

20

Usando ciframento simétrico

Pontos de vulnerabilidade são muitos. Há duas possibilidades de inserção

das funções de ciframento numa rede: nos links ou nas pontas.

Diferentes características <T5.1>. Veja detalhes de um exemplo usando

uma aplicação típica de e-mail. Veja os detalhes nos pacotes.

Page 21: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

21

Distribuição de chaves O problema de distribuir e gerenciar

chaves criptográficas num ambiente de rede não é trivial.

É necessária uma hierarquização do processo.

Veja um protocolo centralizado de distribuição de chaves.

E agora um protocolo descentralizado.

Page 22: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

22

Criptografia de chave pública

Tópicos: Conceitos básicos e exemplos. A matemática necessária. Autenticação e o papel das funções

de resumo (hashing) criptográfico. Algoritmos de resumo criptográfico. Assinaturas digitais.

Page 23: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

23

Criptografia de chave pública - conceitos básicos -

Criptografia simétrica não resolve um problema básico: o estabelecimento seguro da chave secreta entre as duas partes comunicantes.

Outra deficiência desses sistemas é a incapacidade das partes de demonstrar a autoria de uma mensagem a uma terceira parte. Um mecanismo equivalente a assinaturas poderia suprir essa deficiência.

Page 24: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

24

Criptografia de chave pública - conceitos básicos -

A criptografia de chave pública tem resposta a esses dois problemas.

Os princípios básicos dessa tecnologia foram propostos em meados da década de 70 por Whitfield Diffie e Martin Hellman no artigo “New directions in Cryptography”, que tornou-se um marco na história da criptografia moderna.

Page 25: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

25

Contribuições de Diffie e Hellman

Um método para estabelecimento de uma chave secreta usando um canal inseguro.

A idéia de que poderiam existir sistemas criptográficos onde cada parte A teria duas chaves distintas: uma pública, para ciframento de mensagens para A; outra, privada, de conhecimento exclusivo de A, para deciframento de tais mensagens.

Page 26: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

26

Criptossistemas de chave pública

A primeira idéia ficou conhecida como método Diffie-Hellman para troca de chaves. Veremos detalhes adiante.

A segunda idéia só se materializou como um criptossistema de fato alguns meses depois.

O conhecido RSA foi o primeiro desses sistemas.

Page 27: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

27

Criptossistemas de chave pública

Para que um sistema de chave pública seja efetivo, é necessário que:– a função de ciframento seja difícil

de inverter;– seja muito difícil descobrir a

chave privada, apesar do conhecimento da chave pública.

Page 28: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

28

Sistemas de chave pública x chave secreta

Sistemas de chave pública são chamados de assimétricos, já que o “dono” do par de chaves sendo usadas numa comunicação tem controle da situação.

Sistemas assimétricos poderiam substituir completamente sistemas simétricos, não fosse por dois aspectos importantes: eficiência e obtenção segura da chave pública.

Page 29: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

29

Sistemas de chave pública x chave secreta

Na prática, sistemas de chave pública são usados para estabelecer chaves secretas de um sistema simétrico.

Isso combina a flexibilidade dos sistemas assimétricos com a eficiência dos sistemas simétricos.

Veja outras diferenças (Tab. 6.1)

Page 30: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

30

Assinaturas Digitais Talvez a contribuição mais surpreendente das

idéias de Diffie-Hellman seja a possibilidade de se fazer assinaturas digitais.

A posse da chave privada por apenas uma pessoa, seu “dono”, também o identifica unicamente; p. ex., se for possível demonstrar que a confecção de uma mensagem exigiu o uso da chave privada, temos o efeito de uma assinatura digital sobre aquela mensagem.

Essa demonstração é feita utilizando-se a chave pública, que é a “face” pública da chave privada.

Page 31: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

31

Um exemplo - O R.S.A. Proposto por R. Rivest, A. Shamir e

L. Adleman em 1977, foi o primeiro criptossistema de chave pública e permanece até hoje o mais popular.

Baseia sua força na dificuldade de se encontrar a fatoração de números inteiros muito grandes.

Aqui está o RSA e um exemplo.

Page 32: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

32

O R.S.A. - implementaçãoCiframento e deciframento: para garantir um nível razoável de

segurança, os primos p e q devem ter cerca de 300 a 400 dígitos decimais.

Operações de exponenciação e mod são eficientes. Veja um algoritmo de exponenciação modular rápido.

Page 33: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

33

O R.S.A. - implementaçãoGeração de chaves: Algoritmos para geração de números

primos são probabilísticos já que, às vezes, mentem. Mas é possível determinar se um dado número é primo ou não com boa dose de certeza.

Inversos multiplicativos modulares são cálculáveis eficientemente, usando o algoritmo estendido de Euclides.

Page 34: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

34

O R.S.A. - segurança A segurança do R.S.A. baseia-se no fato

de que inverter a funçãoC = Me mod n,

isto é, dados C, e, n, obter M é uma tarefa computacionalmente difícil quando n tem 300 ou mais dígitos.

Não é difícil verificar que se o cripto- analista conhecer os números p, q, então é fácil obter d e portanto M facilmente.

Page 35: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

35

O R.S.A. - segurança Assim, a “força” do RSA reside também num

segundo pilar: é difícil obter os primos p, q a partir de n, isto é, a fatoração de n, quando n tem 300 dígitos ou mais.

Os melhores algoritmos para fatoração vêm melhorando seu desempenho (Tab 6.3). Já se fala que 300 dígitos é pouco e há quem advogue o uso de 600 dígitos para se ter um horizonte razoável de segurança.

Page 36: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

36

O R.S.A. - segurança É possível pensar em formas

alternativas de ataques, isto é, tentar descobrir a chave privada d por outros meios.

Veja, por exemplo, que, dado o valor de (n), então é fácil descobrir o valor da chave d.

Page 37: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

37

O R.S.A. - segurança Por outro lado, é possível demonstrar

matematicamente que as seguintes três possibilidades são equivalentes; isto é, dada uma é possível realizar as outras duas:– Encontrar a fatoração de n.– Encontrar o valor de (n).– Encontrar o valor da chave d.

Mas, descobrir M a partir de C, e, n, pode ser mais fácil. Ninguém sabe dizer...

Page 38: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

38

Autenticidade de chaves públicas.

Se, por um lado, chaves públicas são fáceis de obter, são também fáceis de manipular e fraudar.

É muito importante que o remetente de uma mensagem tenha certeza da identidade do destinatário e de que uma chave pública seja de fato daquele destinatário. Caso contrário...

Page 39: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

39

Autenticidade de chaves públicas

Há várias formas de se vincular a identidade de uma entidade a uma chave pública:– “Broadcast” individual de chaves.– Disponibilização em diretórios

públicos. – Autoridades de distribuição de chaves.– Certificados e autoridades

certificadoras.

Page 40: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

40

Estabelecimento de chaves secretas

Como já vimos, é possível estabelecer uma chave secreta entre duas partes usando chaves públicas.

Eis outro protocolo, um pouco mais elaborado.

Há porém, a idéia original de Diffie e Hellman que dispensa o uso de chaves públicas.

Page 41: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

41

O método Diffie-Hellman Baseia-se na dificuldade de se

inverter uma outra função, similar à do R.S.A. Dados um primo p e números x e y para os quais existe k tal que

y = xk mod p, descubra o valor do inteiro k. É o problema do logaritmo discreto.

Page 42: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

42

O método Diffie-Hellman Suponha a existência de parâmetros públicos p e

g. Entidade A(lice), escolhe um aleatório a e envia

MA = ga mod p para a entidade B(eto). Beto faz o mesmo e envia para Alice

MB = gb mod p. Alice calcula

(MB)a mod p = gba mod p. Beto calcula (MA)b mod p = gab mod p.

Page 43: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

43

O método Diffie-Hellman É seguro mas passível de um

ataque de um intermediário. Há técnicas para evitar esse

ataque.

Page 44: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

44

Outros métodos de chave pública

Curvas elípticas são o maior concorrente do R.S.A. atualmente.

Maior vantagem está no tamanho reduzido dos parâmetros para o mesmo nível de segurança, quando comparado (Tab. 6.5) com o R.S.A.

Page 45: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

45

Autenticação e Hashing

Tópicos: A necessidade de autenticação Funções para provimento de autenticação:

– Ciframento– Códigos de autenticação (MACs e MDCs)– Assinaturas digitais.– Funções de hashing com propriedades

criptográficas.

Page 46: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

46

A necessidade de autenticação

Autenticação (da origem e do conteúdo) de mensagens é um conjunto de técnicas fundamentais para proteção contra:– personificação da autoria de uma mensagem– modificação acidental ou não de uma

mensagem– modificação na ordem de uma seqüência de

mensagens– atraso ou re-envio de mensagens– repúdio da autoria de uma mensagem

Page 47: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

47

Técnicas para autenticação São quatro as técnicas criptográficas

empregadas em autenticação:– Ciframento– MACs (Message Authentication Codes)– MDCs (Manipulation Detection Codes)– Assinaturas Digitais

Assinaturas digitais são as únicas que provêem proteção contra repúdio de autoria. Veremos essas técnicas a seguir.

Page 48: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

48

Autenticação com ciframento Ciframento simétrico (Fig. 8.1 (a)) provê

autenticação mútua de duas partes em comunicação, desde que se saiba o que se espera do resultado de um deciframento.

De qualquer forma, sabendo ou não, é útil adicionar um controle de erros às mensagens cifradas. Além da detecção de erros, essa técnica verifica o deciframento correto de mensagens sem redundância.

Page 49: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

49

Autenticação com MACs Um MAC (Message Authentication Code) de

uma mensagem M é o resultado do cálculo de uma função de mão única Ck (M), onde M é a mensagem em questão e k é uma informação secreta, conhecida somente pelas duas partes em comunicação.

Uma parte envia M e seu MAC. A outra parte recalcula o MAC e aceita M se o valor obtido é igual ao MAC recebido. Veja Fig. 8.4 (a).

Page 50: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

50

Autenticação com MACs Exceto pelo fato de que a mensagem passa

em claro, a técnica de MACs é parecida com a de ciframento simétrico, para esse fim.

De fato, é possível usar uma função de ciframento no papel de Ck( ). Na prática, usa-se uma função de hash com propriedades criptográficas; a forma de combinar M e k segue a RFC 2104 e a função resultante é chamada de HMAC. Discutiremos tais funções mais adiante.

Page 51: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

51

Autenticação com MDCs Um MDC (Manipulation Detection Code) de

uma mensagem M é o resultado do cálculo de uma função de mão única C (M), onde M é a mensagem em questão.

Uma parte envia M e seu MDC. A outra parte recalcula o MDC e aceita M se o valor obtido é igual ao MDC recebido. Veja Fig. 8.5 (a).

Veja que, além de ser de mão única, a função C( ) deve ser resistente a colisões. Esses dois são atributos de funções de hash, ou resumo criptográfico.

Page 52: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

52

Autenticação com MDCs A técnica vista na transparência

anterior não provê autenticação mútua, já que qualquer terceira parte pode produzir o MDC de uma mensagem.

Há outros usos de funções de resumo criptográfico ilustrados em Fig. 8.5a-c e Fig. 8.5c-d e explicados na Tab. 8.3 de cada uma.

Page 53: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

53

Funções de resumo (hash) criptográfico

Têm propriedades interessantes do ponto de vista criptográfico:– podem ser aplicadas a mensagens de

qualquer tamanho;– a saída é uma cadeia de tamanho fixo;– h(M) é fácil de calcular e muito difícil

de inverter;– tem resistência a colisões, forte e

fraca.

Page 54: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

54

Funções de resumo criptográfico populares

Três funções de maior popularidade:– MD5 (RFC 1321): desenvolvida por Ron

Rivest (do RSA). Produz uma saída de tamanho fixo, de 128 bits, a partir de entradas de tamanho arbitrário. Em declínio.

– SHA-1 (FIPS PUB 180-1): desenvolvida pelo NIST. Produz saídas de 160 bits a partir de entradas de tamanho arbitrário. Em uso crescente.

– RIPEMD-160: projeto europeu, saída de 160 bits, pouco usada entre nós.

Page 55: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

55

HMACs Como já dissemos, a RFC 2104

especifica uma forma de combinar mensagem (M) e chave (k) para produzir um MAC.

Veja a estrutura de um HMAC. Veja uma implementação eficiente

de um HMAC.

Page 56: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

56

Assinaturas digitais São, ao mesmo tempo, similares e

diferentes das assinaturas usuais:– Devem revelar, sem engano, o autor,

data e hora da assinatura;– devem autenticar o conteúdo do que foi

assinado, no momento da assinatura;– devem ser verificáveis,

independentemente, por terceiras partes, sem cooperação do autor.

Page 57: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

57

Assinaturas digitais Traduzindo em características concretas:

– Deve ser uma cadeia de bits que depende do que está sendo assinado;

– deve usar alguma informação unicamente associável ao autor;

– deve ser fácil de produzir;– deve ser fácil de reconhecer e verificar;– deve ser computacionalmente difícil de

forjar;– deve ser facilmente armazenável.

Page 58: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

58

Assinaturas digitais Há dois esquemas básicos:

– Sem arbitragem: Somente o emitente e destinatário de uma assinatura são suficientes para verificar assinaturas e resolver conflitos.

– Com arbitragem: Um árbitro confiável pode ser usado, para aumentar a robustez do esquema não-arbitrado.

Page 59: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

59

Assinaturas digitais Sem arbitragem

– Baseadas em criptografia assimétrica.

– Esquema básico é o da Fig. 8.1(c) ou sua versão mais eficiente, da Fig. 8.5(c)

– Ambos esquemas dependem da segurança da chave privada do autor da assinatura: seu sigilo, integridade e validação temporal.

Page 60: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

60

Assinaturas digitais Com arbitragem

– Baseadas em criptografia simétrica ou assimétrica.

– A idéia geral é que o árbitro “abençoe” cada assinatura produzida, emprestando sua credibilidade ao esquema.

– Veja exemplos (Tab. 10.1).

Page 61: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

61

Algoritmos para assinaturas digitais

Os algoritmos mais usados em esquemas de assinaturas digitais são o RSA e o DSS (Digital Signature Standard), baseado no método de ElGamal, que por sua vez é baseado no problema do logaritmo discreto.

Page 62: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

62

Algoritmos para assinaturas digitais

O paradigma do RSA é diferente daquele do DSS.

O DSS não possui a propriedade comutativa do RSA: se PA, RA são as chaves pública e privada de A, então

D(RA, E(x, PA)) = E(PA, D(x, RA)), onde E e D são os algoritmos para

ciframento e deciframento do RSA.

Page 63: INF541 - Criptografiardahab/cursos/mp202/Welcome_files/aula1-3.pptPPT file · Web viewINF712 – Gerência de Segurança da Informação Conceitos básicos de Criptografia Computacional

14/12/2002 INF712 - Gerência de Segurança da Informação

63

Algoritmos para assinaturas digitais

Essa propriedade possibilita um esquema de assinatura como o ilustrado na Fig. 10.1(a).

Em contraste, o DSS necessita de um esquema mais complicado. Veja primeiro a Fig. 10.1(b). Após seguir em aula a descrição completa do método, desde a escolha de chaves até a confecção e verificação de uma assinatura, veja então um resumo do DSS na Fig. 10.3.