HMAC (Hash-based Message Authentication Code) è un meccanismo crittografico che utilizza una chiave segreta combinata a una funzione di hash per verificare sia l'integrità sia l'autenticità di un messaggio.
Cos'è HMAC?
HMAC (Hash-based Message Authentication Code) è un meccanismo di firma crittografica che permette di verificare due cose:
- L'integrità — il messaggio non è stato modificato durante il transito
- L'autenticità — il messaggio proviene effettivamente dal mittente legittimo
Come funziona HMAC?
HMAC combina una chiave segreta condivisa tra mittente e destinatario con una funzione di hash (SHA-256, SHA-512, ecc.):
- Il mittente crea un hash del messaggio utilizzando la chiave segreta:
HMAC(chiave, messaggio) = firma - La firma viene inviata insieme al messaggio
- Il destinatario ricalcola l'hash con la stessa chiave e lo confronta
- Se le firme corrispondono, il messaggio è autentico e integro
HMAC nel Tracking IA
Nel contesto del Tracking IA, HMAC viene utilizzato per firmare gli eventi inviati dal tracker al server. Questo impedisce:
- L'iniezione di falsi eventi — un attaccante non può fabbricare falsi crawl o referral
- La modifica in transito — i dati non possono essere alterati tra il tracker e il server
- Il replay attack — combinato con un timestamp, gli eventi passati non possono essere rigiocati
Esempio pratico
import hmac, hashlib
secret = "il_tuo_hmac_secret"
message = '{"event":"crawl","bot":"GPTBot","url":"/page"}'
signature = hmac.new(secret.encode(), message.encode(), hashlib.sha256).hexdigest()
# Invia il messaggio + firma nell'intestazione X-Signature
Ogni domanda posta a ChatGPT senza il tuo nome nella risposta è un competitor raccomandato al posto tuo — misurato su 6.820 risposte AI reali.