セキュリティ

HMAC (Hash-based Message Authentication Code)

HMAC (Hash-based Message Authentication Code)は、秘密鍵とハッシュ関数を組み合わせて、メッセージの整合性と真正性の両方を検証する暗号メカニズムです。

HMACとは?

HMAC (Hash-based Message Authentication Code)は、以下の2つを検証する暗号署名メカニズムです:

  1. 整合性 — メッセージが転送中に改ざんされていないこと
  2. 真正性 — メッセージが正当な送信者から送られたものであること

HMACの仕組み

HMACは、送信者と受信者間で共有される秘密鍵とハッシュ関数(SHA-256、SHA-512など)を組み合わせます:

  1. 送信者は秘密鍵を使用してメッセージのハッシュを作成します: HMAC(鍵, メッセージ) = 署名
  2. 署名はメッセージと共に送信されます
  3. 受信者は同じ鍵でハッシュを再計算し比較します
  4. 署名が一致すれば、メッセージは真正で整合性があることが確認されます

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件で測定。