Master's Thesis

Linux encryptor of network traffic

Final Thesis 3.17 MB

Author of thesis: Ing. Petr Tůma

Acad. year: 2022/2023

Supervisor: prof. Ing. Jan Hajný, Ph.D.

Reviewer: doc. Ing. Petr Sysel, Ph.D.

Abstract:

This master’s thesis is focused on network traffic encryption on Linux platform. Goal of the thesis was to create an IPv4 network traffic encryptor. The chosen encryption method is encryption of the entire packet on the virtual interface. The encryptor uses methods from classical, quantum and post-quantum cryptography. Network traffic is encrypted with the AES-GCM-256 algorithm with a hybrid key established using QKD and CRYSTALS Kyber.

Keywords:

AES, Encryption, Linux, Kyber, QKD, Hybrid key, C++, VPN

Date of defence

07.06.2023

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 diplomovou práci a odpověděl na otázky členů komise a oponenta. V části 3.6.3 tvrdíte, že u některých testů vedl ke zvýšení objemu přenesených dat i opakovaný přenos paketů z důvodu jejich zahazování kvůli zaplněné vyrovnávací paměti. Vychází toto tvrzení z analýzy záznamu provozu ve Wiresharku nebo je to jen domněnka? Jaký maximální počet jader procesoru je šifrátor/dešifrátor schopen využít? Případně jak by se mohl zvýšit? Co znamená zkratka QKD? Opravdu se pomocí toho generují klíče?

Language of thesis

Czech

Faculty

Department

Study programme

Information Security (MPC-IBE)

Composition of Committee

prof. Ing. Jan Hajný, Ph.D. (předseda)
prof. JUDr. Radim Polčák, Ph.D. (místopředseda)
Ing. Josef Vojtěch, Ph.D. (člen)
Ing. Jan Látal, Ph.D. (člen)
Ing. Martin Štůsek, Ph.D. (člen)
Ing. Tomáš Gerlich (člen)

Supervisor’s report
prof. Ing. Jan Hajný, Ph.D.

Cílem diplomové práce bylo navrhnout a implementovat softwarový šifrátor síťového provozu využívající metody ustanovení klíče pomocí kvantové a postkvantové kryptografie. Tohoto cíle bylo dosaženo v plném rozsahu.

Po formální stránce diplomová práce neobsahuje vážnější nedostatky, text je dobře strukturovaný, čitelný, bez gramatických či obsahových chyb. Rozsah odpovídá typu práce. Práce s literaturou je také odpovídající, byť v úvodní částí mohlo být odkazů na relevantní literaturu více. Výsledky práce a zhodnocení parametrů pomocí měření jsou srozumitelné a dobře prezentované.

Student během semestru pracoval velmi svědomitě, pravidelně konzultoval a výsledky s vedoucím diskutoval. Hlavní výsledek, tj. softwarový šifrátor, je dle mého názoru na velmi dobré úrovni a je možné ho využít u dalších projektů a prací.

Na základě výše uvedeného hodnocení doporučuji práci k obhajobě a navrhuji známku A/96b. Points proposed by supervisor: 96

Grade proposed by supervisor: A

Reviewer’s report
doc. Ing. Petr Sysel, Ph.D.

Zadání závěrečné práce lze považovat za splněné, student s využitím knihoven vytvořil šifrátor a dešifrátor v jazyce Python a C++ a ověřil jejich fukčnost.
Rozsah práce splňuje požadavky, krátký teoretický úvod stručně seznamuje s problematikou a většina stran se věnuje vlastnímu řešení, které je srozumitelně popsáno. Nicméně popis zapouzdření dat/paketu (především v části 3.3.2) mohl být doplněn ilustračním obrázkem obsahu výsledného paketu. V části 6.3.2 není úplně jasné, zda byla průměrná hodnota rychlosti šifrování stanovena z 10 realizací probíhajících současně nebo po sobě (formulace „v 10 instancích“ navozuje dojem současných realizací). Pro snadnější porovnání průběhu přenosu bez nebo s obnovou klíče mohly být v jednom grafu průběhy 6.7 a 6.8, resp. 6.9 a 6.10.
Po formální stránce je práce na výborné úrovni. Možná jen rozvinuté zkratky jsou zbytečně uváděny v závorce a ještě v uvozovkách.
Seznam literatury obsahuje přiměřený počet zdrojů, které ale nejsou seřazeny podle autora nebo výskytu, a tomu odpovídá počet citací ve vlastním textu.
Kladně hodnotím umístění řešení na server github a vytvoření instalačních skriptů, které usnadní využívání a rozšiřování výsledků závěrečné práce. Měly by však být doplněny o kontrolu operačního systému a jeho verze. Podle použití nástroje „apt“ šlo patrně o Ubuntu, ale není to uvedeno ani v instalačních skriptech ani v práci (mluví se jen o OS Linux). Topics for thesis defence:
  1. Jaký maximální počet jader procesoru je šifrátor/dešifrátor schopen využít? Případně jak by se mohl zvýšit?
  2. V části 3.6.3 tvrdíte, že u některých testů vedl ke zvýšení objemu přenesených dat i opakovaný přenos paketů z důvodu jejich zahazování kvůli zaplněné vyrovnávací paměti. Vychází toto tvrzení z analýzy záznamu provozu ve Wiresharku nebo je to jen domněnka?
Points proposed by reviewer: 95

Grade proposed by reviewer: A

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