Qu’est-ce qu’un appareil multimédia ?
L’empreinte des appareils multimédias est une technique qui génère un identifiant unique en détectant et en analysant les propriétés des appareils multimédias présents sur l’appareil de l’utilisateur. Ces appareils multimédias comprennent les caméras, les microphones, les haut-parleurs et autres périphériques d’entrée/sortie. Cette technique exploite les différences subtiles entre les appareils pour identifier et suivre les utilisateurs, et elle est couramment utilisée dans des scénarios tels que l’identification des utilisateurs et la diffusion de publicités ciblées.
Le processus par lequel un site web obtient les informations relatives aux périphériques audio et vidéo de l’utilisateur et génère une empreinte de navigateur comprend généralement les étapes suivantes :
Première étape : demander l’autorisation de l’utilisateur
Avant d’utiliser les périphériques audio et vidéo, le site web doit obtenir l’autorisation explicite de l’utilisateur. Cela se fait généralement en appelant les API JavaScript du navigateur.
Deuxième étape : obtenir les informations sur les appareils multimédias
Une fois l’autorisation accordée par l’utilisateur, le site web peut accéder aux informations des appareils via l’API WebRTC. Pour des raisons de protection de la vie privée, les informations relatives aux appareils multimédias ne peuvent être obtenues que lorsque l’utilisateur autorise la page web à y accéder. Si l’utilisateur refuse l’autorisation, les informations des appareils renverront une valeur vide.
Les informations des appareils comprennent principalement les catégories suivantes :
Type d’appareil : par exemple les périphériques d’entrée audio (microphones), les périphériques de sortie audio (haut-parleurs ou écouteurs) ainsi que les périphériques d’entrée vidéo (caméras).
Libellé de l’appareil : le nom lisible de l’appareil. Par exemple, le libellé d’une caméra peut être “Logitech HD Webcam C270”, et celui d’un microphone peut être “Built-in Microphone”.
ID de l’appareil : l’identifiant unique de l’appareil, c’est-à-dire une chaîne de caractères utilisée pour identifier l’appareil de manière unique.
Troisième étape : générer l’empreinte du navigateur
L’empreinte du navigateur est générée en traitant les informations collectées sur les appareils. Les méthodes de traitement sont variées, par exemple en convertissant la chaîne d’informations de l’appareil en une valeur de hachage à l’aide d’un algorithme de hachage.
Il convient de noter que l’empreinte des appareils multimédias peut évoluer en fonction du comportement de l’utilisateur : le remplacement d’un appareil, la mise à jour des pilotes ou la modification des paramètres système peuvent entraîner un changement de l’empreinte. Elle n’est donc pas immuable de manière permanente.
Qu’est-ce qu’une empreinte audio ?
L’empreinte audio est une technique de suivi par empreinte relativement récente. Son principe de base est le suivant : en raison de différences subtiles dans les configurations matérielles et logicielles, différents appareils produisent de légères variations lorsqu’ils lisent le même extrait audio. Ces différences peuvent être capturées et utilisées pour générer un identifiant unique de l’appareil, appelé “empreinte audio”.
Les principes techniques impliqués dans l’empreinte audio comprennent principalement le traitement audio et l’analyse du signal. Les opérations concrètes nécessitent généralement l’utilisation des API Web du navigateur, comme l’interface AudioContext.
Lorsqu’un utilisateur visite un site web, celui-ci peut obtenir l’empreinte audio de son appareil au moyen des étapes suivantes :
Première étape : créer un environnement audio virtuel
Le site web doit d’abord mettre en place un environnement audio dans le navigateur, destiné à lire et analyser l’audio. Techniquement, cela se fait en créant un objet AudioContext. AudioContext fait partie de l’API Web Audio et fournit une série d’interfaces destinées au traitement audio.
Deuxième étape : générer et lire un signal audio
Dans cet environnement audio virtuel, le site web crée un OscillatorNode, c’est-à-dire une source virtuelle de signal audio. Cette source peut produire un signal audio d’une fréquence et d’une forme d’onde spécifiques (comme une onde sinusoïdale, une onde carrée, etc.), mais l’utilisateur n’entend pas ces sons. L’objectif du site web en lisant ce signal audio est de provoquer de légères différences au niveau du matériel audio de l’appareil, différences qui peuvent être utilisées pour distinguer différents appareils.
Troisième étape : capturer les données audio
Lors de la lecture audio, le site web doit capturer les données audio. Cela se fait en créant un objet AnalyserNode. AnalyserNode est un analyseur audio virtuel capable de capturer et d’analyser le signal audio.
Quatrième étape : analyser les données audio
Le site web analyse les données audio capturées afin d’extraire des informations reflétant les caractéristiques de l’appareil. Cette étape peut impliquer des traitements du signal et des calculs statistiques complexes, comme le calcul de la moyenne, de la variance, des valeurs de crête, etc. des données audio.
Cinquième étape : générer l’empreinte audio
Enfin, le site web convertit les informations extraites en un identifiant unique. Cet identifiant reflète les caractéristiques de traitement audio de l’appareil de l’utilisateur et peut être considéré comme l’empreinte audio de l’appareil. Ce processus est généralement réalisé au moyen d’une fonction de hachage, qui permet de transformer des données de longueur arbitraire en une sortie de longueur fixe.
Sixième étape : utiliser l’empreinte audio
Grâce aux étapes ci-dessus, le site web peut obtenir l’empreinte audio de l’appareil de l’utilisateur pendant sa visite de la page, sans que celui-ci ne s’en aperçoive. Le site web peut ensuite utiliser l’empreinte audio pour suivre l’utilisateur, par exemple en associant cette empreinte à d’autres données comportementales de l’utilisateur, à des fins de diffusion de publicités personnalisées, de prévention de la fraude en ligne, etc.
Comment se protéger contre le suivi par empreinte des appareils multimédias et par empreinte audio ?
La technologie d’empreinte des appareils multimédias génère une empreinte en capturant les propriétés des appareils (comme le type, le libellé et l’ID). La technologie d’empreinte audio, quant à elle, génère une empreinte à partir des caractéristiques produites lorsque l’appareil lit un signal audio.
Pour se protéger contre ce type de suivi par empreinte, la meilleure solution consiste à adopter une “méthode de substitution” : utiliser un outil spécialisé pour générer une nouvelle empreinte destinée à remplacer l’empreinte d’origine de l’appareil réel. Si vous utilisez un navigateur anti-empreinte, veillez à vérifier si l’outil propose des options de configuration pour ce type d’empreinte.
