Dans Chromium, la variation audio est liée au domaine, pas au profil. Cet article explique l'effet concret, l'endroit où NimbusX le signale et la modification nécessaire pour lever cette limite. C'est le seul signal mesuré que nous n'avons pas encore isolé par profil.
Un outil de contrôle fait passer un signal court dans Web Audio, puis calcule le hash du résultat. Le matériel et les pilotes introduisent d'infimes écarts ; le hash peut ainsi servir de signature à la machine. Deux ordinateurs physiques produisent des valeurs différentes, comme avec Canvas. NimbusX enregistre la valeur du profil sous la forme d'un tableau de 108 constantes Web Audio.
Notre moteur fait varier le résultat audio, mais lie cette variation au domaine : un même site reçoit le même hash de tous les profils sur cet ordinateur. L'audio ne permet donc pas de les distinguer. Les signaux voisins n'ont pas cette limite :
| Chaîne | Identique sur une même machine | Raison |
|---|---|---|
| Canvas | Non | liée à la graine du profil |
| WebGL | Non | définie par la configuration de l'appareil |
| Audio | Oui | variation liée au domaine, pas au profil |
Deux machines physiques produisent des hashes audio différents ; deux profils NimbusX sur la même machine, pas encore. Parmi tous les signaux mesurés, c'est le seul lien qui subsiste.
Le projet d'origine du moteur répertorie cette limite origin-invariant. La correction consiste à lier cette variation au profil plutôt qu'au domaine dans le correctif 001-farble-seed-core. Cela nécessite une version du moteur compilée par NimbusX. Le périmètre est clair : il s'agit de modifier un correctif, pas de réécrire le moteur. En attendant cette version, la règle d'utilisation ci-dessus reste valable.
Une fois le correctif publié, l'audio sera isolé comme Canvas et WebGL. Le dernier lien mesuré entre des profils sur une même machine disparaîtra alors.
Comment les détecteurs relient les profils · La cohérence compte plus que la quantité