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

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

Criptográfia e segurança na rede Capitulo 12

Apresentações semelhantes


Apresentação em tema: "Criptográfia e segurança na rede Capitulo 12"— Transcrição da apresentação:

1 Criptográfia e segurança na rede Capitulo 12
Quarta edição by William Stallings Lawrie Brown Palestra e slides por Lawrie Brown de “Cryptography and Network Security”, 4/e, by William Stallings, Cápitulo 12 – “Hash and MAC Algorithms”.

2 Chapter 12 – Algoritimos de HASH e MAC
Cada uma das mensagens, como todas que ele já tinha lido dos comandos de Stern, Começava com um numero Terminava com um numero ou sequencia de numeros. Nenhum esforço de mungo ou de qualquer um de seus especialistas tinha sido capaz de quebrar o código de Stern, Não havia qualquer pista quanto ao significado do numero inicial e dos numeros finais. —Talking to Strange Men, Ruth Rendell Abertura de citação

3 Algoritimos de Hash e MAC
Funções Hash Restringe em tamanho fixo o tamanho da mensagem O processamento e feito em blocos É feito atraves de alguma forma de compressão Sendo personalizado ou baseado em cifra de bloco Código de autenticação de mensagem (MAC) Autenticador de tamaho fixo para algumas mensagens Fornece autenticação de mensagem Tanto ultilizando cifra de bloco ou função hash Agora olha para exemplos importantes de ambas as funções e segura hash mensagem autenticação códigos (SMAC). Tradicionalmente, a maioria das funções hash que alcançaram ampla utilização dependem de uma compressão função especificamente concebidos para a função hash. Outra abordagem é usar uma cifra simétrica bloco como a compressão função. SMAC também se dividem em duas categorias: alguns utilizam um algoritmo hash SHA tais como como o núcleo do MAC algoritmo, outros utilizam um bloco cifra simétrica em um bloco de modo encadeado

4 A estrutura do algoritimo de hash
Mais importante moderna funções hash seguir a estrutura básica mostrado nesta figura, Stallings Figura Esta revelou-se fundamental uma boa estrutura, e mais recentes modelos simplesmente aperfeiçoar a estrutura e adicione ao código hash comprimento. Dentro desta estrutura básica, duas abordagens têm sido seguidas na concepção dos compressão função, tal como mencionado anteriormente, que é o alicerce básico da função hash.

5 Algoritimo Hash de Segurança
SHA desenvolvido originalmente pelo NIST & NSA in 1993 Foi revisto em 1995 por SHA-1 Esse foi um padrão americano de assinatura adotado para uso em DSA A norma é FIPS , e tambem para Internet RFC3174 nb. the algorithm is SHA, the standard is SHS Baseado no modelo MD4 com chaves diferentes Produz 160 bits de valores hash Em 2005 resultados recentes sobre segurança do SHA-1 Foram levantadas preocupações sobre sua ultilização futura O Secure Hash Algorithm (SHA) foi desenvolvido pelo Instituto Nacional de Padrões e Tecnologia (NIST) e publicado como uma norma Federal Information Processing (FIPS 180) em 1993, uma versão revista foi publicado como FIPS 180-1, em 1995, e é geralmente referidas como SHA-1. O documento tem o direito real normas Secure Hash Standard. SHA é baseado na função hash MD4 e sua concepção de perto modelos MD4. SHA-1 produz um valor hash de 160 bits. Em 2005, uma equipa de investigação descreveu um ataque em que duas mensagens separadas poderia ser encontrado que oferecem o mesmo valor hash SHA-1 com 2 ^ 69 operações, muito menos do que o 2 ^ 80 operações que antes achava necessário para encontrar uma colisão com um SHA - 1 hash [WANG05]. Este resultado deve acelerar a transição para a versão mais recente, mais versões do SCS.

6 O padrão de segurança hash revisado
NIST emitiu uma revisão FIPS in 2002 Acresentou 3 versões adicionais de SHA SHA-256, SHA-384, SHA-512 Moldados para assegurar a compatibilidade com o aumento da segurança proporcionada pela cifra AES A estrutura e os detalhes são parecidos com SHA-1 A analise deve ser semelhante Os niveis de segurança são bastante elevados   Em 2002, NIST produzida uma versão revista da norma, FIPS 180-2, que definiu três novas versões do SHA, com o valor hash do comprimentos de 256, 384 e 512 bits, conhecida como SHA-256, SHA-384, e SHA Estas novas versões têm a mesma estrutura subjacente e utilizar os mesmos tipos de modular aritmética e lógica binária operações como SHA-1, análises, portanto, devem ser semelhantes. Em 2005, o NIST anunciou a intenção de eliminar gradualmente a aprovação do SHA-1 e deslocar-se para uma dependência em relação a outros SHA versões até Ver Stallings Table12.1 comparativa para detalhes desses algoritmos.

