Le fingerprinting, ou comment traquer un utilisateur sans cookies
Et si je vous disais que vous pouvez être traqué même au travers d'un VPN, en navigation privée et avec les cookies de désactivés !
Article publié le 02/07/2021, dernière mise à jour le 19/09/2023
Le "browser fingerprinting" est une méthode qui consiste, comme son nom l'indique, à générer une "empreinte" unique basée sur les caractéristiques de votre machine et de votre navigateur, le tout sans jamais rien stocker.
Comment ça marche ?
Grâce à un bout de code Javascript présent dans la page, le site en question va essayer de récupérer un maximum d'informations mises à disposition par le navigateur.
Mais quelles informations me direz-vous ?
En voici une liste non-exhaustive :
- La langue par défaut
- La timezone
- Le user-agent
- La liste des polices installées
- Les plugins installés
- La résolution de l'écran
- Le ratio des pixels
- etc...
Certaines librairies utilisent des dizaines de caractéristiques différentes, et certains sites utilisent aussi des informations récupérées par le serveur telles que l'adresse IP, l'adresse MAC, etc...
Il est parfois possible d'arriver à 99.5% de précision d'identification en quelques millisecondes, vous pouvez par exemple tester la librairie fingerprintjs dans sa version 2, disponible sur Github : https://github.com/fingerprintjs/fingerprintjs2
Dans quel but ?
Vous connaissez certainement la méthode de tracking la plus courante qui consiste à déposer un cookie sur la machine du visiteur et de récupérer sa valeur entre chaque visite.
Encore mieux, il est possible d'importer un script d'un domaine particulier (chaque cookie est relié à un domaine) sur plusieurs sites pour tracker la navigation du visiteur entre ces sites, c'est le principe de Google Analytics.
Mais que se passe-t'il si l'utilisateur supprime ce cookie ? S'il passe en navigation privée ou qu'il bloque le chargement des scripts tiers comme certains AdBlocker ?
Le tracking devient alors impossible.
Enfin, jusqu'à ce que le fingerprinting s'en mêle, car grâce à (ou à cause de) lui, il est possible d'identifier un utilisateur sans rien stocker sur sa machine, en toute discrétion, même si il change de navigateur ou passe en navigation privée. L'algorithme de fingerprinting devra simplement recalculer l'identifiant unique, et pourra le comparer aux sessions précédentes.
Les deux principales utilisations de cette méthode sont le tracking publicitaire (j'en reparle à la fin de l'article) et la détection de fraude.
Par exemple, une plateforme ne voulant autoriser qu'un seul compte par utilisateur pourra comparer l'empreinte d'un visiteur lors de la création du compte pour vérifier qu'il n'est pas déjà inscrit avec un autre email.
Comment s'en protéger
Se protéger de ce système de traçage est plus complexe que de bloquer les cookies ou les scripts tiers car tout le code est en local sur le site, il faudrait donc une analyse complète du code du site afin de déceler un algorithme de fingerprinting.
Heureusement, certains éditeurs de logiciels arrivent à trouver des solutions partielles, comme cette extension pour le navigateur Firefox, censée empêcher le fingerprinting : https://www.presse-citron.net/firefox-de-nouvelles-fonctionnalites-anti-fingerprinting-pour-proteger-votre-vie-privee/
Il existe aussi une initiative appelée "Am I Unique ?" qui permet d'analyser votre navigateur de manière à découvrir à quelle point votre navigateur peut être pisté ou non : https://amiunique.org
Cette pratique est-elle autorisée par la RGPD ?
Le but d'une réglementation comme la RGPD est de rester valable pour un maximum de cas malgré l'évolution rapide des technologies.
C'est pourquoi vous ne verrez pas de mention du "fingerprinting" dans le texte de loi, mais plus globalement de toutes informations personnelles permettant de traquer un utilisateur.
Oui les caractéristiques de votre navigateur peuvent être considérées comme des données personnelles si elles sont recoupées entre elles.
En résumé, le fingerprinting est autorisé à condition d'avoir un consentement explicite de l'utilisateur ou bien de ne pas stocker le résultat de l'algorithme pour l'utiliser à seule fin de détection de fraudes par exemple.
En tout cas en pratique, rien ne vous empêche d'expérimenter de votre côté pour comprendre son fonctionnement !
Pour plus d'informations sur le fingerprinting et la RGPD, je vous mets le lien d'un article de l'Electronic Frontier Foundation (en anglais) : https://www.eff.org/deeplinks/2018/06/gdpr-and-browser-fingerprinting-how-it-changes-game-sneakiest-web-trackers
J'espère que cet article vous aura été utile, et à bientôt sur le blog !
Aucun commentaire pour l'instant