bakalářská práce

Protokol pro bezpečné sdílení dat v peer-to-peer systémech

Text práce 1000.46 kB Příloha 11.67 MB

Autor práce: Bc. Prokop Schield

Ak. rok: 2024/2025

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

Oponent: Ing. Petr John

Abstrakt:

Tato bakalářská práce řeší problematiku bezpečného sdílení dat v decentralizovaných peerto-peer sítích návrhem protokolu ScatterNet, vyvinutého k zajištění důvěrnosti, integrity,
dostupnosti a odolnosti dat. Klíčové přínosy zahrnují robustní formát serializace dat a minimální komunikační rozhraní. Serializační formát definuje DataChunk, identifikovaný kryptografickým otiskem Hash konstruovaným z výstupů SHA-256 a BLAKE3, délky kódované
formátem PackedInt a Reed-Solomonovy parity. Ochrana dat využívá kompresi Deflate,
AEAD šifrování ChaCha20-Poly1305 – s klíčem odvozeným z hashe serializovaných dat
a nonce odvozenou z klíče – a vlastní schéma Long Error Correction Code (Long ECC) se
samoopravnou hlavičkou a prokládanou Reed-Solomonovou ochranou šifrovaného obsahu.
Univerzální identifikátor HKey umožňuje adresaci dat. Komunikační protokol, operující
mezi peery identifikovanými klíči Ed25519, specifikuje operace FETCH a PUT a zahrnuje
lokální systém reputace. Modulární referenční implementace v Rustu, využívající iroh pro
peer-to-peer komunikaci přes QUIC, demonstruje životaschopnost protokolu a prezentuje
komplexní řešení pro bezpečné a odolné sdílení dat.

Klíčová slova:

P2P, peer-to-peer systémy, bezpečné sdílení dat, decentralizované systémy, kryptografické
hašovací funkce, adresování obsahem, autentizované šifrování, ChaCha20-Poly1305, integrita dat, důvěrnost dat, Rust, distribuovaná úložiště, QUIC, iroh, ScatterNet

Termín obhajoby

19.06.2025

Výsledek obhajoby

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

znamkaEznamka

Klasifikace

E

Průběh obhajoby

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.

Otázky k obhajobě

  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?

Jazyk práce

angličtina

Fakulta

Ústav

Studijní program

Informační technologie (BIT)

Složení komise

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)

Posudek vedoucího
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.

Kritérium hodnocení Slovní hodnocení
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.

Výsledný počet bodů navržený vedoucím: 70

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

Posudek oponenta
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.

Kritérium hodnocení Slovní hodnocení Body
Náročnost zadání

Stupeň hodnocení: 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í

Stupeň hodnocení: 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

Stupeň hodnocení: 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
Otázky k obhajobě:
  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?
Výsledný počet bodů navržený oponentem: 65

Známka navržená oponentem: D

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