View
109
Download
2
Category
Preview:
Citation preview
Criptográfia e Criptográfia e segurança na redesegurança na rede
Capitulo 12Capitulo 12
Quarta ediçãoQuarta edição
by William Stallingsby William Stallings
Lawrie BrownLawrie Brown
Chapter 12 – Algoritimos de Chapter 12 – Algoritimos de HASH e MACHASH e MAC
Cada uma das mensagens, como todas que ele já Cada uma das mensagens, como todas que ele já tinha lido dos comandos de Stern, Começava tinha lido dos comandos de Stern, Começava com um numero Terminava com um numero ou com um numero Terminava com um numero ou sequencia de numeros. Nenhum esforço de sequencia de numeros. Nenhum esforço de mungo ou de qualquer um de seus especialistas mungo ou de qualquer um de seus especialistas tinha sido capaz de quebrar o código de Stern, tinha sido capaz de quebrar o código de Stern, Não havia qualquer pista quanto ao significado Não havia qualquer pista quanto ao significado do numero inicial e dos numeros finais.do numero inicial e dos numeros finais.——Talking to Strange Men, Talking to Strange Men, Ruth RendellRuth Rendell
Algoritimos de Hash e MACAlgoritimos de Hash e MAC
Funções HashFunções Hash Restringe em tamanho fixo o tamanho da mensagemRestringe em tamanho fixo o tamanho da mensagem O processamento e feito em blocosO processamento e feito em blocos É feito atraves de alguma forma de compressãoÉ feito atraves de alguma forma de compressão Sendo personalizado ou baseado em cifra de blocoSendo personalizado ou baseado em cifra de bloco
Código de autenticação de mensagem Código de autenticação de mensagem (MAC)(MAC) Autenticador de tamaho fixo para algumas Autenticador de tamaho fixo para algumas
mensagensmensagens Fornece autenticação de mensagemFornece autenticação de mensagem Tanto ultilizando cifra de bloco ou função hashTanto ultilizando cifra de bloco ou função hash
A estrutura do algoritimo de A estrutura do algoritimo de hashhash
Algoritimo Hash de Algoritimo Hash de SegurançaSegurança
SHA desenvolvido originalmente pelo NIST & SHA desenvolvido originalmente pelo NIST & NSA in 1993NSA in 1993
Foi revisto em 1995 por SHA-1Foi revisto em 1995 por SHA-1 Esse foi um padrão americano de assinatura Esse foi um padrão americano de assinatura
adotado para uso em DSAadotado para uso em DSA A norma é FIPS 180-1 1995, e tambem para Internet A norma é FIPS 180-1 1995, e tambem para Internet
RFC3174RFC3174 nb. the algorithm is SHA, the standard is SHS nb. the algorithm is SHA, the standard is SHS
Baseado no modelo MD4 com chaves diferentes Baseado no modelo MD4 com chaves diferentes Produz 160 bits de valores hash Produz 160 bits de valores hash Em 2005 resultados recentes sobre segurança Em 2005 resultados recentes sobre segurança
do SHA-1 Foram levantadas preocupações do SHA-1 Foram levantadas preocupações sobre sua ultilização futurasobre sua ultilização futura
O padrão de segurança hash O padrão de segurança hash revisadorevisado
NIST emitiu uma revisão FIPS 180-2 in 2002NIST emitiu uma revisão FIPS 180-2 in 2002 Acresentou 3 versões adicionais de SHA Acresentou 3 versões adicionais de SHA
SHA-256, SHA-384, SHA-512SHA-256, SHA-384, SHA-512 Moldados para assegurar a compatibilidade com Moldados para assegurar a compatibilidade com
o aumento da segurança proporcionada pela o aumento da segurança proporcionada pela cifra cifra AESAES
A estrutura e os detalhes são parecidos com A estrutura e os detalhes são parecidos com SHA-1SHA-1
A analise deve ser semelhanteA analise deve ser semelhante Os niveis de segurança são bastante elevadosOs niveis de segurança são bastante elevados
Visão geral do SHA-512Visão geral do SHA-512
Função de compactação SHA-Função de compactação SHA-512512
Coração do algoritimoCoração do algoritimo Processando mensagens de blocos de Processando mensagens de blocos de
1024-bit1024-bit Consiste em 80 rodadasConsiste em 80 rodadas
Atulização do buffer 512-bitAtulização do buffer 512-bit utilizando um valor de 64 bits Wt derivadas da utilizando um valor de 64 bits Wt derivadas da
mensagem do bloco atualmensagem do bloco atual E rodadas constantes baseada no cubo de E rodadas constantes baseada no cubo de
raiz dos 80 primeiros numeros primosraiz dos 80 primeiros numeros primos
SHA-512 Round FunctionSHA-512 Round Function
Função de rodada SHA-512Função de rodada SHA-512
WhirlpoolWhirlpool
Agora veremos a função hash WhirlpoolAgora veremos a função hash Whirlpool Apoiado pelo projeto europeu NESSIEApoiado pelo projeto europeu NESSIE É baseado no uso de cifra de bloco como É baseado no uso de cifra de bloco como
método de compressãométodo de compressão addressing concerns on use of block addressing concerns on use of block
ciphers seen previouslyciphers seen previously Com performance comparada a Com performance comparada a
algoritimos dedicados como SHAalgoritimos dedicados como SHA
Visão geral do WhirlpoolVisão geral do Whirlpool
Whirlpool Block Cipher WWhirlpool Block Cipher W
Projetada especificamente para funções Projetada especificamente para funções hashhash
Com segurança e eficacia AESCom segurança e eficacia AES Porem com blocos 512-bitPorem com blocos 512-bit Estrutura e função semelhante do AES butEstrutura e função semelhante do AES but
Linha de entrada é bem mapeadaLinha de entrada é bem mapeada Tem 10 roundsTem 10 rounds um polinómio primitivo diferentes para um polinómio primitivo diferentes para
GF(2^8)GF(2^8) Usa um S-box de projeto e valores diferentesUsa um S-box de projeto e valores diferentes
Whirlpool Block Cipher WWhirlpool Block Cipher W
Whirlpool Performance & Whirlpool Performance & SecuritySecurity
Whirlpool é uma nova propostaWhirlpool é uma nova proposta Por isso a pequena experiencia com seu Por isso a pequena experiencia com seu
usouso Porem pode encontrar cifras de AES onde Porem pode encontrar cifras de AES onde
pode ser aplicadopode ser aplicado Não é necessario maior poder de Não é necessario maior poder de
hardware que SHA, e ainda tem uma hardware que SHA, e ainda tem uma performance boaperformance boa
Introduzindo funcções Hash e Introduzindo funcções Hash e MACMAC
Obtendo MAC baseado em uma função hashObtendo MAC baseado em uma função hash As funções hash são geralmente mais rápidaAs funções hash são geralmente mais rápida Código de funções criptográficas hash amplamente Código de funções criptográficas hash amplamente
disponíveldisponível hash inclui uma chave junto a mensagemhash inclui uma chave junto a mensagem Proposta original:Proposta original:
KeyedHash = Hash(Key|Message) KeyedHash = Hash(Key|Message) Algumas falhas foram encontradasAlgumas falhas foram encontradas
Eventualmente levou ao desenvolvimento do Eventualmente levou ao desenvolvimento do HMAC HMAC
HMACHMAC
especificada como padrão Internet especificada como padrão Internet RFC2104 RFC2104 utiliza função hash sobre a mensagem utiliza função hash sobre a mensagem ::
HMACHMACKK = Hash[(K = Hash[(K++ XOR opad) || XOR opad) || Hash[(KHash[(K++ XOR ipad)||M)]] XOR ipad)||M)]]
Onde KOnde K++ é a chave alocada fora de tamanho é a chave alocada fora de tamanho E opad, ipad são especificadas alocadas E opad, ipad são especificadas alocadas
constantes constantes overhead são apenas mais 3 cálculos hash overhead são apenas mais 3 cálculos hash do que do que
a mensagem sozinha precisaa mensagem sozinha precisa E a função hash pode ser usadaE a função hash pode ser usada
eg. MD5, SHA-1, RIPEMD-160, Whirlpooleg. MD5, SHA-1, RIPEMD-160, Whirlpool
Visão geral HMACVisão geral HMAC
HMAC SecurityHMAC Security
A prova de segurança do A prova de segurança do HMAC é HMAC é mostrada pelo algorítimo hash subjacentemostrada pelo algorítimo hash subjacente
Para atacar o HMAC exige:Para atacar o HMAC exige: Ataque de força bruta de chave utilizadaAtaque de força bruta de chave utilizada birthday attack Criptoanalitico por estátistica birthday attack Criptoanalitico por estátistica
(Desde que fosse observado um grande (Desde que fosse observado um grande numero de chaves)numero de chaves)
escolher função hash utilizada baseada na escolher função hash utilizada baseada na velocidade versos segurançavelocidade versos segurança
CMACCMAC
Vista anteriormente em DAA (CBC-MAC)Vista anteriormente em DAA (CBC-MAC) Amplamente usada por governos e industriasAmplamente usada por governos e industrias Porem a mensagem tem tamanho limitadoPorem a mensagem tem tamanho limitado Pode ser usando 2 chaves & paddingPode ser usando 2 chaves & padding formando assim o Cifra baseada em código formando assim o Cifra baseada em código
de autenticação de mensagemde autenticação de mensagem (CMAC)(CMAC) Adotado pelo NIST SP800-38BAdotado pelo NIST SP800-38B
Visão geral CMACVisão geral CMAC
SummarySummary
Foi visto:Foi visto: Alguns algoritimos de hashAlguns algoritimos de hash
• SHA-512 & WhirlpoolSHA-512 & Whirlpool Autenticação HMAC Usando função HashAutenticação HMAC Usando função Hash Autenticação CMAC Usando cifra de blocoAutenticação CMAC Usando cifra de bloco
Recommended