bakalářská práce

Identifikace uživatelů pomocí webového fingerprintingu

Text práce 2.47 MB Příloha 79.54 kB

Autor práce: Bc. Oldřich Moliš

Ak. rok: 2025/2026

Vedoucí: Ing. Petr Ilgner, Ph.D.

Oponent: Ing. Tomáš Lieskovan, Ph.D.

Abstrakt:

Tato bakalářská práce se zabývá webovým fingerprintingem, tedy metodou identifikace a sledování uživatelů na internetu, která využívá unikátní digitální otisk, fingerprint, sestávající z kombinace různých parametrů zařízení a webového prohlížeče uživatele. Obsahem práce je rozbor současných fingerprinting technik, jejich porovnání a zhodnocení. Diskutován je dopad této technologie na soukromí uživatelů, včetně představení možných způsobů ochrany a souvisejících nástrojů. Práce rovněž zkoumá právní rámec regulující tuto problematiku, a to především na úrovni Evropské unie. Celý proces fingerprintingu poté demonstruje na vytvořené webové aplikaci. Ta sestává z klientské části, která provádí sběr dat pro tvorbu fingerprintů, a serverové komponenty, která dané informace vyhodnocuje, spravuje a zajišťuje opětovnou identifikaci uživatelů.

Klíčová slova:

webový fingerprinting, otisk prohlížeče, identifikace prohlížeče, identifikace uživatelů, sledování uživatelů, profilování uživatelů, soukromí uživatelů

Termín obhajoby

16.06.2026

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaAznamka

Klasifikace

A

Průběh obhajoby

Student prezentoval výsledky své práce a komise byla seznámena s posudky. Student obhájil bakalářskou práci a odpověděl na otázky členů komise a oponenta. Otázky: 1) Soubor fingerprint.py obsahuje slovník pro výpočet hlavního fingerprintu klíč „hash_creen_resolution" – jedná se o záměr, nebo překlep, a jaký by byl dopad, kdyby tentýž klíč byl na jiném místě kódu uveden správně? 2) Modul jsAttributes.js zahrnuje do hashe atributy Permissions API s hodnotou „Unknown" při přístupu přes HTTP. Jak by se choval váš systém při přechodu téhož uživatele z HTTP na HTTPS – dostal by nový fingerprint, nebo by byl stále rozpoznán jako tentýž uživatel? 3) Byla práce konzultovánána s právníkem nebo se jedná pouze o Vaši rešerši? 4) Může uživatel dostat stejný fingerprint jako nějaký jiný uživatel, jaká je pravděpodobnost?

Jazyk práce

čeština

Fakulta

Ústav

Studijní program

Informační bezpečnost (BPC-IBE)

Složení komise

doc. Ing. Jan Jeřábek, Ph.D. (předseda)
doc. Ing. Ivo Lattenberg, Ph.D. (místopředseda)
Mgr. Martin Erlebach (člen)
Ing. Eva Holasová, Ph.D. (člen)
Ing. Petr Ilgner, Ph.D. (člen)
Ing. Kryštof Zeman, Ph.D. (člen)
Ing. Martin Rusz, Ph.D. (člen)

Posudek vedoucího
Ing. Petr Ilgner, Ph.D.

Cílem bakalářské práce pana Moliše je podrobná analýza současných technik webového fingerprintingu. Zadání práce je náročnější, neboť vyžaduje hloubkovou analýzu použitelných metod, ale i analýzu současného legislativního rámce. Lze konstatovat, že zadání bylo v plném rozsahu splněno. Popsané techniky jsou velmi aktuální. Přístup studenta během řešení bakalářské práce byl příkladný, pracoval zcela samostatně a aktivně konzultoval další postup.

Praktickým výstupem práce je knihovna implementující popsané metody a také jednoduchá demonstrační aplikace. Programový kód je přehledný a jednotlivé části jsou vhodně rozděleny. Oceňuji také to, že knihovnu je možné snadno integrovat do dalších webových stránek.

Prezentační úroveň práce je na velmi dobrá. Text je logicky strukturován do šesti kapitol, které na sebe dobře navazují. Práce je doplněna řadou tabulek a výpisů kódu, které vhodně dokumentují výsledky práce. Po formální stránce práce vykazuje jen několik menších prohřešků, jako jsou ojedinělé překlepy či stylistické neobratnosti. Při zpracování práce využil 128 informačních zdrojů, které jsou celkově vhodně zvoleny a jejich vysoký počet je dán častým odkazováním na právní předpisy nebo specifikace konkrétních webových technologií.

Práci celkově považuji za mimořádně pečlivě zpracovanou a doporučuji ji k obhajobě a navrhuji hodnocení A/94 b. Výsledný počet bodů navržený vedoucím: 94

Známka navržená vedoucím: A

Předložená bakalářská práce se zabývá webovým fingerprintingem – metodou identifikace uživatelů bez ukládání dat na jejich zařízení. Zadání bylo v zásadě splněno. Teoretická část je zpracována systematicky; výčet fingerprinting technik v kapitole 2 je dostatečně technicky hluboký a tabulka 2.3 přehledně shrnuje výsledky analýzy.

K práci mám nicméně tyto výhrady. Zadání explicitně uvádí JavaScript/TypeScript; implementace je provedena výhradně v čistém JavaScriptu bez odůvodnění volby. Testování nástrojů pro ochranu soukromí bylo provedeno pouze na Linuxu (Debian, Fedora); Windows a macOS zahrnuty nebyly. Chybí kvantitativní vyhodnocení přesnosti opětovné identifikace – žádná metrika (false positive/negative rate) není uvedena. V textu se vyskytují drobné stylistické nedůslednosti (např. pojem „fajfka" v tabulce 5.1).

Nicméně i přes tyto nedostatky je práce na dobré úrovni a doporučuji ji k obhajobě s hodnocením 85/B. Otázky k obhajobě:
  1. Soubor fingerprint.py obsahuje slovník pro výpočet hlavního fingerprintu klíč „hash_creen_resolution" – jedná se o záměr, nebo překlep, a jaký by byl dopad, kdyby tentýž klíč byl na jiném místě kódu uveden správně?
  2. Modul jsAttributes.js zahrnuje do hashe atributy Permissions API s hodnotou „Unknown" při přístupu přes HTTP. Jak by se choval váš systém při přechodu téhož uživatele z HTTP na HTTPS – dostal by nový fingerprint, nebo by byl stále rozpoznán jako tentýž uživatel?
Výsledný počet bodů navržený oponentem: 85

Známka navržená oponentem: B

Odpovědnost: Mgr. et Mgr. Hana Odstrčilová