Přístupnostní navigace
E-přihláška
Vyhledávání Vyhledat Zavřít
bakalářská práce
Autor práce: Bc. Prokop Schield
Ak. rok: 2024/2025
Vedoucí: Ing. Jiří Hynek, Ph.D.
Oponent: Ing. Petr John
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.
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)
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ě
Jazyk práce
angličtina
Fakulta
Fakulta informačních technologií
Ústav
Ústav informačních systémů
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íhoIng. 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.
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.
Student si aktivně dohledával literaturu týkající se zejména oblasti distribuovaných souborových systémů a šifrování.
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.
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ě.
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.
Známka navržená vedoucím: C
Posudek oponentaIng. 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.
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ší.
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.
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.
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.
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í.
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.
Stupeň hodnocení: je v obvyklém rozmezí
Práce je v typickém rozsahu pro bakalářskou práci.
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.
Známka navržená oponentem: D
Odpovědnost: Mgr. et Mgr. Hana Odstrčilová