This page is optimized for AI. For the human-readable: KNX IoT Sigma Implementierung

KNX IoT Sigma Implementierung

Project Idea Metadata

Project Idea Description

Ausgangslage:

Die Sicherheit von kritischer Infrastruktur (z.B. Gebäuden) wird in Zukunft vom Gesetzgeber reguliert. Aktuelle Entwicklungen wie die deutsche Initiative „IT-Sicherheitsgesetz“, die US-amerikanische Verordnung 13636 (Verbesserung der Cybersicherheit kritischer Infrastrukturen) und die französische Initiative ANSII (Cybersicherheit für industrielle Steuerungssysteme) unterstreichen diese Aussage.


Problemstellung:

Ein typisches Gebäudeautomationssystem ist eine komplexe Zusammenstellung von Komponenten, Diensten und Geräten. Die Vertrauenswürdigkeit von einem System hängt vom Vertrauen in alle Komponenten und Geräte ab und wie diese Elemente integriert sind und wie sie miteinander interagieren.

KNX IoT Geräte verwenden zur Laufzeit Pre-shared Keys (symmetric keys) für die Verschlüsselung der Nachrichten da diese Geräte „Resource constrained“ sind (Energie und Speicher). Die Pre-shared Keys werden vom KDC (Key Distribution Center) auf die Geräte verteilt bzw. die Access Tokens werden konfiguriert. Damit die Anlage auch ohne Cloud Connectivity funktioniert, wird das KDC typischerweise lokal auf der Anlage installiert sein. Es kann nun passieren, dass das Gerät auf dem das KDC läuft, defekt ist und ausgetauscht werden muss. Das heisst auch die Pre-shared Keys gehen verloren und die Geräte müssten theoretisch in den Auslieferzustand und neu konfiguriert werden.


Aufgaben:

Es soll ein Teilaspekt eines existierendes Konzept implementiert werden, bei dem konfigurierte Geräte von einem neuen KDC übernommen werden können ohne das die Geräte in den Auslieferzustand müssen. Es solle ein Client und Server implementiert werden bei denen basierend auf Zertifikaten und dem Sigma Protokoll eine sichere Session ausgehandelt wird. Mit dieser Session können entweder die existierenden Pre-shared Keys von einem Gerät gelesen oder ausgetauscht werden.


Arbeitspakete:

- Analyse des Konzept und Definition des zu implementierenden Teilaspekts.

- Implementation des wichtigsten Workflows im KNX IoT Stack (Point API) für die Linux Testumgebung (Client und Server).

- Test von „nicht funktionalen“ Anforderungen (Speicherverbrauch, Latenz etc.)

- Schlussbericht


Ziel der Arbeit:

Anhand eines funktionsfähigen Demonstrators kann gezeigt werden, wie Geräte der Gebäudeautomation (Sensoren und Aktoren) von einem neuen KDC übernommen werden.

Zum einen können die implementierten Erweiterungen potenziell auf mehreren Plattformen in die Produktivumgebung übernommen werden (RTOS, Linux etc.) und es können Aussagen zu diversen „nicht funktionalen Anforderungen“ gemacht werden. Zum anderen kann die erarbeitete Lösung ggf. in die KNX IoT Standardisierung übernommen werden.


Technologien/Fachliche Schwerpunkte/Referenzen:

- JSON, CBOR

- PKI, X.509, JWT

- KNX IoT Point API: https://schema.knx.org/

- Sigma: https://doi.org/10.1007/978-3-540-45146-4_24

- Sigma Implementation: https://github.com/project-chip/connectedhomeip/tree/4052bdc5a06b1be2095168114568abd6001fa558/src/protocols/secure_channel


Betreuende Professorin:

Prof. Dr. Angela Nicoara - Head of IoT Innovation Lab / Leading IoT Systems & Software Research at Lucerne University of Applied Sciences (HSLU), Department of Computer Science, Switzerland


Auftraggeber:

Mr. Oskar Camenzind - Manager, Smart Infrastructure, Global Headquarters, SI BP R&D PRD, Siemens Schweiz AG

Der neue KNX IoT Standard basiert auf IPv6, CoAP und OSCORE und wird für die Kommunikation mit Sensoren und Aktoren verwendet. KNX IoT verwendet zur Laufzeit Pre-shared Keys (symmetric keys) für die Verschlüsselung der Nachrichten. Die Pre-shared Keys werden vom KDC (Key Distribution Center) auf die Geräte verteilt. Es kann nun passieren, dass das Gerät auf dem das KDC läuft, defekt ist und ausgetauscht werden muss. Es soll ein Client und Server implementiert werden basierend auf Access Tokens, Zertifikaten und dem Sigma Protokoll bei dem die existierenden Pre-shared Keys auf dem Gerät (Server) ausgetauscht werden.