Découvrez deux défis auxquels l'équipe Chrome a été confrontée lors de l'implémentation des CHIPS et comment les commentaires de la communauté ont joué un rôle clé dans l'évolution de la conception de la proposition.
CHIPS (Cookies Has Independent Partitioned State) est une technologie de la Privacy Sandbox qui permet aux développeurs d'enregistrer un cookie dans un espace de stockage "partitionné", avec des fichiers de cookies distincts pour chaque site de premier niveau.
Exemples de cas d'utilisation de CHIPS : les sous-ressources intersites nécessitant une notion d'état de session ou persistant limitée à l'activité de l'utilisateur sur un site unique de premier niveau, comme les widgets de chat tiers, les intégrations de cartes, l'équilibrage de charge CDN de sous-ressources, les fournisseurs CMS sans interface graphique, etc.
CHIPS est en cours de développement dans le but de devenir une norme Web ouverte. Il est en cours de discussion au sein de la PrivacyCG et a fait l'objet d'une phase d'évaluation depuis sept mois, au cours de laquelle l'équipe Chrome a reçu des commentaires utiles. Pendant le développement, l'équipe a travaillé avec les principaux partenaires pour explorer ces commentaires, ce qui a conduit à une conception actualisée qui répond mieux à l'écosystème Web.
Examinons deux défis auxquels l'équipe Chrome a été confrontée lors de l'implémentation des CHIPS et comment les commentaires de la communauté ont joué un rôle clé dans l'évolution de la conception de la proposition.
Suppression du préfixe d'hôte et aucune exigence de Domain
Pour encourager les bonnes pratiques de sécurité, la conception CHIPS exige que les cookies soient définis et envoyés via des protocoles sécurisés uniquement, et que les cookies partitionnés doivent être définis avec Secure
.
En plus de ces exigences, la proposition initiale n'a pas autorisé l'attribut Domain
au niveau des cookies partitionnés. Omettre Domain
pour les cookies empêchait leur partage entre différents sous-domaines tiers au sein d'une partition.
Pendant la phase d'évaluation, l'équipe Chrome a entendu dire par des partenaires et d'autres personnes que l'exigence d'absence de domaine entraînait des difficultés pour implémenter les CHIPS pour les sites comportant des sous-domaines. Par exemple, il serait plus difficile pour shop.example.com
et pay.example.com
de partager des bocaux à cookies partitionnés. Dans d'autres cas, cela rendait les flux d'authentification difficiles dans les contextes intégrés.
Après avoir examiné ces commentaires, l'équipe Chrome a conclu que supprimer l'exigence d'exclusion de domaine ne poserait pas de problèmes en termes de confidentialité, mais améliorerait la facilité d'utilisation. En réponse, l'équipe produit CHIPS a ouvert une discussion sur GitHub, afin d'inviter à d'autres commentaires sur la suppression de cette exigence. Plusieurs entreprises qui testaient les CHIPS ont réagi publiquement sur l'importance de ce changement pour leur cas d'utilisation.
Chrome a transmis les commentaires au Privacy Community Group du W3C et présenté la proposition mise à jour : Firefox et Edge ont approuvé la modification, et Safari n'a fait aucune inquiétude. Le lendemain, l'équipe Chrome a mis à jour Blink-Dev et présenté son plan de suppression de l'exigence de conformité sur le dépôt GitHub CHIPS.
Dans un premier temps, l'équipe CHIPS a proposé cette exigence pour garantir que les sites ne reçoivent pas de cookies intersites provenant de sous-domaines malveillants ou compromis, et pour réduire la possibilité d'utiliser les cookies de domaine comme canal afin de divulguer des données entre les sous-domaines.
Malgré des avantages supplémentaires en termes de sécurité, Tableau a souligné que cela représentait des défis pour l'adoption des CHIPS, car certaines architectures d'applications actuelles reposent sur le partage de cookies entre sous-domaines.
Depuis que Chrome a effectué ce changement, Tableau, l'entreprise à l'origine de la plate-forme d'analyse visuelle, désormais détenue par Salesforce, a partagé les éléments suivants:
La suppression du changement de nom rend l'exigence de conformité beaucoup plus adaptée aux modifications précédentes, qui consistent à ajouter l'attribut "SameSite=None", et donc à définir une quantité plus "connue". Nous apprécions que Google ait pris connaissance de vos commentaires, en a examiné les implications et effectué les changements nécessaires pour faciliter les transitions. Lee Graber, architecte informatique, Tableau
Grâce à ce processus, CHIPS a été simplifié à implémenter pour les personnes concernées tout en préservant la confidentialité des utilisateurs.
Passer d'une limite de cookies statique à une limite de cookies dynamique
L'autre difficulté liée à l'implémentation des CHIPS était la limite des cookies statiques.
Pour éviter un encombrement de la mémoire important pour les cookies, la conception initiale proposait une limite numérique de 10 cookies par site et par partition.
Akamai a partagé des commentaires publics selon lesquels la limite proposée pour les cookies partitionnés ne serait peut-être pas suffisante pour des services tels que les CDN qui proposent des domaines de premier niveau pour héberger le contenu de leurs clients (tels que customer.cdn.xyz). Par exemple, customer1.cdn.xyz et customer2.cdn.xyz peuvent tous deux diffuser du contenu tiers, et chacun peut définir plusieurs de ses propres cookies. Si plusieurs sites de clients de ce type sont intégrés sur un autre site, ils risquent d'atteindre la limite de 10 cookies par partition.
Les membres de l'équipe Chrome ont entendu des commentaires similaires sur d'autres forums, lors de réunions avec des partenaires et lors de discussions W3C. Ils ont donc envisagé les meilleurs moyens de résoudre le problème posé par la limite de cookies dans ces cas d'utilisation.
Après avoir réfléchi à la façon de prendre en compte les commentaires de la communauté, Chrome a présenté une nouvelle idée lors de TPAC 2022, suggérant que les CHIPS passent d'une limite statique de 10 cookies à une limite de 10 Ko _dynamique basée sur la mémoire. L'analyse a montré que ce changement devrait couvrir 99% des cas d'utilisation sur le Web et respecter les principes de confidentialité que Chrome cherchait à respecter (limitant trop d'informations partagées sur les utilisateurs d'un site à l'autre) tout en maintenant les utilisations clés.
D'autres fournisseurs de navigateurs ont exprimé leur intérêt en indiquant qu'ils étaient d'accord avec la solution mise à jour, qui était importante pour que les CHIPS conservent la compatibilité entre navigateurs dans la PrivacyCG.
Par conséquent, Chrome a adopté la nouvelle limite et intégré la solution à la conception des CHIPS.
Collaborer avec les acteurs du secteur
Nous avons reçu les commentaires de nombreux partenaires tout au long du développement de CHIPS et notre collaboration a joué un rôle essentiel dans l'amélioration de la confidentialité sur le Web.
Akamai entretient des relations de coopération avec d'autres leaders du secteur, comme Google. Les commentaires que nous avons fournis dans le cas du programme CHIPS peuvent sembler être un détail mineur, mais le changement contribuera grandement à assurer un impact négatif minimal sur les bons cas d'utilisation tout en atteignant l'objectif final. Nos organisations respectives s'efforcent de rendre Internet plus rapide et plus sûr à leurs propres méthodes, et l'ensemble d'Internet est plus performant lorsque nous travaillons ensemble. Martin Meyer, Senior Architect chez Akamai Technologies
CHIPS a démontré que les retours de l'écosystème sont essentiels pour améliorer les technologies de la Privacy Sandbox. Les conversations Web ouvertes dans GitHub, les réunions W3C et les échanges continus avec l'équipe Chrome ont directement contribué aux changements qui ont été déployés dans la version stable de Chrome. L'équipe Chrome attend avec impatience de recevoir leurs commentaires sur toute une série de propositions. Ces commentaires ont un impact considérable sur la manière dont les technologies sont développées et déployées sur le Web.