使用 Web Bot Auth (實驗功能) 驗證要求
Google 正在測試使用 Web Bot Auth 網際網路工程任務組 (IETF) 網際網路草案,這是一種新的加密通訊協定,可協助網站驗證漫遊器是否可信。我們正透過託管於 Google 基礎架構的一些 AI 代理程式測試這項通訊協定。本指南會說明 Web Bot Auth 是什麼、目前的狀態,以及如何在實驗階段實作驗證。
什麼是 Web Bot Auth?
Web Bot Auth 是一種實驗性加密通訊協定,用於驗證漫遊器傳送的要求。Web Bot Auth 不會只依據自行回報的標頭和 IP 位址,而會改為允許代理程式以加密方式簽署要求。
Web Bot Auth 可協助網站擁有者識別網站上的自動流量,防止其他有心人士嘗試假冒信譽良好的代理程式。Web Bot Auth 可帶來下列好處:
- 加密確定性:擺脫容易遭到假冒的標頭,改用經過驗證的身分,並將代理程式身分與 IP 位址分離。
- 更佳觀測能力:清楚掌握代理程式與內容的互動情形。
- 確保未來發展:協助奠定網路基礎,讓代理程式供應商和網站能夠建立互信,取得充足資訊,做出明智的存取決策。
Web Bot Auth 目前狀態:實驗階段
Google 目前實作的 Web Bot Auth 仍處於實驗階段,原因如下:
- Web Bot Auth 目前是網際網路工程任務組 (IETF) WBA 工作群組開發的草案規格,可能會隨時間變更。Google 會持續參與工作群組的開發過程。
- 以使用者代理程式和 IP 為基礎的漫遊器驗證方式是現行使用的實際標準,數十年來,系統、政策和最佳做法都以此為基礎建構。變更這些程序需要時間和謹慎的做法,我們目前尚處於早期階段,仍在評估這項通訊協定的技術特性和潛在的生態系統影響。
這代表什麼意義?
實驗狀態表示:
- 並非所有 Google 使用者代理程式都使用 Web Bot Auth。
- Google 尚未簽署使用該通訊協定的代理程式的每一項要求。
- 在我們逐步推出已簽署流量這段期間,建議您採用 Web Bot Auth 的同時,也繼續使用 IP 位址、反向 DNS 和使用者代理程式字串。
如果您有興趣在實驗階段參與測試,我們會提供相關指引,說明如何辨識 Google AI 代理程式並將其加入許可清單。
如何使用 Web Bot Auth 將 Google AI 代理程式加入許可清單
如果您是開發人員或系統管理員,想將我們的實驗性 AI 代理程式加入許可清單,可以透過 Web Bot Auth 通訊協定實作驗證:
使用支援 Web Both Auth 的產品或服務
主要漫遊器偵測服務、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=標籤)。 - 請根據
Signature-Input驗證Signature標頭,並遵循 HTTP 訊息簽章標準 (RFC 9421)。使用標示為g的Signature和Signature-Input標頭。 - 別忘了改用以 IP 為準的驗證,因為並非所有要求都已簽署。
如為延遲時間敏感型要求,您可以預先傳回回覆,並在有效期限內驗證簽章。在這種情況下,系統會在事後進行處置,您可以將處置結果套用至呼叫端日後的要求。
後續步驟
- 請與代管或安全防護服務供應商聯絡,確認他們是否支援 Web Bot Auth 驗證。
- 隨時掌握 Web Bot Auth 工作群組的最新技術規格。
- 在網際網路工程任務組 (IETF) 郵寄清單中參與討論。
- 透過 Web Bot Auth 意見回饋表單向我們提供意見。