Firefox continue de renforcer ses fonctionnalités en lien avec la vie privée, le navigateur pouvant désormais mieux isoler les données stockées par les différents sites pour limiter le pistage des internautes. La portée de cette fonctionnalité est pour le moment limitée, mais elle devrait se renforcer avec le temps.
Firefox 86 est disponible au téléchargement. Une nouvelle version qui permet d'afficher plusieurs vidéos en Picture-in-Picture (PiP), revoit le design de sa page dédiée à l'impression et met fin au support de DTLS 1.0 pour les connexions WebRTC. Le navigateur requiert la version 1.2 du standard au minimum.
Il y a bien entendu des correctifs, entres autres nouveautés pour les entreprises et les développeurs. Mais ces derniers vont surtout avoir à faire à la Total Cookie Protection, nom marketing du State Partitioning sur lequel les équipes de Mozilla travaillent depuis longtemps et qui vise à renforcer le respect de la vie privée des utilisateurs.
Il s'agit en effet d'une nouvelle fonctionnalité du mode strict de l'Enhanced Tracking Protection (ETP), disponible dès aujourd'hui. Quels changements concrets pour les internautes et les sites qu'ils visitent ?
Isoler les données pour mieux protéger
Dans la documentation technique de Mozilla, le State Partitioning est présenté comme une segmentation des données stockées par le navigateur afin de limiter la possibilité des sites de nous pister à travers différents domaines. Chacun dispose ainsi de son propre silo de données auquel il accède. Ils sont isolés les uns des autres.
L'équipe illustre cette fonctionnalité avec le réseau social example.com. Si des sites tiers (A.example et B.example) intègrent un bouton de connexion ou « J'aime », le service d'origine déposera des cookies en son nom auquel il pourra accéder et ainsi savoir sur quels sites s'est rendu l'un de ses utilisateurs. On parle de pistage cross-site.
Par le passé, Firefox et d'autres navigateurs ont opté pour une approche assez basique face à ce problème, en limitant la capacité d'accès au stockage de données d'un site depuis un domaine tiers, notamment lorsqu'il est considéré comme un domaine pisteur (par la liste Disconnect dans le cas de Firefox).
Mais cela peut parfois poser problème et, surtout, cette approche avait un impact limité. Le State Partitioning va ainsi plus loin, notamment en s'appliquant à tout domaine, listé comme pisteur ou non.
Avant les données étaient dans un pot commun, désormais elles sont isolées les unes des autres
Le blocage du pistage au-delà des listes
Il consiste à marquer les données stockées avec le domaine du site visité et celui du site à l'origine de la requête, qui constituent deux clés. L'isolation se fait selon ces deux éléments. Ainsi, dans l'exemple ci-dessus, example.com dispose de son silo de données, les données qu'il stocke sur A.example en constitue un autre, celles qu'il stocke sur B.example un troisième, etc. Le croisement des données devient alors impossible pour un pistage cross-site.
Depuis Firefox 85, il était actif sur 19 API en lien avec le réseau afin de lutter contre les « Super Cookies ». Avec Firefox 86 il en concerne désormais 7 autres dans le mode strict d'ETP : Cookies, localStorage, sessionStorage, DOM Cache, IndexedDB, Broadcast Channel et Shared Workers. Ce n'est donc pas (encore ?) actif par défaut.
Car il faut rappeler que toutes ces API existent dans un but légitime au départ. Elles permettent aux développeurs d'apporter des fonctionnalités à leurs sites et applications. Mais elles ont toutes, d'une manière ou d'une autre, été détournées par l'industrie du pistage en ligne, le plus souvent à des fins publicitaires.
Malgré des règles plus dures, il faut donc maintenir un fonctionnement cohérent pour les usages légitimes. En l'état, il existe donc quelques exceptions pour éviter tout problème de compatibilité via l'API Storage Access. Elles ont surtout été introduites pour éviter de casser les mécaniques de connexion par exemple. Dans ces cas précis, l'utilisateur n'aura pas à donner son accord, il sera automatique.
La demande d'accès à l'utilisateur sera parfois nécessaire, parfois non
Ainsi, un accès de 30 jours à un domaine tiers pourra être accordé s'il est à l'origine d'une pop-up ouverte via windows.opener. Il sera de 15 minutes en cas de redirection d'un site A vers B si les deux ont été visités avec une interaction de l'utilisateur il y a moins de dix minutes. Si un domaine pisteur a été visité dans les 45 jours et renvoie vers un site non-pisteur, le premier pourra accéder aux données du second pour 15 minutes.
Les développeurs peuvent se rendre sur cette page qui détaille les différents cas. Les équipes de Firefox préviennent que ces mécaniques sont pour le moment là pour assurer la transition et limiter les problèmes de compatibilité. En cas d'abus, des domaines pourront se voir imposer une demande d'autorisation systématique à l'utilisateur plutôt que de passer par l'automatisation, même en cas de respect des exceptions.