Web Bot Auth(試験運用版)でリクエストを認証する

Google は、Web Bot Auth IETF インターネット ドラフトの使用をテストしています。これは、ウェブサイトが bot が本物であることを検証するのに役立つ新しい暗号プロトコルです。現在、Google インフラストラクチャでホストされている一部の AI エージェントでこのプロトコルをテストしています。このガイドでは、Web Bot Auth とは何か、現在のステータス、試験運用フェーズで検証を実装する方法について説明します。

Web Bot Auth とは

Web Bot Auth は、bot から送信されたリクエストの認証に使用される試験運用中の暗号プロトコルです。Web Bot Auth では、自己申告のヘッダーと IP アドレスのみに依存するのではなく、エージェントがリクエストに暗号署名できます。

Web Bot Auth を使用すると、ウェブサイトの所有者はサイト上の自動トラフィックを特定し、他のアクターが評判の良いエージェントになりすますのを防ぐことができます。Web Bot Auth には次のようなメリットがあります。

  • 暗号による確実性: 簡単になりすましができるヘッダーから、検証済みの ID に移行し、エージェント ID を IP アドレスから分離します。
  • オブザーバビリティの向上: エージェントがコンテンツをどのように操作しているかについて、より明確な分析情報を取得できます。
  • 将来を見据えた設計: エージェント プロバイダとウェブサイトが相互に信頼を築き、情報に基づいたアクセスに関する決定を行えるウェブの確立を支援します。

Web Bot Auth の現在のステータス: 試験運用版

Google の Web Bot Auth の実装は、現在、次の理由により試験運用版となっています。

  • Web Bot Auth は現在、IETF の WBA ワーキング グループによって開発されたドラフト仕様であり、今後変更される可能性があります。Google は、ワーキング グループの進展にあわせて、引き続きワーキング グループと連携していきます。
  • ユーザー エージェントと IP に基づく bot の検証は、現在事実上の標準となっており、数十年にわたってシステム、ポリシー、ベスト プラクティスが構築されてきました。これらを変更するには時間と慎重なアプローチが必要であり、まだ初期段階です。プロトコルの技術的特性とエコシステムへの潜在的な影響を評価している最中です。

これは何を意味するのでしょうか。

試験運用版のステータスは、次のことを意味します。

  • すべての Google ユーザー エージェントが Web Bot Auth を使用しているわけではありません。
  • Google は、このプロトコルを使用するエージェントのすべてのリクエストに署名しているわけではありません。
  • 署名付きトラフィックのロールアウトが段階的に進められるため、Web Bot Auth に加えて、IP アドレス、リバース DNS、ユーザー エージェント文字列も引き続き使用することをおすすめします。

試験運用フェーズへの参加をご希望の場合は、Google AI エージェントを認識して許可リストに登録する方法に関するガイダンスをご覧ください。

Web Bot Auth を使用して Google AI エージェントを許可リストに登録する方法

Google の試験運用版 AI エージェントを許可リストに登録したいデベロッパーまたはシステム管理者は、Web Bot Auth プロトコルを使用して検証を実装できます。

Web Both Auth をサポートするプロダクトまたはサービスを使用する

主要な bot 検出サービス、CDN、WAF は Web Bot Auth をサポートしています。一部のインフラストラクチャ サービスでは、Google-Agent ユーザー エージェントを検索して許可リストに登録する方法が提供されています。正確な手順については、プロバイダにお問い合わせください。Google-Agent によって行われたリクエストのサブセットは、Web Bot Auth で署名されます。この場合、https://agent.bot.goog として認証されます。プロバイダがこのプロトコルをサポートしている場合は、通常、自動的に検証されます。

リクエストを自分で確認する

リクエストを自分で認証したい場合は、自動トラフィック アーキテクチャ仕様の HTTP メッセージ署名GitHub の実装例を参照してください。一般的なプロトコルの主な手順は次のとおりです。

  1. https://agent.bot.goog/.well-known/http-message-signatures-directory からエージェントの公開鍵セットを取得し、Cache-Control ヘッダーに従ってキャッシュに保存します。
  2. サーバーに送信される参加リクエストには、Signature-Agent HTTP リクエスト ヘッダーが g="https://agent.bot.goog" に設定されます(g= ラベルに注意してください)。
  3. HTTP メッセージ署名標準(RFC 9421)に従って、Signature-Input に基づいて Signature ヘッダーを検証します。g というラベルの付いた Signature ヘッダーと Signature-Input ヘッダーを使用します。
  4. すべてのリクエストが署名されているわけではないため、IP ベースの検証にフォールバックすることを忘れないでください。
Web Bot Auth の検証手順

レイテンシの影響を受けやすいリクエストの場合は、レスポンスを事前に返し、有効期限内に署名を検証できます。この場合、制裁は事後に行われ、呼び出し元の今後のリクエストに適用できます。

次のステップ