Tillbaka till bloggen
Förklaringar·15 min läsning

Vad är fingeravtrycksmotstånd — skydd mot identitetsspårning via webbläsare och enheter

Även när du blockerar cookies och använder en VPN kan webbplatser fortfarande identifiera dig unikt genom att kombinera 30+ subtila enhetsattribut — din skärmstorlek, teckensnitt, GPU, ljudstack, språkinställningar, tidszon och det specifika sättet din webbläsare renderar text. Denna kombination är ditt "fingeravtryck." Fingeravtrycksmotstånd är de tekniker som får ditt fingeravtryck att se identiskt ut med många andra användares. Så här fungerar fingeravtryckning, varför det överlever blockering av cookies och vad som faktiskt skyddar mot det.

Av Casper's Cloak Security Team

Den korta versionen: en cookie är en datamängd som webbplatsen lagrar på din enhet för att känna igen dig vid nästa besök. Ett fingeravtryck är något helt annat — det är en uppsättning mätningar som webbplatsen tar om din enhet och kombinerar till en sträng som är statistiskt unik. Cookies kan du radera; fingeravtryck kan du inte, eftersom de är egenskaper hos din hård- och mjukvara som webbplatsen bara observerar. Ett typiskt enhetsfingeravtryck kombinerar ungefär 30 signaler — skärmupplösning, installerade teckensnitt, GPU-modell, ljudbearbetningsstack, språk, tidszon, webbläsarversion och många subtilare detaljer — till ett värde som unikt identifierar kanske 1 av 10 000 till 1 av en miljon enheter. Fingeravtrycksmotstånd handlar om att få din enhet att se ut som miljontals andra enheter, så att fingeravtrycket inte är unikt nog för att identifiera just dig. Det är svårt, det är ofullkomligt, och den ärliga bedömningen är att perfekt motstånd förmodligen inte är möjligt i en modern webbläsare — men meningsfullt motstånd är det, och skillnaden spelar roll.

Vad ett webbläsar- och enhetsfingeravtryck faktiskt är

När du besöker en webbplats kan sidan köra JavaScript som frågar ut din webbläsare och enhet om dussintals informationsdelar. En del av detta är nödvändigt för att webbplatsen ska fungera — din skärmstorlek avgör layouten, din tidszon avgör hur datum visas, ditt språkval avgör vilken översättning som laddas. Informationen är genuint användbar för webbplatsen. Men den är också genuint avslöjande: varje informationsdel begränsar vilken enhet besökaren använder, och tillräckligt många delar kombinerade blir unika.

De ungefär 30 signalerna som ingår i ett typiskt fingeravtryck inkluderar:

  • User agent-sträng — webbläsarnamn och version, operativsystem, ofta enhetsmodellen.
  • Skärmupplösning och färgdjup — begränsar vanligtvis enhetsklass.
  • Tidszon och språk — begränsar geografisk region och lokal.
  • Installerade teckensnitt — uppsättningen teckensnitt som ditt operativsystem har installerat är förvånansvärt unik. En sida kan lista dem genom att försöka rendera text i varje teckensnitt och mäta om resultatet ser ut som om teckensnittet finns.
  • Canvas-fingeravtryck — sidan ritar en liten bild med HTML5 canvas och läser sedan tillbaka pixelvärdena. Olika GPU:er, teckensnitt och renderingsbibliotek producerar något olika pixlar, även från identiska ritkommandon. Det resulterande hashvärdet är mycket identifierande.
  • WebGL-fingeravtryck — liknande idé men med WebGL-grafikkommandon. Avslöjar GPU-modell, driverversion och renderingskvirikar.
  • Ljudfingeravtryck — sidan genererar en kort ljudsignal och läser tillbaka vad ljudbearbetningsstacken producerar. Olika ljudkort, OS-ljud-API:er och ljuddriverversioner ger olika utdata.
  • Hårdvarukoncurrens — antal CPU-kärnor. Avslöjar enhetsklass.
  • Enhetsminne — RAM-storlek, exponerat via navigator.deviceMemory API:et.
  • Batteri-API — batterinivå, laddningsstatus, laddningstid. Har till stor del fasats ut av webbläsare på grund av fingeravtrycksrisker, men användes historiskt.
  • Pekskärmsfunktioner — antal beröringspekar som stöds, vilket skiljer surfplattor från bärbara datorer.
  • Mediaenheter — antal anslutna kameror, mikrofoner och högtalare.
  • Pluginlista — webbläsarplugins och tillägg synliga via DOM (mindre användbart i moderna webbläsare men läcker fortfarande på vissa ställen).
  • CSS-mediafrågor — sidan ställer dussintals mediafunktionsfrågor (prefers-color-scheme, prefers-reduced-motion, color-gamut osv.) och registrerar svaren.
  • TLS-fingeravtryck (JA3/JA4) — nätverkslagerssignal: ordningen och innehållet i fälten i ditt TLS Client Hello-paket identifierar TLS-biblioteket, ibland mer unikt än user agent.
  • HTTP/2-fingeravtryck (Akamai H2) — på HTTP/2-protokollnivå avslöjar framordning och inställningar HTTP-klientbiblioteket.
  • Beteendesignaler — skrivningsrytm, musrörelsemönster, scrollhastighet och sättet du tabbar mellan fält. Utmärkande redan vid korta interaktioner.

