Uwierzytelnianie żądań za pomocą uwierzytelniania botów w internecie (eksperymentalne)

Google testuje użycie projektu internetowego IETF Web Bot Auth, który jest nowym protokołem kryptograficznym pomagającym witrynom potwierdzać, że roboty są autentyczne. Testujemy protokół na niektórych agentach AI hostowanych w infrastrukturze Google. Z tego przewodnika dowiesz się, czym jest uwierzytelnianie botów internetowych, jaki jest jego obecny stan i jak wdrożyć weryfikację w fazie eksperymentalnej.

Co to jest uwierzytelnianie bota internetowego?

Uwierzytelnianie botów internetowych to eksperymentalny protokół kryptograficzny służący do uwierzytelniania żądań wysyłanych przez boty. Zamiast polegać wyłącznie na zgłaszanych przez siebie nagłówkach i adresach IP, Web Bot Auth umożliwia agentom kryptograficzne podpisywanie żądań.

Korzystanie z uwierzytelniania robotów internetowych pomaga właścicielom witryn identyfikować zautomatyzowany ruch w ich witrynach i uniemożliwia innym podmiotom podszywanie się pod zaufane agenty. Uwierzytelnianie bota internetowego może przynieść następujące korzyści:

  • Pewność kryptograficzna: wyjdź poza łatwe do sfałszowania nagłówki i uzyskaj zweryfikowaną tożsamość oraz oddziel tożsamość agenta od adresów IP.
  • Lepsza dostrzegalność: uzyskuj bardziej przejrzyste obserwacje dotyczące interakcji agentów z Twoimi treściami.
  • Przyszłościowe rozwiązanie: pomaga stworzyć internet, w którym dostawcy agentów i witryny mogą budować wzajemne zaufanie i podejmować świadome decyzje dotyczące dostępu.

Obecny stan uwierzytelniania botów internetowych: eksperymentalny

Wdrożenie przez Google uwierzytelniania botów internetowych jest obecnie eksperymentalne z tych powodów:

  • Web Bot Auth to obecnie wersja robocza specyfikacji opracowana przez grupę roboczą WBA IETF, która może z czasem ulec zmianie. Google nadal angażuje się w prace Grupy Roboczej w miarę ich rozwoju.
  • Weryfikacja botów na podstawie agenta użytkownika i adresu IP jest obecnie standardem de facto, wokół którego przez dziesięciolecia budowano systemy, zasady i sprawdzone metody. Wprowadzenie takich zmian wymaga czasu i ostrożnego podejścia. Jesteśmy na wczesnym etapie prac i wciąż oceniamy charakterystykę techniczną protokołu oraz jego potencjalne implikacje dla ekosystemu.

Co to oznacza?

Stan eksperymentalny oznacza, że:

  • Nie wszyscy klienci użytkownika Google korzystają z uwierzytelniania botów internetowych.
  • Google nie podpisuje jeszcze każdego żądania agentów korzystających z tego protokołu.
  • Zalecamy, aby oprócz uwierzytelniania botów internetowych nadal korzystać z adresów IP, odwrotnego DNS i ciągów klienta użytkownika, ponieważ stopniowo wprowadzamy podpisywanie ruchu.

Osobom zainteresowanym udziałem w fazie eksperymentalnej udostępniamy wskazówki dotyczące rozpoznawania i dodawania do listy dozwolonych agentów AI od Google.

Jak dodać agentów AI od Google do listy dozwolonych za pomocą uwierzytelniania Web Bot Auth

Jeśli jesteś programistą lub administratorem systemu i chcesz dodać nasze eksperymentalne agenty AI do listy dozwolonych, możesz wdrożyć weryfikację za pomocą protokołu Web Bot Auth:

Używaj produktu lub usługi, która obsługuje uwierzytelnianie dwuskładnikowe w internecie.

Główne usługi wykrywania botów, sieci CDN i zapory WAF obsługują uwierzytelnianie botów internetowych. Niektóre usługi infrastruktury umożliwiają wyszukiwanie Google-Agent klienta użytkownika i dodawanie go do listy dozwolonych. Aby poznać dokładne kroki, skontaktuj się z dostawcą. Podzbiór żądań wysyłanych przez Google-Agent jest podpisywany za pomocą uwierzytelniania botów internetowych. W takich przypadkach są one uwierzytelniane jako https://agent.bot.goog. Jeśli Twój dostawca obsługuje ten protokół, prawdopodobnie weryfikuje go automatycznie.

Samodzielne weryfikowanie próśb

Jeśli chcesz samodzielnie uwierzytelniać nasze żądania, zapoznaj się ze specyfikacją architektury ruchu zautomatyzowanego dotyczącą podpisów wiadomości HTTP i przykładami implementacji w GitHubie. Ogólnie rzecz biorąc, kluczowe etapy protokołu to:

  1. Pobierz zestaw kluczy publicznych naszego agenta ze strony https://agent.bot.goog/.well-known/http-message-signatures-directory i zapisz je w pamięci podręcznej zgodnie z nagłówkiem Cache-Control.
  2. Żądania uczestniczące wysyłane na Twój serwer będą miały nagłówek żądania HTTP Signature-Agent ustawiony na g="https://agent.bot.goog" (zwróć uwagę na etykietę g=).
  3. Sprawdź nagłówek Signature zgodnie z Signature-Input, postępując zgodnie ze standardem podpisywania wiadomości HTTP (RFC 9421). Użyj nagłówków Signature i Signature-Input oznaczonych jako g.
  4. Nie zapomnij wrócić do weryfikacji na podstawie adresu IP, ponieważ nie wszystkie żądania są podpisane.
Działania weryfikacyjne w przypadku uwierzytelniania bota internetowego

W przypadku żądań wrażliwych na opóźnienia możesz z wyprzedzeniem zwrócić odpowiedź i sprawdzić podpis w okresie ważności. W takim przypadku sankcje zostaną nałożone później i będziesz je mógł zastosować w przypadku przyszłych żądań dzwoniącego.

Dalsze kroki