Bachelor Thesis BCLR-2018-50

BibliographyKloppenburg, Manuel: Erstellung von CryptoExamples in Python.
University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology, Bachelor Thesis No. 50 (2018).
61 pages, german.
Abstract

Kontext: Python ist eine sehr verbreitete und leicht zu erlernende Programmiersprache. Die Verwendung von kryptographischen Programmbibliotheken ist aber selbst in Python oft nicht einfach. Außerdem gibt es viele Beispiele im Internet, die veraltet und nicht sicher sind. Gerade für Entwickler, die keine Erfahrung in der Kryptographie haben, stellt es eine Schwierigkeit dar, kryptographisch sichere Software zu programmieren. Ziel: Es sollen Code-Beispiele für die Open Source Plattform CryptoExamples in der Programmiersprache Python erstellt werden. Diese Code-Beispiele haben die Anforderung sicher, minimal, vollständig, kopierbar, ausführbar und getestet zu sein, und helfen dadurch Entwicklern, sicheren Code zu schreiben. Methode: Es wurden generelle Richtlinien für das Erstellen und die Wartung von Code-Beispielen für CryptoExamples definiert. In den Richtlinien wird auf das Bundesamt für Sicherheit in der Informationstechnik (BSI) und das National Institute of Standards & Technology (NIST) der Vereinigten Staaten verwiesen, um sichere Algorithmen und Parameter auszuwählen. Auf Basis dieser Richtlinien wurde ein Umsatzkonzept für die Programmiersprache Python geschaffen und davon ausgehend Code-Beispiele entwickelt, die den Anforderungen gerecht werden. Für die Code-Beispiele wurde die kryptographische Programmbibliothek cryptography.io verwendet. Ergebnisse: Code-Beispiele für symmetrische Verschlüsselung, asymmetrische Verschlüsselung, digitale Signatur, Speichern von Schlüsselpaaren und Hashing sind entstanden. Die Code-Beispiele wurden auf der Open Source Plattform GitHub veröffentlicht und stehen somit der Öffentlichkeit zur Verfügung. Durch Statische Code-Analyse und automatische Tests ist die Code Qualität und Korrektheit gewährleistet. Außerdem werden die Code-Beispiele durch automatische Prüfung auf Konformität mit den Richtlinien überprüft. Fazit: Die erstellten Code-Beispiele helfen, sichereren Code zu schreiben. Sie müssen aber noch von Experten begutachtet werden, und es besteht die Möglichkeit, noch weitere Beispiele zu verwirklichen. Außerdem muss die Plattform CryptoExamples eine größere Reichweite erlangen, sodass jeder Entwickler diese Beispiele und keine anderen sieht.

Full text and
other links
Volltext
Department(s)University of Stuttgart, Institute of Software Technology, Software Engineering
Superviser(s)Wagner, Prof. Stefan; Mindermann, Kai
Entry dateJanuary 8, 2019
   Publ. Computer Science