TU BRAUNSCHWEIG
| Carl-Friedrich-Gauß-Faculty | Computer Science
Informatikzentrum

Softwareentwicklungspraktikum: Sichere Wahlen mit Intel SGX

Semester Summer 2016 [ Other terms: Sommer 17 · Sommer 14 · Sommer 13 ]
IBR Group(s) DS (Prof. Kapitza)
Type Praktikum
Lecturer
Photo Prof. Dr. Rüdiger Kapitza
Abteilungsleiter
kapitza[[at]]ibr.cs.tu-bs.de
+49 531 3913294
Room 135
Assistant
Photo Nico Weichbrodt
Wissenschaftlicher Mitarbeiter
weichbrodt[[at]]ibr.cs.tu-bs.de
+49 531 3913265
Room 116
Hiwi
Photo Signe Rüsch
Wissenschaftliche Mitarbeiterin
ruesch[[at]]ibr.cs.tu-bs.de
+49 531 3913265
Room 116
Time & Place

Wöchentliches Treffen Mittwochs, 16:45 Uhr

Start Kick-Off am Mittwoch, 06.04.2016 16:45Uhr in IZ105
Attendees Studierende der Informatik, Wirtschaftsinformatik und Informations-Systemtechnik im vierten Semester
Content

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.

References Organisatorisches Materialien
The material is only available to registered attendees. In order to register, you need either an IBR account or a self-activated IBR-y-account. Afterwards you can login to this site (with the function at the top of this page).
[ Podcast | Podcast aller Formate | Newsfeed aller Formate ]
Chapter Slides Exercises
1. Themenvorstellung
pdf pdf pdf
2. Kickoff
pdf pdf pdf
3. SGX Technische Einfuerung
pdf pdf pdf
Tools Referenzen Tutorials

last changed 2016-04-07, 10:51 by Nico Weichbrodt
printemailtop