CyberGlossary

Cryptographie

HMAC

Aussi appelé: MAC à clé par hachage, HMAC RFC 2104

Définition

Construction de MAC à clé bâtie sur une fonction de hachage cryptographique, définie par RFC 2104 et FIPS 198-1.

HMAC (Hash-based Message Authentication Code) est un MAC symétrique défini par RFC 2104 et FIPS 198-1, qui combine une clé secrète K et une fonction de hachage H pour produire un tag : HMAC(K,m) = H((K' XOR opad) || H((K' XOR ipad) || m)). Cette structure imbriquée rend HMAC résistant aux attaques par extension de longueur, même avec des hachages Merkle-Damgård comme SHA-256 ; sa sécurité se réduit à la résistance faible aux collisions et à la pseudo-aléa de la fonction de compression. Les instances usuelles, HMAC-SHA-256 et HMAC-SHA-512, sont utilisées dans la protection des enregistrements TLS, la signature JWT, OAuth, IPsec, et comme PRF interne dans PBKDF2 et HKDF. HMAC demeure un choix par défaut solide pour l'authentification symétrique de messages.

Exemples

  • Les JWT en algorithme HS256 sont signés avec HMAC-SHA-256.
  • AWS Signature Version 4 utilise HMAC-SHA-256 pour signer les requêtes API.

Termes liés