Ingen av dessa signaler identifierar på egen hand. Många enheter har samma skärmupplösning, många har samma webbläsarversion, många har samma teckensnitt installerade. Men kombinationen av alla 30 — den specifika tupeln av värden — är vanligtvis unik. EFF:s Panopticlick-forskning (numera kallad Cover Your Tracks) visade att en typisk webbläsares fingeravtryck med hög sannolikhet är unikt bland hundratusentals besökare.

Varför fingeravtryckning överlever rensning av cookies och inkognitoläge

Cookiebaserad spårning kräver webbläsarens medverkan: webbläsaren lagrar cookien, skickar den vid efterföljande förfrågningar och webbplatsen läser den. Om du raderar cookien eller blockerar den bryts spårningslänken. Fingeravtrycksbaserad spårning kräver att webbläsaren avslöjar information om sig själv och sin miljö när den tillfrågas — och den informationen förändras inte bara för att du rensade lagringen.

Konkret: du raderar alla cookies, öppnar ett inkognitofönster, ansluter till en VPN och besöker en spårningsintensiv webbplats. Webbplatsens JavaScript kör fingeravtrycksinsamlingsrutinen, får samma 30 signaler som den annars hade fått, beräknar samma fingeravtryckshash och känner igen dig. Din IP-adress är annorlunda (du är på en VPN). Din cookie är tom (inkognito delar inte). Men din skärm är samma skärm, din GPU är samma GPU, dina installerade teckensnitt är samma teckensnitt, din tidszon är fortfarande America/New_York. Fingeravtrycket identifierar enheten, inte sessionen.

Det är därför annonsteknikföretag och analysplattformar investerade tungt i fingeravtryckning från ungefär 2014, långt innan tredjepartscookies började fasas ut av webbläsare. De ville ha en spårningsmekanism som överlevde de integritetskontroller som användarna börjat använda. Det fick de.

De tre viktigaste fingeravtryckskällorna

Fingeravtryckssignaler kommer från tre olika lager i stacken. De har olika motåtgärder, och ett försvar som adresserar ett lager kan lämna de andra helt exponerade.

1. HTTP-headers (grundläggande, lägst upplösning)

Varje HTTP-förfrågan inkluderar headers som User-Agent, Accept-Language, Accept-Encoding och Sec-CH-UA-* (de nyare Client Hints). Dessa avslöjar webbläsare, operativsystem, språk och kodningspreferenser. Header-uppsättningen har låg bandbredd — kanske ett dussin bitar entropi — men den begränsar universumet av möjliga enheter avsevärt. Försvar på detta lager (förfalskning av user agent, harmonisering av språkpreferenser) är billiga och delvis effektiva, men de adresserar inte de mycket högre bandbreddssignalerna från JavaScript-lagret.

2. JavaScript-API:er (den största fingeravtrycksytan)

Webbläsaren exponerar dussintals JavaScript-API:er som fingeravtrycksskript frågar ut — navigator.userAgent, screen.width, navigator.languages, Intl.DateTimeFormat().resolvedOptions().timeZone, WebGL-tilläggslistan, ljudkontextens bearbetningsegenskaper. Canvas-fingeravtryckning via HTMLCanvasElement.toDataURL() ensam ansvarar för en stor del av entropin i ett typiskt fingeravtryck. WebGL adderar mer. Web Audio API adderar mer. Det är här de flesta fingeravtrycksbitar kommer ifrån, och det är det svåraste lagret att försvara sig mot eftersom API:erna genuint är användbara för legitima webbapplikationer.

