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

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

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

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

Prof. M.Sc. Charles Christian Miers

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

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

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

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

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

Segurança Informática em Redes e Sistemas

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

Integridade. Segurança Engenharia de Software Ricardo Couto A. da Rocha

Virtual Private Network (VPN)

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

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

Criptograa e Segurança

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

INE5680 SEGURANÇA DA INFORMAÇÃO E DE REDES Prova 1 04/10/2013 Turmas A e B Prova A NOME : MATRÍCULA :

(2010/11/17) P. Quaresma. Criptografia. Cifras Fieiras. Cifras por Blocos. Cifras de Chaves. Cifras de Chaves. MDCs. MACs 185 / 248 (2010/11/17)

Mecanismos Criptográficos Esquemas

CONCEITUAÇÃO CONCEITOS

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

Aula 16. Ivan Sendin. 17 de outubro de FACOM - Universidade Federal de Uberlândia Seg. Ivan Sendin. News!

Segurança a em Redes. Aula 6. Autenticação e Função Hash. Conceitos básicos MAC Hash MD5 SHA-1 HMAC. Luiz Fernando Rust. INMETRO Tel.

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

(2012/09/17 (v23)) P. Quaresma. Criptografia. Cifras Fieiras. Cifras por Blocos. Cifras de Chaves. Cifras de Chaves. MDCs.

Auxilio a Resolução da Lista de Exercícios

Capítulo 8. Segurança de redes

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

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

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

AdC: Um Mecanismo de Controle de Acesso Para o Ciclo de Vida das Coisas Inteligentes

A FUNÇÃO DO ALGORITMO HASH MD4

Geração de um certificado SSL (Secure Socket Layer) em RV120W e em RV220W

Prof. Sandro Wambier

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

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

Segurança da Informação

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

Segurança em Redes de Computadores

OTES07 Segurança da Informação Módulo 06: Hash, ICP e SSL/TLS

Segurança em Redes de Computadores

Agenda. Criptografia e Segurança Certificado Digital Assinatura Digital

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

Configurar ajustes do no roteador do RV34x Series

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

Universidade Presbiteriana Mackenzie. Robustez da Prova Digital A Importância do Hash no Processo Judicial

TOCI08 Segurança em Redes de Computadores Módulo 09: Hash, ICP e SSL/TLS

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

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

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

Redes de Computadores Aula 23

WEP, WPA e EAP. Rodrigo R. Paim

M3D4 - Certificados Digitais Aula 2 Certificado Digital e suas aplicações

Esteganografia em Vídeos Digitais Comprimidos Tópicos em Hipermídia

Apresentação: André Luiz Marasca

Configurar ajustes do e personalize notificações de na ponta de prova da rede de FindIT

Padrão aberto baseado em RFC (IETF). Dois modos de funcionamento: Dois Protocolos (Mecanismos) Autenticação, Integridade e Confidencialidade

Kerberos. Lucas C. Ferreira. Jun

Criptografia Assimétrica. Jiyan Yari

Aula 1 - Introdução à Criptografia

Informática. Segurança da Informação

Protocolo Kerberos. JML

Tópicos de Ambiente Web Segurança

LÉO MATOS INFORMÁTICA

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

Redes de Computadores

Ajustes da política do Virtual Private Network (VPN) em RV120W e em RV220W

Padrão aberto baseado em RFC (IETF). Dois modos de funcionamento: Dois Protocolos (Mecanismos) Autenticação, Integridade e Confidencialidade

Advanced Encryption Standard

Manual de Utilização de Certificados Digitais. Microsoft Outlook 2003

RCO2. WLAN: Segurança e IEEE

quem utiliza esse processo para envio de s, por exemplo, está bem protegido de fraudes.

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

Rede de Computadores II

Infraestrutura de Chaves Públicas Brasileira

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

Exercícios de Revisão Redes de Computadores Edgard Jamhour. Criptografia, VPN, IPsec Protocolos de Roteamento

