Open Topics
Available Theses Topics (mostly in German)
Katzenpost: Erweiterbarkeit der Zuverlässigkeit und Implementation anderer Verfügbarkeitsziele
Mit der Implementation von Katzenpost [1,2] ist es erstmals gelungen, ein Automatic-Repeat-reQuest-Schema (ARQ) innerhalb eines Mix-Netzes umzusetzen, ohne dabei das Risiko einer Verkehrsanalyse für die Nutzenden des Anonymisierungsnetzes signifikant zu erhöhen. ARQ-Schemata sind bereits durch das TCP-Protokoll bekannt, wo sie durch ACKnowledgement-Kontrollnachrichten einen gewissen Grad an Zuverlässigkeit in die Nachrichtenübertragung bringen. Durch eine Erweiterung des Sphinx-Protokolls [3] ist es möglich, sogenannte SURBs (Single Use Reply Block) in die versendeten Mix-Nachrichten zu integrieren, die bei Ankunft in sogenannten Edge-Providern ausgelesen und über eine direkte Route zurück zum Absender geleitet werden können.
Da Katzenpost, wie die meisten Mix-Netze, eine Verbindung über drei verschiedene Mixe bildet (samt 2 Edge-Providern) können die gesendeten Nachrichten an verschiedenen Stellen der Verbindung verloren gehen. Momentan ist Katzenpost lediglich in der Lage, einen Verlust zu melden, kann allerdings nicht spezifizieren, an welcher Stelle der Verbindung die Nachricht verloren gegangen ist. Dem Klienten ist es daher unmöglich, den Fehler in Verbindung gezielt zu umgehen.
Innerhalb dieser Abschlussarbeit soll
- die Architektur Katzenposts erforscht werden, inwieweit diese die Erweiterung der Verlässlichkeit oder weitere Ziele zur Steigerung der Verfügbarkeit ermöglicht,
- eine Implementation der oben genannten Möglichkeiten erfolgen,
- die Auswirkungen auf die IT-Schutzziele, Anonymität und Performanz in Katzenpost analysiert werden.
[1] https://katzenpost.mixnetworks.org/
[2] https://sphinx.rs/catshadow.pdf
[3] https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5207650
Kryptologische Tools - ein Vergleich von Realisierungen vollhomomorpher Verschlüsselungen
Die Konstruktion sowie die Untersuchung der Sicherheit kryptologischer Werkzeuge wie Verschlüsselungen und Signaturen sind ein wesentliches Aufgabengebiet der Kryptologie. Mit Entwicklung von RSA in [RSA78] und der Entdeckung der Eigenschaft der partiellen, multiplikativen Homomorphie von RSA, stellte sich erstmalig in [RAD78] die Frage nach einer vollhomomorphen Verschlüsselung. Trotz intensiver Forschung gelang die Konstruktion der ersten vollhomomorphen Verschlüsselung jedoch erst in [Gen09].
In dieser Arbeit soll
1. die Funktionalität der vollhomomorphen Verschlüsselung erläutert werden,
2. eine Darstellung gängiger Definitionen von Sicherheit im Zusammenhang mit (vollhomomorphen) Verschlüsselungen erfolgen,
3. die Realisierung dieser Funktionalität durch bekannte Verfahren im Hinblick auf Korrektheit bewiesen und im Hinblick auf Sicherheit und Effizienz erläutert werden,
4. ein Überblick über mögliche Anwendungsfelder vollhomomorpher Verschlüsselung gegeben werden, in denen partiell homomorphe Verschlüsselungen nicht ausreichen,
5. ein Vergleich dieser Realisierungen im Hinblick auf Sicherheit, Effizienz, Anwendbarkeit und mögliche zusätzliche Eigenschaften mancher dieser Realisierungen erbracht werden.
Der Vergleich soll hierbei insbesondere hinsichtlich in der Praxis verwendeter Sicherheitsparameter zwecks Schutz vor bekannten Angriffen erfolgen. Die Erbringung von Sicherheits- oder Effizienzbeweisen ist in keinem Fall erforderlich, jedoch eine entsprechende Begründung.
Hinweis: Eine Übersicht zahlreicher Sicherheitsdefinitionen im Zusammenhang mit Verschlüsselung und weiterer Ergebnisse findet sich unter anderem im exzellenten Buch [KL14]. Eine Übersicht zu vollhomomorphen Verschlüsselungen findet sich beispielsweise in [Mar+22].
Referenzen:
[Gen09] Craig Gentry. “A Fully Homomorphic Encryption Scheme”. AAI3382729. PhD thesis. Stanford, CA, USA, 2009. isbn: 9781109444506.
[KL14] Jonathan Katz and Yehuda Lindell. Introduction to Modern Cryptography, Second Edition. 2nd. Chapman & Hall/CRC, 2014. isbn: 1466570261.
[Mar+22] Chiara Marcolla et al. “Survey on Fully Homomorphic Encryption, Theory, and Applications”. In: Proceedings of the IEEE 110.10 (2022), pp. 1572–1609. doi: 10.1109/ JPROC.2022.3205665.
[RAD78] R. L. Rivest, L. Adleman, and M. L. Dertouzos. “On Data Banks and Privacy Homomorphisms”. In: Foundations of Secure Computation, Academia Press (1978), pp. 169–179.
[RSA78] R. L. Rivest, A. Shamir, and L. Adleman. “A Method for Obtaining Digital Signatures and Public-Key Cryptosystems”. In: Commun. ACM 21.2 (Feb. 1978), pp. 120–126. issn: 0001-0782. doi: 10.1145/359340.359342.
Konzeption eines Protokolls zur sicheren Berechnung ökonomischer Diskrepanz zweier Parteien
Die erste Formalisierung sicherer Mehrparteienberechung erfolgte durch [Yao82]. Gegenstand intensiver Forschung ist bis heute das in Verbindung mit dieser Formalisierung präsentierte Millionärsproblem. In diesem Problem möchten zwei Personen wissen, wer reicher ist, ohne dabei weitere Informationen bekanntzugeben. Yao’s Millionärsproblem ist somit äquivalent zum Problem der Berechnung von a > b ohne Veröffentlichung von a oder b. Anwendungsbereiche entsprechender Protokolle erstrecken sich von E-Commerce über E-Voting bis hin zu Data-Mining.
Ein bis auf generische Lösungen weitestgehend unbehandeltes Problem ist hingegen die Frage nach der ökonomischen Diskrepanz |a-b| zweier Parteien ohne Bekanntgabe weiterer Informationen. In dieser Arbeit sollen im Angreifermodell eines ehrlichen, aber neugierigen Angreifers
1. mögliche Anwendungen eines Zwei-Parteien-Protokolls für die Funktionalität der ökonomischen Diskrepanz in der realen Welt untersucht werden,
2. die Realisierung dieser Funktionalität durch das wohl bekannteste, generische Zwei-Parteien-Protokoll, Yao’s Garbled Circuit nach [Yao86], im Hinblick auf Korrektheit, Sicherheit und Effizienz erläutert werden,
3. ein nichtgenerisches Zwei-Parteien-Protokoll für die Funktionalität der ökonomischen Diskrepanz möglichst ohne Senken der Schutzziele entwickelt und im Hinblick auf Korrektheit, Sicherheit und Effizienz erläutert werden,
4. die generische Lösung unter Verwendung von Yao’s Garbled Circuit mit der eigenen Lösung erneut im Hinblick auf obige drei Kategorien verglichen werden.
Bezüglich der Korrektheit der entsprechenden Protokolle wird die Erbringung von Beweisen erwartet. Die Erbringung von Sicherheitsbeweisen im Hinblick auf das ebenfalls in [GMW87] entwickelte, auf [GM84] zurückgehende Reale-Ideale-Welt Paradigma oder eine Erbringung von Beweisen bezüglich der Effizienz sind jedoch in keinem Fall erforderlich.
Hinweis: Als generische Lösungen gelten solche Protokolle, welche zur Mehrparteienberechnung einer Vielzahl von Funktionen verwendet werden können. Oft lassen sich bei Betrachtung spezifischer Funktionen effizientere Realisierungen finden. Alternativ zur Nutzung generischer Lösungen können zur sicheren Mehrparteienberechnung Schutzziele gesenkt werden. Hierbei ist jedoch Vorsicht geboten. Realisierungen im Angreifermodell mit ehrlichem, aber neugierigem Angreifer können nach [GM84] generisch unter Nutzung von Nullwissenbeweisen zu Lösungen im Angreifermodell mit bößartigen Angreifer ergänzt werden. Eine Übersicht zahlreicher generischer Mehrparteienprotokolle und theoretischer Ergebnisse findet sich unter anderem im exzellenten, frei verfügbaren Buch [EKR18].
Referenzen:
[EKR18] David Evans, Vladimir Kolesnikov, and Mike Rosulek. “A Pragmatic Introduction to Secure Multi-Party Computation”. In: Foundations and Trends® in Privacy and Security 2.2-3 (2018), pp. 70–246. issn: 2474-1558. doi: 10.1561/3300000019.
[GM84] Shafi Goldwasser and Silvio Micali. “Probabilistic encryption”. In: Journal of Computer and System Sciences 28.2 (1984), pp. 270–299. issn: 0022-0000. doi: 10.1016/0022-0000(84)90070-9.
[GMW87] O. Goldreich, S. Micali, and A. Wigderson. “How to Play ANY Mental Game”. In: STOC ’87 (1987), pp. 218–229. doi: 10.1145/28395.28420.
[Yao82] Andrew C. Yao. “Protocols for secure computations”. In: 23rd Annual Symposium on Foundations of Computer Science (sfcs 1982). 1982, pp. 160–164. doi: 10.1109/SFCS.1982.38.
[Yao86] Andrew Chi-Chih Yao. “How to generate and exchange secrets”. In: 27th Annual Symposium on Foundations of Computer Science (sfcs 1986). 1986, pp. 162–167. doi: 10.1109/SFCS.1986.25.
Implementation eines Mix-Netzes als SDN
Mix-Netze sind Overlay-Netze, die den Prinzipien eines klassisches Netz entsprechen, d.h. jede Komponente muss einzeln überwacht, instand gehalten und angepasst werden. Sogenannte SDNs (Software-Defined Networks) zählen ebenfalls zu den Overlay-Netzen, bieten jedoch neue Möglichkeiten der Instandhaltung und Anpassung durch die zentrale Kontrolle aller Komponenten. Anforderungen können in SDNs effizienter und flexibler angepasst werden, wodurch sich u.a. die Skalierbarkeit, Fehlertoleranz oder Evaluation neuer Einstellungen einfacher gestaltet.
Bisher bestehende generische Fehlertoleranzmechanismen für verteilte Systeme sind nicht auf Mix-Netze anwendbar. Spezifische Ansätze, die die Fehlertoleranz in Mix-Netzen verbessern, tun dies entweder auf Kosten der Anonymität oder verschieben den Angriffsvektor auf andere Komponenten, die oft einen Single Point of Failure darstellen. Mit der Einführung von SDNs bieten sich neue Möglichkeiten der Fehlerdetektion und -behebung sowie der Angriffsdetektion und -behebung.
Innerhalb dieser Abschlussarbeit soll
- ein Mix-Netz als SDN implementiert werden,
- neue Möglichkeiten der Fehlertoleranz für dieses Netz betrachtet werden,
- eine Evaluation hinsichtlich Anonymität und Verfügbarkeit des Netzes erfolgen.
Challenges for reproducible runtime environments
Modern container technology allows for the distribution of applications and their respective runtime environments as well as their easy deployment on arbitrary computer systems. The availablity of distributed systems allows for the rapid and convenient deployment of this technology, but it also introduces many dependencies, like the availability of remote repositories and management of persistent data volumes.
The objective of this thesis is to create a prototype for the deployment of reproducible runtime environments that addresses the following objectives:
- Define an architecture that ensures the availability of reproducible container environments independent of external dependencies.
- Provide a service to securely access the container environment for users of different access roles and from different organizations (Focus on authentication and identity management)
- Ensure that the persistent data volumes are stored securely and can only be accessed by the permitted users
- Manage the logging of access and execution environments in a secure and privacy preserving manner
Image based (immutable) Linux distributions and Infrastructure as Code
Image based Linux distributions provide a modern approach to managing system updates in a more reliable and consistent way. Infrastructure as code is an additional modern concept that allows to manage systems at scale and with reproducible, managed configuration. Combining these two technologies would provide systems with increased resilience for configuration errors and inconsistencies and allow new methods to verify the integrity of infrastructure. This thesis aims to explore the existing options for providing an image based infrastructure that uses infrastructure as code to manage deployments and changes. Based on the results, we can explore practical methods to verify the integrity of the infrastructure at scale.