Bachelor's Thesis

Secure Data Sharing Protocol for Peer-to-Peer Systems

Final Thesis 1000.46 kB Appendix 11.67 MB

Author of thesis: Bc. Prokop Schield

Acad. year: 2024/2025

Supervisor: Ing. Jiří Hynek, Ph.D.

Reviewer: Ing. Petr John

Abstract:

This bachelor’s thesis confronts the challenge of secure data sharing within decentralized
peer-to-peer networks by proposing ScatterNet, a protocol engineered to ensure data confidentiality, integrity, availability, and resilience. Core contributions include a robust data
serialization format and a minimal communication interface. The serialization format defines the DataChunk, identified by a cryptographic Hash constructed from SHA-256 and
BLAKE3 outputs, PackedInt-encoded length, and Reed-Solomon parity. Data protection
employs Deflate compression, ChaCha20-Poly1305 AEAD encryption—keyed by a hash of
the serialized data with a key-derived nonce—and a custom Long Error Correction Code
(Long ECC) featuring a self-correcting header and interleaved Reed-Solomon protection
for the encrypted payload. A versatile HKey identifier facilitates data addressing. The
communication protocol, operating between Ed25519-identified peers, specifies FETCH and
PUT operations and incorporates a local reputation system. A modular Rust reference implementation utilizing iroh for QUIC-based peer-to-peer communication demonstrates the
protocol’s viability, presenting a comprehensive solution for secure, resilient data exchange.

Keywords:

P2P, peer-to-peer systems, secure data sharing, decentralized systems, cryptographic hash
functions, content addressing, authenticated encryption, ChaCha20-Poly1305, data integrity,
data confidentiality, Rust, distributed storage, QUIC, iroh, ScatterNet

Date of defence

19.06.2025

Result of the defence

Defended (thesis was successfully defended)

znamkaEznamka

Grading

E

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm E.

Topics for thesis defence

  1. Ve Vašem řešení používáte rozdělení souborů před odesláním a sdílení těchto částí více klienty. Můžete oba přístupy vysvětlit?
  2. Můžete se vyjádřit k výtkám oponenta ohledně kvality vaší technické zprávy?

Language of thesis

English

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Dr. Ing. Dušan Kolář (předseda)
doc. Ing. Vladimír Janoušek, Ph.D. (člen)
Ing. Radek Hranický, Ph.D. (člen)
doc. Ing. Jan Kořenek, Ph.D. (člen)
Ing. Zdeněk Materna, Ph.D. (člen)

Supervisor’s report
Ing. Jiří Hynek, Ph.D.

Student vytvořil tzv. proof of concept. Pozitivně hodnotím přístup studenta k praktické části práce. Negativně hodnotím přístup k psaní technické zprávy. Navrhuji hodnocení stupněm C.

Evaluation criteria Verbal classification
Informace k zadání

Práce vznikla ze zájmu studenta vytvořit vlastní decentralizovaný peer-to-peer systém pro bezpečné uložení dokumentů. Musel prostudovat netriviální problematiku týkající se distribuovaných souborových systémů a šifrování. Řešení implementoval v jazyce Rust. Nápad studenta shledávám jako ambiciozní a řešení spíše jako tzv. proof of concept. Zadání však hodnotím jako obtížné a rád bych vyzdvihl, že student k praktické části práci přistupoval s velkou snahou a zájmem.

Práce s literaturou

Student si aktivně dohledával literaturu týkající se zejména oblasti distribuovaných souborových systémů a šifrování.

Aktivita během řešení, konzultace, komunikace

V prvním semestru byla aktivita slabší. Ve druhém semestru se student účastnil jednou týdně online porad. Také dle potřeby komunikoval přes Slack.

Aktivita při dokončování

Student psal technickou zprávu na poslední chvíli a neměl jsem příležitost k ní poskytnout dostatečnou zpětnou vazbu. Tuto skutečnost hodnotím negativně.

Publikační činnost, ocenění

Student podával příspěvek na konferenci Excel@FIT 2025, nicméně jeho práce nebyla vybrána. Této snahy si přesto velmi cením.

Points proposed by supervisor: 70

Grade proposed by supervisor: C

Reviewer’s report
Ing. Petr John

Pan Shield vytvořil specifikaci a referenční implementaci nového peer-to-peer přístupu ke sdílení souborů. Student rozděluje soubory na menší části, což umožňuje jejich současné sdílení s více klienty. Ve spojení s replikací toto řešení zvyšuje odolnost sítě vůči ztrátě dat při odpojení jednotlivých klientů. I přes rozsáhlé nedostatky v technické zprávě hodnotím bakalářskou práci jako zdařilou a navrhuji hodnocení stupněm D.

Evaluation criteria Verbal classification Points
Náročnost zadání

