TU BRAUNSCHWEIG
| Carl-Friedrich-Gauß-Fakultät | Informatik
Informatikzentrum

Softwareentwicklungspraktikum: Sichere Wahlen mit Intel SGX

IBR Gruppe(n)DS (Prof. Kapitza)
ArtPraktikum
Dozent
PhotoProf. Dr. Rüdiger Kapitza
Abteilungsleiter
kapitza[[at]]ibr.cs.tu-bs.de
+49 531 3913294
Raum 135
Assistent
PhotoNico Weichbrodt
Wissenschaftlicher Mitarbeiter
weichbrodt[[at]]ibr.cs.tu-bs.de
+49 531 3913265
Raum 116
Hiwi
PhotoSigne Rüsch
Wissenschaftliche Mitarbeiterin
ruesch[[at]]ibr.cs.tu-bs.de
+49 531 3913265
Raum 116
Ort & Zeit

Wöchentliches Treffen Mittwochs, 16:45 Uhr

BeginnKick-Off am Mittwoch, 06.04.2016 16:45Uhr in IZ105
Hörerkreis Studierende der Informatik, Wirtschaftsinformatik und Informations-Systemtechnik im vierten Semester
Inhalt

Die Intel Software Guard Extensions (Intel SGX) stellen eine Erweiterung der Intel x86 Architektur dar und sollen Sicherheit von Anwendungen verbessern. Dies wird erreicht, indem Software in einem privaten, isolierten Speicherbereich, der sogenannten Enklave, ausgeführt wird. So sind die Anwendungen gegen unerlaubte Zugriffe geschützt.

In diesem Projekt soll sicheres Wählen mittels Intel SGX umgesetzt werden. Das Projekt lässt sich in zwei Teile unterteilen: Einer Android App und einem Server mit SGX Enklave. Die App baut eine verschlüsselte Verbindung zu der Enklave auf, welche dann eine entsprechende Frage sendet. Die App sendet daraufhin eine bestimmte Antwort zurück, um dieses Challenge-Response-Protokoll abzuschließen. Anschließend, wenn entweder eine ausreichende Anzahl an Apps gewählt hat oder ein Timeout eingetreten ist, veröffentlicht die Enklave das anonymisierte Ergebnis. Ein Vorteil dieses Vorgehens ist, dass der Betreiber der Wahl keinen Einblick in die einzelnen Wahlen der Benutzer erhält.

Wenn es um sichere Verfahren geht, müssen immer mehrere Aspekte bedacht werden, wie hier insbesondere das Challenge-Response-Protokoll. Um festzustellen, wer bereits gewählt hat, gibt es mehrere Möglichkeiten. Zum Beispiel bekommt jeder Wähler ein Token, das ein Mal verwendet werden kann. Vor der Wahl wird es in die App eingegeben und beim Übertragen der Entscheidung mit übermittelt. Die Enklave ruft nach dem Start die validen Token von einem sicheren Server ab und vergleicht diese.

Im diesem SEP soll daher nicht nur die Software entwickelt werden, sondern auch ein Verfahren zum Einbringen von Geheimnissen in eine Enklave (z.B. die erwähnten Tokens) entwickelt werden.

Die Gruppengröße ist auf 8 Studierende festgelegt, wobei jeweils eine Gruppe von 4 Studierenden für die Android App, bzw. den Server mit Enklave verantwortlich ist. Kenntnisse entweder in Java (für die Android App) bzw. C/C++ (für den Server) sind erforderlich. Die Bereitschaft sich bei Bedarf in C/C++ einzuarbeiten muss ebenfalls gegeben sein. Weiterhin sind Englischkenntnisse erforderlich, um die Intel SGX Dokumentation verstehen zu können.

Das IBR stellt einen Rechner mit entsprechendem Intel Prozessor sowie Android Geräte zur Verfügung.

Literatur/LinksOrganisatorischesMaterialien
Diese Unterlagen sind nur für registrierte Teilnehmer zugänglich. Um sich zu registrieren, benötigen Sie einen Account: entweder einen IBR-Account, den Sie vielleicht im Rahmen einer Arbeit am Institut bereits erhalten haben, oder einen selbst aktivierten IBR-y-Account. Anschließend melden Sie sich über die Login-Funktion (oben auf dieser Seite) an.
[ Podcast | Podcast aller Formate | Newsfeed aller Formate ]
KapitelFolienÜbungen
1. Themenvorstellung
pdfpdfpdf
2. Kickoff
pdfpdfpdf
3. SGX Technische Einfuerung
pdfpdfpdf
ToolsReferenzenTutorials

aktualisiert am 07.04.2016, 10:51 von Nico Weichbrodt
printemailtop