HMAC
Hash-based Message Authentication Code. La RFC 2104 qui définit comment construire un MAC à partir d'une fonction de hash et d'une clé secrète.
Définition
HMAC (Hash-based Message Authentication Code) est un algorithme défini dans la RFC 2104 (1997) qui combine une clé secrète et une fonction de hash cryptographique (SHA-256, SHA-3, etc.) pour produire un code d'authentification de message. HMAC garantit à la fois l'intégrité et l'authentification d'un message : seul un partenaire qui partage la clé peut produire ou vérifier le HMAC.
Origine
HMAC a été publié en 1996 par Mihir Bellare, Ran Canetti et Hugo Krawczyk, et normalisé par l'IETF dans la RFC 2104 en février 1997 puis FIPS PUB 198-1 (2008) côté NIST. Il s'impose comme la primitive symétrique de référence pour signer les requêtes API (AWS Signature, OAuth 1.0, JWT HS256, webhooks), mais aussi dans certaines couches EDI comme les SBDH signés ou les notifications de paiement.
Exemple en contexte
X-HMAC-Signature: sha256=9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08
Quand une plateforme de facturation électronique reçoit un webhook signalant le rejet d'une facture par PEPPOL, elle vérifie cet en-tête HMAC contre la clé partagée avec son Access Point. Si la valeur ne correspond pas, le webhook est rejeté sans traitement. Cette pratique évite l'usurpation de notifications sans imposer la complexité d'une PKI.