Secure Token (Hardware Security Module) für LoRaWAN Endgeräte
Art der Arbeit: Masterarbeit oder Bachelorarbeit
Fachlicher Hintergrund:
LoRaWAN ist ein Verfahren und Protokoll zum Anbinden von IoT-Geräten an das Internet. Es bietet hohe Reichweite bei geringer Datenrate. Mit Hilfe von Communities, wie z.B. The Things Network lassen sich mobile Endgeräte an verschiedenen Orten benutzen (eine Art Roaming). Die Endgeräte und das Netzwerk einerseits und die Endgeräte und die Anwendungen auf dem Application Server andererseits verwenden jeweils einen symmetrischen Schlüssel zur Verschlüsselung der Daten und zur Authentifizierung der Kommunikationspartner. Im Falle der Kommunikation zwischen Endgerät und Anwendung handelt es sich um eine Ende-zu-Ende-Verschlüsselung. Dazu wird der AppKey vorab ausgetauscht und auf dem mobilen Gerät gespeichert.
Bei programmierbaren Endgeräten, wie z.B. kleinen Embedded Systemen, liegt der AppKey dann im Flash-Speicher und kann von einem Angreifer ausgelesen und zusätzlich auf ein anderes Gerät übertragen werden. Die Kommunikation wäre dann nicht mehr vor dem Mitlesen geschützt und Nachrichten können zusätzlich eingebracht werden.
Aufgabenbeschreibung:
Im Rahmen der Arbeit soll ein Hardware Security Module (HSM, z.B. einer SmartCard per NFC angebunden) integriert werden, das die verwendeten Schlüssel (z.B. AppKey) sicher verwahrt und vor Manipulation und Auslesen schützt. Das HSM soll an das Endgerät angeschlossen werden. Ein eigenes HSM soll zunächst nicht entwickelt werden. Stattdessen sollen verfügbare HSM genutzt werden.
Es sollen folgende Fragestellungen beantwortet werden:
- Lassen sich die kryptografischen Algorithmen gut zwischen HSM und LoRaWAN Endgerät aufteilen? (Beachtet werden muss, dass nicht beliebige Datenmengen von HSM bearbeitet werden können)
- Welche HSM kommen in Frage?
- Welche Schnittstellen zwischen HSM und Endgerät sind geeignet?
Mögliche Arbeitsschritte:
- Betrachtung des Protokolls.
- Betrachtung der kryptografischen Algorithmen (AES ECB, AES CMAC, AES CCM*).
- Sichtung verschiedenen HSM.
- Betrachtung vorhandener Endgeräte und möglicher Schnittstellen zum HSM.
- Konzipierung der HSM Anbindung.
- Umsetzung eines Prototyps.
- Erprobung.
- Bewertung.
Die genaue Festlegung des Themas erfolgt in Abstimmung mit den Betreuern unter Berücksichtigung eventuell schon an andere Studenten vergebener Themengebiete. Eine gemeinsame Bearbeitung verschiedener Teilthemen durch mehrere Studenten ist unter Umständen möglich.
Literatur und Ressourcen:
- folgt
Betreuer: Dr. Thomas Mundt (thomas.mundt@uni-rostock.de)
Voraussetzungen: Keine besonderen, Programmierkenntnisse in einer höheren Programmiersprache sind von erheblichem Vorteil.