Fingerprinting przeglądarki

Canvas fingerprint: co to jest i jak działa

Canvas fingerprint polega na rysowaniu tekstu i kształtów na elemencie HTMLCanvasElement, odczycie pikseli (toDataURL / getImageData) i hashowaniu wyniku.

Definicja

Drobne różnice w rasteryzacji (GPU, sterownik, subpixel, fonty) dają prawie unikalny odcisk przy tej samej treści rysunku.

Jak działa

Skrypt tworzy canvas 2D, rysuje tekst z cieniem/gradientem, eksportuje PNG/data URL i liczy hash (np. murmur/xxhash). Wynik zależy od silnika graficznego i czcionek systemowych. Samego API nie da się „wyłączyć” bez limitu funkcjonalności; przeglądarki i rozszerzenia czasem dodają szum lub blokują odczyt.

Przykład

Dwa komputery z Chrome 120 i tą samą czcionką Arial mogą zwrócić różne hashe canvas, bo jeden ma Intel UHD, a drugi NVIDIA — subpixel i antialiasing różnią raster.

W Aion Surf

W Surfie canvas to sygnał spójności profilu z deklarowanym GPU/OS. Encyklopedia wyjaśnia mechanizm; nie opisuje modyfikacji pikseli pod detekcję.

Jak robi to Falcon

Powiązane hasła

  • Fingerprinting przeglądarki: Fingerprinting przeglądarki to zbieranie wielu cech środowiska uruchomieniowego (API JS, WebGL, czcionki, ekran, wtyczki, strefa czasowa) i sklejanie ich w identyfikator sesji lub urządzenia — często bez ciasteczek.
  • WebGL fingerprint: WebGL fingerprint zbiera parametry kontekstu WebGL/WebGL2: vendor, renderer, wersję GLSL, listę rozszerzeń, limity (MAX_TEXTURE_SIZE itd.) oraz czasem wynik renderu do canvas.
  • Enumeracja czcionek: Enumeracja czcionek mierzy, które fonty są zainstalowane lokalnie: przez pomiar szerokości tekstu przy fallbackach, CSS Font Loading API albo (dawniej) Flash/ActiveX.
  • Spójność profilu (coherence): Spójność profilu (coherence) to zgodność wszystkich warstw tożsamości przeglądarki: UA/Client Hints, platforma, WebGL/GPU, czcionki, strefa czasowa, język, IP/ASN, TLS i zachowanie.

Źródła