HMAC (Hash-based Message Authentication Code)は、秘密鍵とハッシュ関数を組み合わせて、メッセージの整合性と真正性の両方を検証する暗号メカニズムです。
HMACとは?
HMAC (Hash-based Message Authentication Code)は、以下の2つを検証する暗号署名メカニズムです:
- 整合性 — メッセージが転送中に改ざんされていないこと
- 真正性 — メッセージが正当な送信者から送られたものであること
HMACの仕組み
HMACは、送信者と受信者間で共有される秘密鍵とハッシュ関数(SHA-256、SHA-512など)を組み合わせます:
- 送信者は秘密鍵を使用してメッセージのハッシュを作成します:
HMAC(鍵, メッセージ) = 署名 - 署名はメッセージと共に送信されます
- 受信者は同じ鍵でハッシュを再計算し比較します
- 署名が一致すれば、メッセージは真正で整合性があることが確認されます
AIトラッキングにおけるHMAC
AIトラッキングのコンテキストでは、HMACはトラッカーからサーバーに送信されるイベントに署名するために使用されます。これにより以下を防ぎます:
- 偽イベントの挿入 — 攻撃者は偽のクロールやリファラルを作成できません
- 転送中の改ざん — トラッカーとサーバー間でデータが改変されることはありません
- リプレイ攻撃 — タイムスタンプと組み合わせることで、古いイベントの再生を防ぎます
実践例
import hmac, hashlib
secret = "your_hmac_secret"
message = '{"event":"crawl","bot":"GPTBot","url":"/page"}'
signature = hmac.new(secret.encode(), message.encode(), hashlib.sha256).hexdigest()
# メッセージ + 署名をX-Signatureヘッダーで送信
顧客がブランド名を挙げずにAIに尋ねると、別の誰かが推薦されます。運用中のブランドはどうでしょう?
ChatGPTへの質問で回答にブランド名が挙がらなければ、その分だけ競合が代わりに推奨されます,, 実際のAI回答6,820件で測定。