Aula 5 - Integridade e Criptografia autenticada. 10 de Maio de 2016

Documentos relacionados
Aula 5 - Integridade e Criptografia autenticada. 9 de Maio de 2016

Códigos de Autenticação de Mensagens. Instituto de Computação - UNICAMP

UTILIZAÇÃO DE HASH CRIPTOGRAFADA PARA TRANSPORTE DE MENSAGENS (MAC), NO USO DO HMAC

GBC083 - Segurança da Informação Aula 2 - Sigilo Perfeito. 28 de Março de 2016

Criptografia. Criptografia de Chave Pública. Manuel Barbosa (mbb at dcc.fc.up.pt) 2018/2019

Criptografia. Criptografia de Chave Pública. Manuel Barbosa (mbb at dcc.fc.up.pt) 2018/2019

Criptografia. Aula 4: Autenticação de mensagens e canais seguros. Manuel Barbosa (mbb at dcc.fc.up.pt) 2018/2019

Algoritmos para Códigos de Autenticação de Mensagens

GBC083 - Segurança da Informação Aula 2 - Sigilo Perfeito. 9 de Março de 2016

Criptograa e Segurança

Mecanismos Criptográficos Esquemas

PTC Aula Autenticação do ponto final 5.5 Exemplo de aplicação: tornando o seguro. (Kurose, p ) (Peterson, p.

Segurança Informática em Redes e Sistemas

Técnicas de criptografia. Funções Hash Criptografia com chave secreta Criptografia com chave pública Assinatura digital Protocolos

Segurança e Auditoria de Sistemas. Confiança Mútua Assinatura Digital Certificado Digital

Aula 1 - Introdução à Criptografia

Introdução à Segurança e Primitivas Criptográficas

Capítulo 8. Segurança de redes

Criptografia Assimétrica e Funções de Síntese

Redes de Computadores Aula 23

CONCEITUAÇÃO CONCEITOS

IPSEC. IP Security Protocol. *Utilize este material para fins educativos e não comerciais*

PLANO DE DISCIPLINA DISCIPLINA: Segurança da Informação

PTC Aula 19. (Kurose, p ) (Peterson, p ) 09/06/ O que é segurança de rede? 5.2 Princípios de criptografia

Segurança da Informação Aula 7 Assinaturas Digitais e HASH.

PTC Aula 20. (Kurose, p ) (Peterson, p ) 14/06/ Princípios de criptografia

Aula 1 - Introdução à Criptografia - Ataque à cifra de Vigenère

SEGURANÇA CRIPTOGRAFIA E SEGURANÇA DE DADOS. As funções de cifra são consideradas totalmente seguras se:

Códigos de Autenticação de Mensagem e o padrão SHA-3

Segurança da Informação Aula 5 Criptografia. Objetivos e Tipos. Cifras de Bloco e Fluxo

Instituto Superior de Tecnologia em Ciências da Computação de Petrópolis VPN Virtual Private Network

Criptografia Simétrica e Assimétrica, Hash, e Assinatura Digital

Tópicos de Ambiente Web Segurança

Segurança Informática em Redes e Sistemas

Segurança em Redes de Computadores

Autenticação por par de. chaves assimétricas. Bruno Follmann

Segurança em Redes de Computadores

Configuração do gateway ao gateway VPN no Roteadores RV016, RV042, RV042G e RV082 VPN

Virtual Private Network (VPN)

AULA 5: Criptografia e Esteganografia

Conceito. HASH são caminhos de mão única (funções matemáticas) que são utilizados para se criar códigos.

GBC083 - Segurança da Informação Aula 3 - Pseudo-aleatoriedade. 29 de Março de 2016

Complexidade de Algoritmos

4 ÍNDICE Exemplo de redundância e distância de unicidade... 41

Segurança da Informação

Configurar Virtual Private Network (VPN) avançado Setup no Firewall RV110W

Segurança conceitos básicos. Sistemas Distribuídos

Segurança da Informação Aula 6 Principais Algoritmos Simétricos. Criptografia Assimétrica.

RCO2. WLAN: Segurança e IEEE

Auditoria e Segurança da Informação GSI536. Prof. Rodrigo Sanches Miani FACOM/UFU

AULA 08 CRIPTOGRAFIA E SEGURANÇA DE DADOS CRIPTOGRAFIA ASSIMÉTRICA CHAVES E ALGORITMOS 23/04/2016 PROF. FABIANO TAGUCHI

SEGURANÇA DE SISTEMAS E REDES

FUNÇÃO HASH CRIPTOGRAFADA (MD5, E A FAMÍLIA SHA) Muriel Mazzetto

Transcrição:

GBC083 Segurança da Informação Aula 5 - Integridade e Criptografia autenticada 10 de Maio de 2016

Funções Hash Outra forma de obter integridade Funções hash criptográficas: mapa entre mensagens de comprimento arbitrário para um resumo (em inglês, digest) curto e tamanho fixo Existem funções hash chaveadas e não-chaveadas Formalmente, funções hashes chaveadas são necessárias Em prática, usa-se mais funções hash não-chaveadas

Resistência a colisões Seja H : {0, 1} {0, 1} n uma função hash 1. Resistência pré-imagem ( one-wayness ) Dado z, é difícil achar x tal que z = h(x) 2. Segunda resistência pré-imagem (resistência fraca a colisões) Para um x 1 com z = h(x 1), difícil achar x 2 tal que z = h(x 2) 3. Resistência (forte) a colisões Difícil criar mensagens x 1 x 2 com z = h(x 1) = h(x 2)

Outras propriedades de funções hash criptográficas h(x) pode ser aplicável a entradas x de tamanho variável h(x) produz saída de tamanho fixo h(x) é fácil/rápido de computar

Ataques genéricos a funções hash Qual é o melhor ataque genérico de colisão em uma função hash H : {0, 1} {0, 1} n? Se computarmos H(x 1 ),..., H(x 2 n +1) é garantido achar uma colisão É possível fazer um ataque com menor número de computações de H?

Ataques de aniversário Computar H(x 1 ),..., H(x 2 n/2) Qual é a probabilidade de colisão? Relacionado ao paradoxo do aniversário Quantas pessoas são necessárias para ter 0.5 de chance de que duas pessoas fazem aniversário no mesmo dia? Aniversários  k é o evento em que k pessoas não têm aniversário no mesmo dia P(Â1 ) = 365/365: chance de 1 pessoa não ter aniversário no mesmo dia que outra P(Â2) = 364/365: chance 2 pessoas não terem aniversário no mesmo dia P(  3 ) = P(Â1) P(Â2) (365 3 + 1)/365 P(  n ) = Π n i=1 (365 i + 1)/365 P(An ) = 1 P(Ân) é a chance de ter algum aniversário no mesmo dia para n pessoas

Problema das bolas nos cestos Cestos: dias do ano / valores em {0, 1} n, N = 2 n Bolas: pessoas / computações de funções hash Quantas bolas precisamos para ter uma chance de 0.5 de colisão

Teorema Quando o número de bolsas é O(N 1/2 ) a probabilidade de colisão é 0.5. Aniversários: 23 pessoas são suficientes para ter uma colisão Funções hash: O(2 n/2 ) computações de funções hash Necessário comprimento de saída 2n para obter segurança contra atacantes rodando em tempo 2 n Nota: dobre do comprimento de chaves usadas em cifras de blocos

Uso de funções Hash em MAC Mostramos como construir um MAC seguro para mensagens curtas e comprimento fixo baseado em qualquer PRF/cifra de blocos Queremos extender isto para um MAC seguro para mensagens de tamanho arbitrário

Intuição m h M h = H(m) h =?H(m)

Hash e MAC k m h,t k m h = H(m) t = Mac k (h) h = H(m) Vrfy k (h, t) = 1?

Segurança Se o MAC é seguro para mensagens de tamanho fixo, e H é resistente a colisões, então a construção vista antes é um MAC seguro para mensagens de tamanho arbitrário

Ideia da Prova Considere que o transmissor autentica M 1, M 2... Seja hi = H(M i ) Atacante falsifica (M, t), M M i para todo i Atacante deve ser capaz de: H(M) = H(Mi ) para algum i Atacante conseguiu um colisão em H H(M) hi para todo i Atacante conseguiu falsificação no MAC de comprimento fixo (possivelmente uma cifra de blocos)

Instanciação Possível usar uma função hash e um MAC baseado em cifra de blocos? Existem problemas de incompatibilidade de comprimento de bloco (AES 256 bits e Whirlpool 512 bits) Mais trabalho: necessário implementar duas primitivas de criptografia

HMAC Um MAC que usa uma chave secreta e provê integridade e autenticação Construído a partir de funções hash (sem cifra de blocos) MD5, SHA-1, SHA-2 Pode ser visto uma forma de implementação do paradigma de hash-e-mac Função hash é usada como se fosse uma cifra de blocos Exemplo: HMAC k (m) = H ((k opad) H((k ipad) m)) sendo ipad e opad paddings distintos, k uma chave expandida de k

Sigilo e integridade Temos visto primitivas para obter sigilo e integridade no cenário de chave privada E se queremos os dois?

Encriptar e autenticar 1 a tentativa imperfeita c,t k 1, k 2 k 1, k 2 m c Enc k1 (m) t = Mac k2 (m) m = Dec k1 (c) Vrfy k2 (m, t) = 1?

Problemas A etiqueta t pode vazar informação sobre m Nada nessa definição de segurança sobre MAC implica que protege informação sobre m Se o MAC é determinístico, como são CBC-MAC e HMAC, ele vaza se a mesma mensagem foi encriptada duas vezes

Encriptar e depois autenticar - versão OK c,t k 1, k 2 k 1, k 2 m c Enc k1 (m) t = Mac k2 (c) Vrfy k2 (c, t) = 1? m = Dec k1 (c)

Segurança Se o esquema de encriptação é segura contra CPA e o MAC é seguro então: A combinação é segura contra CPA A combinação é um MAC seguro

Encriptação autenticada A combinação tem propriedades mais fortes: Dados textos cifrados correspondentes para textos claros escolhidos m 1,..., m k é inviável para um atacante gerar qualquer novo texto cifrado Esquema de encriptação autenticada Inviável gerar novos textos cifrados válidos Em combinação com segurança contra CPA, implica em segurança contra CCA

Encriptação autenticada A abordagem de encriptar e depois autenticar (com chaves independentes) é uma maneira plausível para construir um esquema de encriptação autenticada Outras construções mais eficientes têm sido propostas e esta é uma área de pesquisa ativa

Sessões de comunicação seguras Considere 2 partes que querem se comunicar de maneira segura ao longo de uma sessão De maneira segura = sigilo e integridade Sessão = período de tempo durante o qual as partes querem manter um estado de comunicação Possível usar encriptação autenticada

k Enc k (m 1 ) Enc k (m 2 ) Enc k (m 3 ) k

Problema: ataques de replay (retransmissão) Enc k (m 1 ) k Enc k (m 2 ) Enc k (m 1 ) k

Outro problema: ataque de reordenação Enc k (m 1 ) Enc k (m 2 ) k Enc k (m 2 ) Enc k (m 1 ) k

Outro problema: ataque de reflexão Enc k (m 1 ) k Enc k (m 2 ) Enc k (m 2 ) k

Sessões seguras Ataques e outros podem ser prevenidos usando contadores e identidades Possível definir uma noção de seções seguras e provar que essa definição funciona

Sessões seguras Enc k (Bob m 1 1) k Enc k (Bob m 2 2) Enc k (Alice m 3 1) k

Resumo Primitivas Sigilo: esquema de encriptação de chave privada Integridade: códigos de autenticação de mensagens (MAC) Ambos: encriptação autenticada Funções hash resistentes a colisões