Autenticar solicitudes con Web Bot Auth (experimental)
Google está probando el uso del borrador de Internet Web Bot Auth del IETF, un nuevo protocolo criptográfico que ayuda a los sitios web a validar que los robots son auténticos. Estamos probando el protocolo con algunos agentes de IA alojados en la infraestructura de Google. En esta guía se explica qué es Web Bot Auth, cuál es su estado actual y cómo puedes implementar la verificación en la fase experimental.
¿Qué es Web Bot Auth?
Web Bot Auth es un protocolo criptográfico experimental que se usa para autenticar las solicitudes enviadas por robots. En lugar de basarse únicamente en las cabeceras y las direcciones IP declaradas, Web Bot Auth permite que los agentes firmen criptográficamente sus solicitudes.
Web Bot Auth ayuda a los propietarios de sitios web a identificar el tráfico automatizado en sus sitios y evita que otros actores intenten hacer spoofing a agentes fiables. Web Bot Auth puede ofrecer las siguientes ventajas:
- Certeza criptográfica: pasa de encabezados vulnerables al spoofing a una identidad verificada. Así, podrás desvincular la identidad del agente de las direcciones IP.
- Mejor observabilidad: obtén estadísticas más claras sobre cómo interactúan los agentes con tu contenido.
- Preparación para el futuro: ayuda a establecer una web en la que los proveedores de agentes y los sitios web puedan forjar confianza mutua y tomar decisiones de acceso fundamentadas.
Estado actual de Web Bot Auth: experimental
La implementación de Web Bot Auth de Google se encuentra actualmente en fase experimental por los siguientes motivos:
- Web Bot Auth es actualmente un borrador de especificación desarrollado por el Grupo de Trabajo de WBA de IETF, por lo que puede cambiar con el tiempo. Google sigue estando involucrado con el Grupo de Trabajo a medida que evoluciona.
- La verificación de robots basada en el user-agent y la IP es el estándar de facto actual, con décadas de sistemas, políticas y prácticas recomendadas consolidados a su alrededor. Para cambiar estos elementos, se necesita tiempo y un enfoque minucioso. Estamos en una fase inicial, en la que aún evaluamos las características técnicas y las posibles implicaciones del protocolo en el ecosistema.
¿Qué significa?
El estado experimental significa que:
- No todos los user-agents de Google usan Web Bot Auth.
- Google aún no firma todas las solicitudes de los agentes que usan el protocolo.
- Te recomendamos que, mientras vamos desplegando gradualmente el tráfico firmado, sigas usando, además de Web Bot Auth, direcciones IP, DNS inversos y cadenas de user-agent.
Si quieres participar en la fase experimental, te ofrecemos instrucciones sobre cómo reconocer y añadir los agentes de IA de Google a la lista de permitidos.
Cómo incluir en la lista de permitidos a los agentes de IA de Google mediante Web Bot Auth
Si eres desarrollador o administrador de sistemas y quieres incluir en tu lista de permitidos a nuestros agentes de IA experimentales, puedes implementar la verificación a través del protocolo Web Bot Auth:
Usar un producto o servicio que admita Web Both Auth
Los principales servicios de detección de robots, CDNs y WAFs admiten Web Bot Auth. Algunos servicios de infraestructura ofrecen formas de buscar el Google-Agent user-agent y añadirlo a la lista de permitidos. Consulta a tu proveedor para saber los pasos exactos. Un subconjunto de solicitudes realizadas por el Google-Agent se firma con Web Bot Auth. En estos casos, se autentican como https://agent.bot.goog. Si tu proveedor admite el protocolo, es probable que lo verifique automáticamente.
Verificar las solicitudes por tu cuenta
Si quieres verificar nuestras solicitudes por tu cuenta, consulta la especificación de arquitectura de firmas de mensajes HTTP para tráfico automatizado y las implementaciones de ejemplo en GitHub. En general, los pasos clave del protocolo son los siguientes:
- Obtén el conjunto de claves públicas de nuestro agente desde https://agent.bot.goog/.well-known/http-message-signatures-directory y almacénalas en caché según el encabezado
Cache-Control. - Las solicitudes participantes que se envíen a tu servidor tendrán el encabezado de solicitud HTTP
Signature-Agentcon el valorg="https://agent.bot.goog"(fíjate en la etiquetag=). - Verifica el encabezado
SignaturesegúnSignature-Input, siguiendo el estándar de firmas de mensajes HTTP (RFC 9421). Usa los encabezadosSignatureySignature-Inputetiquetados comog. - No olvides recurrir a la verificación basada en IP, ya que no todas las solicitudes están firmadas.
Si la latencia es un factor crítico para tus solicitudes, puedes enviar la respuesta por adelantado y validar la firma dentro de su ventana de validez. En este caso, la sanción se aplicará después y podrás aplicarla a las futuras solicitudes del llamador.
Pasos siguientes
- Ponte en contacto con tu proveedor de alojamiento o de seguridad para comprobar si admite la verificación de Web Bot Auth.
- Mantente al día de las especificaciones técnicas del Grupo de Trabajo de Web Bot Auth.
- Participa en la conversación en la lista de distribución de la IETF.
- Envíanos tus comentarios a través de nuestro formulario de comentarios sobre Web Bot Auth.