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

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

Criptografia e Segurança em redes capítulo 11

Apresentações semelhantes


Apresentação em tema: "Criptografia e Segurança em redes capítulo 11"— Transcrição da apresentação:

1 Criptografia e Segurança em redes capítulo 11
Quarta Edição por William Stallings Apresentação por Lawrie Brown e Fábio Borges Apresentação por Lawrie Brown e Fábio Borges do livro "Criptografia e Segurança em Redes", 4ª. edição, de William Stallings, Capítulo 11 – “Autenticação de Mensagem e Funções de Hash”. 1

2 Capítulo 11 – Autenticação de Mensagem e Funções de Hash
No domingo, ele apanhou a mensagem de dentro da coluna e acrescentou o nome de Peter Moran aos dois nomes já impressos no código ‘ Brontossauro’. A mensagem agora era: “Leviathan para Dragon: Martin Hillman, Trevor Allan, Peter Moran: observem e sigam de perto.” Qual foi a vantagem disso, John não sabia. Ele se sentiu melhor, achando que, enfim, atacou Peter Moran em vez de esperar passivamente sem qualquer retaliação. Além disso, qual é a vantagem de estar de posse da chave do código se ele nunca tirar proveito disso ? —Talking to Strange Men, Ruth Rendell Citação de abertura. 2

3 Autenticação de Mensagem
Autenticação de mensagem está preocupada com : Proteger a integridade da mensagem Validar a identidade do autor Não repúdio de origem (resolução de disputa)‏ Analisar os requisitos de segurança São usadas três funções como alternativas Criptografia de mensagem Código de autenticação de mensagem (MAC)‏ Função de hash Até agora, têm se preocupado com a proteção dos conteúdos das mensagem (isto é segredo) por criptografar a mensagem. Consideraremos agora como proteger a integridade de mensagem (isto é proteção da modificação), bem como confirmação da individualidade do remetente. Geralmente isto é o problema da autenticação de mensagem, e em aplicações comercio eletrônico é indiscutivelmente mais importante do que o segredo. A Autenticação de Mensagem está preocupada com: a proteção da integridade de uma mensagem, validando a individualidade do criador, & não-repúdio da origem (discutem a resolução). Há três tipos de funções que podem ser usadas para produzir um autenticador: encriptação de mensagem, código de autenticação de mensagem (MAC), ou função de hash. 3

4 Requisitos de Segurança
Divulgação Análise de tráfego Mascaramento Modificação de conteúdo Modificação de sequência Modificação de tempo Retratação da origem Retratação do destino No contexto de comunicações através de uma rede, os ataques enumerados em cima podem ser identificados. Duas primeiras exigências pertencem ao campo da confidencialidade de mensagem, e são tratadas usando as técnicas de encriptação já discutidas. As exigências restantes pertencem ao campo da autenticação de mensagem. No centro está a questão da asseguração que uma mensagem vem da fonte pretensa e não foi alterada. O uso de uma assinatura digital também pode tratar questões do repúdio pela fonte. 4

5 Encriptação de Mensagem
Encriptação de mensagem por ela mesma também fornece uma medida de autenticação Se é usada encriptação simétrica então: O receptor sabe que o remetente deve tê-lo criado; Uma vez que apenas o remetente e o destinatário usou a chave no momento; Saber que o conteúdo não foi alterado; Se a mensagem tem a estrutura adequada,redundância ou um teste pra detectar eventuais alterações. A encriptação de mensagem por si mesmo pode fornecer uma medida da autenticação. Aqui, o criptograma da mensagem inteira serve do seu autenticador, na base que só aqueles que conhecem as chaves apropriadas podem ter encriptado validamente a mensagem. Isto é fornecido você pode reconhecer uma mensagem válida (isto é se a mensagem tiver a estrutura conveniente, tal como redundância ou uma soma de verificação para descobrir alguma modificação). 5

6 Encriptação de Mensagem
Se chave pública de encriptção é usada: Encriptação não fornece confiança ao rementente Desde que ninguém sabe o potencial das chaves públicas. No entanto se: as mensagens assinadas pelo rementente usam suas chaves privadas Em seguida criptografa com chave pública os destinatários Tem ambos segredo e autenticação Novamente precisa reconhecer mensagens corrompidas Mas ao custo de usar 2 chaves públicas da mensagem Com as técnicas de chaves públicas, pode se iniciar uma assinatura digital criada somente pelos proprietários das chaves. Porém há o custo de duas operações de chave pública em cada extremidade da mensagem. 6

