Modules IA Fonctionnalités Étapes Tarifs FAQ Blog Tutoriel Vidéos Glossaire À propos Agences
Sécurité

HMAC (Hash-based Message Authentication Code)

HMAC (Hash-based Message Authentication Code) est un mécanisme cryptographique qui utilise une clé secrète combinée à une fonction de hachage pour vérifier à la fois l'intégrité et l'authenticité d'un message.

Qu'est-ce que HMAC ?

HMAC (Hash-based Message Authentication Code) est un mécanisme de signature cryptographique permettant de vérifier deux choses :

  1. L'intégrité — Le message n'a pas été modifié en transit
  2. L'authenticité — Le message provient bien de l'expéditeur légitime

Comment fonctionne HMAC ?

HMAC combine une clé secrète partagée entre l'expéditeur et le destinataire avec une fonction de hachage (SHA-256, SHA-512, etc.) :

  1. L'expéditeur crée un hash du message en utilisant la clé secrète : HMAC(clé, message) = signature
  2. La signature est envoyée avec le message
  3. Le destinataire recalcule le hash avec la même clé et compare
  4. Si les signatures correspondent, le message est authentique et intègre

HMAC dans le Tracking IA

Dans le contexte du tracking IA, HMAC est utilisé pour signer les événements envoyés par le tracker au serveur. Cela empêche :

  • L'injection de faux événements — Un attaquant ne peut pas fabriquer de faux crawls ou referrals
  • La modification en transit — Les données ne peuvent pas être altérées entre le tracker et le serveur
  • Le replay attack — Combiné avec un timestamp, les anciens événements ne peuvent pas être rejoués

Exemple pratique

import hmac, hashlib

secret = "votre_hmac_secret"
message = '{"event":"crawl","bot":"GPTBot","url":"/page"}'
signature = hmac.new(secret.encode(), message.encode(), hashlib.sha256).hexdigest()
# Envoyer le message + signature dans l'en-tête X-Signature