(M)PSD: 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 letzten 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. 

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 (des Fraunhofer SIT), der TU Darmstadt und der Hochschule Darmstadt. 

Im Kontext der Thematik widmet sich das Fraunhofer SIT der theoretischen Fragestellung, wie aufkommende PQC-Algorithmen effektiver beschleunigt werden können. Dies passiert in enger Zusammenarbeit mit der TU-Darmstadt, welche sich auf die hardwarenahe Implementierung konzentriert. 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 wird eine API entwickelt, welche eine flexible und benutzerfreundliche Verwendung dieser Algorithmen unter den vorgegebenen kryptografischen Anforderungen ermöglicht.

Das konkrete Ziel unseres 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. Diese API wurde im letzten Semester um einen JAVA-Wrapper erweitert, um so neben der C++ Anbindung ebenfalls JAVA Plattformen zu unterstützen. Zusätzlich wurde ein JCA-Provider erstellt. Allerdings sind bisher nur asymmetrische Verschlüsselungen supportet. Das primäre Ziel ist es, den Wrapper um weitere Verschlüsselungstypen zu erweitern, insbesondere PQC und final in einer tatsächlichen Messenger-Anwendung zu demonstrieren. Beispielsweise in einen XMPP Messenger wie: Dino.

Weitere Aufgabenmöglichkeiten:

  • Sicherer Speicher für die Schlüsselverwaltung
  • Ersetzen der CSV-File durch eine Datenbank, welche die Algorithmeninformationen beinhaltet
  • Python Wrapper mit zugehörigen Providern und Third-Party Beispiel
  • PORTUNUS Provider Erstellung für C++ Anwendungen
  • Integration von Algorithm Selection Tool
  • Erweiterung von Synergieprojekten: QR-PACE
    • Erweiterung der Open Source EAC Implementierung
    • Algorithm Negotiation für PACE/EAC Protokolle

Vorkenntnisse

  • Gute Programmierkenntnisse in C/C++/JAVA 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, Dominik Heinz
Hochschule Darmstadt

Contact

Prof. Dr. Alexander Wiesmaier

Communication Schöfferstraße 10
64295 Darmstadt
Office: D19, 2.09

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

1

Consultation
Nach Vereinbarung / by appointment