Master's Thesis

Peer-to-Peer (P2P) messaging application

Final Thesis 2.85 MB Appendix 417.72 kB

Author of thesis: Ing. Jan Filip Žáček

Acad. year: 2025/2026

Supervisor: Ing. Minh Tran

Reviewer: Ing. Petr Ilgner, Ph.D.

Abstract:

Motivation for this thesis is the high reliance on centralized communication platforms.
These platforms introduce centralized points of control that may enable data collection and censorship. This motivates the exploration of decentralized communication
alternatives for mobile devices.
The core problem addressed by this thesis is the design and implementation of a secure,
serverless peer–to–peer messaging application operating exclusively over Bluetooth, without any network infrastructure or account registration.
The theoretical part examines the history and architecture of peer–to–peer networks,
covering routing protocols, peer discovery, bootstrapping, data management, and cryp-
tographic mechanisms relevant to the proposed solution.
Based on this analysis, a fully functional Android prototype was developed. Three custom Bluetooth protocols were designed and implemented: a finder protocol for peer
reconnection, a neighbour protocol for mesh–based multi–hop routing, and a transport
protocol for message serialization. Authentication is based on the Schnorr protocol transformed via the Fiat–Shamir heuristic, so that the chatroom password is not transmitted
during the handshake. All subsequent communication is protected by authenticated encryption with fresh session keys derived for each connection. The application is designed
for cross–platform deployment, although testing was limited to Android devices due to
current Bluetooth support constraints in Multiplatform development.
The implemented prototype confirms the feasibility of secure, decentralized peer–to–peer communication on mobile hardware. The one–to–one communication scenario was
verified end–to–end, while the mesh scenario remains architecturally supported but was
not fully validated due to hardware quantity limitations during testing.

Keywords:

Peer–to–Peer, Decentralized Messaging, Non–Interactive Schnorr Protocol, Fiat–Shamir Transformation, Secure Messaging, Bluetooth, Mesh, Kotlin Multiplatform, Mobile Application

Date of defence

09.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

Grading

B

Process of defence

Student prezentoval výsledky své práce a komise byla seznámena s posudky. Student obhájil diplomovou práci a odpověděl na otázky členů komise a oponenta. Otázky: 1) Jak by se navržená aplikace vypořádala s tím, kdy by byla dostupná Bluetooth spojení obsazena jinými BT zařízeními (např. sluchátka, hodinky)? Bylo by výhodnější použití GATT? 2) Identifikátor místnosti je odvozován z názvu Bluetooth adaptéru a je aktivně zveřejňován okolním zařízením. Může to vést k odhalení existence místnosti a oslabení soukromí i anonymity uživatelů? 3) Myslíte si, že použitý směrovací algoritmus je správná volba pro vaši aplikaci?

Language of thesis

English

Faculty

Department

Study programme

Information Security (MPC-IBE)

Composition of Committee

prof. Ing. Jan Hajný, Ph.D. (předseda)
JUDr. Ing. František Kasl, Ph.D. (místopředseda)
Ing. Jan Látal, Ph.D. (člen)
Ing. Petr Ilgner, Ph.D. (člen)
Ing. František Urban, Ph.D. (člen)
Ing. Willi Lazarov (člen)
Ing. Peter Balušík (člen)
doc. Ing. Karol Molnár, Ph.D. (člen)

Supervisor’s report
Ing. Minh Tran

Diplomová práce se zabývá návrhem a implementací decentralizované P2P chatovací aplikace fungující výhradně přes Bluetooth bez serverové infrastruktury nebo registrace účtu. V teoretické části jsou přehledně pokryty principy P2P sítí, směrovací protokoly, bootstrapping a kryptografické mechanismy. Praktická část se věnuje návrhu tří vlastních komunikačních protokolů (BFP, BNP a BTP) nad vrstvou Bluetooth RFCOMM, autentizaci na bázi Schnorrova protokolu s Fiat-Shamirovou transformací a šifrování AES-256-GCM s PBKDF2. Zadání práce je splněno a výsledný prototyp je veřejně dostupný na GitHubu.

