Přístupnostní navigace
E-application
Search Search Close
Master's Thesis
Author of thesis: Bc. Marek Križan
Acad. year: 2025/2026
Supervisor: RNDr. Marek Rychlý, Ph.D.
Reviewer: doc. Ing. Radek Burget, Ph.D.
Secret management is an important part of system administration. In NixOS systems, this is especially challenging because of their declarative, reproducible approach to system configuration. This thesis examines the current state of secret management in NixOS and analyses existing tools and technologies. Given their limitations, it proposes a modular NixOS secret management system designed to handle various secret management use cases. The system addresses requirements such as secret deployment, access control, revocation, and limited secret lifetime. The implemented solution is evaluated from functional, usability, requirements-based, and security perspectives.
secret management, Nix, NixOS, declarative configuration, access control, secret deployment, secret revocation
Date of defence
23.06.2026
Result of the defence
Defended (thesis was successfully defended)
Grading
B
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 B.
Topics for thesis defence
Language of thesis
English
Faculty
Fakulta informačních technologií
Department
Department of Information Systems
Study programme
Information Technology and Artificial Intelligence (MITAI)
Specialization
Cybersecurity (NSEC)
Composition of Committee
doc. Mgr. Kamil Malinka, Ph.D. (předseda) doc. Ing. Ivan Homoliak, Ph.D. (místopředseda) Ing. Vojtěch Havlena, Ph.D. (člen) doc. Ing. Ondřej Ryšavý, Ph.D. (člen) Ing. Vladimír Veselý, Ph.D. (člen) Ing. Tomáš Goldmann, Ph.D. (člen)
Supervisor’s reportRNDr. Marek Rychlý, Ph.D.
Celkově považuji přístup studenta k řešení práce za lehce nadstandardní a navrhuji hodnotit práci stupněm velmi dobře (B).
Cílem práce bylo analyzovat současné přístupy ke správě tajemství v deklarativní konfiguraci operačního systému NixOS s veřejným úložištěm nix-store a navrhnout řešení integrující různé způsoby uložení a použití tajemství. Složitým aspektem práce byla především komplexnost Nix a NixOS. Zadání považuji za splněné.
Práce byla dokončena včas a její výsledná podoba byla konzultována.
Bez publikací či ocenění. Výsledky práce jsou zveřejněny jako open source.
Student samostatně vyhledal a zpracoval relevantní literaturu.
Práce byla během řešení konzultována. Na konzultacích byl student aktivní, projevoval velký zájem o téma a přicházel s vlastním řešením diskutovaných problémů. Všechny dohodnuté termínu byly dodrženy.
Grade proposed by supervisor: B
Reviewer’s reportdoc. Ing. Radek Burget, Ph.D.
Pan Križan nastudoval poměrně náročnou problematiku správy tajemství v deklarativním systému NixOS a navrhl a implementoval plně funkční modulární řešení, které smysluplně rozšiřuje stávající možnosti tohoto systému. Řešení je promyšlené, řádně otestované a publikované jako otevřený software. Přes dobné výhrady k technické zprávě hodnotím práci celkově jako výbornou.
Evaluation level: assignment fulfilled
Zadání považuji za splnění ve všech bodech.
Evaluation level: is within the usual extent
Technická zpráva se svým rozsahem pohybuje spíše na dolní hranici obvyklého rozmezí, všechny části řešení jsou však dostatečně podrobně popsány a nic podstatného neschází.
Technická zpráva má logickou a přehlednou strukturu a pokrývá řešenou problematiku od teoretického úvodu přes analýzu existujících nástrojů a motivaci s definicí požadavků až k návrhu, implementaci a vyhodnocení vlastního řešení. Velmi pěkně je zpracována analytická část - zejména přehled existujících nástrojů z pohledu typů tajemství i z pohledu definovaných požadavků. Návrh systému je dobře dokumentován pomocí sekvenčních diagramů jednotlivých procesů materializace. Kapitola věnovaná implementaci zůstává poměrně obecná a popisuje spíše strukturu a použité technologie než konkrétní řešená místa; o něco podrobnější popis netriviálních částí (např. způsob využití TPM nebo detailnější popis komunikace pluginů) by práci prospěl.
Práce je psána anglicky na velmi dobré úrovni, je dobře srozumitelná a v zásadě bez gramatických chyb. Po typografické stránce je standardní, ukázky zdrojových kódů, konfigurací a struktur souborů jsou sázeny přehledně. Narazil jsem na několik drobných překlepů, které mírně kazí jinak dobrý dojem - opakovaně se v nadpisech vyskytuje "credetnials" místo "credentials" (str. 33–34) a v textu "secviceSecrets" místo "serviceSecrets" (str. 31).
Seznam použité literatury je přiměřeně rozsáhlý a obsahuje relevantní zdroje - oficiální dokumentaci dotčených nástrojů a technologií, příslušné standardy i odborné publikace k systému Nix/NixOS. Zdroje jsou v textu řádně citovány a převzaté pasáže jsou korektně odlišeny včetně odkazů na předchozí bakalářskou práci autora. Vzhledem k prakticky zaměřenému tématu převažují online a dokumentační zdroje, což je přijatelné.
Realizačním výstupem je plně funkční modulární systém pro správu tajemství, který se skládá z modulu pro NixOS, nástroje příkazové řádky implementovaného v jazyce Go, sady pluginů pro úložné a šifrovací backendy a pomocných nástrojů. Oceňuji promyšlenou rozšiřitelnou architekturu založenou na pluginech s jasně definovaným komunikačním protokolem. Velmi kladně hodnotím rozsah automatizovaných testů (integrační testy NixOS spouštěné ve virtuálních strojích, testy CLI i testy pluginů), které pokrývají klíčovou funkcionalitu všech komponent. Vzhledem ke složitosti řešené problematiky považuji tento výsledek za výborný.
Jde o práci, která rozšiřuje již existující řešení a zároveň přináší nový, sjednocující pohled na správu tajemství v systému NixOS. Na rozdíl od stávajících úzce zaměřených nástrojů poskytuje vytvořený nástroj jednotné a modulární rozhraní pokrývající více typů tajemství i více backendů a explicitně řeší dosud opomíjenou správu přítomnosti tajemství v systému.Vytvořený nástroj byl publikován jako software s otevřeným kódem a má potenciál nalézt uplatnění v komunitě NixOS.
Evaluation level: more difficult assignment
Zadání vyžadovalo detailní pochopení fungování systému NixOS a jeho deklarativního modelu konfigurace, který je z tohoto pohledu obecně považován za náročný, a dále orientaci v problematice bezpečné správy tajemství včetně práce s TPM, systemd-creds a fází initrd. Spojení těchto témat klade na řešitele nadstandardní nároky, a proto zadání hodnotím jako obtížnější.
Grade proposed by reviewer: A
Responsibility: Mgr. et Mgr. Hana Odstrčilová