3. TLS och nätverkslagret (avancerat)

Innan någon HTTP-förfrågan utför din webbläsare en TLS-handskakning. Client Hello-meddelandet — det första paketet webbläsaren skickar — innehåller listan över stödda chiffersviter, stödda TLS-tillägg, ordningen på dessa tillägg och diverse andra parametrar. Kombinationen är TLS-fingeravtrycket, fångat av verktyg som JA3 och JA4. Olika TLS-bibliotek (Chrome-bundled versionen, Firefox, Apples CoreTLS, Go:s crypto/tls, Pythons requests) ger olika fingeravtryck. En nätverksobservatör som vet vilket TLS-fingeravtryck din webbläsare normalt producerar kan identifiera dig även om du byter webbläsare men använder samma operativsystem, eller känna igen när ett automatiserat verktyg (curl, requests, skrapare) misslyckas med att utge sig för en webbläsare. HTTP/2-framordningen och SETTINGS-värdena producerar ett liknande men separat fingeravtryck. Dessa lager ligger till stor del utanför vad användaren kan kontrollera — de är funktioner av det underliggande TLS-biblioteket — och de är osynliga för försvar som opererar inne i webbläsaren.

Vad "unikhet" faktiskt innebär — EFF:s Cover Your Tracks-metodik

EFF upprätthåller ett verktyg på coveryourtracks.eff.org som testar din webbläsare mot en verklig fingeravtrycksinställning och berättar hur unikt ditt fingeravtryck är. Metodiken är informativ oavsett om du kör testet själv eller inte.

Verktyget beräknar en "entropi"-mätning: hur många bitar identifieringsinformation ditt fingeravtryck innehåller. Matematiken är enkel — om ditt fingeravtryck matchar 1 av 10 000 besökare är det ungefär 13,3 bitar entropi (log2(10000)). Om det matchar 1 av en miljon är det ungefär 20 bitar. Verktyget visar också vilka specifika signaler som bidrar mest entropi i ditt fall — till exempel kan ditt canvas-fingeravtryck vara 12 bitar unikt, din teckensnittslist 8 bitar, din skärmupplösning 4 bitar, din tidszon 6 bitar. Totalen är summan (under antagandet att signalerna är oberoende, vilket de inte riktigt är, men det är en användbar approximation).

För att sätta det i perspektiv: 13 bitar entropi innebär att fingeravtrycket plus din IP-adress geolokalisering är i praktiken unikt. 20 bitar innebär att det är unikt bland alla på planeten. Tröskeln för "anonymiserad" data under de flesta integritetslagar ligger kring 10 bitar — under det har du trovärdig förnekbarhet. Över 20 bitar är du individuellt identifierbar. De flesta webbläsare med standardinställningar producerar fingeravtryck i intervallet 18–22 bitar.

Karta över fingeravtryckssignaler

Här är var de viktigaste fingeravtryckssignalerna kommer ifrån, om rensning av cookies tar bort dem (det gör de inte), om en VPN skyddar mot dem (mestadels inte) och om försvar kräver härdning på webbläsarnivå (mestadels ja):

Signal Var den samlas in Beständig trots cookie-rensning? Beständig trots VPN? Härdning på webbläsarnivå krävs?
User agent + Client Hints HTTP-headers Ja (överlever) Ja (överlever) Ja (UA-förfalskning eller reducer)
Canvas-fingeravtryck JS (canvas + GPU) Ja (överlever) Ja (överlever) Ja (canvas-brus eller blockering)
WebGL-fingeravtryck JS (WebGL + GPU-driver) Ja (överlever) Ja (överlever) Ja (inaktivera eller randomisera)
Ljudkontext JS (Web Audio API) Ja (överlever) Ja (överlever) Ja (blockera eller otydliggöra)
Installerade teckensnitt JS (teckensnittsuppräkning) Ja (överlever) Ja (överlever) Ja (begränsa exponerade teckensnitt)
Tidszon JS (Intl API) Ja (överlever) Nej (VPN-endpoint matchar inte lokal tidszon — fingeravtrycksbart) Ja (förfalskning eller harmonisering)
IP-adress Nätverkslager Ja (överlever) Nej (VPN döljer detta) Nej (använd VPN)
TLS-fingeravtryck (JA3/JA4) TLS Client Hello Ja (överlever) Mestadels (överlever — samma TLS-lib) Nej (bestäms av TLS-biblioteket)

