(M)PSE: PORTUNUS

Projekt Systementwicklung

Im Projekt Systementwicklung bearbeiten Studierende im Team unter praxisnahen Bedingungen eine gegebene Themenstellung aus der Informatik. Inhaltlich arbeitet die Projektgruppe selbständig an aktuellen praxisrelevanten Fragestellungen. Der Dozent nimmt hierbei die Rolle des Auftraggebers / Kunden ein. Gleichzeitig unterstützt er das Team aber, um insbesondere in der Anfangsphase die Weichen richtig zu stellen und das Projekt ins Rollen zu bringen.

In einer Einführungsveranstaltung wird zunächst die Aufgabenstellung dargelegt und die Rahmenbedingungen erläutert. Während des Projekts finden wöchentliche Projektsitzungen statt, in denen die Ergebnisse der vergangenen Woche vorgestellt und die Ziele der kommende(n) Woche(n) festgelegt werden.

Themenstellung

Die Fortschritte bei der Entwicklung von kryptografischen Verfahren, die gegen Quantencomputer resistent sind, schreiten zügig voran. Die Anzahl kryptografischer Algorithmen ist in den vergangenen Jahren kontinuierlich angestiegen. Dieser Anstieg ist auf verschiedene Ereignisse zurückzuführen, darunter insbesondere den von der NIST initiierten Prozess zur Identifizierung von Post-Quantum-Algorithmen. Zusätzlich existiert eine hohe Variantenvielfalt von kryptografischen Algorithmen und kryptografischen Bibliotheken, welche unter anderem Beschleunigungen über verschiedene Hardwaremodule erlauben. 

Für eine effiziente, praktische Nutzung muss ein Dreiklang zwischen Kryptografen, die PQC-Algorithmen entwickeln, Experten für Plattform-Integration, die diese Algorithmen auf der Hardware implementieren, und Softwareentwicklern, die diese einsetzen wollen, harmonisiert werden. Diesem Thema widmen sich im Projekt PORTUNUS die Partner der TU Darmstadt und der Hochschule Darmstadt. 

Im Kontext der Thematik widmet sich die TU-Darmstadt der theoretischen Fragestellung, wie aufkommende PQC-Algorithmen effektiver beschleunigt werden können. Weiterhin wird ebenfalls an einer praktischen Umsetzung in Form einer hardwarenahen Implementierung seitens der TU-Darmstadt geforscht. Das beinhaltet im Wesentlichen die Entwicklung von Multi-Level Intermediate Representation (MLIR) Compiler-Optimierungen für CPU, GPU, ASICs und FPGAs.

Die Hochschule Darmstadt entwickelt eine Plattform zur Integration dieser Compiler-optimierten Algorithmen. Dafür wurde eine API entwickelt, welche eine flexible und benutzerfreundliche Verwendung dieser Algorithmen unter den vorgegebenen kryptografischen Anforderungen ermöglicht.

Das konkrete Ziel des Projektes ist die Erschaffung eines Frameworks, welches dem Programmierer über eine Zwischenschicht Zugriff auf die darunterliegenden Algorithmen bereitstellt. Das Framework versteckt dabei die Hardwaredetails und erlaubt es auch unerfahrenen Programmierern, Post-Quanten-Kryptografie einfach und sicher zu nutzen. Der Programmierer spezifiziert dabei nur, was er tun möchte, z. B. Daten verschlüsseln. Die Auswahl des konkreten Algorithmus und der Sicherheitsparameter erfolgt automatisch in der Zwischenschicht.

Aufgabenstellungen

Studierende haben bereits in den vergangenen Semestern einen Prototyp der PORTUNUS API entwickelt. In den letzten Semestern wurden Grundlagen für eine PORTUNUS Demo geschaffen. Allerdings existiert derweil kein funktionales Beispiel. Das primäre Ziel ist es, einen ersten Prototyp zu entwickeln, der die PORTUNUS API in einer passenden Anwendungssoftware verwendet. Möglichkeiten für eine Demo bieten Projekte wie qxmpp. Ziel wäre es hierbei, einen eigenen kleinen Messenger zu entwickeln, welcher in der Lage ist, verschlüsselte Nachrichten mithilfe der PORTNUS API zu versenden. Das Projekt verwendet Linux-basierte Dependencies und ist in C++ geschrieben. Außerdem kann die API um zusätzliche Funktionen erweitert werden.

Weitere Aufgabenmöglichkeiten:

  • Anbindung an ein Hardware-Security-Modul (HSM)
  • Verbesserung der Selektion von kryptografischen Algorithmen
  • Analyse und Speichern der zugrunde liegenden Hardwaremöglichkeiten
  • Sicherer Speicher für die Schlüsselverwaltung
  • Language-Wrapper für den Support von anderen Plattformen
  • Umbau für den Support auf anderen Betriebssystemen
  • Verbesserung des Dependencie-Stacks, bspw. Conan
  • Visuelle Verbesserungen der Demo

 

 

Vorkenntnisse

  • Gute Programmierkenntnisse in C/C++ sind notwendig.
  • Erfahrungen im Umgang mit einschlägigen Tools (insbesondere GIT und Scrum) sind hilfreich
  • Inhalte weiterführender Veranstaltungen der IT-Sicherheit (z.B. Kryptographie, Netzwerksicherheit) sind hilfreich.
  • Es sind KEINE Vorkenntnisse im Bereich Post-Quanten-Kryptographie notwendig.

Rahmenbedingungen

Als Vorgehensmodell für agile Systementwicklung soll Scrum zum Einsatz kommen. Es werden die üblichen Entwicklungstools eingesetzt, vorzugsweise solche, die bereits am Fachbereich vorhanden sind, z.B. GIT Repository, Scrum-Board, etc. Wir knüpfen an die Vorarbeiten vorheriger Semester an, es ist geplant, das Projekt in zukünftigen Veranstaltungen weiterzuführen. Das Projekt steht unter der MIT-Lizenz.

Für weitere Fragen zum Projekt kontaktieren Sie uns gerne per E-Mail.

Prof. Dr. A. Wiesmaier, Gero Knoblauch, Erik Mauß
Hochschule Darmstadt

Kontakt

Prof. Dr. Alexander Wiesmaier

Kommunikation Schöfferstraße 10
64295 Darmstadt
Büro: D19, 2.09

+49.6151.533-60185
alexander.wiesmaier@h-da.de

1

Sprechstunde
Nach Vereinbarung / by appointment