Segurança de Sistemas de Informação

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

SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS TECNÓLOGO EM REDES. Professor Eduardo Maroñas Monks

Auditoria e Segurança de Sistemas Aula 09 Criptografia. Felipe S. L. G. Duarte Felipelageduarte+fatece@gmail.com

Transcrição:

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

Agenda

Agenda Códigos de Autenticação de Mensagens

Agenda Códigos de Autenticação de Mensagens Construção (CBC-MAC, CMAC) Funções Hash

Agenda Códigos de Autenticação de Mensagens Construção (CBC-MAC, CMAC) Funções Hash Projeto (Merkle-Damgård)

Agenda Códigos de Autenticação de Mensagens Construção (CBC-MAC, CMAC) Funções Hash Projeto (Merkle-Damgård) Algoritmos: a família SHA (SHA-1, SHA-2)

Agenda Códigos de Autenticação de Mensagens Construção (CBC-MAC, CMAC) Funções Hash Projeto (Merkle-Damgård) Algoritmos: a família SHA (SHA-1, SHA-2) HMAC

Agenda Códigos de Autenticação de Mensagens Construção (CBC-MAC, CMAC) Funções Hash Projeto (Merkle-Damgård) Algoritmos: a família SHA (SHA-1, SHA-2) HMAC Sigilo + Autenticação

Agenda Códigos de Autenticação de Mensagens Construção (CBC-MAC, CMAC) Funções Hash Projeto (Merkle-Damgård) Algoritmos: a família SHA (SHA-1, SHA-2) HMAC Sigilo + Autenticação Padrões NIST: CMAC, SHA e HMAC

Códigos de Autenticação de Mensagens (MACs)

Códigos de Autenticação de Mensagens (MACs) A autenticação de mensagens é um mecanismo ou serviço usado para verificar a integridade de uma mensagem.

Códigos de Autenticação de Mensagens (MACs) A autenticação de mensagens é um mecanismo ou serviço usado para verificar a integridade de uma mensagem. A autenticação garante que os dados recebidos sejam exatamente iguais aos enviados (ou seja, não contêm modificação, inserção, exclusão ou repetição) e que a identidade afirmada pelo emissor é válida.

Códigos de Autenticação de Mensagens (MACs) A autenticação de mensagens é um mecanismo ou serviço usado para verificar a integridade de uma mensagem. A autenticação garante que os dados recebidos sejam exatamente iguais aos enviados (ou seja, não contêm modificação, inserção, exclusão ou repetição) e que a identidade afirmada pelo emissor é válida. a criptografia simétrica oferece dois mecanismos criptográficos para autenticação: códigos de autenticação de mensagens (MACs) e funções de resumo (hash).

Códigos de Autenticação de Mensagens (MACs) A autenticação de mensagens é um mecanismo ou serviço usado para verificar a integridade de uma mensagem. A autenticação garante que os dados recebidos sejam exatamente iguais aos enviados (ou seja, não contêm modificação, inserção, exclusão ou repetição) e que a identidade afirmada pelo emissor é válida. a criptografia simétrica oferece dois mecanismos criptográficos para autenticação: códigos de autenticação de mensagens (MACs) e funções de resumo (hash).

Códigos de Autenticação de Mensagens (MACs)

Códigos de Autenticação de Mensagens (MACs) Um MAC é um algoritmo que recebe uma mensagem e uma chave secreta como entrada e produz um número de tamanho fixo (autenticador).

Códigos de Autenticação de Mensagens (MACs) Um MAC é um algoritmo que recebe uma mensagem e uma chave secreta como entrada e produz um número de tamanho fixo (autenticador). Suponha que Alice e Beto compartilhem uma chave secreta k. Alice pode agora enviar uma mensagem m e um autenticador t = MAC k (m) para Beto, que pode autenticar a origem e o conteúdo de m recalculando t.

