Web Bot Auth(試験運用版)でリクエストを認証する
Google は、Web Bot Auth IETF インターネット ドラフトの使用をテストしています。これは、ウェブサイトが bot の真正性を検証するのに役立つ新しい暗号プロトコルです。Google は、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 Bot Auth をサポートするプロダクトまたはサービスを使用する
主要な bot 検出サービス、CDN、WAF は Web Bot Auth をサポートしています。一部のインフラストラクチャ サービスでは、Google-Agent ユーザー エージェントを検索して許可リストに登録する方法が用意されています。具体的な手順については、プロバイダにお問い合わせください。Google-Agent によって行われたリクエストのサブセットは、Web Bot Auth で署名されます。この場合、https://agent.bot.goog として認証されます。プロバイダがこのプロトコルをサポートしている場合は、通常、自動的に検証されます。
リクエストを自分で確認する
リクエストを自分で認証したい場合は、自動トラフィック仕様の HTTP メッセージ署名と GitHub の実装例を参照してください。一般的に、プロトコルの主な手順は次のとおりです。
- https://agent.bot.goog/.well-known/http-message-signatures-directory からエージェントの公開鍵セットを取得し、
Cache-Controlヘッダーに従ってキャッシュに保存します。 - サーバーに送信される参加リクエストでは、
Signature-AgentHTTP リクエスト ヘッダーがg="https://agent.bot.goog"に設定されます(g=ラベルに注意してください)。 - HTTP メッセージ署名標準(RFC 9421)に沿って、
Signature-Inputに従ってSignatureヘッダーを検証します。gというラベルが付いたSignatureヘッダーとSignature-Inputヘッダーを使用します。 - すべてのリクエストが署名されているわけではないため、IP ベースの検証にフォールバックすることを忘れないでください。
レイテンシの影響を受けやすいリクエストの場合は、レスポンスを事前に返し、有効期限内に署名を検証できます。この場合、制裁は事後に行われ、発信者の今後のリクエストに適用できます。
次のステップ
- ホスティング プロバイダまたはセキュリティ プロバイダに、Web Bot Auth 認証をサポートしているかどうかを確認してください。
- Web Bot Auth ワーキング グループの技術仕様に関する最新情報を確認してください。
- IETF メーリング リストのディスカッションに参加してください。
- Web Bot Auth フィードバック フォームからフィードバックをお送りください。