Les systèmes antifraude ne comparent pas uniquement les cookies. Ils réunissent les signaux du navigateur en une empreinte et recherchent des liens entre comptes. Nous détaillons les signaux clés et pourquoi changer Canvas ne suffit pas.
Un site ne voit pas une simple étiquette de navigateur, mais un ensemble de mesures. Chaque signal est peu distinctif isolément ; réunis, ils forment une empreinte qui subsiste après la suppression des cookies et un changement d'IP. Les principaux signaux sont :
| Chaîne | Ce qui est mesuré | Valeur distinctive typique |
|---|---|---|
| Liste des polices | quelles polices sont installées sur le système | entropie la plus élevée : 9,45 bits, 35% des machines sont uniques |
| WebGL | ligne de carte vidéo, paramètres de rendu | élevé, dépendant du matériel |
| Canvas | hachage de l'image rendue | haut |
| Audio | hachage du signal via Web Audio | élevé sur différentes machines |
| Écran et DPR | résolution et densité de pixels | moyenne |
| Fuseau horaire, langue | paramètres système | faible individuellement, la cohérence est importante |
Les polices arrivent en tête parce qu'elles ont fourni l'entropie la plus élevée dans nos mesures. La liste des polices installées a suffi à rendre uniques 35 % des machines de l'échantillon.
La première mesure a révélé un problème sérieux. Deux profils sur la même machine, sans configuration d'appareil distincte, donnaient des valeurs identiques sur les métriques de police, les paramètres WebGL, clientRects et l'audio, quelle que soit la configuration. Le site pouvait rapprocher ces comptes sans cookie ni adresse IP. Ce résultat a défini l'architecture du produit.
La solution ne consistait pas à ajouter du bruit au hasard, mais à attribuer à chaque profil une configuration cohérente provenant d'un ordinateur réel. Les mêmes signaux sont alors devenus distincts. Nous l'avons vérifié dans de vrais navigateurs :
| Surface | Varie entre les deux profils |
|---|---|
| Fournisseur et moteur de rendu WebGL | Oui |
| Paramètres WebGL | Oui |
| Géométrie de l'écran et DPR | Oui |
| Nombre de cœurs et de mémoire | Oui |
| Liste des polices | Oui |
| Voix de synthèse vocale | Oui |
| Tableau des constantes audio Web | Oui |
| Canvas | oui, le bruit vient de la graine du profil |
Modifier Canvas tout en conservant la véritable liste de polices n'empêche pas le rapprochement : les autres signaux restent identiques. Certains signaux ne doivent d'ailleurs pas être altérés.
Le moteur conserve volontairement les métriques de texte des polices courantes. Les détecteurs ont un contrôle measuretext-grid, conçu précisément pour repérer cette distorsion. Modifier la valeur rendrait le navigateur plus facile à identifier. Il en va de même pour clientRects (voir bcr-vs-range). Ces signaux n'ont pas vocation à varier : sur deux ordinateurs réels utilisant le même système et le même DPR, Arial a la même largeur, car celle-ci dépend du fichier de police et du système.
Vérifiez directement. Créez deux profils avec l’offre gratuite, ouvrez la page de test dans chacun et comparez les valeurs brutes :
Canvas et WebGL diffèrent, mais les signaux de chaque configuration restent cohérents entre eux. Les valeurs brutes permettent de le vérifier, sans se fier à notre commentaire. Vous pouvez aussi ouvrir le test d'empreinte du navigateur : la page mesure les signaux de votre navigateur et place une configuration NimbusX à côté pour les comparer.
Un signal relie encore les profils exécutés sur la même machine : le hash de l'audio rendu. La variation audio du moteur dépend du domaine, pas du profil. Deux ordinateurs réels produisent des hashes différents ; les profils d'une même machine partagent encore le même résultat. Le tableau de bord l'indique clairement dans la cellule AUD de chaque profil. Tant que NimbusX ne dispose pas de sa propre version du moteur, répartissez les profils d'une même plateforme sur plusieurs machines.
Empreinte audio : la limite actuelle · La cohérence compte plus que la quantité