Bachelor's Thesis

User Identification through Web Fingerprinting

Final Thesis 2.47 MB Appendix 79.54 kB

Author of thesis: Bc. Oldřich Moliš

Acad. year: 2025/2026

Supervisor: Ing. Petr Ilgner, Ph.D.

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

Abstract:

This bachelor's thesis deals with web fingerprinting, a method of identifying and tracking users on the internet that utilizes a unique digital fingerprint composed of a combination of various device and web browser parameters. The thesis analyzes, compares, and evaluates current fingerprinting techniques. It also discusses the impact of this technology on user privacy, presenting potential protection methods and related tools. Furthermore, the thesis examines the legal framework regulating this topic, focusing primarily on the European Union level. The fingerprinting process is then demonstrated through a custom-developed web application. This application consists of a client-side component, which collects data to create fingerprints, and a server-side component, which evaluates and manages the information, ensuring the re-identification of users.

Keywords:

web fingerprinting, browser fingerprint, browser identification, user identification, user tracking, user profiling, user privacy

Date of defence

16.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

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?

Language of thesis

Czech

Faculty

Department

Study programme

Information Security (BPC-IBE)

Composition of Committee

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)

Supervisor’s report
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. Points proposed by supervisor: 94

Grade proposed by supervisor: A

Reviewer’s report
Ing. Tomáš Lieskovan, Ph.D.

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. Topics for thesis defence:
  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?
Points proposed by reviewer: 85

Grade proposed by reviewer: B

Responsibility: Mgr. et Mgr. Hana Odstrčilová