7 Visão geral do SHA-512 Agora examine a estrutura do SHA-512, observando que as outras versões são muito semelhantes. SHA-512 segue a estrutura Stallings representado na figura O tratamento consiste das seguintes etapas: • Passo 1: Append padding bits • Passo 2: Acrescente comprimento • Etapa 3: Inicializar hash tampão • Passo 4: Processar a mensagem em 1024 bits (128-word) blocos, que constitui o cerne do algoritmo • Passo 5: Saída do estado final como o valor hash resultante Veja texto para maiores detalhes

8 Função de compactação SHA-512
Coração do algoritimo Processando mensagens de blocos de 1024-bit Consiste em 80 rodadas Atulização do buffer 512-bit utilizando um valor de 64 bits Wt derivadas da mensagem do bloco atual E rodadas constantes baseada no cubo de raiz dos 80 primeiros numeros primos O SHA-512 Função de Compressão é o coração do algoritmo. Nesta etapa 4, ele processa a mensagem de 1024 bits (128-word) blocos, usando um módulo que consiste de 80 rodadas, marcadas F Stallings na Figura 12, como mostrado na figura Cada rodada tem como entrada a 512-bit buffer valor, e atualiza o conteúdo do buffer. Cada ronda não faz uso de um 64-bit valor Wt derivadas utilizando uma mensagem a partir do actual calendário 1024 bits bloco que está sendo processado. Cada rodada também faz uso de um aditivo constante Kt, com base na parte fracionária do cubo raízes do primeiro oitenta números primos. A saída do octagésima rodada é adicionado à entrada para a primeira rodada para produzir o último valor hash para bloquear esta mensagem, que faz a entrada para a próxima iteração de compressão esta função, como mostrado no slide anterior.

9 SHA-512 Round Function A estrutura de cada uma das 80 rodadas Stallings é mostrado na figura Cada palavra de 64 bits ao longo baralhado um lugar e, em alguns casos manipulados usando uma série de funções lógicas simples (ANDs, Nots, RUP, XORs, roda), a fim de proporcionar a avalanche & Exaustividade propriedades da função hash. Os elementos são: Ch(e,f,g) = (e AND f) XOR (NOT e AND g) Maj(a,b,c) = (a AND b) XOR (a AND c) XOR (b AND c) ∑(a) = ROTR(a,28) XOR ROTR(a,34) XOR ROTR(a,39) ∑(e) = ROTR(e,14) XOR ROTR(e,18) XOR ROTR(e,41) + = addition modulo 2^64 Kt = a 64-bit additive constant Wt = a 64-bit word derived from the current 512-bit input block.

10 Função de rodada SHA-512 Stallings Figura 12/4 detalhes como a palavra de 64 bits Wt valores são obtidos a partir do 1024 bits mensagem. Os primeiros 16 valores de Wt são tomadas directamente a partir das 16 palavras do actual bloco. Os restantes valores são definidos em função dos valores anteriormente usando roda, transporte e XORs como mostrado. A função elementos são os seguintes: ∂0(x) = ROTR(x,1) XOR ROTR(x,8) XOR SHR(x,7) ∂1(x) = ROTR(x,19) XOR ROTR(x,61) XOR SHR(x,6).

11 Whirlpool Agora veremos a função hash Whirlpool
Apoiado pelo projeto europeu NESSIE É baseado no uso de cifra de bloco como método de compressão addressing concerns on use of block ciphers seen previously Com performance comparada a algoritimos dedicados como SHA Em seguida analisar a função hash Whirlpool [BARR03]. Whirlpool é apenas uma das duas funções hash aprovado pelo Nessie (Novos sistemas europeus de Assinaturas, integridade e criptografia), projecto, uma União Europeia-patrocinado esforço para apresentar uma carteira de primitivas criptográficas fortes de vários tipos. Whirlpool é baseada na utilização de um bloco modificado AES cipher função como a compressão, e se destina a proporcionar segurança e desempenho que é comparável, se não melhor, do que a encontrada em bloco não-cifrado baseado hash funções, tais como o MD ou SHA familiares.