Mönstret är konsekvent. Nästan allt som bidrar till ditt fingeravtryck överlever både cookie-rensning och VPN-användning. Cookies och IP-adress är bara två av de 30+ signalerna; att enbart adressera dessa två förändrar ingenting om resten.

Hur webbläsare försöker motstå fingeravtryckning

Tor Browser — guldstandarden

Tor Browser är den mest aggressiva konsumentwebbläsaren för fingeravtrycksmotstånd. Den får avsiktligt varje Tor Browser-användare att se identisk ut: samma standardfönsterstorlek (webbläsaren öppnas på 1000x1000 och motstår storleksändring, sedan letterboxar den innehållet om du maximerar), samma uppsättning teckensnitt synliga för JavaScript, samma canvas-beteende (alla canvas-läsningar returnerar enbart vitlistat innehåll eller uppmanar användaren), samma WebGL-beteende (i stort sett inaktiverat), samma tidszon (alltid UTC). Kompromissen är allvarlig — många webbplatser slutar fungera, prestanda lider av Tor-nätverket och användarupplevelsen är begränsad. Men fingeravtrycksmotståndet är dramatiskt bättre än i någon annan webbläsare. Det fingeravtryck en webbplats ser från Tor Browser är ungefär detsamma som det ser från varje annan Tor Browser-användare, vilket är det enda kända tillvägagångssättet för att faktiskt anonymisera fingeravtryckssignalen i stor skala.

Brave — strategisk randomisering

Brave tar ett annat grepp. Istället för att få alla användare att se identiska ut (Tor-strategin) får Brave samma användare att se lite annorlunda ut vid varje besök. Canvas-läsningar innehåller brus per session, teckensnittsuppräkning randomiseras, ljudkontext otydliggörs. Strategin kallas "randomisering" eller ibland "per-sessions-skydd." Den minskar inte unikheten inom ett enstaka besök, men förhindrar långsiktig spårning genom att göra fingeravtrycket instabilt mellan besök. Kompromissen är att vissa webbplatser med stark bedrägeridetektering (banker, spelbolag) kan flagga inkonsekvensen som misstänkt.

Firefox resistFingerprinting

Firefox har en dold inställning, privacy.resistFingerprinting, som aktiverar en svit av Tor-Browser-härledda försvar: en fast fönsterstorlek, en fast tidszon (UTC), begränsad teckensnittssynlighet, canvas-läsningsuppmaning och flera andra åtgärder. Mozilla-dokumentationen för funktionen beskriver den fullständiga uppsättningen beteenden. Det är det närmaste du kan komma Tor Browsers fingeravtrycksbeteende utan själva Tor-nätverket, och det fungerar i en vanlig Firefox-installation. Kompatibilitetsavstegen är betydande — många webbplatser bryts visuellt, vissa bryts funktionellt — vilket är anledningen till att det inte är aktiverat som standard.

Safari ITP och vidare

Safaris Intelligent Tracking Prevention (ITP) adresserar vissa fingeravtrycksvektorer men fokuserar primärt på spårning mellan webbplatser via lagring. Safari 14+ lade till begränsningar för teckensnittsuppräkning och ett fåtal andra minskningar av fingeravtrycksytan. Safari 17 lade till Advanced Tracking and Fingerprinting Protection, som aktivt blockerar kända fingeravtrycksskript identifierade av Apples Privacy-team. Tillvägagångssättet är konservativt — Apple värdesätter webbplatskompatibilitet högt — men det blir mer aggressivt med varje utgåva.

Vad nätverksnivåförsvar kan och inte kan göra

