Bachelor's Thesis

Key management in the GNU/Linux kernel

Final Thesis 2.88 MB Appendix 12.63 kB

Author of thesis: Jáchym Krejčí

Acad. year: 2025/2026

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

Reviewer: prof. Ing. Dan Komosný, Ph.D.

Abstract:

This bachelor's thesis focuses on the kernel keyrings key management system in the GNU/Linux operating system kernel. The aim of the thesis is to describe the principles of this mechanism, its use for secure storage of cryptographic keys, and the possibilities of integration with other Linux security and cryptographic interfaces. The theoretical part describes the Linux security model, basic types of cryptographic keys, the architecture of kernel keyrings, the keyctl tool, and the keyutils library. The thesis also covers the Trusted Platform Module (TPM), integration with the Kernel CryptoAPI, and a comparison with selected mechanisms for managing sensitive data in the Windows operating system. The practical part focuses on the implementation of a demonstration application written in C. The application provides a simple interface that allows users to list available keyrings, work with stored keys, perform asymmetric cryptographic operations using keys stored in kernel keyrings, use TPM for operations involving the private part of a key, and use the Kernel CryptoAPI for symmetric file encryption and decryption. The result of the thesis is a functional tool demonstrating the integration of kernel keyrings, TPM, and the Kernel CryptoAPI for managing and using cryptographic keys in the Linux environment.

Keywords:

kernel keyrings, GNU/Linux, cryptographic keys, keyctl, keyutils, TPM, Kernel CryptoAPI, cryptography, encryption, decryption

Date of defence

16.06.2026

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 bakalářskou práci a odpověděl na otázky členů komise a oponenta

Language of thesis

Czech

Faculty

Department

Study programme

Information Security (BPC-IBE)

Composition of Committee

doc. Ing. Jiří Hošek, Ph.D. (předseda)
doc. Ing. Petr Sysel, Ph.D. (místopředseda)
Mgr. Andrej Krištofík, Ph.D. (člen)
Ing. Martin Štůsek, Ph.D. (člen)
Ing. Radek Možný, Ph.D. (člen)
Ing. Michal Lares, Ph.D. (člen)
Ing. Patrik Dobiáš (člen)

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

Zadání práce považuji za splněné. V teoretické části student popsal bezpečnostní model Linuxu, základní principy správy kryptografických klíčů, architekturu kernel keyrings, práci s nástrojem keyctl a knihovnou keyutils. Dále se věnoval mechanismům TPM, možnostem využití Kernel CryptoAPI a provedl stručné porovnání s vybranými mechanismy správy citlivých údajů v operačním systému Windows. Rozsah teoretické části odpovídá požadavkům bakalářské práce a poskytuje dostatečný základ pro navazující praktickou část.

Hlavním přínosem práce je praktická implementace demonstrační aplikace v jazyce C. Aplikace umožňuje zobrazovat dostupné keyringy, pracovat s uloženými klíči, provádět asymetrické kryptografické operace nad klíči v kernel keyrings, využívat TPM pro operace s privátní částí klíče a realizovat symetrické šifrování a dešifrování souborů s využitím Kernel CryptoAPI. Testování aplikace je funkční a názorné, ale mohlo být doplněno systematičtějším popisem testovacích scénářů a limitů implementace.

Student při řešení pracoval samostatně a pravidelně konzultoval postup s vedoucím práce. Odevzdaná elektronická příloha obsahuje zdrojové kódy, Makefile i stručný návod k překladu a použití aplikace.

Po formální stránce je práce přehledně členěna a má logickou strukturu. Jazyková úroveň je celkově přijatelná, v textu se místy vyskytují stylistické nepřesnosti, drobné jazykové chyby a některé formulace by mohly být technicky přesnější. Práce s literaturou je dostatečná, i když některé části mohly být opřeny více o primární dokumentaci a méně o obecné zdroje. Points proposed by supervisor: 92

Grade proposed by supervisor: A

Reviewer’s report
prof. Ing. Dan Komosný, Ph.D.

Práce se zabývá systémem správy kryptografických klíčů v jádře operačního systému GNU/Linux. Autor v teoretické části popisuje bezpečnostní model a základní principy správy kryptografických klíčů. Dále porovnává mechanismy pro správu klíčů v operačním systému Windows.

Praktická část popisuje implementaci demonstrační aplikace v jazyce C. Aplikace je vhodně rozdělena na uživatelskou a vnitřní část. Autor také popsal potřebné závislosti pro její použití a způsob překladu programu. Zdrojový kód je přehledný a logicky rozdělený. Kód je vhodně okomentován. Funkčnost aplikace byla ověřena.

Mírným nedostatkem je, že dle zadání požadovaná diskuse možných scénářů reálného použití je v práci obsažena nepřímo v popisu jednotlivých technologií. Vhodnější by bylo doplnit samostatný přehled těchto scénářů.

Formální a grafická úprava práce je na dobré úrovni. Zdroje typu Wikipedie není vhodné používat vzhledem k jejich anonymitě a omezené důvěryhodnosti. V českém textu práce jsou také nevhodně používány některé anglické termíny. Points proposed by reviewer: 92

Grade proposed by reviewer: A

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