12 Visão geral do Whirlpool
Stallings Figura 12.6 mostra um panorama da Whirlpool, que tem como entrada uma mensagem com um comprimento máximo de menos de 2 ^ 256 bits e produz como saída um 512-bit mensagem digerir. A entrada é transformado em 512-bit blocos. O tratamento consiste das seguintes etapas: • Passo 1: Append padding bits • Passo 2: Acrescente comprimento • Etapa 3: Inicializar hash matriz • Passo 4: Processo de mensagem em 512 bits (64-byte) blocos, utilizando como seu núcleo, o bloco cifra W.

13 Whirlpool Block Cipher W
Projetada especificamente para funções hash Com segurança e eficacia AES Porem com blocos 512-bit Estrutura e função semelhante do AES but Linha de entrada é bem mapeada Tem 10 rounds um polinómio primitivo diferentes para GF(2^8) Usa um S-box de projeto e valores diferentes Ao contrário praticamente todas as outras propostas de um bloco-cipher-based função hash, a Whirlpool utiliza um bloco cifra que é especificamente concebidos para utilização em função hash e é improvável que alguma vez para ser utilizado como uma função autônoma encriptação. A razão para isto é que os designers queriam fazer uso de um bloco cifrado com a segurança e eficiência de AES, mas com um comprimento hash que proporcionou um potencial de segurança igual ao SHA-512. O resultado é o bloco cifra W, que tem uma estrutura semelhante e utiliza as mesmas funções elementares como AES, mas que usa um bloco e um tamanho da chave de 512 bits. Ver Stallings Table12.2 que compara AES e W.

14 Whirlpool Block Cipher W
Stallings 12/7 figura mostra a estrutura do Bloco Cifra W. o algoritmo de encriptação 512-bit tem um bloco de texto simples como entrada e um 512-bit chave e produz um bloco de 512-bit encriptado como saída. O algoritmo de encriptação envolve a utilização de quatro diferentes funções, ou transformações: add-chave (AK), substituto bytes (SB), colunas turnos (SC), e misturar linhas (MR). Note que a entrada é mapeado por linhas (ao contrário AES, que é mapeado por coluna). Daí a utilização de "Mix Filas", como a difusão camada, e "Shift Colunas", como a permutação (vs Mix & Colunas Shift Filas em AES). Note também que a chave usa o mesmo esquema W ronda função, mas com constantes ronda RC [I] (sendo S-saídas caixa), tendo o papel de "subchaves" no AddKey função.

15 Whirlpool Performance & Security
Whirlpool é uma nova proposta Por isso a pequena experiencia com seu uso Porem pode encontrar cifras de AES onde pode ser aplicado Não é necessario maior poder de hardware que SHA, e ainda tem uma performance boa Whirlpool é uma nova proposta, por conseguinte, há pouca experiência com o uso, embora muitos AES conclusões lhe sejam aplicáveis. No entanto, tem havido pouca experiência com a implementação Whirlpool. Um estudo [KITS04] Whirlpool comparado com uma série de outras funções hash seguras. Os autores desenvolveram múltiplas implementações de hardware de cada função hash e concluiu que, em comparação com SHA-512, a Whirlpool exige mais recursos de hardware, mas realiza muito melhor em termos de caudal.

16 Introduzindo funcções Hash e MAC
Obtendo MAC baseado em uma função hash As funções hash são geralmente mais rápida Código de funções criptográficas hash amplamente disponível hash inclui uma chave junto a mensagem Proposta original: KeyedHash = Hash(Key|Message) Algumas falhas foram encontradas Eventualmente levou ao desenvolvimento do HMAC In recent years, there has been increased interest in developing a MAC derived from a cryptographic hash function. A hash function such as SHA was not designed for use as a MAC and cannot be used directly for that purpose because it does not rely on a secret key. There have been a number of proposals for the incorporation of a secret key into an existing hash algorithm, originally by just pre-pending a key to the message. Problems were found with these earlier, simpler proposals, but they resulted in the development of HMAC.