En VPN, en integritetsfokuserad DNS-resolver och trackerfiltrering på nätverksnivå adresserar kollektivt en del av integritetsproblemet — men specifikt inte fingeravtrycksdelen. Det är värt att vara ärlig om vad varje lager adresserar:

  • VPN döljer din IP-adress — användbart för att dölja din geolokalisering från målwebbplatsen och för att dölja vilka webbplatser du besöker från din internetleverantör. Påverkar inte någon av fingeravtryckssignalerna på JavaScript-lagret. Webbplatsen ser fortfarande din canvas, teckensnitt, GPU, tidszon — bara från en annan IP.
  • DNS-nivåfiltrering blockerar kända fingeravtrycksskript — på nätverksnivå kan du blockera förfrågningar till kända fingeravtrycksdomäner (som fingerprintjs.com eller diverse annonstekniska endpoints som inkluderar fingeravtryckning). Detta är partiellt men verkligt: det hindrar de vanligaste fingeravtryckarna från att köras överhuvudtaget. Webbplatser som inkluderar fingeravtryckskod i sin egen förstapartsdomän blockeras inte av detta tillvägagångssätt. Vi täcker DNS-filtreringsmekanismen i vår genomgång om hur man stoppar spårning online.
  • Trackerfiltrering — liknande DNS-filtrering men opererar på URL:er snarare än domäner. Effektiv mot fingeravtryckare som laddas från distinkta sökvägar även på delade CDN-domäner. Se vår trackerfiltrering.
  • Locktrafik — adresserar trafikanalysbaserade hot men inte fingeravtryckning. De två hotmodellerna är distinkta. Vi har en separat genomgång om locknätverk.

Den ärliga formuleringen: nätverksnivåförsvar minskar hur mycket fingeravtryckning som sker genom att blockera många av de skript som annars skulle göra det. De minskar inte hur identifierande ditt fingeravtryck är när fingeravtryckning faktiskt sker — det är ett problem på webbläsarnivå.

Det ärliga nuläget — perfekt motstånd är svårt

Några obehagliga sanningar om fingeravtrycksmotstånd, värda att säga explicit:

Perfekt motstånd är förmodligen inte möjligt utan att bryta webben. Webbplattformen behöver genuint tillgång till många av de signaler som fingeravtryckning utnyttjar. Layout behöver skärmstorlek. Internationalisering behöver språk och tidszon. Adaptivt innehåll behöver enhetsfunktioner. Signalerna som fingeravtryckning använder är inte artefakter — de är verkliga egenskaper som plattformen exponerar av legitima skäl. Att eliminera dem helt skulle bryta för mycket.

Motstånd som "ser unikt ut" är värre än inget motstånd. Om du anpassar din webbläsare kraftigt med tillägg, egna teckensnitt och egna inställningar blir du mer unik än en standardanvändare, inte mindre. Tor Browser-strategin fungerar för att varje Tor Browser-användare ser identisk ut; strategin att installera 12 integritets-tillägg i en anpassad webbläsarkonfiguration producerar ett fingeravtryck som är mer identifierande än originalet.

Kapprustningen fortsätter. Försvar på webbläsarnivå tillkommer; fingeravtrycksskript hittar nya signaler att utnyttja. Nya API:er (batteri, gamepad, WebGPU, enhetsorientation) introducerar ny fingeravtrycksyta. Motåtgärder åldras till ineffektivitet. Teknikens framkant förändras ungefär varje år. Allt som beskrivs i den här artikeln stämde vid skrivtillfället men kan behöva revideras om 18 månader.

Bedrägerisystem använder också fingeravtryckning. När du loggar in på din bank tar banken ett fingeravtryck av din enhet för att upptäcka kontoövertaganden ("den här inloggningen är från en enhet vi aldrig sett förut"). Aggressivt fingeravtrycksmotstånd kan flagga dina sessioner som misstänkta. Verktygen som försvarar mot spårning slår också ut bedrägeridetektering — det är en verklig avvägning, inte en bieffekt, och det är värt att ta hänsyn till för din specifika riskprofil.

Praktiska motståndsniváer för olika hotmodeller

Rätt nivå av fingeravtrycksmotstånd beror på vad du försöker försvara dig mot. Några vanliga scenarier:

Vardaglig integritet ("Jag vill inte att annonsteknik profilerar mig")

