Sicurezza

HMAC (Hash-based Message Authentication Code)

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:

  1. L'integrità — il messaggio non è stato modificato durante il transito
  2. 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.):

  1. Il mittente crea un hash del messaggio utilizzando la chiave segreta: HMAC(chiave, messaggio) = firma
  2. La firma viene inviata insieme al messaggio
  3. Il destinatario ricalcola l'hash con la stessa chiave e lo confronta
  4. 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
Nelle risposte AI, un brand appare solo 1 volta su 6. Il tuo compare?

Ogni domanda posta a ChatGPT senza il tuo nome nella risposta è un competitor raccomandato al posto tuo — misurato su 6.820 risposte AI reali.