Welke signalen worden gebruikt?
De klassiekers, op volgorde van hoe onderscheidend ze zijn:
- Canvas-fingerprinting: een site laat de browser een kleine afbeelding tekenen en leest daarna de pixels uit. Kleine verschillen in grafische drivers, GPU-model en besturingssysteem geven net een andere afbeelding, verschillend genoeg om bijna uniek per apparaat te zijn.
- WebGL-fingerprinting: vergelijkbaar met canvas, maar met 3D-grafische API's. Verraadt vrij direct je GPU-model en driverversie.
- Audio-fingerprinting: de audioverwerking van de browser heeft kleine numerieke verschillen per systeem. Een site kan via de API een geluid afspelen (zonder dat je het hoort) en de golfvorm uitlezen.
- Lettertypen opsommen: welke lettertypen je hebt geïnstalleerd, is een verrassend onderscheidend signaal. Een gemiddelde computer heeft 50–200 lettertypen; precies dezelfde lijst komt zelden twee keer voor.
- Schermgrootte en pixeldichtheid
- User-Agent-string en Client Hints (je browser, versie, besturingssysteem)
- Tijdzone, taal, aantal processorkernen, beschikbaar geheugen, de Battery API in sommige browsers
Elk afzonderlijk signaal is zwak. Gecombineerd bereiken ze een uniciteit in de orde van 1 op de miljoenen.
Waarom het ook werkt als je cookies blokkeert
Cookies van derden verdwijnen binnenkort uit elke grote browser. Fingerprinting is het alternatief waar de advertentie-industrie al naar is overgestapt. De signalen zijn geen 'trackinggegevens' die je kunt weigeren, het zijn gegevens die de browser moet sturen om de pagina goed te tonen. Je schermgrootte doet ertoe omdat pagina's er hun opmaak op afstemmen. Je lettertypen doen ertoe omdat de pagina het beste lettertype kiest. Dat de combinatie uniek is, is een bijeffect van het feit dat die gegevens überhaupt gestuurd moeten worden.
Hoe browsers terugvechten
Twee strategieën, allebei onvolmaakt:
- Uniformiteit (de aanpak van Tor): laat elke Tor-gebruiker er hetzelfde uitzien. Dezelfde fingerprint, dezelfde schermgrootte, dezelfde lettertypen. Het nadeel: het web gaat op veel kleine manieren stuk, pagina's worden op de 'verkeerde' grootte getoond, lettertypen worden vervangen, webapps herkennen je apparaat verkeerd.
- Willekeur (de aanpak van Brave en Dazr): voeg per domein een beetje ruis toe aan de signalen. Twee bezoeken aan dezelfde site zien consistente resultaten (dus inloggen werkt); twee verschillende sites zien verschillende fingerprints. Dat is de afweging die de meeste privacybrowsers voor dagelijks gebruik maken.
De bescherming van Dazr staat standaard aan voor canvas-, WebGL-, audio- en lettertypemetingen, met uitzonderingen per site voor de zeldzame site die er stuk van gaat.
Wat je er echt tegen kunt doen
Om je fingerprint te verkleinen zijn de opties beperkt:
- Gebruik een browser met standaard bescherming tegen fingerprinting (Dazr, Tor Browser, Brave met strenge Shields)
- Schakel de Battery API, plug-ins en onnodige browserfuncties uit in de geavanceerde instellingen
- Installeer geen lettertypen die je niet nodig hebt
- Besef dat zelfs met JavaScript uit passieve fingerprinting (HTTP-headers, IP-adres, schermgrootte via CSS) blijft werken