Authentifier des requêtes avec Web Bot Auth (état expérimental)

Google teste l'utilisation de Web Bot Auth, projet Internet de l’IETF et nouveau protocole cryptographique permettant aux sites Web de valider l’authenticité des robots. Nous testons ce protocole avec certains agents IA hébergés sur l’infrastructure de Google. Ce guide présente Web Bot Auth, son état actuel et la procédure de vérification pendant cette phase expérimentale.

Qu'est-ce que Web Bot Auth ?

Web Bot Auth est un protocole cryptographique expérimental utilisé pour authentifier les requêtes envoyées par des robots. Au lieu de s'en remettre uniquement aux en-têtes déclaratifs et aux adresses IP, Web Bot Auth permet aux agents de signer leurs requêtes de manière cryptographique.

L’utilisation de Web Bot Auth aide les propriétaires de sites à identifier le trafic automatisé sur leurs sites et empêche tout autre acteur d’usurper l’identité des agents de confiance. Web Bot Auth peut apporter les avantages suivants :

  • Certitude cryptographique : allez au-delà des en-têtes qui renvoient à une identité vérifiée mais sont aisément falsifiables et dissociez l’identité des agents de leurs adresses IP.
  • Meilleure observabilité : obtenez des informations plus claires sur la façon dont les agents interagissent avec votre contenu.
  • Pérennité : contribuez à l’établissement d’un Web où les fournisseurs d’agents et les propriétaires de sites peuvent instaurer une relation de confiance mutuelle et prendre des décisions éclairées sur les méthodes d'accès.

État actuel de Web Bot Auth : expérimental

La mise en œuvre de Web Bot Auth par Google est actuellement à l'état expérimental pour les raisons suivantes :

  • Web Bot Auth est une spécification en cours d’élaboration par le groupe de travail WBA de l’IETF et est susceptible d’évoluer. Google continue de participer activement aux travaux de ce groupe à mesure qu’ils avancent.
  • La vérification des robots par user-agent et adresse IP est aujourd’hui la norme de facto autour de laquelle se définissent règles, systèmes et bonnes pratiques depuis des décennies. Faire évoluer ce cadre demande du temps et une approche rigoureuse, et nous n’en sommes qu’aux prémices. Nous évaluons encore les caractéristiques techniques de ce protocole et ses implications potentielles sur l’écosystème.

Qu'est-ce que cela signifie ?

L'état "expérimental" signifie que :

  • tous les user-agents Google n'utilisent pas Web Bot Auth ;
  • Google ne signe pas encore toutes les requêtes des agents utilisant le protocole ;
  • nous vous recommandons de continuer à vous appuyer sur les adresses IP, le DNS inversé et les chaînes de user-agent en plus de Web Bot Auth, tandis que nous déployons progressivement les requêtes signées.

Si vous souhaitez participer à la phase expérimentale, nous vous expliquons comment reconnaître les agents IA de Google et les ajouter à votre liste d’autorisation.

Comment ajouter des agents IA de Google à une liste d'autorisation à l'aide de Web Bot Auth

Si vous êtes développeur ou administrateur système et souhaitez ajouter nos agents IA expérimentaux à votre liste d’autorisation, vous pouvez mettre en œuvre une vérification via le protocole Web Bot Auth :

Utiliser un produit ou un service compatible avec Web Bot Auth

Les principaux CDN, WAF et services de détection de robots sont compatibles avec Web Bot Auth. Certains services d'infrastructure permettent de rechercher le user-agent Google-Agent et de l'ajouter à la liste d'autorisation. Contactez votre fournisseur pour connaître la procédure exacte. Un sous-ensemble de requêtes émises par Google-Agent sont signées via Web Bot Auth ; dans ce cas, elles sont authentifiées en tant que https://agent.bot.goog. Si votre fournisseur prend en charge le protocole, il est probable qu'il effectue cette vérification automatiquement.

Valider des requêtes vous-même

Si vous souhaitez authentifier vous-même nos requêtes, consultez la spécification d’architecture des signatures de messages HTTP pour le trafic automatisé et les exemples de mise œuvre sur GitHub. Les étapes clés du protocole sont généralement les suivantes :

  1. Récupérez l'ensemble des clés publiques de notre agent à partir de https://agent.bot.goog/.well-known/http-message-signatures-directory et mettez-les en cache conformément à l'en-tête Cache-Control.
  2. Pour les requêtes concernées envoyées à votre serveur, l'en-tête de requête HTTP Signature-Agent sera défini sur g="https://agent.bot.goog" (notez le libellé g=).
  3. Vérifiez l'en-tête Signature conformément à Signature-Input, en suivant la norme des signatures de messages HTTP (document RFC 9421). Utilisez les en-têtes Signature et Signature-Input portant le libellé g.
  4. N'oubliez pas de vous reporter à la vérification par adresse IP, car toutes les requêtes ne sont pas signées.
Étapes de vérification de Web Bot Auth

Pour les requêtes sensibles à la latence, vous pouvez renvoyer la réponse à l'avance et valider la signature dans sa fenêtre d'expiration. Dans ce cas, la sanction sera appliquée a posteriori et pourra s'appliquer aux futures requêtes de l'appelant.

Étapes suivantes