Le cauchemar de Google baptisé « Web Integrity API » alimente la polémique autour d’un gardien DRM pour le Web
(arstechnica.com)- Le Web Environment Integrity API, rédigé par 4 employés de Google, est une proposition visant à permettre aux sites web de vérifier s’ils peuvent faire confiance à l’environnement d’exécution du navigateur d’un visiteur, avec aussi un prototype de test en cours pour Chrome
- Son usage central est l’attestation d’environnement pour filtrer les bots et les environnements modifiés ; cela pourrait servir au comptage des impressions publicitaires, au blocage des bots sur les réseaux sociaux, à la protection de la propriété intellectuelle, à la lutte contre la triche dans les jeux web et à la sécurité des transactions financières
- La proposition s’inspire d’Apple App Attest et de l’API Android Play Integrity API, et Ars Technica y voit l’arrivée sur le Web d’un modèle où l’accès aux applications peut être bloqué sur des appareils rootés
- Si un serveur web exige une attestation avant de fournir un contenu, le navigateur se soumet à un test via un serveur d’attestation tiers, puis obtient un IntegrityToken signé à remettre ensuite
- Le document affirme ne pas viser le fingerprinting, l’entrave aux extensions ou l’exclusion d’autres éditeurs, mais une forte contestation s’est propagée via les issues GitHub, Hacker News et Louis Rossmann
Ce que le Web Environment Integrity API cherche à faire
- La proposition Web Environment Integrity API est une proposition de standard web visant à permettre aux sites de vérifier s’ils peuvent faire confiance à l’environnement client de l’utilisateur
- L’explainer a été rédigé par 4 employés de Google, dont au moins 1 appartient à l’équipe Privacy Sandbox de Chrome
- Le postulat est qu’un site doit pouvoir faire confiance à l’environnement de l’utilisateur pour protéger les données utilisateur et la propriété intellectuelle, et pour déterminer s’il est réellement utilisé par un humain
- Les principaux cas d’usage sont les suivants
- améliorer la précision du comptage des impressions publicitaires pour les annonceurs
- bloquer les bots sur les réseaux sociaux
- faire respecter les droits de propriété intellectuelle
- empêcher la triche dans les jeux web
- renforcer la sécurité des transactions financières
Les inquiétudes liées à l’arrivée de Play Integrity sur le Web
- Le document de proposition indique s’inspirer de signaux d’attestation natifs existants comme App Attest d’Apple et la Play Integrity API d’Android
- Play Integrity est l’ancien SafetyNet, une API Android qui permet aux applications de vérifier si un appareil est rooté
- Le root permet à l’utilisateur de contrôler pleinement l’appareil qu’il a acheté, mais si un appareil rooté est signalé par l’Android Integrity API, certaines applications peuvent refuser de s’exécuter
- l’accès à certaines applications bancaires, à Google Wallet, à des jeux en ligne, à Snapchat ou à certaines applis médias comme Netflix peut être bloqué
- l’accès root peut servir à tricher dans les jeux ou à faire du phishing sur des données bancaires, mais il est aussi utilisé pour personnaliser l’appareil, supprimer les applications préinstallées et mettre en place des systèmes de sauvegarde
- La critique d’Ars Technica porte sur le fait que Google chercherait à introduire cette structure de contrôle d’accès sur le Web également
Le flux d’attestation proposé
- Lors d’une transaction sur une page web, le serveur peut exiger que l’utilisateur passe un test d’environment attestation avant de fournir les données
- Le navigateur se connecte alors à un serveur d’attestation tiers pour effectuer une forme de test
- S’il le réussit, le navigateur reçoit un IntegrityToken signé indiquant que l’environnement n’a pas été altéré et qu’il correspond bien au contenu à déverrouiller
- L’utilisateur soumet ensuite ce jeton au serveur web, et si celui-ci fait confiance à la société d’attestation, l’accès au contenu est accordé
- La structure peut sembler celle d’une API classique, mais la crainte demeure que, sur le Web réel, le site soit Google, le navigateur Chrome et le serveur d’attestation Google aussi
Ce que le document exclut, et les polémiques qui restent
- Les auteurs de la proposition estiment que l’API ne doit pas servir à fingerprinter de manière unique les personnes
- En même temps, ils indiquent qu’un certain indicateur permettant d’appliquer une limitation de débit à des appareils physiques reste nécessaire
- La section « non-goals » affirme qu’il ne s’agit pas d’entraver les fonctionnalités du navigateur, y compris les plugins et extensions
- Ars Technica y voit une façon détournée de dire qu’il ne s’agit pas de tuer les bloqueurs de pub
- les objectifs de la proposition incluent un meilleur support de la publicité
- Chrome a déjà le projet Manifest V3, qui modifie le fonctionnement des API d’extension et réduit leur capacité à modifier le contenu des pages web
- La proposition affirme aussi ne pas avoir pour but d’exclure d’autres éditeurs
Rejet public et prototype Chrome
- Google n’a pas beaucoup mis cette idée en avant publiquement, et le document se trouve non pas dans un dépôt Google officiel, mais sur le compte GitHub personnel d’un employé
- La proposition vérifiable la plus ancienne remonte à avril 2022
- Après la publication, le week-end, d’une spécification mise à jour, le sujet s’est diffusé via Hacker News et le YouTuber spécialisé dans la réparation d’appareils Louis Rossmann
- Les issues GitHub ont été le théâtre d’une forte contestation
- Issue #134 critique l’idée comme « absolument contraire à l’éthique et opposée à l’open web »
- Issue #113 réagit par « je n’arrive même pas à croire que cela ait été proposé »
- Issue #127 demande : « Avez-vous déjà envisagé que vous soyez les méchants ? »
- L’API n’en est encore qu’au stade de proposition, mais Google a publié en mai 2023 sur Chromium blink-dev un intent to prototype, et un développement de test est en cours dans Chrome
- La page de suivi du développement de la fonctionnalité se trouve sur chromestatus.com
1 commentaires
Avis de Hacker News
Si Google peut faire quelque chose que tous les utilisateurs détestent sans que personne ne puisse l’en empêcher, c’est le genre de situation où un démantèlement de l’entreprise devient assez convaincant.
Google semble avoir acquis une position dominante excessive sur le marché.
Quand on leur parle de « manifest v3 », ils ont le regard vide ; quand on évoque la publicité ou les bloqueurs de pub, la plupart ne s’y intéressent pas, et certains n’utilisent même pas de bloqueur de pub.
Des endroits comme HN sont vraiment dans une bulle. La plupart des gens voient la vie privée comme une notion abstraite sur laquelle ils ont très peu de contrôle, et l’acceptent globalement ainsi.
Certains acceptent aussi que les gouvernements affaiblissent la vie privée au nom de la « protection des enfants », ou que les entreprises l’affaiblissent au motif qu’on reçoit des services gratuits en échange de données personnelles.
C’est une triste réalité. Si les gens se souciaient vraiment fortement de ces questions, il serait difficile de comprendre pourquoi si peu de choses changent ; mais quand on voit que, même avec une alternative tout à fait viable comme Firefox, presque personne ne l’utilise, ce n’est pas surprenant. La plupart des gens s’en fichent.
Par exemple, quand Apple apporte une modification matérielle défavorable aux utilisateurs, les principaux fabricants Android suivent en quelques mois[0]. L’option suivante, c’est à peu près un fabricant chinois de téléphones de niche qui vous infligera d’autres souffrances.
Aujourd’hui, je suis presque totalement coupé de Google. À cause de mes exigences pour le téléphone, j’ai fini par utiliser un appareil sans Google Play Services, et je vis dans un pays où Google n’est pas dominant. Il ne me reste que YouTube de temps en temps. J’aimerais pouvoir exporter depuis Photos mes anciennes archives Google Photos, mais l’export Takeout échoue sans arrêt.
[0] : À l’époque où je travaillais chez Google, sur une grande liste de diffusion interne d’ingénierie, quelqu’un a demandé frontalement : « Le retrait du port casque sur le Pixel, c’était à cause d’Apple ? », et la réponse de l’équipe produit a fini par être une pirouette ambiguë équivalant à « oui ».
Plus précisément, pire pour « tout le monde sauf les publicitaires de bas étage ».
Contrairement à EME, la Web Integrity API nécessite un service tiers, avec non seulement des coûts de maintenance, mais aussi des coûts de développement permanents pour suivre la course aux armements contre les hackers qui tenteront de contourner ces contrôles.
Dans une industrie de l’attestation qui fonctionnerait correctement, plusieurs serveurs d’attestation devraient se faire concurrence sur les prix tout en vérifiant les utilisateurs, ce qui rendrait le réseau efficace et robuste ; mais je vois mal cela devenir réalité. Une attestation correcte nécessite des technologies très complexes pour chaque navigateur pris en charge, et il n’y a en pratique qu’une seule entreprise qui veuille à la fois développer un navigateur significatif et exploiter des serveurs d’attestation.
Dans une industrie de l’attestation monopolisée, Google deviendrait le point de défaillance unique pour tous les médias protégés par DRM sur Internet. Si Google tombe, Netflix, Hulu, HBO, etc. tombent aussi, car ils ne peuvent plus vérifier les versions approuvées de Chrome. De plus, Google peut modifier unilatéralement ses frais et ses politiques, ce qui lui donne un levier énorme sur les autres entreprises ; celles-ci ont donc intérêt à éviter de se placer dans une telle position.
Cela pourrait fonctionner si toute l’industrie des médias acceptait Google Chrome comme seul navigateur pris en charge pour les médias sur Internet, et accordait à Google ce pouvoir de marché et ce levier. Mais il est difficile de croire que cela échapperait à tous les grands régulateurs du monde, et s’il existe une faille significative dans ce contrôle du marché, ce plan ne fonctionne pas.
En plus, Google peut se défendre en citant d’autres géants comme Microsoft, Apple ou Amazon pour dire qu’il ne s’agit pas d’un comportement monopolistique. C’est ce qu’ils ont fait dans le procès de janvier pour éviter le démantèlement de leur activité publicitaire.
Il y a aussi le problème du fait que beaucoup d’utilisateurs ne s’en soucient pas. La commodité est trop grande, et il est trop facile pour des entreprises comme Google, mais aussi pour d’autres géants comme Walmart, de retourner l’opinion publique.
Le projet dit avoir pour objectif de « mieux comprendre la personne de l’autre côté du Web », tandis que le texte de présentation affirme que ces données seraient utiles pour agréger les impressions publicitaires, bloquer les bots sur les réseaux sociaux, faire respecter la propriété intellectuelle et empêcher la triche dans les jeux web.
Va te faire foutre, Google. Le but d’un navigateur est de m’afficher des pages web, pas d’apprendre des choses sur moi.
L’usage de la proposition WEI est assez clair rien qu’en lisant le document explicatif (https://github.com/RupertBenWiser/Web-Environment-Integrity/)
Google peut « demander un jeton attestant des faits essentiels sur l’environnement dans lequel le code client s’exécute »
Google prend « la décision finale de faire confiance ou non au verdict renvoyé par l’attestateur »
Google devient capable « d’évaluer l’authenticité de l’appareil ainsi que la représentation honnête de la pile logicielle et du trafic de l’appareil »
J’ai simplement remplacé mentalement « site web » et « serveur web » dans le texte original par « Google » pour clarifier l’intention
Pourquoi Google voudrait-il une telle capacité dans le navigateur ? Que cherche-t-il à faire ? Quelle est l’étape suivante ?
Si j’étais un responsable marketing chez Google, je dirais : « il faut verrouiller le navigateur web pour gagner plus d’argent avec la publicité »
« Il faut bloquer les bloqueurs de pub. La nouvelle API WEI garantira qu’aucun bloqueur de pub n’est en cours d’exécution, que les publicités sont visibles et que le DRM n’a pas été contourné »
« Nous voulons aussi empêcher la fraude publicitaire. Avec WEI, nous pouvons garantir que les clics sur les pubs sont légitimes et que des personnes voient bien les publicités. Si nous ne pouvons pas contrôler le système d’exploitation, comme sur les Chromebook et les téléphones Android, nous devons contrôler le navigateur web avec une certitude cryptographique »
Étape 1 : faire adopter et implémenter Web Environment Integrity par les navigateurs
Étape 2 : exiger l’usage de Web Environment Integrity sur tous les sites web de Google, sous peine de bloquer l’accès
Étape 3 : exiger l’usage de Web Environment Integrity sur tous les sites web diffusant des publicités Google
Étape 4 : profit !
Web Environment Integrity marque le début d’une DRMisation et enshittification supplémentaires du Web
Inutile de s’inquiéter. Ils pensent même aux utilisateurs récalcitrants
« Les utilisateurs aiment visiter des sites web coûteux à créer et à maintenir, mais ils veulent ou doivent souvent le faire sans payer directement. Ces sites se financent par la publicité, mais les annonceurs ne peuvent assumer ce coût que lorsque des humains, et non des robots, voient les publicités. Il en découle donc la nécessité, pour un utilisateur humain, de prouver au site web qu’il est bien humain, parfois au moyen d’actions comme un défi ou une connexion »
La formulation donne l’impression qu’il s’agit de permettre aux sites d’actualité de bloquer les utilisateurs qui ne paient pas, mais cela visera aussi Internet Archive, d’autres archives de pages web, le mode Reader, etc.
Dans la discussion sur blink-dev, ce passage m’a frappé
« Les décisions que nous pouvons prendre seront, au bout du compte, influencées par un débat sociétal plus large sur la confidentialité (régulation, etc.). Car une confidentialité parfaite signifie une impunité parfaite pour les criminels »
Empêcher mon appareil de me surveiller pour le compte du gouvernement ou d’une entreprise ne signifie pas « une impunité parfaite pour les criminels »
En mettant l’attestation de côté un instant, si l’on pense au chiffrement moderne des appareils fondé sur des enclaves de sécurité et aux limites de saisie du mot de passe de type autodestruction qui vont avec, on peut comparer cela à la conception d’un excellent coffre-fort capable de détruire automatiquement son contenu en cas d’effraction. Dans ce cas, le gouvernement devrait-il obligatoirement posséder sa propre clé chaque fois qu’un tel coffre est vendu ?
Le seul débat oppose des personnes qui veulent que leurs droits soient respectés et des entreprises qui ne le veulent pas. Le déguiser en débat est une tentative évidente de scénariser sa position au profit des lobbyistes
La « confidentialité parfaite » est aussi un homme de paille. Le compromis entre absence de confidentialité et confidentialité parfaite n’a pas besoin d’être « Google récolte les données des utilisateurs contre leur volonté »
Mis à part la misanthropie de ce personnage très problématique, cette citation rappelle utilement que l’argument « mais les criminels ! » est souvent utilisé, mais rarement justifié
Après y avoir réfléchi quelques jours, je viens seulement de réaliser que c’est un mécanisme qui bloque tout le web scraping général sans possibilité de contournement
Toute la « compatibilité hostile » de projets comme Nitter, Teddit, Invidious ou youtube-dl disparaît. Les sites d’archivage comme archive.org ou archive.ph pourront aussi être bloqués par des sites exigeant une attestation
Tout comme l’édition, paniquée par le piratage, a été « sauvée » par Kindle, les médias incapables de trouver un modèle économique se précipiteront vers Google en espérant qu’il les sauve
Ça risque de devenir rude
Bien sûr, dans ce cas, les services de scraping ayant une motivation financière continueront à fonctionner, et seuls les particuliers honnêtes qui veulent conserver la liberté de leur user agent en pâtiront. Comme avec beaucoup d’autres DRM
Il y a encore des choses qui ne me plaisent pas, et beaucoup des extensions que j’utilise sont exclusives à Chromium, mais j’ai l’impression qu’il n’y a désormais plus vraiment le choix
Il est bon que ce problème attire davantage l’attention. La discrimination selon le user agent, autrement dit le genre de comportement « dégage si tu n’es pas sur le dernier Chrome », devrait être illégale
Tant que mon usage ne surcharge pas le service, on ne devrait pas me limiter dans le matériel ou le logiciel que j’utilise
Il en va de même pour les autres obstacles qui entravent volontairement l’accessibilité et l’interopérabilité. Il faut empêcher la création de « standards » que seul Google implémente, assez complexes et changeants pour que personne d’autre ne puisse suivre, puis leur promotion de sorte que, indépendamment de leur utilité réelle, tous les sites deviennent de fait réservés à Chrome
Je recommande d’identifier toutes les personnes responsables de cela et d’exercer votre droit à la liberté d’expression. Ça marche avec les politiciens, donc ça devrait aussi marcher avec ce autre genre de malfaiteurs
Une fois de plus, Stallman était très visionnaire : https://www.gnu.org/philosophy/right-to-read.html
En quoi est-ce conceptuellement différent de l’époque où des sites bloquaient IE par hostilité ?
La chaîne user agent du logiciel n’est qu’un identifiant ajouté par le navigateur pour donner du contexte au serveur, pas une couche de protection
Google a le droit de restreindre l’usage de son logiciel comme il l’entend, et nous pouvons simplement ne pas l’utiliser
Il n’existe pas de droit fondamental à un Internet ouvert, et personne ne nous le doit. J’aimerais revenir à l’époque où Internet était beaucoup plus ouvert et moins commercialisé, mais ce ne sont pas des régulations juridiques qui feront revenir ces jours-là
C’est faux à tellement de niveaux que je ne sais même pas par où commencer
D’abord, je déteste ce genre de « proposition ». En réalité, c’est une attitude du type « nous l’avons déjà implémentée dans notre produit phare, nous allons l’imposer gentiment aux utilisateurs, et si vous avez le choix vous pouvez ne pas l’utiliser »
Ensuite, il y a la partie « garantir que vous n’êtes pas un robot et que le navigateur n’a pas été modifié ou altéré d’une manière non approuvée ». J’utilise un navigateur open source qui n’est pas basé sur Chromium, à savoir Firefox, et je peux le modifier et le recompiler comme je veux. Si je veux, je peux aussi utiliser links, elinks, lynx, dillo, et je le fais effectivement. Qui êtes-vous pour me dicter quel logiciel j’utilise sur mon ordinateur ?
C’est le retour de la vague de DRM des années 90. Une attaque continue contre les logiciels ouverts, les plateformes ouvertes et les protocoles ouverts
C’est à la fois rageant et triste
Aujourd’hui, on a toutes sortes d’environnements d’exécution « de confiance » et de trusted computing déloyal comme les TPM, impossibles à éviter, avec la clé publique de quelqu’un d’autre gravée dans le silicium
L’auteur de la proposition qui a verrouillé l’issue GitHub[0] a aussi commenté sur HN, mais jusqu’ici il y reste silencieux : https://news.ycombinator.com/item?id=36825097
[0] https://github.com/RupertBenWiser/Web-Environment-Integrity/...
Les Googlers RupertBenWiser[3] et yoavweiss[4] ne font que suivre la ligne de Google. En particulier, il est vraiment écœurant que yoavweiss ait tenté de faire passer pour du « spam »[5] l’issue d’origine qu’il avait fermée de force sans même lire les commentaires
Ces deux utilisateurs agissent de manière très malveillante et, à mon avis, ne respectent pas correctement le code d’éthique de l’ingénierie
Le simple fait qu’ils aient verrouillé le dépôt GitHub montre qu’ils le savent eux-mêmes
C’est très déprimant de voir à quel point Google et les Googlers sont tombés. Ce qui fut autrefois un foyer d’innovation, de croissance et de création technologique n’est plus désormais que publicité, abus de position sur le marché pour donner à Chrome des avantages absurdes dans la seconde moitié de la guerre des navigateurs, et toujours plus de la même chose
Il semble désormais temps de prendre des mesures antitrust contre Google. Si ce n’est pas déjà fait, il faut passer à Firefox et arrêter d’utiliser Chrome. Mozilla s’oppose à cette proposition et aux ingénieurs qui la poussent[6]
[1] https://github.com/RupertBenWiser/Web-Environment-Integrity/...
[2] https://github.com/RupertBenWiser/Web-Environment-Integrity/...
[3] https://github.com/RupertBenWiser
[4] https://github.com/yoavweiss
[5] https://github.com/RupertBenWiser/Web-Environment-Integrity/...
[6] https://github.com/mozilla/standards-positions/issues/852#is...
Comme dans la vieille blague : « une seule fois avec une chèvre… »
Du point de vue de l’utilisateur, cette « attestation » n’a aucune valeur
On devrait pouvoir faire ce qu’on veut avec son navigateur. Par exemple, on devrait pouvoir supprimer les publicités ou bloquer l’accès à canvas et à WebGL, sans que les sites puissent le savoir
En plus, cette attestation risque fort de fournir un signal supplémentaire d’empreinte de navigateur, et ce n’est pas souhaitable
Je peux vouloir contrôler et vérifier que mes appareils sont toujours sous mon contrôle, et ce serait pratique de ne pas devoir entrer moi-même dans le datacenter chaque semaine pour le vérifier. Le concept en soi n’est pas mauvais
Mais ici, ce concept semble surtout viser à empêcher les bloqueurs de publicité, et à empêcher des navigateurs comme Brave de se faire passer pour Chrome tout en bloquant les publicités sans extension
Pour l’utilisateur, le seul usage positif qui me vienne à l’esprit concerne à peu près les logiciels auto-hébergés. On pourrait peut-être aussi s’en servir pour détecter des attaques de l’homme du milieu ou des malwares qui modifient le navigateur. En pratique, ce sera « pas de Firefox, pas de Linux, pas de bloqueur de pub »
Cela permettrait d’écarter des choses comme les keyloggers, les extensions de navigateur malveillantes ou le détournement de session
Bien sûr, en pratique, ce sera utilisé pour verrouiller le contenu et imposer aux utilisateurs des publicités impossibles à passer
Mais des logiciels qui font ce genre de chose sur des réseaux privés existent déjà. Je suis fermement convaincu qu’une telle fonctionnalité n’a absolument pas sa place sur le Web ouvert
Cette proposition est hostile aux utilisateurs et pourrait être très dangereuse pour l’avenir du Web
Vous utilisez Chrome en ce moment ? Je n’aime pas le dire, mais vous faites partie du problème. Il suffit de passer à autre chose
Je ne suis pas extrêmement anti-Google. J’utilise Gmail et Google comme moteur de recherche. Mais Firefox est un bon navigateur, et c’est celui que j’utilise au quotidien. Edge, Brave, Safari et le navigateur DDG sont aussi des options
Il faut changer dès aujourd’hui pour commencer à réduire le levier de Google
Comme ils ne bloquent pas la plupart des changements que Google pousse dans Chrome, ils contribuent encore fortement à la domination de Google sur Internet
Si vous voulez vraiment ébranler le contrôle de Google sur la plateforme Web, les seules options réellement pertinentes sont Firefox et Safari