Introdução ao HMAC
HMAC é o código de autenticação de mensagens baseado em hash. Existem vários algoritmos de compilação de mensagens disponíveis. O objetivo por trás do HMAC é reutilizar esses algoritmos de compilação de mensagens. Foi desenvolvido para implementar o ambiente de segurança para o protocolo da Internet. O HMAC funciona com qualquer algoritmo de resumo de mensagens. Ele usa o algoritmo de resumo da mensagem na mensagem original, também usa uma chave simétrica para criptografar o resumo da mensagem, que produz o MAC (código de autenticação de mensagem). O HMAC é semelhante ao MAC, a diferença está no HMAC, ele usa um algoritmo baseado em hash. O código de autenticação de mensagens baseado em hash também é usado no protocolo SSL (Secure Socket Layer). Além disso, o HMAC é mais rápido de calcular. Mesmo que a função hash subjacente seja interrompida, o HMAC ainda fornecerá melhor segurança. Neste artigo, discutiremos o conceito básico do Código de autenticação de mensagens baseado em Hash e está funcionando.
Como o HMAC funciona?
Vamos agora dar uma olhada no funcionamento do Código de autenticação de mensagens baseado em Hash.
Etapa 1: Torne o comprimento da chave simétrica igual a vários bits em cada bloco.
Existem três possibilidades: com base em cada uma, precisamos agir para igualar o comprimento da chave ao número de bits. O comprimento de uma chave é menor que o número de bits em cada bloco. Nesse caso, para igualar o comprimento de uma chave a vários bits, precisamos expandir o comprimento da chave adicionando muitos 0 bits.
O comprimento de uma chave é igual a vários bits em cada bloco. Nisso, não precisamos executar nenhuma ação, pois a chave é igual ao número de bits. O comprimento de uma chave é maior que o número de bits em cada bloco. Nesse caso, para igualar o comprimento da chave ao número de bits, precisamos aparar a chave aplicando o algoritmo de resumo da mensagem que usaremos para produzir o HMAC.
Etapa 2: XOR simétrico com almofada.
Nesta etapa, fazemos o XOR simétrico com o pad para produzir uma variável chamada S1.
Nota : pad = É uma sequência 00110110 repetida b / 8 vezes.Etapa 3: anexe a mensagem original ao S1.
Nesta etapa, anexamos a mensagem original no final de S1.
Etapa 4: aplique o algoritmo de resumo da mensagem.
Nesta etapa, aplicamos o algoritmo de compilação de mensagens selecionado (MD5, SHA-1, SHA-512, etc) à saída da etapa 3. Vamos supor que a saída desta etapa 4 seja H
Etapa 5: chave simétrica XOR com almofada.
Nesta etapa, XOR a tecla simétrica com pad para produzir a variável chamada S2.
Nota : pad = É uma sequência 01011010 repetida b / 8 vezes.Etapa 6: acrescente H a S2.
Nesta etapa, pegamos o resumo da mensagem que é calculado na etapa 4 e anexamos na e do S2 que é derivado na etapa anterior, ou seja, na etapa 5.
Etapa 6: algoritmo de resumo da mensagem.
Nesta etapa, aplicaremos o algoritmo de compilação de mensagens selecionado à saída da etapa 6. a compilação de mensagens gerada dessa etapa é o MAC final.
Desvantagens do HMAC
- Vamos discutir alguns problemas que podemos enfrentar no Código de autenticação de mensagens baseado em Hash.
Como discutimos anteriormente, o Código de autenticação de mensagens baseado em Hash usa uma chave simétrica. A chave simétrica significa a mesma chave usada pelo remetente e pelo destinatário. O problema que surge aqui é: como o remetente e o destinatário trocam a chave? - De alguma forma, o problema acima, a troca de chave simétrica está resolvida, não podemos usar o Código de autenticação de mensagens baseado em Hash no caso de mais de um receptor. isso ocorre porque o HMAC usa a chave simétrica para gerar MAC. A chave simétrica deve ser compartilhada apenas por duas partes, ou seja, remetente e destinatário.
- Outro problema é que, se compartilharmos a simétrica com várias partes, como o destinatário sabe que a mensagem foi preparada e enviada pelo remetente, e não para outros destinatários, as chaves também são compartilhadas com eles, para que haja a possibilidade de fraude. receptores podem criar mensagens falsas.
Conclusão
Neste artigo, vimos o conceito básico do Código de autenticação de mensagens baseado em Hash e está funcionando.
Artigo recomendado
Este é um guia para o HMAC. Aqui discutimos a introdução ao código de autenticação de mensagens baseado em hash e seu trabalho com desvantagens. Você também pode consultar nossos artigos sugeridos para saber mais -
- Criptografia de chave simétrica com vantagens
- O que é teste de protocolo | Por que é usado?
- Introdução às 7 principais ferramentas IPS
- Introdução às ferramentas de teste de regressão