Códigos de Autenticação de Mensagens (MACs) Um MAC é um algoritmo que recebe uma mensagem e uma chave secreta como entrada e produz um número de tamanho fixo (autenticador). Suponha que Alice e Beto compartilhem uma chave secreta k. Alice pode agora enviar uma mensagem m e um autenticador t = MAC k (m) para Beto, que pode autenticar a origem e o conteúdo de m recalculando t. Uma função hash mapeia uma mensagem de tamanho variável em um valor de tamanho fixo (resumo).

Códigos de Autenticação de Mensagens (MACs) Um MAC é um algoritmo que recebe uma mensagem e uma chave secreta como entrada e produz um número de tamanho fixo (autenticador). Suponha que Alice e Beto compartilhem uma chave secreta k. Alice pode agora enviar uma mensagem m e um autenticador t = MAC k (m) para Beto, que pode autenticar a origem e o conteúdo de m recalculando t. Uma função hash mapeia uma mensagem de tamanho variável em um valor de tamanho fixo (resumo). Encriptação não é um mecanismo de autenticação (exemplo: cifras de fluxo, a troca de um bit no texto encriptado resulta numa troca do mesmo bit no texto claro)

Códigos de Autenticação de Mensagens (MACs) Um MAC é um algoritmo que recebe uma mensagem e uma chave secreta como entrada e produz um número de tamanho fixo (autenticador). Suponha que Alice e Beto compartilhem uma chave secreta k. Alice pode agora enviar uma mensagem m e um autenticador t = MAC k (m) para Beto, que pode autenticar a origem e o conteúdo de m recalculando t. Uma função hash mapeia uma mensagem de tamanho variável em um valor de tamanho fixo (resumo). Encriptação não é um mecanismo de autenticação (exemplo: cifras de fluxo, a troca de um bit no texto encriptado resulta numa troca do mesmo bit no texto claro)

Construção de MACs

Construção de MACs MACs podem ser construídos usando o modo de operação CBC.

Construção de MACs MACs podem ser construídos usando o modo de operação CBC. CBC-MAC (mensagem de comprimento fixo): IV=0...0

Construção de MACs MACs podem ser construídos usando o modo de operação CBC. CBC-MAC (mensagem de comprimento fixo): IV=0...0 CBC-MAC (variante que usa o comprimento da mensagem ou duas chaves)

Construção de MACs MACs podem ser construídos usando o modo de operação CBC. CBC-MAC (mensagem de comprimento fixo): IV=0...0 CBC-MAC (variante que usa o comprimento da mensagem ou duas chaves) CMAC (padrão NIST)

Construção de MACs MACs podem ser construídos usando o modo de operação CBC. CBC-MAC (mensagem de comprimento fixo): IV=0...0 CBC-MAC (variante que usa o comprimento da mensagem ou duas chaves) CMAC (padrão NIST) MACs podem ser construídos usando funções hash (ver HMAC)

CBC-MAC

Resumos criptográficos Uma função hash ou função de resumo é uma função que calcula uma representação condensada de uma mensagem ou arquivo. Mais precisamente, uma função de resumo recebe como entrada uma cadeia de bits de comprimento arbitrário e devolve outra cadeia de bits de comprimento fixo, chamado resumo.

Resumos criptográficos Uma função hash ou função de resumo é uma função que calcula uma representação condensada de uma mensagem ou arquivo. Mais precisamente, uma função de resumo recebe como entrada uma cadeia de bits de comprimento arbitrário e devolve outra cadeia de bits de comprimento fixo, chamado resumo. As funções de resumo podem ser utilizadas em aplicações criptográficas, tais como autenticação de mensagems enviadas através de canais inseguros e assinaturas digitais.

Propriedades das Funções de Resumo Uma função de resumo criptográfico (ou função de resumo) é uma função H : {0, 1} {0, 1} n, satisfazendo as seguintes propriedades: Resistência à primeira inversão: Dado um resumo r, é inviável encontrar uma mensagem m tal que r = H(m).

