Terug naar blog

Wat is Canvas-fingerprinting? Werking, detectie en bescherming

Canvas-fingerprinting is een van de meest gebruikte technieken voor browserfingerprinting. Websites gebruiken het om apparaten te herkennen en gebruikers te volgen. Deze gids legt uit hoe het werkt, hoe het verschilt van andere fingerprints, hoe je het kunt testen en hoe gewone gebruikers hun privacy kunnen beschermen.

Elke klik tijdens het browsen, elke muisbeweging, je apparaatmodel en de versie van je besturingssysteem kunnen door een website worden gecombineerd tot een unieke identificatiecode — een browserfingerprint. Van de vele fingerprintingtechnieken is de Canvas-fingerprint een van de meest voorkomende en stabiele. Je ziet hem niet, maar websites gebruiken hem al lange tijd om bezoekers te herkennen.

Wat is Canvas?

Canvas is een tekenelement uit HTML5, vergelijkbaar met een leeg tekenvlak op een webpagina. Ontwikkelaars kunnen met JavaScript afbeeldingen, tekst en vormen tekenen en zo grafieken, games, beeldverwerking en allerlei visuele effecten maken. Veel interactieve effecten op moderne websites maken gebruik van Canvas.

Hoe ontstaat een Canvas-fingerprint?

Zelfs als verschillende apparaten “dezelfde afbeelding tekenen”, is het resultaat niet volledig identiek. Dat komt doordat het renderproces afhankelijk is van hardware en software:

  • Grafische kaart en stuurprogramma's: De GPU verzorgt de grafische rendering en verschillende kaarten en drivers verwerken anti-aliasing, kleurverlopen en kleuren net iets anders;
  • Besturingssysteem: Windows, macOS en Linux verschillen in lettertyperendering en grafische interfaces;
  • Browser en engine: Browsers implementeren de Canvas API niet allemaal exact hetzelfde;
  • Beeldscherm- en kleurinstellingen: Kleurbereik, gamma en andere instellingen kunnen het eindresultaat beïnvloeden.

Een website laat de browser van een bezoeker doorgaans via een script dezelfde inhoud op een Canvas tekenen, meestal een combinatie van vormen en tekst. Vervolgens wordt de Canvas-inhoud omgezet in afbeeldingsgegevens en wordt er een hash berekend. Omdat het renderresultaat per apparaat verschilt, vormt die hash een relatief stabiele “apparaatfingerprint”.

Volledig proces waarbij pixelverschillen in Canvas-rendering worden omgezet in een hash-signaal van het apparaat

Om te laten zien hoe klein de verschillen kunnen zijn: dezelfde afbeelding kan op twee apparaten slechts een paar pixels afwijken aan anti-aliased randen, terwijl de berekende hashes toch volledig verschillend zijn — genoeg om apparaten van elkaar te onderscheiden.

Waarvoor kan Canvas-fingerprinting worden gebruikt?

  • Identificatie en tracking: Een website kan je apparaat via de Canvas-fingerprint herkennen, zelfs wanneer je niet bent ingelogd, en je gedrag tussen pagina's en soms zelfs tussen sites koppelen;
  • Fraudepreventie en risicobeheer: E-commerce-, betaal- en socialmediaplatforms kunnen Canvas-fingerprints gebruiken als een van de risicosignalen om afwijkend gedrag, zoals massaregistraties of het delen van accounts, te herkennen;
  • Advertentietargeting: Sommige advertentienetwerken gebruiken de techniek om gedrag over meerdere sites te profileren.

Een Canvas-fingerprint kan meestal niet op zichzelf bepalen “wie je bent”. Het is doorgaans één signaal uit een grotere set. In combinatie met IP-adres, User-Agent, tijdzone, lettertypen en andere gegevens neemt de herkenningskracht sterk toe.

Verschillen tussen Canvas-, WebGL- en lettertypefingerprints

