20. Nov 2021

KNX Secure: Schutz von Anlagen nach innen und außen

KNX Secure: Schutz von Anlagen nach innen und außen
KNX Secure: Schutz von Anlagen nach innen und außen

Thomas Weinzierl erläutert die Entwicklung von KNX Secure: Warum es benötigt wird, was es beinhaltet, wie es funktioniert, wie es angewendet werden kann und was es für die Hersteller von KNX-Produkten bedeutet.

Kommunikation und Datenverarbeitung sind heute ohne Berücksichtigung von Sicherheitsaspekten kaum noch denkbar. De facto werden unsichere Kommunikationssysteme schon bald völlig inakzeptabel sein. Diese Entwicklung haben wir bereits beim Internet gesehen, als das bekannte HTTP-Protokoll aus dem Jahr 1991 weitgehend durch die verschlüsselte Variante HTTPS ersetzt wurde. Ein Jahr vor HTTP wurde übrigens 1990 das KNX-System unter dem Namen EIB eingeführt.

Auch in Gebäuden ist der Bedarf an sicherer Kommunikation mittlerweile offenkundig. Derzeit mag es abgesehen von Berichten über Manipulationen nur wenig konkrete Hinweise auf tatsächliche Schäden durch Hacker geben. Deren Bemühungen werden jedoch aller Wahrscheinlichkeit nach zunehmen, weshalb es notwendig ist, potenzielle Gefahren für die technische Infrastruktur abzuwenden.

KNX sicher machen

Als Herstellerverband hat sich die KNX Association unter dem Titel „KNX Secure" schon frühzeitig mit dem Thema Sicherheit beschäftigt. Die Spezifikation und Umsetzung dauerte mehrere Jahre, was hauptsächlich der Komplexität des KNX-Protokolls geschuldet ist, bei dem die für das gesamte KNX-System wesentliche Gruppenadressierung eine große Herausforderung für eine sichere Verschlüsselung darstellt.

Anfang 2019 galten sowohl die System- als auch die Testspezifikationen als stabil und wurden vom technischen Ausschuss der KNX Association genehmigt. Darüber hinaus hat die KNX Association große Anstrengungen unternommen, um das Thema Sicherheit in der ETS - der zentralen Installationssoftware für KNX - umzusetzen. Auch die Testtools für die Entwicklung von KNX-Secure-Geräten wurden entsprechend erweitert, sodass nun zertifizierte KNX-Secure-Produkte zur Verfügung stehen.

Da KNX Secure jetzt verwirklicht ist, wollen wir uns die beiden Varianten KNX Data Secure und KNX IP Secure einmal genauer anschauen.

KNX Data Secure

KNX Data Secure ist darauf ausgelegt, die Kommunikation auf Telegrammebene zu sichern. Es kann unabhängig vom KNX-Medium sowohl für die Inbetriebnahme als auch für die Laufzeitkommunikation eingesetzt werden.

Die KNX Association hat sich das Ziel gesetzt, „Sicherheit von Anfang an" zu gewährleisten. Das bedeutet, dass bereits der erste Download auf Geräte durch die ETS von Anfang an verschlüsselt ist. Dazu wird jedes Gerät mit einem individuellen FDSK (Factory Default Setup Key, voreingestellter Einrichtungsschlüssel) für die Firmware ausgeliefert, welcher der ETS vor der Programmierung bekannt sein muss. Die Schlüsselinformationen werden zusammen mit der Seriennummer des Geräts in einem QR-Code abgebildet und auf das Gerät gedruckt. Der Code kann von der ETS mit einer PC- oder Laptop-Kamera oder über eine mobile App gescannt und ausgewertet werden. Auch die Eingabe über eine Tastatur ist möglich.

Da der Schlüssel des Gerätes auch anderen bekannt sein könnte, ersetzt die ETS ihn durch den „Werkzeugschlüssel", d. h. einen Schlüssel für die Programmierung. Dieser Schlüssel wird ebenfalls für jedes Gerät individuell generiert.