Propriedades das Funções de Resumo Uma função de resumo criptográfico (ou função de resumo) é uma função H : {0, 1} {0, 1} n, satisfazendo as seguintes propriedades: Resistência à primeira inversão: Dado um resumo r, é inviável encontrar uma mensagem m tal que r = H(m). Resistência à segunda inversão: Dado um resumo r e uma mensagem m 1 tal que r = H(m 1 ), é inviável encontrar uma mensagem m 2 m 1 tal que r = H(m 2 ).

Propriedades das Funções de Resumo Uma função de resumo criptográfico (ou função de resumo) é uma função H : {0, 1} {0, 1} n, satisfazendo as seguintes propriedades: Resistência à primeira inversão: Dado um resumo r, é inviável encontrar uma mensagem m tal que r = H(m). Resistência à segunda inversão: Dado um resumo r e uma mensagem m 1 tal que r = H(m 1 ), é inviável encontrar uma mensagem m 2 m 1 tal que r = H(m 2 ). Resistência a colisões: Dado um resumo r, é inviável encontrar mensagens m 1, m 2 tais que H(m 1 ) = H(m 2 ).

Merkle-Damgård h : {0, 1} m+m {0, 1} m H : {0, 1} {0, 1} m 1. B = x /m (número de blocos em x) 2. x = (x 1 x 2...x B 1 x B x B+1); x B+1 = x ; x B = pad(x B) 3. z 0 0 m (IV ) 4. para i = 1,, B + 1 faça 2.1 z i h(z i x i ) 5. devolver z B+1. H(x) = z B+1 Teorema Se h é uma função de comprimento fixo resistente à colisão, então a função H é uma função de resumo resistente à colisão.

O Algoritmo MD5 MD5(x) : {0, 1} 264 {0, 1} 128 Proposto por Ronald Rivest em 1991

O Algoritmo MD5 MD5(x) : {0, 1} 264 {0, 1} 128 Proposto por Ronald Rivest em 1991 MD5 é uma versão melhorada de MD4

O Algoritmo MD5 MD5(x) : {0, 1} 264 {0, 1} 128 Proposto por Ronald Rivest em 1991 MD5 é uma versão melhorada de MD4 Ataques: 1996, 2004, 2005, 2006 (Vlastimil Klima)

O Algoritmo MD5 MD5(x) : {0, 1} 264 {0, 1} 128 Proposto por Ronald Rivest em 1991 MD5 é uma versão melhorada de MD4 Ataques: 1996, 2004, 2005, 2006 (Vlastimil Klima) Operações: a + b mod 2 32, a b, a b, a b, a, a << s (ROTL s (a)).

O Algoritmo MD5

O Algoritmo SHA - The Secure Hash Algorithm SHA(x) : {0, 1} 264 {0, 1} 160 Proposto por NIST em 1993 (FIPS 180-1)

O Algoritmo SHA - The Secure Hash Algorithm SHA(x) : {0, 1} 264 {0, 1} 160 Proposto por NIST em 1993 (FIPS 180-1) SHA 1 é uma versão melhorada de SHA

O Algoritmo SHA - The Secure Hash Algorithm SHA(x) : {0, 1} 264 {0, 1} 160 Proposto por NIST em 1993 (FIPS 180-1) SHA 1 é uma versão melhorada de SHA Novos algoritmos (FIPS 180-2, 2002): SHA 224, SHA 256, SHA 384, SHA 512

O Algoritmo SHA - The Secure Hash Algorithm SHA(x) : {0, 1} 264 {0, 1} 160 Proposto por NIST em 1993 (FIPS 180-1) SHA 1 é uma versão melhorada de SHA Novos algoritmos (FIPS 180-2, 2002): SHA 224, SHA 256, SHA 384, SHA 512 Operações: a + b mod 2 32, a b, a b, a b, a, a << s (ROTL s (a)).