Alle drie behoren tot fingerprints die zijn gebaseerd op verschillen in apparaatweergave, maar ze komen uit verschillende bronnen:

  • Canvas-fingerprint: Gebaseerd op verschillen in 2D-Canvas-rendering;
  • WebGL-fingerprint: Gebaseerd op 3D-rendering. Websites kunnen grafische parameters uitlezen, zoals de WebGL-leverancier en rendererstring, om een apparaat te herkennen;
  • Lettertypefingerprint: Detecteert welke lettertypen op het systeem zijn geïnstalleerd om het besturingssysteem en apparaat af te leiden.

Deze signalen worden vaak gecombineerd tot “kenmerken van de apparaatomgeving” binnen risicobeheersystemen van websites.

Hoe kun je je eigen Canvas-fingerprint controleren?

Je kunt openbare fingerprint-tests gebruiken, zoals BrowserScan of PixelScan. Zoeken naar “browser fingerprint test” levert vergelijkbare tools op. Zulke websites tonen meestal informatie over Canvas, WebGL, lettertypen, tijdzone en andere fingerprints. Als het resultaat meldt dat er een Canvas-fingerprint bestaat of een stabiele hash toont, betekent dit dat je apparaat op deze manier kan worden gemarkeerd. Houd er rekening mee dat uitkomsten van externe testsites alleen ter referentie dienen en geen officiële beoordeling van een platform zijn.

Hoe kunnen gewone gebruikers zich beschermen?

Canvas-fingerprinting volledig uitschakelen is lastig, omdat Canvas een normale browserfunctie is. Wel kun je de mate van tracking beperken:

  • Gebruik een privacygerichte browser of schakel de privacy-/strenge trackingbescherming in;
  • Installeer anti-fingerprintingextensies die Canvas-uitlezingen blokkeren of ruis toevoegen;
  • Wis regelmatig cookies en sitegegevens om langdurige koppelingen tussen fingerprints en accountgedrag te beperken;
  • Houd je besturingssysteem en browser up-to-date, omdat nieuwere browsers meer ingebouwde beperkingen tegen fingerprinttracking hebben.

Wat als je meerdere bedrijfsomgevingen moet beheren?

Bij grensoverschrijdende activiteiten en het beheer van meerdere accounts ligt het vraagstuk anders. Een team wil zich niet “verbergen”, maar elk zakelijk account in een stabiele, beheersbare omgeving laten draaien en foutieve beoordelingen voorkomen die ontstaan doordat apparaatkenmerken elkaar beïnvloeden.

Met PurpleMark kunnen bij het maken van een browseromgeving parameters voor Canvas, WebGL, lettertypen en andere fingerprints worden ingesteld. Zo kunnen verschillende omgevingen verschillende apparaatkenmerken tonen, terwijl de parameters binnen elke omgeving consistent blijven. Daardoor behoudt elke winkel of elk account op lange termijn een stabiel “apparaatprofiel”, in plaats van bij elke opening te veranderen. Fingerprintparameters zijn een configuratiefunctie van de omgeving; daadwerkelijke naleving blijft afhangen van het volgen van de regels van de gebruikte platforms. Omgevingsbeheertools kunnen en mogen niet worden gebruikt om identiteiten na te bootsen of platformregels te omzeilen.

Veelgestelde vragen

Kan een Canvas-fingerprint één persoon uniek identificeren? Op zichzelf zelden. Meestal is het één signaal uit een combinatie; samen met IP-adres, systeeminformatie en gedragsgegevens wordt de herkenning veel sterker.

Voorkomt het uitschakelen van JavaScript Canvas-fingerprinting? Het kan voorkomen dat de meeste sites deze gegevens verzamelen, maar veel websites werken dan ook niet goed meer. Privacygerichte browsers en anti-fingerprintingextensies zijn meestal een evenwichtiger oplossing.

Is Canvas-fingerprinting een virus? Nee. Het is normaal scriptgedrag van websites en geen malware, al heeft het wel betrekking op privacytracking, wat de techniek omstreden maakt.

Betekent een afwijkend resultaat op een fingerprint-testsite dat er iets mis is met mijn apparaat? Niet per se. Verschillende tools gebruiken verschillende algoritmen en referentiedatabases, dus de resultaten zijn alleen indicatief. Wat echt telt, is de status van je account op het platform dat je gebruikt.