Für die Gruppentelegramme werden weitere Schlüssel benötigt. Für ein Höchstmaß an Sicherheit wird für jede Gruppenadresse ein separater Schlüssel verwendet. Durch die Verschlüsselung können die Daten nicht überwacht werden. Gleichzeitig sorgt ein Autorisierungscode im Telegramm dafür, dass nur autorisierte Geräte an der Kommunikation teilnehmen können.

Ein gut bekannter Angriff auf Systeme ist der sogenannte „Replay-Angriff". Hierbei verwendet der Angreifer Telegramme, die er abfängt und später wieder sendet, ohne sie selbst interpretieren zu können. Um dieses Szenario zu verhindern, enthält jedes Telegramm eine Telegrammnummer, die der jeweilige Absender fortlaufend vergibt. Der Empfänger darf nur Telegramme annehmen, die eine höhere Nummer haben als das Telegramm, das er zuletzt von diesem Sender erhalten hat. Aufgrund der 6-Byte-Länge dieser Zahl ist ein Überlauf praktisch unmöglich und wird als Fehler interpretiert.

Anlagen mit unterschiedlicher Sicherheit

Da nicht zu erwarten ist, dass alle erforderlichen Geräte kurzfristig als sichere Variante zur Verfügung stehen werden, ist es wichtig, dass sichere und unsichere Kommunikation in einer Anlage gleichzeitig erfolgen kann. Die sichere Eigenschaft wird auf Gruppenebene definiert. Sind zwei Kommunikationsobjekte, die beide Sicherheit unterstützen, verbunden, schlägt die ETS eine sichere Verbindung vor. Befindet sich jedoch nur ein Objekt in einer Gruppe ohne Sicherheit, so muss die gesamte Gruppe unsicher kommunizieren.

Verschiedene Kommunikationsobjekte in einem Gerät können unterschiedliche Sicherheitseigenschaften aufweisen. So ist es beispielsweise möglich, dass die Schalttelegramme für einen Schaltaktor verschlüsselt sind, die Rückmeldungen jedoch unverschlüsselt versendet werden, um sie auf Visualisierungsanforderung anzeigen zu können. Ebenso könnte Sicherheit fallweise für einen Jalousienantrieb verwendet werden. Das bedeutet, dass Jalousien ungeschützt gesteuert werden können, wohingegen Fensteröffner nur verschlüsselte Telegramme akzeptieren.

Ein weiteres Szenario ist die Verschlüsselung nur in Teilsegmenten der Anlage, z. B. einem KNX-RF-Segment, für das die Verschlüsselung eine unabdingbare Voraussetzung ist. Zugleich sollten die Telegramme auch an herkömmliche KNX-Twisted-Pair-Geräte (TP) gesendet werden können. Die Lösung für diese Anforderung bei KNX ist der „Secure Proxy". Hierbei handelt es sich um ein Softwaremodul, das in einem Koppler implementiert ist. Im obigen Beispiel ist es im KNX-RF/TP-Koppler implementiert. Der Secure Proxy übersetzt sichere Kommunikation von der Funkseite in ungesicherte Telegramme auf KNX TP und umgekehrt. Der Secure Proxy kann jedoch auch in Leitungskopplern (TP/TP) implementiert werden, um beispielsweise gesicherte externe Leitungen an ein ungesichertes internes KNX-Netzwerk anzuschließen.

KNX IP Secure

KNX IP Secure verfolgt einen anderen Ansatz, basiert jedoch auf den gleichen Verschlüsselungsmethoden wie KNX Data Secure. KNX IP Secure ist ein pragmatischer Ansatz, der auf der Annahme beruht, dass es einen Angriffspunkt auf IP-Ebene gibt. Während KNX Twisted Pair als rein lokales Medium in der Wand als relativ sicher betrachtet wird, ist die IP-Kommunikation oft mit dem Internet verbunden und kann daher aus der Ferne angegriffen werden.

