Empreinte numérique d'appareil sans cookies : comment ça marche
Les cookies sont en voie de disparition. Voici comment l'empreinte numérique d'appareil assure une identification persistante sans aucun stockage côté client.
Le cookie est en voie de disparition. L'Intelligent Tracking Prevention (ITP) de Safari plafonne la durée de vie des cookies à 7 jours. L'Enhanced Tracking Protection de Firefox bloque entièrement les cookies tiers. Le Privacy Sandbox de Chrome déprécie les cookies tiers. Les exigences de consentement du RGPD font que les utilisateurs refusent de plus en plus les bandeaux de cookies.
Pour la prévention de la fraude, c'est un problème. Si vous ne pouvez pas identifier les appareils de façon persistante, vous ne pouvez pas suivre les récidivistes, détecter le multi-comptes ni relier entre elles des sessions suspectes. L'empreinte numérique d'appareil résout cela en identifiant les appareils par leurs caractéristiques techniques — pas de cookies, pas de localStorage, aucun stockage côté client d'aucune sorte.
Les catégories de signaux
Empreinte passive (aucun JavaScript requis)
Avant même que votre page ne se charge, le navigateur révèle des informations à travers des signaux de niveau réseau :
Empreinte TLS (JA4). Le message TLS Client Hello contient les suites de chiffrement, les extensions, les courbes elliptiques et les algorithmes de signature. Nous utilisons le hachage JA4 — un remplacement moderne de JA3 offrant une meilleure granularité.
Analyse de la pile TCP/IP. La taille de fenêtre TCP, les valeurs de TTL et les réglages de MSS varient selon les systèmes d'exploitation. Linux, Windows et macOS ont chacun des configurations de pile TCP caractéristiques.
Analyse des en-têtes HTTP. L'ordre des en-têtes, les valeurs Accept-Language et les préférences de connexion diffèrent d'un navigateur à l'autre.
Empreinte active (JavaScript côté client)
Empreinte canvas. Nous dessinons une scène soigneusement conçue — texte spécifique, formes géométriques et dégradés. Différents GPU la restituent avec de subtiles différences au niveau du pixel dues à l'anticrénelage, au rendu sous-pixel et aux variations de mélange des couleurs. Nous hachons les données de pixels.
Empreinte WebGL. WebGL expose les chaînes de fournisseur/moteur de rendu du GPU, les tailles maximales de texture, les extensions prises en charge et les capacités des shaders. Ces données identifient fortement le modèle de GPU et la version du pilote.
Empreinte AudioContext. Nous générons un signal de test et analysons la façon dont il est traité. Différents matériels audio produisent une sortie mesurablement différente en raison de différences de précision en virgule flottante.
Énumération des polices. Les polices système disponibles varient selon l'OS, le pack de langue et les logiciels installés. Nous testons environ 300 polices de diagnostic à l'aide de techniques de mesure par canvas.
Propriétés du navigator. Cœurs de CPU, mémoire de l'appareil, plateforme, langue, fuseau horaire, résolution d'écran, profondeur de couleur, capacités de pointage et tactiles.
Analyse d'entropie
Tous les signaux n'ont pas le même poids. Nous mesurons l'entropie de chaque signal :
| Catégorie de signal | Entropie approximative |
|---|---|
| Canvas + WebGL combinés | ~18 bits |
| Liste de polices | ~8 bits |
| AudioContext | ~5 bits |
| Propriétés du navigator | ~7 bits |
| Empreinte TLS | ~6 bits |
| Écran + affichage | ~4 bits |
| Fuseau horaire + langue | ~3 bits |
Combinés, nos plus de 130 signaux fournissent environ 50+ bits d'entropie — suffisant pour identifier de façon unique plus d'un quadrillion d'appareils distincts.
Des signaux à un hachage stable
La collecte de signaux bruts n'est que la moitié du problème. Les mises à jour de navigateur changent les chaînes de user agent. Les mises à jour de pilote modifient les paramètres WebGL. Les installations de polices changent la liste des polices.
Correspondance floue
Plutôt que d'exiger des correspondances exactes, nous utilisons un algorithme de correspondance floue qui pondère les signaux par stabilité et entropie. Les signaux stables (canvas, modèle de GPU) portent plus de poids que les signaux volatils (user agent, résolution d'écran).
La génération de candidats utilise le hachage sensible à la localité (LSH) sur les signaux les plus stables pour identifier les correspondances potentielles. Le calcul de similarité produit un score pondéré sur toutes les catégories de signaux, calibré de sorte que les changements normaux d'appareil ne modifient pas l'identifiant visiteur tandis que les vrais changements d'appareil le modifient.
Cela atteint 99.5% de précision — en identifiant correctement les visiteurs récurrents à travers les mises à jour de navigateur, les effacements de cookies, le mode navigation privée et les changements de navigateur.
Architecture respectueuse de la vie privée
Traitement côté serveur. Tout le calcul d'empreinte se produit sur nos serveurs. L'agent côté client collecte les signaux bruts mais ne calcule ni ne stocke le hachage d'empreinte.
Aucun stockage de données personnelles. Nous stockons des hachages d'empreinte, pas des signaux bruts. Le hachage est une fonction à sens unique.
Résidence des données. Les données des clients de l'UE sont traitées et stockées dans des datacenters de l'UE. L'article 6(1)(f) du RGPD couvre la prévention de la fraude au titre de l'intérêt légitime.
Identification cross-navigateur
Le défi le plus difficile est d'identifier le même appareil à travers différents navigateurs. Nous nous appuyons sur des signaux indépendants du navigateur : matériel GPU, caractéristiques d'écran, fuseau horaire, réglages de langue, polices installées (au niveau de l'OS) et caractéristiques de la pile TCP/IP.
La précision de la liaison cross-navigateur est d'environ 94% — inférieure à l'identification sur le même navigateur, mais suffisante pour détecter le multi-comptes entre navigateurs sur le même appareil.
Intégration
Ajouter l'empreinte numérique d'appareil prend trois lignes de code. L'agent se charge de façon asynchrone, collecte les signaux en moins de 50ms et les envoie à notre API. La réponse du serveur inclut l'identifiant visiteur, le score de confiance et les 24 Smart Signals.