Device fingerprinting utan cookies: så fungerar det
Cookies är på väg ut. Så ger device fingerprinting beständig identifiering utan någon lagring på klientsidan.
Cookien är på väg ut. Safaris Intelligent Tracking Prevention (ITP) begränsar cookiens livslängd till 7 dagar. Firefox Enhanced Tracking Protection blockerar tredjepartscookies helt. Chromes Privacy Sandbox fasar ut tredjepartscookies. GDPR:s krav på samtycke gör att användare i allt högre grad avvisar cookie-banners.
För bedrägeriförebyggande är detta ett problem. Om du inte kan identifiera enheter beständigt kan du inte spåra återfallsförbrytare, upptäcka multi-accounting eller koppla samman misstänkta sessioner. Device fingerprinting löser detta genom att identifiera enheter utifrån deras tekniska egenskaper — inga cookies, ingen localStorage, ingen lagring på klientsidan över huvud taget.
Signalkategorierna
Passiv fingerprinting (ingen JavaScript krävs)
Redan innan din sida laddas avslöjar webbläsaren information genom signaler på nätverksnivå:
TLS-fingerprinting (JA4). TLS-meddelandet Client Hello innehåller cipher suites, extensions, elliptiska kurvor och signaturalgoritmer. Vi använder JA4-hashning — en modern ersättare för JA3 med bättre granularitet.
Analys av TCP/IP-stacken. TCP-fönsterstorlek, TTL-värden och MSS-inställningar varierar mellan operativsystem. Linux, Windows och macOS har var för sig karaktäristiska konfigurationer av TCP-stacken.
Analys av HTTP-headers. Ordningen på headers, värden i Accept-Language och anslutningspreferenser skiljer sig mellan webbläsare.
Aktiv fingerprinting (JavaScript på klientsidan)
Canvas-fingerprinting. Vi ritar en noggrant utformad scen — specifik text, geometriska former och gradienter. Olika GPU:er renderar detta med subtila skillnader på pixelnivå på grund av variationer i anti-aliasing, subpixelrendering och färgblandning. Vi hashar pixeldatan.
WebGL-fingerprinting. WebGL exponerar strängar för GPU-tillverkare/renderare, maximala texturstorlekar, stödda extensions och shader-kapacitet. Dessa data identifierar starkt GPU-modell och drivrutinsversion.
AudioContext-fingerprinting. Vi genererar en testsignal och analyserar hur den bearbetas. Olika ljudhårdvara producerar mätbart olika utdata på grund av skillnader i flyttalsprecision.
Fontuppräkning. Tillgängliga systemfonter varierar beroende på OS, språkpaket och installerad programvara. Vi testar cirka 300 diagnostiska fonter med mättekniker via canvas.
Navigator-egenskaper. CPU-kärnor, enhetsminne, plattform, språk, tidszon, skärmupplösning, färgdjup samt pekar- och touchkapacitet.
Entropianalys
Alla signaler väger inte lika tungt. Vi mäter varje signals entropi:
| Signalkategori | Ungefärlig entropi |
|---|---|
| Canvas + WebGL kombinerat | ~18 bitar |
| Fontlista | ~8 bitar |
| AudioContext | ~5 bitar |
| Navigator-egenskaper | ~7 bitar |
| TLS-fingerprint | ~6 bitar |
| Skärm + display | ~4 bitar |
| Tidszon + språk | ~3 bitar |
Kombinerat ger våra 130+ signaler ungefär 50+ bitar entropi — tillräckligt för att unikt identifiera över 1 biljard distinkta enheter.
Från signaler till stabil hash
Att samla in rådata är bara halva problemet. Webbläsaruppdateringar ändrar user agent-strängar. Uppdaterade drivrutiner förändrar WebGL-parametrar. Fontinstallationer ändrar fontlistan.
Fuzzy matching
I stället för att kräva exakta matchningar använder vi en algoritm för fuzzy matching som viktar signaler efter stabilitet och entropi. Stabila signaler (canvas, GPU-modell) väger tyngre än flyktiga signaler (user agent, skärmupplösning).
Kandidatgenerering använder locality-sensitive hashing (LSH) på de mest stabila signalerna för att hitta potentiella matchningar. Likhetsbedömning beräknar en viktad poäng över alla signalkategorier, kalibrerad så att normala enhetsändringar inte ändrar besökar-ID:t medan faktiska enhetsbyten gör det.
Detta uppnår 99,5 % träffsäkerhet — och identifierar korrekt återkommande besökare trots webbläsaruppdateringar, rensade cookies, inkognitoläge och byte av webbläsare.
Integritetsbevarande arkitektur
Bearbetning på serversidan. All beräkning av fingerprints sker på våra servrar. Agenten på klientsidan samlar in råsignaler men beräknar eller lagrar inte fingerprint-hashen.
Ingen lagring av PII. Vi lagrar fingerprint-hashar, inte råsignaler. Hashen är en envägsfunktion.
Dataresidens. EU-kunders data bearbetas och lagras i datacenter inom EU. GDPR artikel 6.1 f täcker bedrägeriförebyggande som berättigat intresse.
Identifiering över olika webbläsare
Den svåraste utmaningen är att identifiera samma enhet över olika webbläsare. Vi förlitar oss på webbläsaroberoende signaler: GPU-hårdvara, skärmegenskaper, tidszon, språkinställningar, installerade fonter (på OS-nivå) och egenskaper hos TCP/IP-stacken.
Träffsäkerheten för länkning över webbläsare är omkring 94 % — lägre än identifiering inom samma webbläsare men tillräcklig för att upptäcka multi-accounting över webbläsare på samma enhet.
Integration
Att lägga till device fingerprinting tar tre rader kod. Agenten laddas asynkront, samlar in signaler på under 50 ms och skickar dem till vårt API. Serverns svar innehåller besökar-ID, konfidenspoäng och alla 24 Smart Signals.