HMAC
¿Qué es HMAC?
HMACConstrucción de MAC con clave basada en una función hash criptográfica, definida en RFC 2104 y FIPS 198-1.
HMAC (Hash-based Message Authentication Code) es un MAC simétrico definido en RFC 2104 y FIPS 198-1 que combina una clave secreta K con una función hash H para producir un tag: HMAC(K,m) = H((K' XOR opad) || H((K' XOR ipad) || m)). La estructura anidada hace que HMAC sea seguro frente a ataques de extensión de longitud incluso cuando se usa con hashes Merkle-Damgård como SHA-256, y su seguridad se reduce a la resistencia débil a colisiones y a la pseudoaleatoriedad de la función de compresión. Las instancias más habituales son HMAC-SHA-256 y HMAC-SHA-512, empleadas en TLS, firmas JWT, OAuth, IPsec y como PRF dentro de PBKDF2 y HKDF. HMAC sigue siendo una elección sólida por defecto para autenticación simétrica de mensajes.
● Ejemplos
- 01
Los JWT con algoritmo HS256 se firman con HMAC-SHA-256.
- 02
AWS Signature Version 4 utiliza HMAC-SHA-256 para firmar peticiones API.
● Preguntas frecuentes
¿Qué es HMAC?
Construcción de MAC con clave basada en una función hash criptográfica, definida en RFC 2104 y FIPS 198-1. Pertenece a la categoría de Criptografía en ciberseguridad.
¿Qué significa HMAC?
Construcción de MAC con clave basada en una función hash criptográfica, definida en RFC 2104 y FIPS 198-1.
¿Cómo defenderse de HMAC?
Las defensas contra HMAC combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.
¿Cuáles son otros nombres para HMAC?
Nombres alternativos comunes: MAC con clave por hash, HMAC de RFC 2104.