Tato diplomová práce se zabývá vývojem open-source aplikace pro správu hesel.
Základním cílem práce bylo vytvořit desktopovou aplikaci, která by byla bezpečná,
spolehlivá a jednoduše použitelná pro uživatele operačního systému Linux.
V teoretické části byly prozkoumány základy open-source vývoje, problematika
bezpečnosti dat a potenciální technologie pro implementaci aplikace. Byly diskutovány
různé přístupy k zabezpečení dat, včetně šifrování, a představeny technologie, které byly
využity při vývoji aplikace, jako je programovací jazyk C++23. Dále byl detailně popsán
použitý šifrovací a dešifrovací proces, včetně jeho klíčových prvků a způsobu jejich
aplikace.
V praktické části byla navržena a implementována aplikace pro správu hesel. Aplikace
byla pečlivě otestována a byly popsány její klíčové funkce, jako je jádro aplikace a
grafické uživatelské prostředí.
Anotace v angličtině
This thesis deals with the development of an open-source password management
application. The primary goal of the work was to create a desktop application that would
be secure, reliable and easy to use for Linux operating system users.
The theoretical part explored the basics of open-source development, data security
issues and potential technologies for implementing the application. Different
approaches to data security, including encryption, were discussed and the technologies
that were used in the development of the application, such as the C++23 programming
language, were introduced. Furthermore, the encryption and decryption process used
was described in detail, including its key elements and how they were applied.
In the practical part, a password management application was designed and
implemented. The application was thoroughly tested and its key features such as the
application kernel and graphical user interface were described.
Klíčová slova
Open Source,C++ (programovací jazyk),Vývoj aplikace,Správce hesel
Klíčová slova v angličtině
open source software, C++ (programming language), application development, password manager
Rozsah průvodní práce
78 s. (99 334 znaků)
Jazyk
CZ
Anotace
Tato diplomová práce se zabývá vývojem open-source aplikace pro správu hesel.
Základním cílem práce bylo vytvořit desktopovou aplikaci, která by byla bezpečná,
spolehlivá a jednoduše použitelná pro uživatele operačního systému Linux.
V teoretické části byly prozkoumány základy open-source vývoje, problematika
bezpečnosti dat a potenciální technologie pro implementaci aplikace. Byly diskutovány
různé přístupy k zabezpečení dat, včetně šifrování, a představeny technologie, které byly
využity při vývoji aplikace, jako je programovací jazyk C++23. Dále byl detailně popsán
použitý šifrovací a dešifrovací proces, včetně jeho klíčových prvků a způsobu jejich
aplikace.
V praktické části byla navržena a implementována aplikace pro správu hesel. Aplikace
byla pečlivě otestována a byly popsány její klíčové funkce, jako je jádro aplikace a
grafické uživatelské prostředí.
Anotace v angličtině
This thesis deals with the development of an open-source password management
application. The primary goal of the work was to create a desktop application that would
be secure, reliable and easy to use for Linux operating system users.
The theoretical part explored the basics of open-source development, data security
issues and potential technologies for implementing the application. Different
approaches to data security, including encryption, were discussed and the technologies
that were used in the development of the application, such as the C++23 programming
language, were introduced. Furthermore, the encryption and decryption process used
was described in detail, including its key elements and how they were applied.
In the practical part, a password management application was designed and
implemented. The application was thoroughly tested and its key features such as the
application kernel and graphical user interface were described.
Klíčová slova
Open Source,C++ (programovací jazyk),Vývoj aplikace,Správce hesel
Klíčová slova v angličtině
open source software, C++ (programming language), application development, password manager
Zásady pro vypracování
Nastudujte a popište problematiku open-source vývoje.
Rozepište možnosti zabezpečení přístupu k datům a jejich bezpečné ukládání.
Vyberte a popište vhodné technologie pro implementaci vlastní aplikace.
Navrhněte a implementujte desktopovou aplikaci pro správu hesel.
Implementované řešení řádně otestujte a popište výsledky.
Zásady pro vypracování
Nastudujte a popište problematiku open-source vývoje.
Rozepište možnosti zabezpečení přístupu k datům a jejich bezpečné ukládání.
Vyberte a popište vhodné technologie pro implementaci vlastní aplikace.
Navrhněte a implementujte desktopovou aplikaci pro správu hesel.
Implementované řešení řádně otestujte a popište výsledky.
Seznam doporučené literatury
FOGEL, Karl. Tvorba open source softwaru: jak řídit úspěšný projekt svobodného softwaru. Praha: CZ.NIC, [2012]. CZ.NIC. ISBN 978-80-904248-5-2.
BURDA, Karel. Aplikovaná kryptografie. Brno: VUTIUM, 2013. ISBN 978-80-214-4612-0.
VIRIUS, Miroslav. Programování v C: od základů k profesionálnímu použití. Praha: Grada Publishing, 2018. Myslíme v.. ISBN 978-80-271-0502-1.
VIRIUS, Miroslav. Pokročilé C. Praha: České vysoké učení technické v Praze, 2022. ISBN 978-80-01-06951-6.
PRATA, Stephen. Mistrovství v C. 4., aktualiz. vyd. Brno: Computer Press, 2013. Bestseller (Computer Press). ISBN 978-80-251-3828-1.
Student odprezentoval před komisí hlavní cíle a výsledky své bakalářské práce. Prezentace působila velmi dobrým dojmem, student vystihl hlavní body práce. Následně byl student seznámen s posudky vedoucího a oponenta bakalářské práce. Student postupně odpověděl na otázky oponenta práce.
Komise vznesla k obhajobě následující dotazy:
1) Prof. Farana: Jaká je výhoda v tom, že aplikace není vytvořena jako webová technologie?
2) Prof. Farana: Co myslíte tvrzením: "opravdu dlouhý klíč"?
3) Prof. Farana: Nabízí Vaše aplikace generování silných hesel? Jak je zabezpečeno, že o hesla uživatel nepřijde? Řešil jste nějak zálohování vygenerovaných hesel?
4) Prof. Farana: Můžete vysvětlit obsah obrázku č. 1 ve Vaší práci?