funções e constantes no SHA-1 (B C) (( B) D) se 0 t 19 B C D se 20 t 39 f t (B, C, D) = (B C) (B D) (C D) se 40 t 59 B C D se 60 t 79. 0x5a827999 se 0 t 19 0x6ed9eba1 se 20 t 39 K t = 0x8f 1bbcdc se 40 t 59 0xca62c1d6 se 60 t 79.

Funções de compressão SHA-1 A ROTL(A, 5) + f t (B, C, D) + E + W t + K t H i = (A, B, C, D, E) H 0 = {0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f 0} H 0 H 1 H n = SHA 1(x)

O Algoritmo SHA-1 Entrada: x; Saída: SHA(x) 1. M 1 M n Pad(x); M i = 512 2. H 0, H 1, H 2, H 3, H 4 valores inicias 3. For i = 1 to n do: 3.1 Calcule W 0, W 1,..., W 79 do bloco M i 3.2 A H 0, B H 1, C H 2, D H 3, E H 4 3.3 For i = 0 to 79 do: [A, B, C, D, E] h([a, B, C, D, E], f i, K i, W i ) 3.4 H 0 H 0 + A, H 1 H 1 + B, H 2 H 2 + C, H 3 H 3 + D, H 4 H 4 + E 4. Return (H 0, H 1, H 2, H 3, H 4 )

Funções de compressão SHA-2

O Algoritmo Whirlpool O algoritmo Whirlpool foi desenvolvido por Vicent Rijmen e Paulo Barreto, 2003.

O Algoritmo Whirlpool O algoritmo Whirlpool foi desenvolvido por Vicent Rijmen e Paulo Barreto, 2003. Adotado como o padrão ISO/IEC 10118-3:2004

O Algoritmo Whirlpool O algoritmo Whirlpool foi desenvolvido por Vicent Rijmen e Paulo Barreto, 2003. Adotado como o padrão ISO/IEC 10118-3:2004 O algoritmo Whirlpool é uma função de resumo que processa mensagens de comprimento menor do que 2 256 bits para gerar um resumo de 512 bits.

O Algoritmo Whirlpool O algoritmo Whirlpool foi desenvolvido por Vicent Rijmen e Paulo Barreto, 2003. Adotado como o padrão ISO/IEC 10118-3:2004 O algoritmo Whirlpool é uma função de resumo que processa mensagens de comprimento menor do que 2 256 bits para gerar um resumo de 512 bits. O algoritmo está baseado numa função de compressão W

O Algoritmo Whirlpool O algoritmo Whirlpool foi desenvolvido por Vicent Rijmen e Paulo Barreto, 2003. Adotado como o padrão ISO/IEC 10118-3:2004 O algoritmo Whirlpool é uma função de resumo que processa mensagens de comprimento menor do que 2 256 bits para gerar um resumo de 512 bits. O algoritmo está baseado numa função de compressão W Os autores, em março 2009, recomendaram que o algoritmo não seja utilizado em novas aplicações.

HMAC The keyed-hash Message Authentication Code, FIPS PUB 198, 2002 Entrada: uma mensagem m {0, 1} e uma chave k Saída: um autenticador t 1. Constantes: opac = 0x363636...36 ipad = 0x5c5c5c...5c 2. Gere uma chave k 0 a partir da chave k 3. t := H((k 0 opad)) H((k 0 ipad)) m))

Sigilo e Autenticação Encriptar depois autenticar: c = Enc(m, k 0 ), t = MAC(c, k 1 ), enviar (c, t)

Sigilo e Autenticação Encriptar depois autenticar: c = Enc(m, k 0 ), t = MAC(c, k 1 ), enviar (c, t) Outras opções não necessariamente seguras: Encriptar e Autenticar: c = Enc(m, k 0 ), t = MAC(m, k 1 ), enviar (c, t) Autenticar então encriptar: t = MAC(m, k 1 ), c = Enc(m t, k 0 ), enviar (c)