Qu'est-ce que HMAC ?
HMAC (Hash-Based Message Authentication Code) est un mécanisme cryptographique qui combine une fonction de hachage cryptographique avec une clé secrète pour produire un code d’authentification de longueur fixe. Le destinataire peut ainsi vérifier à la fois l’intégrité et l’authenticité d’un message.
Aussi connu sous le nom de : Hash-Based Message Authentication Code, HMAC-SHA256
Une simple fonction de hachage comme SHA-256 peut vérifier l’intégrité des données : si le haché correspond, les données n’ont pas été modifiées. Mais un haché seul ne peut pas vérifier l’authenticité, car n’importe qui peut calculer un haché. HMAC résout cela en intégrant une clé secrète au processus de hachage. Seules les parties qui possèdent la clé peuvent générer ou vérifier la valeur HMAC correcte, ce qui apporte intégrité et authentification en une seule opération.
La construction HMAC définie par le RFC 2104 applique la fonction de hachage deux fois, en mêlant la clé à des endroits précis. Cette structure à double passe protège contre les attaques par extension de longueur et d’autres vulnérabilités qui apparaîtraient si l’on se contentait de concaténer une clé au message avant le hachage. HMAC-SHA256 (HMAC avec SHA-256 comme fonction de hachage sous-jacente) est la variante la plus répandue et produit un code d’authentification de 256 bits.
HMAC est largement utilisé dans les protocoles de sécurité : les signatures JWT, l’authentification d’API, la vérification de webhooks, la protection des enregistrements TLS et OAuth reposent tous sur HMAC. Son efficacité le rend pratique pour authentifier des données à fort volume comme les paquets réseau ou les requêtes API, où les schémas de signature asymétrique introduiraient une latence inacceptable.
Sign a message with HMAC-SHA256
Edit either the key or the message and watch the signature change completely — the avalanche effect that makes HMAC forgery-resistant.
computing…
A verifier with the same key recomputes the HMAC over the received message; if it matches, the message was authored by someone who knows the key andwasn't modified in transit. Vaulted uses this exact construction to issue tamper-proof status-page tokens.
Comment Vaulted utilise HMAC
Vaulted utilise HMAC-SHA256 pour générer des tokens sécurisés destinés aux pages de statut des secrets. Quand un secret est créé, un HMAC est calculé sur l’identifiant du secret à l’aide d’une clé côté serveur. Ce token HMAC est intégré dans l’URL de la page de statut, afin que le créateur du secret puisse vérifier s’il a été consulté ou s’il a expiré, sans donner à l’endpoint de statut la possibilité de consommer des consultations ou d’accéder au contenu chiffré. HMAC est aussi utilisé en interne par PBKDF2 comme fonction pseudo-aléatoire lors de la dérivation de clé à partir des phrases secrètes.