Melakukan autentikasi permintaan dengan Web Bot Auth (eksperimental)

Google sedang menguji penggunaan draf internet IETF Web Bot Auth yang merupakan protokol kriptografi baru untuk membantu situs memvalidasi keaslian bot. Kami sedang menguji protokol tersebut dengan beberapa agen AI yang dihosting di infrastruktur Google. Panduan ini menjelaskan apa yang dimaksud dengan Web Bot Auth, status saat ini, dan cara menerapkan verifikasi dalam fase eksperimental.

Apa itu Web Bot Auth?

Web Bot Auth adalah protokol kriptografi eksperimental yang digunakan untuk melakukan autentikasi permintaan yang dikirim oleh bot. Alih-alih hanya mengandalkan header yang dilaporkan secara mandiri dan alamat IP, Web Bot Auth memungkinkan agen menandatangani permintaan mereka secara kriptografis.

Penggunaan Web Bot Auth membantu pemilik situs mengidentifikasi traffic otomatis di situs mereka dan mencegah pihak lain mencoba memalsukan agen tepercaya. Web Bot Auth dapat memberikan manfaat berikut:

  • Kepastian kriptografi: Beralih dari header yang mudah dipalsukan ke identitas terverifikasi dan memisahkan identitas agen dari alamat IP.
  • Kemampuan observasi yang lebih baik: Dapatkan insight yang lebih jelas tentang cara agen berinteraksi dengan konten Anda.
  • Persiapan untuk masa mendatang: Membantu membangun web tempat penyedia agen dan situs dapat membangun rasa saling percaya dan membuat keputusan akses yang tepat.

Status saat ini untuk Web Bot Auth: eksperimental

Penerapan Web Bot Auth oleh Google saat ini berada dalam fase eksperimental karena alasan berikut:

  • Web Bot Auth saat ini merupakan draf spesifikasi yang dikembangkan oleh Grup Kerja WBA IETF dan dapat berubah dari waktu ke waktu. Google terus terlibat dalam pekerjaan Grup Kerja seiring perkembangannya.
  • Verifikasi bot berbasis agen pengguna dan IP saat ini merupakan standar de facto, dengan sistem, kebijakan, dan praktik terbaik yang dibangun selama puluhan tahun berdasarkan standar tersebut. Mengubah hal-hal ini memerlukan waktu dan pendekatan yang cermat. Saat ini kami masih dalam tahap awal untuk mengevaluasi karakteristik teknis dan potensi implikasi ekosistem dari protokol tersebut.

Apa artinya ini?

Status eksperimental berarti bahwa:

  • Tidak semua agen pengguna Google menggunakan Web Bot Auth.
  • Google belum menandatangani setiap permintaan agen yang menggunakan protokol tersebut.
  • Sebaiknya selain menggunakan Web Bot Auth, Anda terus mengandalkan alamat IP, DNS terbalik, dan string agen pengguna saat kami meluncurkan traffic yang ditandatangani secara bertahap.

Bagi yang tertarik untuk berpartisipasi selama fase eksperimental, kami menyediakan panduan tentang cara mengenali dan memasukkan agen AI Google ke daftar yang diizinkan.

Cara memasukkan agen AI Google ke daftar yang diizinkan menggunakan Web Bot Auth

Jika Anda adalah developer atau administrator sistem yang ingin memasukkan agen AI eksperimental kami ke daftar yang diizinkan, Anda dapat menerapkan verifikasi melalui protokol Web Bot Auth:

Gunakan produk atau layanan yang mendukung Web Bot Auth

Layanan deteksi bot, CDN, dan WAF yang terkemuka mendukung Web Bot Auth. Beberapa layanan infrastruktur menyediakan cara untuk mencari Google-Agent agen pengguna dan memasukkannya ke daftar yang diizinkan. Harap merujuk pada penyedia Anda untuk mengetahui langkah-langkah persisnya. Subkumpulan permintaan yang dibuat oleh Google-Agent ditandatangani dengan Web Bot Auth yang dalam hal ini, permintaan tersebut diautentikasi sebagai https://agent.bot.goog. Jika penyedia Anda mendukung protokol tersebut, mereka mungkin memverifikasinya secara otomatis.

Lakukan sendiri verifikasi permintaan

Jika Anda ingin melakukan autentikasi sendiri terhadap permintaan kami, lihat spesifikasi arsitektur Tanda Tangan Pesan HTTP untuk traffic otomatis dan contoh implementasi di GitHub. Secara umum, langkah-langkah utama dalam protokol tersebut adalah:

  1. Ambil kumpulan kunci publik agen kami dari https://agent.bot.goog/.well-known/http-message-signatures-directory dan cache sesuai dengan header Cache-Control.
  2. Permintaan yang berpartisipasi yang dikirim ke server Anda akan memiliki header permintaan HTTP Signature-Agent yang ditetapkan ke g="https://agent.bot.goog" (perhatikan label g=).
  3. Verifikasi header Signature sesuai dengan Signature-Input, dengan mengikuti standar Tanda Tangan Pesan HTTP (RFC 9421). Gunakan header Signature dan Signature-Input yang diberi label sebagai g.
  4. Jangan lupa untuk kembali ke verifikasi berbasis IP karena tidak semua permintaan ditandatangani.
Langkah-langkah verifikasi Web Bot Auth

Untuk permintaan yang sensitif terhadap latensi, Anda dapat menampilkan respons terlebih dahulu dan memvalidasi tanda tangan dalam periode masa berlakunya. Dalam hal ini, pemberian sanksi akan terjadi setelahnya dan Anda dapat menerapkannya pada permintaan pemanggil di masa mendatang.

Langkah berikutnya