HMAC
O que é HMAC?
HMACConstrução de MAC com chave baseada numa função de hash criptográfica, definida nas RFC 2104 e FIPS 198-1.
O HMAC (Hash-based Message Authentication Code) é uma construção simétrica de MAC definida na RFC 2104 e na FIPS 198-1 que combina uma chave secreta K com uma função de hash H para produzir uma tag: HMAC(K,m) = H((K' XOR opad) || H((K' XOR ipad) || m)). A estrutura aninhada torna o HMAC resistente a ataques de extensão de comprimento mesmo com hashes Merkle-Damgård como SHA-256, e a sua segurança reduz-se à resistência fraca a colisões e à pseudo-aleatoriedade da função de compressão. As instâncias mais comuns são HMAC-SHA-256 e HMAC-SHA-512, usadas na proteção de registos TLS, assinaturas JWT, OAuth, IPsec e como PRF dentro de PBKDF2 e HKDF. O HMAC continua a ser uma escolha sólida por defeito para autenticação simétrica de mensagens.
● Exemplos
- 01
JWT com algoritmo HS256 são assinados com HMAC-SHA-256.
- 02
O AWS Signature Version 4 utiliza HMAC-SHA-256 para assinar pedidos de API.
● Perguntas frequentes
O que é HMAC?
Construção de MAC com chave baseada numa função de hash criptográfica, definida nas RFC 2104 e FIPS 198-1. Pertence à categoria Criptografia da cibersegurança.
O que significa HMAC?
Construção de MAC com chave baseada numa função de hash criptográfica, definida nas RFC 2104 e FIPS 198-1.
Como se defender contra HMAC?
As defesas contra HMAC costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.
Quais são outros nomes para HMAC?
Nomes alternativos comuns: MAC com chave por hash, HMAC da RFC 2104.