17 HMAC especificada como padrão Internet RFC2104
utiliza função hash sobre a mensagem : HMACK = Hash[(K+ XOR opad) || Hash[(K+ XOR ipad)||M)]] Onde K+ é a chave alocada fora de tamanho E opad, ipad são especificadas alocadas constantes overhead são apenas mais 3 cálculos hash do que a mensagem sozinha precisa E a função hash pode ser usada eg. MD5, SHA-1, RIPEMD-160, Whirlpool A ideia da introdução do hash evoluiu em HMAC, concebido para ultrapassar alguns problemas com as propostas originais. Envolve hashing padded versões dos principais concatenado com a mensagem e, em seguida, com outra exterior hash do resultado prepended por outro padded variante da chave. A função hash só devem ser utilizados em mais 3 quarteirões do que quando hashing apenas a mensagem original (para as duas teclas + interior hash). HMAC pode utilizar qualquer função hash desejado, e tem sido demonstrado que tem a mesma segurança que a função hash subjacente. Pode escolher a função hash de usar baseado na velocidade / preocupações de segurança.

18 Visão geral HMAC Stallings 12/10 figura mostra a estrutura do HMAC, que implementa a função: Hash HMACK = [(K + XOR opad) | | Hash [(K + XOR IPAD) | | M)] elementos são os seguintes: K + K é preenchido com zeros à esquerda, para que o resultado é b bits de comprimento IPAD é um bloco de 36 hex valor repetido para preencher bloco opad é uma almofada valor de 5C hex repetido para preencher bloco M é a mensagem de entrada para HMAC (incluindo o enchimento especificado no embutidos função hash)

19 HMAC Security A prova de segurança do HMAC é mostrada pelo algorítimo hash subjacente Para atacar o HMAC exige: Ataque de força bruta de chave utilizada birthday attack Criptoanalitico por estátistica (Desde que fosse observado um grande numero de chaves) escolher função hash utilizada baseada na velocidade versos segurança O recurso de HMAC é que seus criadores tenham sido capazes de demonstrar uma relação exacta entre a força da função hash embutida ea força do HMAC. A segurança de uma função MAC é geralmente expressa em termos da probabilidade de êxito falsificação com uma determinada quantidade de tempo gasto pelo falsário e um determinado número de mensagens-MAC pares criados com a mesma chave. Ter duas classes de ataques: ataque de força bruta usada chave que tem trabalhos de ordem 2 ^ n, ou um ataque de aniversário que exige trabalhos de ordem 2 ^ (n / 2) -, mas que exige que o atacante para observar 2 ^ n blocos de mensagens utilizando a mesma chave - muito improvável. Portanto, mesmo MD5 ainda é segura para uso em HMAC dadas estas restrições.

20 CMAC Vista anteriormente em DAA (CBC-MAC)
Amplamente usada por governos e industrias Porem a mensagem tem tamanho limitado Pode ser usando 2 chaves & padding formando assim o Cifra baseada em código de autenticação de mensagem (CMAC) Adotado pelo NIST SP800-38B CMAC foi anteriormente descrita como a autenticação de dados Algoritmo, FIPS PUB 113, também conhecido como o CBC-MAC (cipher block encadeamento código de autenticação de mensagem). Esta cifra de base MAC tem sido amplamente adotada no governo e na indústria. Demonstrou ser segura, com as seguintes restrições. Apenas as mensagens de um tamanho fixo de Mn bits são processados, onde n é o tamanho cifra bloco e m é um inteiro positivo fixo. Essa limitação pode ser superada usando várias chaves, que pode ser derivado de uma única tecla. Este refinamento foi aprovado pelo NIST como a cifra baseada em código de autenticação de mensagem (CMAC) o modo de operação, para uso com o AES e Triple DES. É especificado no NIST Special Publication B.

21 Visão geral CMAC Stallings 12/12 figura mostra a estrutura da CMAC. Usa a cifra blocksize do subjacente (ou seja, 128-bits para AES ou 64-bits para Triple-DES). A mensagem é dividida em blocos n M1 .. Mn, acolchoado, se necessário. O algoritmo faz uso de uma k-bits criptografia e uma chave K n bits constante K1 ou K2 (dependendo se a mensagem foi acolchoado ou não). Para o AES, a chave tamanho k é , ou 256 bits; por triplo DES, a chave tamanho é 112 ou 168 bits. As duas constantes K1 e K2 são derivadas a partir do original usando criptografia de chave K 0 e multiplicação em GF (2 ^ n), conforme detalhado no texto.

22 Summary Foi visto: Alguns algoritimos de hash
SHA-512 & Whirlpool Autenticação HMAC Usando função Hash Autenticação CMAC Usando cifra de bloco Resumo do cápitulo 12


Carregar ppt "Criptográfia e segurança na rede Capitulo 12"

Apresentações semelhantes


Anúncios Google