KNX IP Secure schützt die KNX-IP-Kommunikation, während die Kommunikation auf KNX TP unverschlüsselt bleibt. Der Hauptvorteil dieses Ansatzes besteht darin, dass die vorhandenen KNX-TP-Geräte und -Anlagen unverändert weiter verwendet werden können. Lediglich die KNX-IP-Geräte, also im Wesentlichen KNX-IP-Schnittstellen und KNX-IP-Router, müssen ausgetauscht werden.

KNX IP umfasst das Routing-Protokoll, das für IP-Backbones verwendet wird, stellt jedoch auch das KNX-IP-Medium dar. Andererseits wird das Tunneling-Protokoll verwendet, um einem Client (z. B. ETS) den Zugriff auf eine TP-Leitung über IP zu ermöglichen. Während KNX-IP-Router in der Regel beide Protokolle implementieren, unterstützen KNX-IP-Schnittstellen nur die Tunneling-Funktion.

So unterschiedlich die beiden Anwendungen von KNX IP sind, so unterschiedlich sind auch die jeweiligen Erweiterungen für die Sicherheit. Bei dem Secure-Routing-Protokoll, das auf UDP-Multicast basiert, wird ein gemeinsamer Schlüssel verwendet, um die gesamte KNX-IP-Routing-Kommunikation zu verschlüsseln. Eine Besonderheit ist der Telegrammzähler beim Routing. Dieser ist zeitbasiert und stellt somit einen Zeitstempel dar, mit dem veraltete Telegramme erkannt werden können. Die gemeinsame Systemzeit wird kontinuierlich zwischen den Geräten synchronisiert.

Beim Tunneling-Protokoll bauen der Client und das KNX-IP-Gerät (KNXnet/IP-Server) zunächst einen sicheren Kanal nach dem sogenannten Diffie-Hellmann-Verfahren auf. Erst danach werden die Benutzerkennung und das Kennwort übertragen. Ein neues Feature von KNX Secure Tunneling ist die Möglichkeit, die Verbindung mit TCP aufzubauen. Neben der Option, auf eine Busleitung zuzugreifen, können mit dem Tunneling auch KNX-IP-Geräte sehr schnell programmiert werden.

KNX Secure aus Sicht des Herstellers

KNX Secure ist sicherlich eine Herausforderung für die Hersteller. Die Erweiterung bestehender KNX-Geräte mit KNX Secure wird in den meisten Fällen nicht ohne Änderung der Hardware möglich sein, da die Anforderungen an den verfügbaren Speicher und die Rechenleistung steigen. Auch die Schlüsselvergabe und der Druck als QR-Code müssen in der Produktion umgesetzt werden.

Auch für die Hersteller von Software für KNX ergeben sich neue Anforderungen, zum Beispiel Visualisierungen. Es reicht nicht mehr aus, die Gruppenadressen des Projektes zu importieren oder einzugeben. Selbst die Kenntnis der verwendeten Schlüssel reicht nicht aus, um verschlüsselte Gruppentelegramme zu versenden. Vielmehr muss jeder Teilnehmer allen Geräten, die er erreichen soll, bekannt gemacht werden. Dies ist derzeit, und wahrscheinlich auch in Zukunft, nur über die ETS möglich. Für die meisten Geräte auf dem Markt, die derzeit nicht über die ETS in Betrieb genommen werden können, dürfte der Weg zu einem sicheren KNX-Kommunikationssystem eine Herausforderung sein, wenngleich eine überschaubare.

Dr.-Ing. Thomas Weinzierl ist Geschäftsführer der Weinzierl Engineering GmbH, Hersteller von KNX-Produkten und Anbieter einer umfassenden Palette an Dienstleistungen im Bereich Entwicklung und Prüfung von Hard- und Software.

www.weinzierl.de

Social Share:

  • Highlights