7 Código de Autenticação de Mensagem (MAC)‏
Geradas por um algoritmo que cria um pequeno bloco de tamanho fixo Depende de ambos mensagem e de alguma chave Como encriptação não precisa ser reversível Anexado a mensagem como uma assinatura Receptor executa mesmo cálculo da mensagem e verifica se corresponde ao MAC Garante que a mensagem está inalterada e veio do remetente Uma técnica de autenticação alternativa implica o uso de uma chave secreta para gerar um pequeno bloco de tamanho fixo de dados, conhecidos como uma soma de controle criptográfica ou MAC que é acrescentado à mensagem. Esta técnica supõe que duas partes se comunicam, digamos A e B, compartilhem uma chave secreta comum K. Uma função de MAC é semelhante à encriptação, exceto que o algoritmo MAC não tem de ser reversível, como ele deve ser para a decifração. 7

8 Código de Autenticação de Mensagem
Stallings Figura 11.4a “Autenticação de mensagem” mostra o uso de um agoritmo MAC apenas para autenticação. 8

9 Código de Autenticação de Mensagem
Como mostrado o MAC fornece autenticação Pode também usar encriptação por segredo Geralmente usam chaves distintas para cada um Pode calcular MAC, antes ou depois da criptografia É geralmente considerado melhor se feito antes Por que usar o MAC? Ás vezes somente a  autenticação é necessária Ás vezes precisa autenticar para continuar maior do que a encriptação (uso de arquivos). Veja que um MAC não é uma assinatura digital Pode combinar o uso de MAC com a encriptação de vários modos de fornecer ambas as autenticações e segredo. Use MAC em circunstâncias onde somente a autenticação é necessária (ou tem de ser guardado), ver o texto de exemplos. Um MAC não é uma assinatura digital desde que tanto o remetente e o receptor compartilham a chave como podem criá-la. 9

10 Propriedades do MAC É uma função muitos para um
Um MAC é uma “soma de verificação” criptográfica MAC = CK(M)‏ Condensa uma mensagem de comprimento variável M Usando uma chave secreta K Para um autenticador de tamanho fixo É uma função muitos para um Potencialmente muitas mensagens tem o mesmo MAC Mas achar essa necessidade pode ser muito difícil Um MAC, também conhecido como uma soma de verificação criptográfica, é gerado por uma função C. O MAC é acrescentado à mensagem na fonte no momento em que a mensagem é assumida ou conhecida ser correta. O receptor autentica aquela mensagem recalculando o MAC. A função de MAC é uma função "muitos para um", desde que potencialmente muitas mensagens arbitrariamente longas podem ser condensadas ao mesmo valor sumário, mas encontrá-las não são fáceis! 10

11 Requisitos para MACs Tendo em conta os tipos de ataques
O MAC precisa satisfazer o seguinte: Sabendo uma mensagem e o MAC, é impossível de encontrar outra mensagem com o mesmo MAC MACs deveriam ser uniformente distribuídos MAC deve depender igualmente sobre todos os bits da mensagem Na avaliação da segurança de uma função de MAC, temos de considerar os tipos de ataques que podem ser montados contra ele. Daqui ele tem de satisfazer as exigências enumeradas. A primeira exigência trata com ataques de substituição de mensagem, nos quais um oponente é capaz de construir uma nova mensagem para combinar com um MAC dado, embora o oponente não conheça e não aprenda a chave. A segunda exigência trata com a necessidade de frustrar um ataque de força bruta baseado em mensagem escolhido. A exigência final dita que o algoritmo de autenticação não deve ser mais fraco com respeito a certas partes ou os bits da mensagem do que outros 11

