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 HTTPprzykł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 SignatureSignature-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