Retour au Blog
Empreinte

Reproductibilite du Noise Seed : empreintes deterministes avec BotBrowser

Comment le flag --bot-noise-seed de BotBrowser produit des empreintes Canvas, WebGL et Audio coherentes et reproductibles entre les sessions.

Le probleme avec le bruit aleatoire

Les outils de confidentialite qui ajoutent du bruit aleatoire aux sorties Canvas, WebGL et Audio creent une nouvelle empreinte a chaque session. Cela brise la coherence de session, car une empreinte qui change peut paraitre plus suspecte qu'une empreinte stable.

Bruit deterministe avec --bot-noise-seed

BotBrowser resout cela avec le flag --bot-noise-seed. Il utilise une graine fixe pour piloter un generateur de nombres aleatoires deterministe. La meme graine produit toujours la meme sortie d'empreinte.

chrome --bot-profile="/path/to/profile.enc" \
       --bot-noise-seed=98765 \
       --user-data-dir="$(mktemp -d)"

Avec cette configuration :

  • Le rendu Canvas retourne les memes donnees de pixels a chaque session
  • La sortie WebGL reste identique entre les redemarrages
  • Le traitement Audio produit la meme forme d'onde a chaque fois
  • Le hash d'empreinte reste stable jour apres jour

Combinaison avec les profils

La graine de bruit fonctionne avec --bot-profile. Le profil definit les caracteristiques materielles, tandis que la graine controle les variations de rendu.

# Session 1 : Lundi
chrome --bot-profile="/profiles/windows-chrome-122.enc" \
       --bot-noise-seed=42 \
       --user-data-dir="/data/session-a"

# Session 2 : Mercredi (meme identite)
chrome --bot-profile="/profiles/windows-chrome-122.enc" \
       --bot-noise-seed=42 \
       --user-data-dir="/data/session-a"

Les deux sessions produisent des empreintes identiques.

Controle du bruit Canvas

Basculez le bruit Canvas independamment avec --bot-config-noise-canvas :

chrome --bot-profile="/path/to/profile.enc" \
       --bot-noise-seed=42 \
       --bot-config-noise-canvas=true

Utilisation multi-comptes

Attribuez des graines differentes par compte pour des identites distinctes et stables :

# Compte A
chrome --bot-profile="/profiles/profile-a.enc" \
       --bot-noise-seed=1001 \
       --user-data-dir="/data/account-a"

# Compte B
chrome --bot-profile="/profiles/profile-b.enc" \
       --bot-noise-seed=2002 \
       --user-data-dir="/data/account-b"

Verification

  1. Lancez BotBrowser avec un profil et une graine de bruit
  2. Visitez CreepJS et enregistrez les hashes Canvas, WebGL et Audio
  3. Fermez et relancez avec le meme profil et la meme graine
  4. Confirmez que les hashes correspondent exactement

Pour commencer

  1. Telechargez BotBrowser depuis GitHub
  2. Choisissez un profil du depot de profils
  3. Ajoutez --bot-noise-seed avec une valeur entiere fixe
  4. Verifiez la coherence entre sessions avec les outils de test
#noise-seed#deterministic#fingerprinting#reproducibility#privacy