12 Usando Cifras Simétricas para MACs
Pode usar qualquer modo de encadeamento de cifra de bloco e usar o bloco final como um MAC Algoritmo de Autenticação de Dados (DAA) é um método muito usado pelo MAC baseado em DES-CBC Usando VI=0 e preenchimento de zeros ao final do bloco Encripta a mensagem usando DES no modo CBC E envia só o final do bloco como o MAC. Ou o bit M mais a esquerda (16≤M≤64) do final do bloco Mas agora o final do MAC também é pequeno para segurança Também pode usar modos de encadeamento de cifra de bloco para criar um autenticador separado, enviando somente o último bloco. Isto foi feito com o Algoritmo de Autenticação de Dados (DAA), é um método muito usado pelo MAC baseado em DES-CBC (próximo slide). Contudo, este método não é tão aceitável hoje. 12

13 Algoritmo de Autenticação de Dados
Stallings Figure 11.6 “Data Authentication Algorithm”, illustrates the FIPS PUB 113 / ANSI X9.17 MAC basedo no DES-CBC no VI=0 e com preenchimento de 0 no final do bloco se necessário. Resultando MAC entre bits ao final do bloco. Mas este método é pequeno demais para segurança. 13

14 Funções de hash Condensa variavelmente a mensagem para tamanho fixo
h = H(M) Normalmente assume que a função de hash é pública e não chaveada MAC que é chaveado Hash usado para detectar alterações à mensagem Pode utilizar de várias formas com a mensagem Na maioria das vezes para criar uma assinatura digital Uma variação no código de autenticação de mensagem é a função de hash de uso único. Da mesma forma com o código de autenticação de mensagem, uma função de hash aceita uma mensagem M de tamanho variável como entrada e produz uma saída de tamanho fixo, gerado como um código hash H (M). Diferentemente de um MAC, um código de hash não usa uma chave mas é uma função só da mensagem de entrada. O código de hash também é tratado como um sumário de mensagem ou valor de hash. 14

15 Funções de Hash e Assinaturas Digitais
Stallings Figura 11.5c “Utilização Básica de Funções de Hash” mostra o hash sendo “assinado” com a chave privada de seu remetente, formando assim uma assinatura digital. 15

16 Requerimentos para Funções de Hash
Pode ser aplicado a uma mensagem M de qualquer tamanho Produz saída de tamanho fixo h É fácil calcular h=H(M) para qualquer mensagem M Dado h é impossível de achar x tal que H(x)=h one-way propriedade Dado x é impossível achar y tal que H(y)=H(x)‏ Fraca resistência a colisão É impossível achar qualquer x,y tal que H(y)=H(x)‏ Forte resistência a colisão O objetivo de uma função de hash é produzir "uma impressão digital" de um arquivo, mensagem, ou outro bloco de dados. Estes são as especificações de boas funções de hash. Essencialmente deve ser extremamente difícil encontrar 2 mensagens com o mesmo hash, e a hash não deve estar relacionado à mensagem de nenhum modo óbvio (isto é deve ser uma função não linear complexa da mensagem). Há várias semelhanças na evolução de funções de hash e cifras bloco, e na evolução das exigências de desenho de ambos. 16

17 Funções de Hash Simples
São várias as propostas para funções simples Baseado no XOR de mensagens de bloco Não é seguro uma vez que pode manipular qualquer mensagem mudando ou não seu hash Precisa de uma forte função criptográfica (próximo capítulo)‏ Todas as funções de hash fazem operam uzando as seguintes funções gerais. A entrada (mensagem, arquivo, etc.) é vista como uma seqüência de blocos de n-bit, processando um bloco de cada vez de maneira iterativa a produzir uma função de hash de n-bit. Pode construir uma variedade de funções de hash simples possíveis por blocos de XOR'ing com rodadas etc. Nenhum destes são seguros, desde então pode anteceder como as modificações à mensagem afetam o hash resultante. 17

