Canvas a WebGL fingerprinting v roce 2026
Stav fingerprintingu založeného na GPU: co se změnilo s Chrome Privacy Sandbox, jak jsme se přizpůsobili a proč hardwarové signály zůstávají nejstabilnějšími identifikátory.
Canvas
a
WebGL
fingerprinting jsou od počátku 2010. let základními kameny identifikace zařízení. Situace se však výrazně změnila s iniciativami Chrome
Privacy Sandbox
, s Enhanced Tracking Protection ve Firefoxu a s Intelligent Tracking Prevention v Safari. Zde je stav fingerprintingu založeného na GPU v roce 2026 — co se změnilo, jak jsme se přizpůsobili a proč tyto signály zůstávají nepostradatelné.
Co se změnilo s Chrome Privacy Sandbox
Privacy Sandbox v Chrome, postupně nasazovaný od roku 2024, přinesl několik změn, které fingerprinting ovlivňují. Nejvýznamnější je iniciativa partitioned storage, která snižuje účinnost sledování založeného na cookies, ale přímo neovlivňuje canvas ani WebGL fingerprinting.
Chrome však začal experimentovat s injektáží šumu do canvasu — přidáváním malých náhodných perturbací do pixelových dat canvasu, aby zabránil přesnému fingerprintingu. Když je funkce zapnutá, stejné vykreslovací instrukce produkují při každém spuštění mírně odlišný pixelový výstup. To rozbíjí naivní canvas fingerprinting založený na hashích, který očekává přesnou reprodukovatelnost.
Přizpůsobení šumu v canvasu
Naší reakcí na injektáž šumu do canvasu bylo přejít u signálů z canvasu z přesného porovnávání na porovnávání založené na podobnosti. Místo výpočtu jediného hashe z veškerých pixelových dat canvasu nyní extrahujeme více příznakových vektorů z různých oblastí a vykreslovacích operací.
Injektovaný šum je zpravidla malý — několik změněných pixelů na snímek. Extrakcí příznaků v hrubší granularitě (rozdělením canvasu na oblasti a výpočtem agregovaných statistik) dokážeme identifikovat podkladovou hardwarovou signaturu navzdory šumu. Náš algoritmus párování napříč relacemi porovnává tyto příznakové vektory pomocí kosinové podobnosti s prahem naladěným tak, aby přijímal variace konzistentní s hardwarem a zároveň odmítal odlišná zařízení.
WebGL: stále zlatý důl
Zatímco canvas fingerprinting čelí novým výzvám, WebGL fingerprinting zůstává iniciativami na ochranu soukromí převážně nedotčen. WebGL API vystavuje hardwarové parametry — maximální velikosti textur, formáty přesnosti shaderů, podporovaná rozšíření — které jsou GPU inherentní a nelze je snadno narušit, aniž by se rozbila funkčnost WebGL.
Chrome diskutoval o omezení přístupu k řetězcům renderer a vendor ve WebGL (nahrazení konkrétních názvů GPU obecnými štítky jako „GPU“), ale tato změna nebyla nasazena plošně. I kdyby byla, desítky dalších parametrů WebGL, na které se dotazujeme, by stále poskytovaly vysoce rozlišující identifikační signály.
GPU jako hardwarová kotva
Zásadním důvodem, proč fingerprinting založený na GPU zůstává mocný, je to, že čte hardwarové charakteristiky, které jsou fyzicky určeny čipem GPU, ovladačem a vykreslovacím řetězcem. Tyto charakteristiky nejsou softwarová nastavení, která lze snadno změnit — jsou důsledkem toho, jak byl křemík navržen a vyroben.
Zařízení s NVIDIA RTX 4070 bude vždy hlásit konkrétní maximální velikosti textur, konkrétní přesnost shaderů a konkrétní podporu rozšíření, protože tyto hodnoty jsou určeny architekturou GPU. Jediný způsob, jak tyto hodnoty změnit, je použít jiné GPU nebo jiný ovladač — a změny ovladače jsou u většiny uživatelů relativně vzácné.
Renderování canvasu: za hranicí hashování pixelů
Moderní canvas fingerprinting jde za jednoduché hashování pixelů. Používáme vykreslovací operace navržené speciálně tak, aby zvýraznily rozdíly v renderování závislé na hardwaru. Vykreslování textu s konkrétními fonty procvičí rasterizér písma. Bézierovy křivky s konkrétními řídicími body procvičí tesselaci křivek na GPU. Přechody s konkrétními barevnými zarážkami procvičí řetězec míchání barev.
Volbou vykreslovacích operací, které maximalizují rozptyl napříč modely GPU a zároveň minimalizují rozptyl napříč opakovanými běhy na stejném GPU, vytváříme canvasové testy, které jsou současně rozlišovací a robustnější než jednoduchý přístup „text a tvary“ používaný ranými fingerprintingovými knihovnami.
Fingerprinting WebGL shaderů
Novější technikou, kterou nasazujeme, je fingerprinting WebGL shaderů. Kompilací konkrétních shaderových programů a dotazováním jejich zkompilovaných vlastností (přesnost, úroveň optimalizace, počet instrukcí) dokážeme získat informace o shaderovém kompilátoru GPU — další charakteristice závislé na hardwaru, která se liší napříč rodinami GPU.
Tato technika je obzvláště cenná pro rozlišení zařízení, která mají podobné základní parametry WebGL. Dva různé modely GPU mohou podporovat stejnou maximální velikost textury, ale jejich shaderové kompilátory vyprodukují pro stejný zdrojový kód shaderu odlišný zkompilovaný výstup.
Ohledy na soukromí
Fingerprinting založený na GPU, stejně jako veškerý fingerprinting, musí být používán zodpovědně. Tyto signály používáme k legitimním účelům — prevenci podvodů, bot detection a zabezpečení účtů — nikoli k cross-site sledování nebo reklamě. Naše cloudové nasazení zajišťuje, že data fingerprintů zůstávají v infrastruktuře našich zákazníků, čímž se eliminuje sdílení dat s třetími stranami.
Situace v oblasti soukromí se bude nadále vyvíjet. Prohlížeče mohou zavést další ochrany, které GPU fingerprinting ovlivní. Naší strategií je neustále se přizpůsobovat — nacházet nové signály závislé na hardwaru, jakmile jsou staré omezeny, a přitom udržovat přesnost a stabilitu, na které naši zákazníci spoléhají.