Bachelor Thesis BCLR-2018-92

BibliographySpecht, Magnus Matthäus: Gemeinsame Schnittstelle für bestimmte kryptogaphische Aufgaben.
University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology, Bachelor Thesis No. 92 (2018).
55 pages, german.
Abstract

Diese Arbeit steht im Kontext der Verwendung von kryptographischen Algorithmen in der Softwareentwicklung. Dabei soll besonders auf deren Abstraktion durch kryptographische Programmbibliotheken eingegangen werden. Das Ziel besteht dabei darin, eine Schnittstelle zu entwerfen, die symmetrisch Dateiverschlüsselung mit wenigen Zeilen Code erlaubt und einfach zu verstehen ist. Hierbei wird besonderes Augenmerk darauf gelegt, dass das Interface sowohl einfach ist, als auch eine große Anzahl an kryptographischen Algorithmen unterstützt. Außerdem soll die Verwendung der Schnittstelle selbstverständlich keine zusätzlichen Sicherheitslücken in die Software einführen. Dies soll mit den Mitteln des Software Engineerings erreicht werden. So werden zu Beginn einige Anforderungen aufgestellt, auf deren Basis anschließend ein Entwurf erstellt wird. Dieser wiederum dient als Grundlage für die konkrete Implementierung des Interface. Das Resultat der Arbeit stellt eine Schnittstelle dar, die in Java auf Basis von Bouncy Castle und CMS Enveloped Data implementiert wird. Für Anwender ist es mit je einer Zeile Code möglich, Daten zu entschlüsseln, zu verschlüsseln oder bereits verschlüsselte Daten mit einer neuen Verschlüsselung zu versehen. Eine anschließende Evaluation mittels einer Personenbefragung ergab schließlich, dass das implementierte Interface einer Implementierung mit sowohl Java Cryptography Extension als auch Bouncy Castle in den Punkten Einfachheit, Tippbarkeit und Erwartbarkeit klar überlegen ist. Hierzu wurden den Teilnehmern entsprechende Fragen zu 3 verschiedenen Codeausschnitten gestellt.

Department(s)University of Stuttgart, Institute of Software Technology, Software Engineering
Superviser(s)Wagner, Prof. Stefan; Mindermann, Kai
Entry dateMay 20, 2019
   Publ. Computer Science