Evaluation level: obtížnější zadání

Tato bakalářská práce má za úkol navrhnout peer-to-peer komunikační protokol, společně s datovým formátem, který má zaručit šifrování a zabezpečení dat, a provést jejich referenční implementaci. Zadání bakalářské práce hodnotím jako obtížnější.

Prezentační úroveň technické zprávy

Bakalářská práce má obvyklou strukturu. První kapitola velmi stroze popisuje existující řešení, druhá obsahuje popis existujících přístupů k symetrickým šifrovacím algoritmům a jejich srovnání. Analýza popisuje teoretické případy použití a definuje klíčové požadavky. Dále následují dvě návrhové kapitoly, kde první z nich definuje serializační formát a druhá samotný protokol. Bakalářskou práci ukončují velmi slabé kapitoly implementace a testování. Obě návrhové kapitoly, ani implementace nepopisují všechny důležité vlastnosti řešení a některé popisy jsou velmi nešťastné, až zavádějící. V aktuální verzi textu například není žádná informace o dělení souborů na menší části s maximální velikostí a také z něj vyplývá, že pro získání dat je nutné ukládajícímu odeslat nejen hash souboru, ale také klíč pro dešifrování obsahu. Z těchto důvodů hodnotím prezentační úroveň zprávy jako velmi slabou. Celý text obsahuje jen jeden obrázek, což má také velmi negativní dopad na pochopitelnost práce.

50
Formální úprava technické zprávy

Zpráva obsahuje velké množství typografických chyb a velmi zanořené výčty (např. strana 36). Text dále obsahuje velké množství prvků, které postrádají referenci (typicky vzorce kapitoly 4). Kapitolám úvod a závěr chybí číslo kapitoly, text často obsahuje citaci až za tečkou (např. na straně 9, sekce 1.2). Z těchto důvodů hodnotím formální úpravu technické zprávy jako velmi slabou.

50
Realizační výstup

Realizační výstup působí na bakalářskou práci velmi dobrým dojmem. Student vytvořil knihovnu, která je schopna přenášet zašifrované soubory pomocí peer to peer sítě. Student demonstroval funkčnost vytvořené knihovny a šifrování pomocí demonstrace v nezávislém Docker containeru. Z konzultace také vyplývá, že student implementovat pokročilou funkcionalitu jako např. rozdělení souboru na menší části, které jsou ukládány separátně mezi různé klienty, a replikaci. 

80
Využitelnost výsledků

Práce vytváří prototyp pro komunikační standard. Před uvedením do praxe by muselo dojít jak k revizi přístupů, tak k důkladnějšímu otestování.

Rozsah splnění požadavků zadání

Evaluation level: zadání splněno s vážnějšími výhradami

Bakalářská práce nesplňuje značnou část zadání, a to konkrétně body 1, 3, 6 a 7. První bod zadání požaduje mimo jiné i rešerši existujících řešení. Student popisuje jediné řešení, které je jmenovitě v zadání, a to BitTorrent. Celá rešerše se nachází v sekci 1.2 a je obsažena na přibližně jedné polovině stránky. Podobně jsou popsané i zbylé části tohoto bodu a celá kapitola zabírá přibližně tři a půl strany, a to i díky častému použití výčtů. Dle třetího bodu zadání měla být provedena analýza případů užití pro tento systém. Analýza sice tyto případy obsahuje, ale jsou plně vymyšleny studentem, bez referencí do literatury nebo jiných zdrojů. Mimo jiné jsou zde obsaženy případy použití jako více institucionální zdravotnické výzkumné konsorcium analyzující anonymizovaná, avšak stále citlivá data pacientů za účelem lékařského pokroku. Preferoval bych spíše případy užití založené na realitě, jako například tzv. Whistleblowing. Kapitola implementace (odpovídající šestému bodu zadání) nepopisuje implementaci, ale pouze kompozici řešení (rozdělení do tzv. Rust crates a GitHub repozitářů). A v poslední řadě sedmý bod popisuje pouze teoretické aspekty testování. Testování výkonnosti obsahuje tvrzení jako: “Přenosy dat probíhaly rychle.” Nesplnění bodů považuji za závažné, a to primárně kvůli jejich rozsahu.

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Práce je v typickém rozsahu pro bakalářskou práci.

Práce s literaturou

Student cituje 43 zdrojů, které se skládají převážně z vědeckých článků a knižních publikací. Zvolené zdroje vhodně pokrývají popisovanou problematiku.

90
Topics for thesis defence:
  1. Ve Vašem řešení používáte rozdělení souborů před odesláním a sdílení těchto částí více klienty. Můžete oba přístupy vysvětlit?
Points proposed by reviewer: 65

Grade proposed by reviewer: D

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