En standardwebbläsare (Safari, Firefox, Brave) med standardinställningarna för spårningsskydd aktiverade, plus trackerfiltrering på nätverksnivå. Detta blockerar merparten av färdiga fingeravtrycksskript (som laddas från kända tredjepartsdomäner) och begränsar spårning mellan webbplatser via lagring. Ditt fingeravtryck är fortfarande individuellt identifierande om en webbplats tar sig besväret att beräkna det, men de flesta webbplatser gör det inte — kostnad-nyttokalkylen motiverar det inte för webbplatser utan intäktskritiska syften. Standardintegritetshållningen hanterar 80 % av hotet med effektivt noll kostnad i användarbarhet.

Övervakningsresistent ("Jag är journalist, aktivist eller forskare")

Tor Browser för de aktiviteter du vill göra anonymt. En separat standardwebbläsare för allt annat. Undvik att blanda identiteter mellan de två webbläsarna. Inse att även inom Tor Browser kan beteendemässig fingeravtryckning (skrivningsrytm, surfmönster) fortfarande identifiera dig för en tillräckligt motiverad motståndare. Tor-projektets egen dokumentation är rätt ställe för detaljerna kring denna hotmodell. Nätverksnivåförsvar hjälper men webbläsaren är den primära defensiva ytan.

Statlig motståndare

Ärlig bedömning: mot en nationsstatsaktör med resurser att kombinera nätverksobservation, enhetsfingeravtryckning, beteendeanalys och traditionellt underrättelsearbete är fingeravtrycksmotstånd på webbläsarnivå ett inslag bland många. Tor Browser är fortfarande användbart (det höjer kostnaden), men operationssäkerhetspraxis (avdelade enheter, disciplinerad identitetsseparation, OPSEC-utbildning) spelar större roll än någon enstaka webbläsarkonfiguration. Det är den hotmodell som Tor-projektet explicit designar för; konsumentintegritetverktyg är inte byggda för den.

För de flesta läsare — de två första hotmodellerna — är det praktiska rådet: använd en modern integritetsrespekterande webbläsare (Brave, Firefox med rimliga inställningar eller Safari), aktivera dess inbyggda spårningsskydd, lägg nätverksnivåfiltrering ovanpå och inse att fingeravtryckning är en verklig kvarstående risk som inget konsumentverktyg fullt ut adresserar. Kombinationen är meningsfullt bättre än standardinställningarna — utan den är du individuellt identifierbar på varje webbplats du besöker; med den är du i huvudsak identifierbar bara för webbplatser som specifikt investerar i fingeravtryckning och är villiga att lägga ned den tekniska insatsen.

Casper's Cloak adresserar nätverkslagerdelen av denna defensiva stack. Vår trackerfiltrering blockerar kända fingeravtryckendpoints på DNS-lagret, tillsammans med det bredare annonstekniska och analysekosystemet. VPN-tunneln döljer din IP och förhindrar din internetleverantör från att observera vilka webbplatser du besöker. Inget av detta adresserar fingeravtrycksytan på webbläsarnivå — för det väljer du din webbläsare noga och överväger Tor Browser när hotmodellen motiverar det. Kombinationen av välvald webbläsare och nätverksnivåfiltrering är den realistiska bästa hållningen för de flesta användare, och den är avsevärt bättre än standardinställningarna.

För den kanoniska referensen och en snabb personlig entropimätning, kör EFF:s Cover Your Tracks-verktyg i den webbläsare du faktiskt använder. Resultatet berättar för dig, i konkreta bitar entropi, hur identifierande din nuvarande konfiguration är. Därifrån blir avvägningen mellan integritet och användarbarhet ett kvantitativt beslut snarare än en vag gest mot "mer integritet."

Slutsats: fingeravtrycksmotstånd är verkligt, det är ofullkomligt och rätt hållning beror på din hotmodell. Det ärliga svaret på "hur förhindrar jag fingeravtryckning?" är "det kan du inte fullt ut — men du kan avsevärt minska vem som kan göra det, vad de ser och hur stabilt identifieraren är mellan besök."

Granskat av Casper's Cloak Security Team · Senast uppdaterad

Filtrera trackers innan fingeravtryckning börjar

Casper's Cloak filtrerar kända fingeravtrycks- och tracker-endpoints på DNS-lagret — skripten når aldrig din webbläsare för att köras. För allt annat, kombinera med en integritetsrespekterande webbläsare. Vi är ärliga om begränsningarna.