En bref : un cookie est une donnée que le site web enregistre sur votre appareil pour vous reconnaître à la prochaine visite. Une empreinte numérique est tout autre chose — c'est un ensemble de mesures que le site effectue sur votre appareil, combinées en une chaîne statistiquement unique. Les cookies, vous pouvez les supprimer ; les empreintes, non, car elles sont des propriétés de votre matériel et de votre logiciel que le site ne fait qu'observer. Une empreinte numérique typique combine environ 30 signaux — résolution d'écran, polices installées, modèle de GPU, pile de traitement audio, langue, fuseau horaire, version du navigateur, et bien d'autres détails plus fins — en une valeur qui identifie de manière unique peut-être 1 appareil sur 10 000 à 1 sur un million. La résistance aux empreintes est la pratique qui consiste à faire paraître votre appareil identique à des millions d'autres, de sorte que l'empreinte ne soit pas assez unique pour vous identifier. C'est difficile, c'est imparfait, et l'évaluation honnête est que la résistance parfaite n'est probablement pas atteignable sur un navigateur moderne — mais une résistance significative l'est, et la différence compte.
Ce qu'est réellement une empreinte de navigateur ou d'appareil
Lorsque vous visitez un site web, la page peut exécuter du JavaScript qui interroge votre navigateur et votre appareil sur des dizaines d'informations. Certaines sont nécessaires au bon fonctionnement du site — la taille de votre écran détermine la mise en page, votre fuseau horaire détermine l'affichage des dates, votre langue préférée détermine quelle traduction charger. Ces informations sont véritablement utiles au site. Mais elles sont aussi véritablement révélatrices : chaque élément réduit le champ des appareils possibles, et suffisamment d'éléments combinés deviennent uniques.
Les environ 30 signaux qui composent une empreinte typique sont :
- La chaîne User-Agent — nom et version du navigateur, système d'exploitation, souvent le modèle d'appareil.
- La résolution d'écran et la profondeur de couleur — permettent généralement de réduire la classe d'appareil.
- Le fuseau horaire et la langue — permettent de réduire la région géographique et la locale.
- Les polices installées — l'ensemble des polices installées sur votre système d'exploitation est étonnamment distinctif. Une page peut les lister en tentant de rendre du texte dans chaque police et en mesurant si le résultat ressemble à la présence de cette police.
- L'empreinte Canvas — la page dessine une petite image en utilisant le canvas HTML5, puis lit les valeurs des pixels. Différents GPU, polices et bibliothèques de rendu produisent des pixels légèrement différents, même à partir de commandes d'affichage identiques. Le hachage résultant est extrêmement identifiant.
- L'empreinte WebGL — idée similaire mais avec des commandes graphiques WebGL. Révèle le modèle du GPU, la version du pilote et les particularités de rendu.
- L'empreinte audio — la page génère un bref signal audio et lit ce que produit la pile de traitement audio. Différentes cartes son, API audio du système d'exploitation et versions de pilotes audio produisent des sorties différentes.
- La simultanéité matérielle — nombre de cœurs CPU. Révèle la classe d'appareil.
- La mémoire de l'appareil — taille de la RAM, exposée via l'API
navigator.deviceMemory. - L'API Battery — niveau de batterie, état de charge, temps de charge. Largement abandonnée par les navigateurs en raison des risques de fingerprinting, mais historiquement utilisée.
- Les capacités d'écran tactile — nombre de points de contact supportés, permettant de distinguer tablettes et ordinateurs portables.
- Les périphériques multimédia — nombre de caméras, microphones et haut-parleurs connectés.
- La liste des plugins — plugins et extensions du navigateur visibles via le DOM (moins utiles dans les navigateurs modernes, mais encore divulgués en certains endroits).
- Les requêtes CSS media queries — la page interroge des dizaines de fonctionnalités media (prefers-color-scheme, prefers-reduced-motion, color-gamut, etc.) et enregistre les réponses.
- L'empreinte TLS (JA3/JA4) — signal de couche réseau : l'ordre et le contenu des champs dans votre paquet TLS Client Hello identifient la bibliothèque TLS, parfois de manière plus unique que le User-Agent.
- L'empreinte HTTP/2 (Akamai H2) — au niveau du protocole HTTP/2, l'ordre des trames et les paramètres révèlent la bibliothèque HTTP cliente.
- Les signaux comportementaux — rythme de frappe, schémas de mouvement de souris, vitesse de défilement, façon de naviguer entre les champs. Distinctifs même sur de courtes interactions.
Aucun de ces signaux n'est identifiant individuellement. De nombreux appareils ont la même résolution d'écran, beaucoup ont la même version de navigateur, beaucoup ont les mêmes polices installées. Mais la combinaison des 30 — le tuple spécifique de valeurs — est généralement unique. La recherche Panopticlick de l'EFF (désormais appelée Cover Your Tracks) a montré que l'empreinte d'un navigateur typique est unique parmi des centaines de milliers de visiteurs avec une haute probabilité.
Pourquoi le fingerprinting survit à l'effacement des cookies et au mode navigation privée
Le pistage par cookies repose sur la coopération du navigateur : le navigateur stocke le cookie, l'envoie lors des requêtes suivantes, et le site le lit. Si vous supprimez le cookie ou le bloquez, le lien de pistage est rompu. Le pistage par empreinte repose sur le fait que le navigateur révèle des informations sur lui-même et son environnement lorsqu'on le lui demande — et ces informations ne changent pas simplement parce que vous avez vidé le stockage.
Concrètement : vous supprimez tous les cookies, ouvrez une fenêtre de navigation privée, vous connectez à un VPN, et visitez un site au pistage intensif. Le JavaScript du site exécute la routine de collecte d'empreinte, obtient les mêmes 30 signaux qu'il aurait obtenus autrement, calcule le même hachage d'empreinte, et vous reconnaît. Votre adresse IP est différente (vous êtes sur un VPN). Votre cookie est vide (la navigation privée ne le partage pas). Mais votre écran est le même écran, votre GPU est le même GPU, vos polices installées sont les mêmes, votre fuseau horaire est toujours America/New_York. L'empreinte identifie l'appareil, pas la session.
C'est pourquoi les entreprises d'ad-tech et les plateformes d'analyse ont investi massivement dans le fingerprinting à partir de 2014 environ, bien avant que les cookies tiers ne commencent à être abandonnés par les navigateurs. Elles voulaient un mécanisme de pistage qui survive aux contrôles de confidentialité que les utilisateurs commençaient à utiliser. Elles l'ont obtenu.
Les trois principales sources d'empreintes
Les signaux d'empreinte proviennent de trois couches différentes de la pile. Leurs contre-mesures sont différentes, et une défense qui traite une couche peut laisser les autres totalement exposées.
1. Les en-têtes HTTP (couche de base, la moins précise)
Chaque requête HTTP inclut des en-têtes comme User-Agent, Accept-Language, Accept-Encoding, et Sec-CH-UA-* (les nouveaux Client Hints). Ils révèlent le navigateur, le système d'exploitation, la langue et les préférences d'encodage. L'ensemble des en-têtes est peu dense — peut-être une douzaine de bits d'entropie — mais il réduit significativement l'univers des appareils possibles. Les défenses à cette couche (usurpation du User-Agent, harmonisation des préférences de langue) sont peu coûteuses et partiellement efficaces, mais elles ne traitent pas les signaux à bien plus grande bande passante de la couche JavaScript.
2. Les API JavaScript (la plus grande surface d'empreinte)
Le navigateur expose des dizaines d'API JavaScript que les scripts de fingerprinting interrogent — navigator.userAgent, screen.width, navigator.languages, Intl.DateTimeFormat().resolvedOptions().timeZone, la liste des extensions WebGL, les caractéristiques de traitement du contexte audio. Le fingerprinting Canvas via HTMLCanvasElement.toDataURL() est à lui seul responsable d'une grande partie de l'entropie dans une empreinte typique. WebGL en ajoute. L'API Web Audio en ajoute. C'est là que provient la majorité des bits d'empreinte, et c'est la couche la plus difficile à défendre car les API sont véritablement utiles pour les applications web légitimes.
3. La couche TLS et réseau (avancée)
Avant toute requête HTTP, votre navigateur effectue une poignée de main TLS. Le message Client Hello — le premier paquet envoyé par le navigateur — contient la liste des suites de chiffrement prises en charge, les extensions TLS supportées, leur ordre, et divers autres paramètres. La combinaison constitue l'empreinte TLS, capturée par des outils comme JA3 et JA4. Différentes bibliothèques TLS (la version intégrée à Chrome, celle de Firefox, CoreTLS d'Apple, crypto/tls de Go, requests de Python) produisent des empreintes différentes. Un observateur réseau qui connaît l'empreinte TLS habituelle de votre navigateur peut vous identifier même si vous changez de navigateur tout en restant sur le même OS, ou reconnaître quand un outil automatisé (curl, requests, scrapers) usurpe un navigateur sans succès. L'ordre des trames HTTP/2 et les valeurs SETTINGS produisent une empreinte similaire mais distincte. Ces couches échappent largement au contrôle de l'utilisateur — elles dépendent de la bibliothèque TLS sous-jacente — et sont invisibles aux défenses qui opèrent à l'intérieur du navigateur.
Ce que signifie réellement l'« unicité » — la méthodologie Cover Your Tracks de l'EFF
L'EFF maintient un outil sur coveryourtracks.eff.org qui teste votre navigateur face à une configuration de fingerprinting réelle et vous indique l'unicité de votre empreinte. La méthodologie est instructive que vous passiez le test ou non.
L'outil calcule une mesure d'« entropie » : combien de bits d'information identifiante contient votre empreinte. Le calcul est simple — si votre empreinte correspond à 1 visiteur sur 10 000, c'est environ 13,3 bits d'entropie (log2(10000)). Si elle correspond à 1 sur un million, c'est environ 20 bits. L'outil indique aussi quels signaux spécifiques contribuent le plus à votre entropie — par exemple, votre empreinte canvas pourrait apporter 12 bits d'unicité, votre liste de polices 8 bits, votre résolution d'écran 4 bits, votre fuseau horaire 6 bits. Le total est la somme (en supposant que les signaux sont indépendants, ce qui n'est pas tout à fait exact, mais c'est une approximation utile).
Pour donner une perspective : 13 bits d'entropie signifient que l'empreinte associée à la géolocalisation de votre adresse IP est essentiellement unique. 20 bits signifient que vous êtes unique parmi tous les habitants de la planète. Le seuil pour des données « anonymisées » selon la plupart des cadres de protection de la vie privée se situe autour de 10 bits — en dessous, vous bénéficiez d'une plausibilité deniable. Au-dessus de 20 bits, vous êtes individuellement identifiable. La plupart des navigateurs avec les paramètres par défaut produisent des empreintes dans la plage 18-22 bits.
Cartographie des signaux d'empreinte
Voici d'où proviennent les principaux signaux d'empreinte, si l'effacement des cookies les supprime (non), si un VPN les protège (globalement non), et si se défendre nécessite un durcissement au niveau du navigateur (globalement oui) :
| Signal | Où il est collecté | Résiste à l'effacement des cookies ? | Résiste au VPN ? | Durcissement du navigateur requis ? |
|---|---|---|---|---|
| User-Agent + Client Hints | En-têtes HTTP | Oui (survit) | Oui (survit) | Oui (usurpation ou réduction du UA) |
| Empreinte Canvas | JS (canvas + GPU) | Oui (survit) | Oui (survit) | Oui (bruit canvas ou blocage) |
| Empreinte WebGL | JS (WebGL + pilote GPU) | Oui (survit) | Oui (survit) | Oui (désactiver ou aléatoiriser) |
| Contexte audio | JS (API Web Audio) | Oui (survit) | Oui (survit) | Oui (bloquer ou brouiller) |
| Polices installées | JS (énumération des polices) | Oui (survit) | Oui (survit) | Oui (limiter les polices exposées) |
| Fuseau horaire | JS (API Intl) | Oui (survit) | Non (l'endpoint VPN ne correspond pas au fuseau local — fingerprintable) | Oui (usurper ou harmoniser) |
| Adresse IP | Couche réseau | Oui (survit) | Non (le VPN la masque) | Non (utiliser un VPN) |
| Empreinte TLS (JA3/JA4) | TLS Client Hello | Oui (survit) | Majoritairement (survit — même bibliothèque TLS) | Non (définie par la bibliothèque TLS) |
Le schéma est cohérent. Presque tout ce qui contribue à votre empreinte survit aussi bien à l'effacement des cookies qu'à l'utilisation d'un VPN. Les cookies et l'adresse IP ne sont que deux des 30+ signaux ; ne traiter que ces deux-là ne change rien au reste.
Comment les navigateurs tentent de résister aux empreintes
Tor Browser — l'étalon-or
Tor Browser est le navigateur grand public le plus agressif en matière de résistance aux empreintes. Il fait délibérément en sorte que tous ses utilisateurs paraissent identiques : même taille de fenêtre par défaut (le navigateur s'ouvre à 1000x1000 et résiste au redimensionnement, puis encadre le contenu si vous le maximisez), même ensemble de polices visibles par JavaScript, même comportement canvas (toutes les lectures canvas ne renvoient que des données autorisées ou invitent l'utilisateur), même comportement WebGL (largement désactivé), même fuseau horaire (toujours UTC). La contrepartie est sévère — de nombreux sites cassent, les performances souffrent du réseau Tor, et l'expérience utilisateur est contrainte. Mais la résistance aux empreintes est nettement meilleure que n'importe quel autre navigateur. L'empreinte qu'un site voit depuis Tor Browser est approximativement la même que celle de tous les autres utilisateurs de Tor Browser — c'est la seule approche connue pour réellement anonymiser le signal d'empreinte à grande échelle.
Brave — randomisation stratégique
Brave adopte une approche différente. Plutôt que de faire paraître tous les utilisateurs identiques (la stratégie Tor), Brave fait paraître le même utilisateur légèrement différent à chaque visite. Les lectures Canvas incluent du bruit par session, l'énumération des polices est aléatoire, le contexte audio est brouillé. Cette stratégie est appelée « randomisation » ou parfois « bouclier par session ». Elle ne réduit pas l'unicité au cours d'une seule visite, mais empêche le pistage à long terme en rendant l'empreinte instable d'une visite à l'autre. La contrepartie est que certains sites avec une détection anti-fraude robuste (banques, paris) peuvent signaler cette incohérence comme suspecte.
Firefox resistFingerprinting
Firefox dispose d'une préférence cachée, privacy.resistFingerprinting, qui active une suite de défenses dérivées de Tor Browser : une taille de fenêtre fixe, un fuseau horaire fixe (UTC), une visibilité restreinte des polices, une invite pour la lecture canvas, et plusieurs autres mesures. La documentation Mozilla pour cette fonctionnalité décrit l'ensemble complet des comportements. C'est ce qui se rapproche le plus du comportement d'empreinte de Tor Browser sans le réseau Tor lui-même, et cela fonctionne dans une installation standard de Firefox. Les compromis de compatibilité sont significatifs — de nombreux sites cassent visuellement, certains cassent fonctionnellement — c'est pourquoi ce n'est pas activé par défaut.
Safari ITP et au-delà
L'Intelligent Tracking Prevention (ITP) de Safari traite certains vecteurs de fingerprinting mais se concentre principalement sur le pistage cross-site via le stockage. Safari 14+ a ajouté des limites à l'énumération des polices et quelques autres réductions de surface d'empreinte. Safari 17 a ajouté la Protection avancée contre le pistage et les empreintes numériques, qui bloque activement les scripts de fingerprinting connus identifiés par l'équipe Confidentialité d'Apple. L'approche est prudente — Apple accorde une grande importance à la compatibilité des sites — mais elle devient plus agressive à chaque version.
Ce que les défenses au niveau réseau peuvent et ne peuvent pas faire
Un VPN, un résolveur DNS axé sur la confidentialité, et le filtrage des traceurs au niveau réseau traitent collectivement une partie du problème de confidentialité — mais spécifiquement pas la partie fingerprinting. Il vaut la peine d'être honnête sur ce que chaque couche traite :
- Le VPN masque votre adresse IP — utile pour cacher votre géolocalisation au site de destination et pour cacher les sites que vous visitez à votre FAI. N'affecte aucun des signaux d'empreinte de la couche JavaScript. Le site voit toujours votre canvas, vos polices, votre GPU, votre fuseau horaire — juste depuis une adresse IP différente.
- Le filtrage au niveau DNS bloque les scripts de fingerprinting connus — au niveau réseau, vous pouvez bloquer les requêtes vers des domaines de fingerprinting connus (comme
fingerprintjs.comou divers endpoints ad-tech qui intègrent du fingerprinting). C'est partiel mais réel : cela empêche les fingerprinters les plus répandus de s'exécuter du tout. Les sites qui intègrent du code de fingerprinting dans leur propre domaine first-party ne sont pas bloqués par cette approche. Nous couvrons le mécanisme de filtrage DNS dans notre article sur comment arrêter le pistage en ligne. - Le filtrage des traceurs — similaire au filtrage DNS mais opère sur des URL plutôt que sur des domaines. Efficace contre les fingerprinters qui se chargent depuis des chemins distinctifs même sur des domaines CDN partagés. Voir notre fonctionnalité de filtrage des traceurs.
- Le trafic leurre — traite les menaces de type analyse de trafic mais pas le fingerprinting. Les deux modèles de menace sont distincts. Nous avons un article séparé sur les réseaux leurres.
Pour être honnête : les défenses au niveau réseau réduisent la fréquence du fingerprinting en bloquant de nombreux scripts qui le feraient. Elles ne réduisent pas le caractère identifiant de votre empreinte lorsque le fingerprinting a lieu — c'est une préoccupation au niveau du navigateur.
État actuel honnête — la résistance parfaite est difficile
Quelques vérités inconfortables sur la résistance aux empreintes, qu'il vaut la peine de formuler explicitement :
La résistance parfaite n'est probablement pas possible sans casser le web. La plateforme web a véritablement besoin d'accéder à de nombreux signaux qu'exploite le fingerprinting. La mise en page a besoin de la taille d'écran. L'internationalisation a besoin de la langue et du fuseau horaire. Le contenu adaptatif a besoin des capacités de l'appareil. Les signaux utilisés par le fingerprinting ne sont pas des artéfacts — ce sont de vraies propriétés que la plateforme expose pour des raisons légitimes. Les éliminer entièrement casserait trop de choses.
Une résistance qui « paraît unique » est pire qu'aucune résistance. Si vous personnalisez lourdement votre navigateur avec des extensions, des polices et des paramètres personnalisés, vous devenez plus unique qu'un utilisateur par défaut, pas moins. La stratégie de Tor Browser fonctionne parce que chaque utilisateur de Tor Browser paraît identique ; la stratégie consistant à installer 12 extensions de confidentialité sur une configuration de navigateur personnalisée produit une empreinte plus identifiante que l'originale.
La course aux armements continue. Des défenses au niveau du navigateur sont ajoutées ; les scripts de fingerprinting trouvent de nouveaux signaux à exploiter. De nouvelles API (battery, gamepad, WebGPU, orientation de l'appareil) introduisent de nouvelles surfaces d'empreinte. Les atténuations deviennent inefficaces avec le temps. L'état de l'art évolue tous les ans environ. Tout ce qui est décrit dans cet article était vrai au moment de la rédaction mais pourrait nécessiter une révision dans 18 mois.
Les systèmes anti-fraude utilisent aussi le fingerprinting. Lorsque vous vous connectez à votre banque, la banque prend l'empreinte de votre appareil pour détecter une prise de contrôle de compte (« cette connexion provient d'un appareil que nous n'avons jamais vu »). Une résistance agressive aux empreintes peut signaler vos sessions comme suspectes. Les outils qui se défendent contre le pistage court-circuitent aussi la détection anti-fraude — c'est un vrai compromis, pas un effet secondaire, et il vaut la peine d'être considéré selon votre profil de risque spécifique.
Niveaux de résistance pratiques selon les modèles de menace
Le niveau approprié de résistance aux empreintes dépend de ce contre quoi vous cherchez à vous défendre. Voici quelques scénarios courants :
Confidentialité ordinaire (« Je ne veux pas être profilé par l'ad-tech »)
Un navigateur standard (Safari, Firefox, Brave) avec les paramètres de protection contre le pistage par défaut activés, plus un filtrage des traceurs au niveau réseau. Cela bloque la grande majorité des scripts de fingerprinting prêts à l'emploi (qui se chargent depuis des domaines tiers connus) et limite le pistage cross-site via le stockage. Votre empreinte reste individuellement identifiante si un site prend la peine de la calculer, mais la plupart ne le font pas — le rapport coût-bénéfice ne le justifie pas pour les sites non critiques en termes de revenus. La posture de confidentialité par défaut traite 80 % de la menace avec un coût d'utilisabilité pratiquement nul.
Résistant à la surveillance (« Je suis journaliste, militant ou chercheur »)
Tor Browser pour les activités que vous souhaitez anonymes. Un navigateur standard séparé pour tout le reste. Évitez de mélanger les identités entre les deux navigateurs. Reconnaissez que même dans Tor Browser, le fingerprinting comportemental (rythme de frappe, schémas de navigation) peut toujours vous identifier à un adversaire suffisamment motivé. La documentation propre du Projet Tor est la bonne référence pour les spécificités de ce modèle de menace. Les défenses au niveau réseau aident, mais le navigateur est la principale surface défensive.
Adversaire étatique
Évaluation honnête : contre un adversaire nation-État disposant des ressources pour combiner observation réseau, fingerprinting d'appareil, analyse comportementale et travail de renseignement traditionnel, la résistance aux empreintes au niveau du navigateur est l'une des nombreuses entrées. Tor Browser reste utile (il augmente le coût), mais les pratiques de sécurité opérationnelle (appareils compartimentés, séparation disciplinée des identités, formation OPSEC) comptent plus que n'importe quelle configuration de navigateur unique. C'est le modèle de menace pour lequel le Projet Tor est explicitement conçu ; les outils de confidentialité grand public ne sont pas construits pour lui.
Pour la plupart des lecteurs — les deux premiers modèles de menace — le conseil pratique est : utilisez un navigateur moderne respectueux de la vie privée (Brave, Firefox avec des paramètres raisonnables, ou Safari), activez sa protection contre le pistage intégrée, superposez un filtrage au niveau réseau par-dessus, et reconnaissez que le fingerprinting est un risque résiduel réel qu'aucun outil grand public ne traite pleinement. La combinaison est significativement meilleure que le comportement par défaut — sans elle, vous êtes individuellement identifiable sur chaque site que vous visitez ; avec elle, vous n'êtes identifiable principalement que par les sites qui investissent spécifiquement dans le fingerprinting et sont prêts à y consacrer des efforts d'ingénierie.
Casper's Cloak traite la tranche de couche réseau de cette pile défensive. Notre filtrage des traceurs bloque les endpoints de fingerprinting connus au niveau DNS, parallèlement à l'écosystème plus large de l'ad-tech et de l'analytique. Le tunnel VPN masque votre adresse IP et empêche votre FAI d'observer les sites que vous visitez. Ni l'un ni l'autre ne traite la surface d'empreinte au niveau du navigateur — pour cela, choisissez votre navigateur avec soin et envisagez Tor Browser quand le modèle de menace le justifie. La combinaison d'un navigateur bien choisi et d'un filtrage au niveau réseau est la meilleure posture réaliste pour la plupart des utilisateurs, et elle est substantiellement meilleure que le comportement par défaut.
Pour la référence canonique et une mesure rapide de votre entropie personnelle, exécutez l'outil Cover Your Tracks de l'EFF dans le navigateur que vous utilisez réellement. Le résultat vous dira, en bits d'entropie concrets, à quel point votre configuration actuelle est identifiante. À partir de là, le compromis entre confidentialité et utilisabilité devient une décision quantitative plutôt qu'un vague geste vers « plus de confidentialité ».
En résumé : la résistance aux empreintes numériques est réelle, elle est imparfaite, et la bonne posture dépend de votre modèle de menace. La réponse honnête à « comment puis-je empêcher le fingerprinting ? » est « vous ne pouvez pas complètement — mais vous pouvez réduire substantiellement qui peut le faire, ce qu'ils voient, et la stabilité de l'identifiant d'une visite à l'autre ».