Device fingerprint

Uit Wikipedia, de vrije encyclopedie
(Doorverwezen vanaf Fingerprinting)

Een device fingerprint (Letterlijk vertaald: apparaatvingerafdruk of machinevingerafdruk) is informatie die wordt verzameld over de software en hardware van een computerapparaat met het oog op identificatie.[1] De informatie wordt gewoonlijk geassimileerd tot een korte identificatiecode met behulp van een algoritme. Een browser-vingerafdruk is informatie die specifiek wordt verzameld door interactie met de webbrowser van het apparaat.[2]

Apparaat-vingerafdrukken kunnen worden gebruikt om individuele apparaten geheel of gedeeltelijk te identificeren, zelfs wanneer cookies niet kunnen worden gelezen of opgeslagen in de browser, het IP-adres van de client is verborgen of men overschakelt naar een andere browser op hetzelfde apparaat. Dit maakt het mogelijk om heimelijk activiteit van gebruikers te volgen en verschillende browsing-sessies aan elkaar te koppelen. Hiermee kan ook inbreuk worden gemaakt op de privacy, als gebruikers bijvoorbeeld niet wensen om gevolgd te worden door bedrijven of overheden. Om dit tegen te gaan bestaat er gespecialiseerde software om device fingerprinting tot een minimum te beperken.

Bronnen van identificerende informatie[bewerken | brontekst bewerken]

In bijvoorbeeld een webbrowser zijn er verschillende omgevingsvariabelen die gebruikt kunnen worden om een browser-vingerafdruk samen te stellen. Een aantal voorbeelden van gegevens die hiervoor gebruikt kunnen worden zijn:[3]

  • Webbrowservariant en -versiegegevens.
  • Besturingssysteemvariant en -versiegegevens.
  • Beeldschermresolutie en kleurdiepte.
  • Computerarchitectuur of Instructieset - bijvoorbeeld het feit of een apparaat een 32-bit of 64-bit processor heeft en of deze op de x86 of ARM instructieset is gebaseerd.
  • Apparaatfabrikant, merk en type.
  • User-Agent string.
  • Taalinstellingen en -voorkeuren van de browser of het besturingssysteem.
  • Tijdzone van het gebruikte apparaat.
  • De hoeveelheid beschikbaar computergeheugen.
  • Geïnstalleerde lettertypes.
  • Geïnstalleerde en actieve plug-ins zoals Adobe Flash, Microsoft Silverlight en Java.
  • Hardwareadressen van fysieke onderdelen zoals IMEI-nummers en MAC-adressen.
  • Lijsten van door de browser ondersteunde MIME-Types.
  • Ondersteunde compressiealgoritmen.
  • Cookie- en Do-Not-Track-voorkeuren.
  • Beschikbaarheid van LocalStorage en SessionStorage in de browser.
  • Beschikbaarheid van randapperatuur zoals webcams, speakers en microfoon.
  • Beschikbaarheid van sensoren zoals lichtsensoren, gyroscopen en kompassen. (vooral in mobiele apparaten)
  • Beschikbaarheid van ondersteuning voor touchscreen.
  • WebGL en canvas informatie over bijvoorbeeld de videokaart.
  • Aanpassingen aan de webpagina door scripts en extensies zoals advertentieblokkeerders.
  • Beschikbaarheid van processoracceleratietechnieken bij bijvoorbeeld encryptie-toepassingen door het benchmarken van hardware.