Nejsilnější stránkou práce je funkční Android prototyp s ověřenou komunikací end-to-end v režimu 1:1 včetně autentizace, šifrování, předání role serveru a persistence dat. Kryptografický návrh je technicky solidní, dobře zdůvodněný a odkazuje na primární zdroje. Architektura aplikace je nadprůměrná, důsledné oddělení vrstev podle Clean Architecture a izolace platformně specifického kódu za rozhraními přispívají k přehlednosti, testovatelnosti a rozšiřitelnosti. Student pracoval samostatně a iniciativně, pravidelně konzultoval a projevoval zájem nad rámec zadání.

Nedostatkem práce je nedokončená implementace mesh komunikace, která představuje architektonicky nejambicióznější část práce. Transportní vrstva pro předávání zpráv přes více hopů nebyla dokončena a funkčnost v režimu 1:N nebyla na fyzických zařízeních potvrzena. Výkonnostní měření by bylo přínosnější provést na reálném Android hardware s více zařízeními a statisticky významými výsledky. Bezpečnostní analýza pokrývá relevantní útoky po vrstvách, ale postrádá formální model hrozeb. Práce obsahuje drobné formální nedostatky, překlepy v textu a duplicitu referencí [37] a [38].

Práci doporučuji k obhajobě s celkovým hodnocením 90 bodů / A. Points proposed by supervisor: 90

Grade proposed by supervisor: A

Reviewer’s report
Ing. Petr Ilgner, Ph.D.

Předložená diplomová práce se zabývá návrhem a implementací decentralizované mobilní aplikace pro zasílání zpráv. V práci je kladen vysoký důraz na bezpečnost a anonymitu a poskytuje návrh vlastních Peer-To-Peer (P2P) protokolů. Zadání práce považuji za značně náročné, protože vyžaduje implementaci vlastních protokolů či nasazení pokročilé kryptografie.

Praktickou část tvoří implementace prototypu chatovací aplikace pro platformu Android. Návrh komunikačního protokolu i bezpečnostního modelu považuji za zdařilý, avšak implementace mesh komunikace není úplná. Ačkoliv je použit multiplatformní framework, specifický kód pro iOS a desktop není součástí odevzdané práce, což autor omlouvá nepřipraveností frameworku. Programový kód je přehledný a dobře členěn. Výhradu mám ale ke stylu jeho komentování, v odevzdané verzi se vyskytují některé nic nevysvětlující komentáře (př. „hokus pokus“), mnoho částí je uvozeno jako TODO, což nesvědčí o zcela dokončené aplikaci. Za nešťastné považuji použití fixních časových konstant (sleep) při párování zařízení. Ocenil bych také přiložení zkompilované verze aplikace, zejména proto, že v odevzdané práci chybí postup zprovoznění aplikace, avšak ve webovém repozitáři, na který je v el. příloze uveden odkaz, je návod uveden.

Po formální stránce je práce na přijatelné úrovni. Její formální úroveň bohužel snižují četné překlepy. V seznamu zkratek nejsou uvedeny všechny použité zkratky. Seznam by měl být seřazen alfabeticky, některé zkratky také nejsou vysvětleny při prvním výskytu. Práce s literaturou je dobrá, práce cituje celkem 72 informačních zdrojů, včetně technických standardů nebo akademických prací. Reference [37] je duplicitní. S doporučenou literaturou student nepracoval.

Přes uvedené nedostatky ale s ohledem na obtížnost zadání a s ohledem na to, že se jedná o prototyp, považuji práci za zdařilou a doporučuji ji obhajobě s hodnocením C / 78b. Topics for thesis defence:
  1. Jak by se navržená aplikace vypořádala s tím, kdy by byla dostupná Bluetooth spojení obsazena jinými BT zařízeními (např. sluchátka, hodinky)? Bylo by výhodnější použití GATT?
  2. Identifikátor místnosti je odvozován z názvu Bluetooth adaptéru a je aktivně zveřejňován okolním zařízením. Může to vést k odhalení existence místnosti a oslabení soukromí i anonymity uživatelů?
Points proposed by reviewer: 78

Grade proposed by reviewer: C

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