18 Ataques de Aniversário
Pode se pensar que um hash de 64 bits é seguro Mas pelo Birthday Paradox não é O ataque de aniversário funciona assim: Oponente gera 2m/2 variações de uma mensagem válida todas com essencialmente o mesmo significado O oponente também gera 2m/2 variações de mensagens falsas, desejadas Dois conjuntos de mensagens são comparadas para encontrar os pares com o mesmo hash (probalidade > 0.5 pelo paradoxido de aniversário )‏ Ter uma asssinatura válida na mensagem, então substitui por uma falsa que terá uma assinatura válida. Conclusão é que há necessidade de utilizar MAC / hash maiores O Ataque de Aniversário explora o paradoxo de aniversário – a possibilidade que em um grupo de pessoas dois compartilhará o mesmo aniversário – só 23 pessoas são necessárias para uma probabilidade> 0.5. Pode generalizar o problema a um par de conjunto que combine dois conjuntos, e mostrar a necessidade 2m/2 em cada um para adquirir um hash que combine com M-bit. Observe que a criação de muitas variantes de mensagem é relativamente fácil, reformulando ou somente variando os espaços em branco na mensagem. Ao qual indica que maiores MACs/Hashes são necessários. 18

19 Cifras de Bloco com Função de Hash
Pode usar cifras de bloco como função de hash usando H0=0 e zero do final do bloco calcula: Hi = EMi [Hi-1] E usa final de bloco como o valor de hash Similar ao CBC mas sem uma chave Resultando um hash também pequeno (64-bit)‏ Tanto devido ao ataque de aniversário E para o ataque “meet-in-the-middle” Outras variações também são suscetíveis ao ataque Um número de propostas foram feitas para funções de hash baseadas na utilização de uma técnica de encadeamento de cifra de bloco , mas sem a chave secreta (em vez disso utilização dos blocos de mensagem como chaves). Infelizmente estes são sujeitos tanto ao ataque de aniversário, como a um ataque "meet-in-the-middle”. Assim, a atenção foi direcionada para achar outras formas de hash. 19

20 Segurança das Funções Hash & MAC
Como cifras de bloco tem: Explorando ataques de força bruta Forte resistência a colisão, hash tem o custo de 2m/2 Tem proposta para h/w MD5 cracker O hash de 128 bit mostra-se vulnerável, 160-bits é melhor MACs com pares de mensagens conhecidas Pode atacar “keyspace” (tal que procura de chave) ou MAC Pelo menos um MAC de 128-bits é necessário para a segurança. Tal como com a encriptação simétrica e de chave pública, podemos agrupar ataques contra funções de Hash e MACs em duas categorias: ataques de força bruta e criptoanálise. A força de uma função de Hash contra ataques de força bruta depende apenas do comprimento do código de Hassh produzido pelo algoritmo, com o valor de 2m/2. Ver a proposta no texto de um h/w MD5 cracker. Um ataque de força bruta contra um MAC é uma tarefa mais difícil porque requer do par de mensagem MAC conhecidos. Contudo o valor de demonstrações de análise está relacionado ao mínimo (2^k, 2^n), semelhante a algoritmos de encriptação simétricos. 20

21 Segurança das Funções Hash & MAC
Ataques de criptoanálise exploram a estrutura Como cifras de bloco buscar ataques de força bruta pode ser a melhor alternativa Tem uma série de ataques analíticos contra funções de hash repetidas CVi = f[CVi-1, Mi]; H(M)=CVN Tipicamente focar colisões na função f Como cifras de bloco é frequentemente composta de rodadas Ataques exploram propriedades de funções de rodadas Assim como algoritmos de encriptação, os ataques criptoanalíticos contra funções de hash e algoritmos MAC procuram explorar alguma propriedade do algoritmo de executar algum ataque ou outra pesquisa exaustiva. O modo de medir a resistência de um hash ou algoritmo MAC à criptoanálise é comparar a força ao esforço necessitado para um ataque de força bruta. Isto é, um hash ou um algoritmo MAC ideal requer um esforço criptoanalítico maior ou igual ao esforço de força bruta. Criptoanálise de funções de hash concentram-se na estrutura interna da função de compressão f e é baseado em tentativas de encontrar técnicas eficientes para produzir colisões de uma execução única de f. Tenha em mente que para qualquer função de hash deve existir colisões, mas querer que ele seja computacionalmente impossível de encontrar estas colisões. 21

22 Sumário Foi visto: Usando autenticação de mensagem
Encriptação de Mensagem MACs Funções de Hash Abordagem geral e segurança Capítulo 11 sumário. 22


Carregar ppt "Criptografia e Segurança em redes capítulo 11"

Apresentações semelhantes


Anúncios Google