KNX Secure

Vor Jahren löste ein krimineller Zugriff auf das KNX-System eines Hotels in der KNX Community weitreichende Diskussionen über Sicherheit aus. Auch der vermehrte Einsatz von IP und RF waren der Grund, bei KNX geeignete Schutzmaßnahmen, heute bekannt als KNX Secure, einzuführen.

KNX Secure schützt KNX-Geräte vor Fremdzugriff und Manipulation. Passwortschutz und Datenverschlüsselung verhindern ungewolltes Konfigurieren einzelner Geräte sowie unzulässiges Auslesen gespeicherter Daten. Änderungen an einem Gebäudesystem durch unbefugte Personen oder Angreifer sind effektiv unterbunden; potentielle Angriffsflächen von vornherein entzogen.

Um die KNX Secure Schutzmechanismen zu nutzen, braucht man lediglich Geräte, die KNX Secure unterstützen, also KNX Secure in ihrer Firmware implementiert haben. Für Gerätehersteller bietet die KAIstack-Systemsoftware zur Implementierung der KNX-Kommunikation in Endgeräte volle KNX Secure Unterstützung.

Sicherheit in KNX-Anlagen

Schon bei der Planung und Installation einer KNX-Anlage sollte eine Vielzahl an Sicherheitskriterien berücksichtigt werden. Zum Ausarbeiten von Schutzmaßnahmen hat die KNX Association eine KNX-Sicherheit Checkliste als erste Orientierung bereitgestellt. Die KNX Secure Verschlüsselungs- und Authentifizierungsmechanismen sind eine der angeführten Maßnahmen.

Applikationen und Geräte mit KNX Secure-Unterstützung bieten ein Höchstmaß an Sicherheit für Laufzeitkommunikation, Systemeinstellungen und Nutzerdaten. KNX Data Secure und KNX IP Secure können in einer KNX-Anlage sowohl separat als auch gemeinsam verwendet werden.

Warum ist das ‘Double Protection Concept’ KNX Secure so wichtig?

Aufgrund der gestiegenen Sicherheitsanforderungen stellt der Schutz von KNX-Geräten eine immer größer werdende Herausforderung für Planer, Installateure und Hersteller dar. Und da die modernen Kommunikationstechnologien auch eine Vielzahl von Hacking-Möglichkeiten mit sich bringen, kann mit KNX Secure eine sichere Gebäudesystemtechnik optimal gewährleistet werden. Das unvergleichlich hohe Sicherheitslevel erreichen KNX Data Secure und KNX IP Secure durch:

  • Gesicherte Kommunikationskanäle zwischen KNX-Teilnehmern können erstellt werden.
  • Busgeräte tauschen nur dann Daten aus, wenn sie den korrekten Partner erkennen.
  • Steuerungszugriff über manipulierte Nachrichten wird effektiv verhindert.
  • Datenverschlüsselung macht den gesicherten Teil einer Installation fast unangreifbar.
  • Betrieb und Konfigurierung sind nur autorisierten Personen zugänglich.
  • Daten und Informationen sind vor unerwünschter Modifizierung geschützt.
  • Datenaufzeichnungen zwecks Manipulation und illegalen Handlungen sinnlos.
  • Zusätzlicher Schutz beim Einsatz von Ethernet, drahtlosen Netzwerken und Internet.

Die KNX Data Secure-Verschlüsselung schützt:

  • die Inbetriebnahme von Geräten
  • den Zugriff auf die Gerätekonfiguration
  • den Datenaustausch der Geräte über Gruppen, unabhängig vom KNX-Medium
  • den Telegrammteil, der die Nutzdaten (wie Befehle etc.) enthält

Die KNX IP Secure-Verschlüsselung schützt:

  • die gesamten KNX-Daten, die über IP/Ethernet übertragen werden
  • das Bussystem vor Zugriffsversuchen über IP
  • das Routing zwischen KNX IP Kopplern
  • die Tunneling-Kanäle, die KNX IP Schnittstellen bereitstellen

KNX Secure Geräte verwenden – Details der Sicherheitsmechanismen auf einem Blick

Vertraulichkeit durch Sicherheitsschlüssel und Sichere Inbetriebnahme

Der Schutz durch KNX Secure basiert im Wesentlichen auf der AES-128 Datenverschlüsselung mit CTR Betriebsmodus und AES-CBC-MAC Signatur (CCM). Diese Datenverschlüsselung schützt Konfiguration und Laufzeitkommunikation eines Secure-Geräts vom ersten Moment seiner Verwendung in der Installation. Wie dies genau funktioniert und welche Sicherheitsschlüssel die ETS für das Programmieren der Sicherheit in Secure-Geräten generiert, wird im Folgenden erläutert.

Projektpasswort

Um ein Secure-Gerät mit aktivem secure-Modus programmieren zu können (oder den secure-Modus für das Secure-Gerät zu aktivieren oder zu deaktivieren), muss im ETS-Projekt die Sichere Inbetriebnahme eingeschaltet werden. Dies ist nur möglich, wenn für das ETS-Projekt vorher ein Projektpasswort vergeben wurde. Ohne Kenntnis des Projektpassworts stehen somit die im Projekt gespeicherten FDSKs nicht zum Programmieren zur Verfügung und bereits in Verwendung befindliche Secure-Geräte können nicht um- bzw. neu programmiert werden (ohne die FDSKs in ein neues Projekt einzutragen). Nach dem ersten Programmieren von Geräten sind im passwortgeschützten Projekt, neben den FDSKs, dann sämtliche Schlüssel der KNX-Installation enthalten.

Sichere Inbetriebnahme

Ist im ETS-Projekt die Sichere Inbetriebnahme für ein Secure-Geräte aktiviert, so erfolgt die (Erst-)Programmierung verschlüsselt. Im Secure-Gerät selbst ist dann Data Secure bzw. sein secure-Modus aktiv und das Gerät kann über gesicherte Gruppenadressen (und/oder über Secure Tunneling Kanäle) verschlüsselt kommunizieren. Hierzu muss im Projekt aber vorher der entsprechende FDSK des Geräts eingetragen worden sein.

Gerätezertifikat-Aufkleber

Das Gerätezertifikat ist ein 36-stelliger Code, der dem Gerät vom Hersteller zugewiesen wurde. Ist es nicht in der Gerätezertifikatliste eines ETS-Projekts vorhanden, kann die ETS weder erkennen, dass ein Secure-Gerät programmiert werden soll, noch kann die ETS das Secure-Gerät seinen secure-Modus schalten, oder den Secure-Modus eines Geräts deaktivieren.

 

Das Gerätezertifikat kann in der ETS manuell eingegeben werden, oder indem der QR-Code auf dem Abreißteil des Gerätezertifikat-Etiketts in eine Kamera gezeigt wird. Danach sollte das Abreißteil (vor der Montage) entfernt und an einem sicheren Ort aufbewahrt werden. Wenn nötig, kann der Abreißteil nachträglich anhand der Seriennummer einem bestimmten Secure-Gerät zugeordnet werden, da die Seriennummer auf beiden Teilen des Etiketts aufgedruckt ist.

Seriennummer

Die Seriennummer ist eine eindeutige Identifikationsnummer für jedes KNX-Gerät, die auch in der Firmware eines KNX-Geräts gespeichert ist. Da die ETS die Seriennummer und den FDSK dem Gerätezertifikat entnimmt, kann die ETS ein bestimmtes Secure-Gerät eindeutig identifizieren.

FDSK (Fabrikschlüssel oder engl. Factory Default Setup Key)

Jedem einzelnen Secure-Gerät wird vom Hersteller ein FDSK zugeordnet, ebenso wie die Seriennummer. Wenn die ETS das Gerätezertifikat eines Secure-Geräts kennt, das üblicherweise in der Gerätezertifikatliste eines ETS-Projekts enthalten ist, kennt sie auch den FDSK. Die ETS verwendet dann den FDSK für das erste Programmieren eines Secure-Geräts, um einen Werkzeugschlüssel zu generieren. Danach verbindet sich die ETS über einen verschlüsselten Datenaustausch mit dem Secure-Gerät, unter Verwendung des Tool Keys, der nun ausschließlich zwischen den beiden Kommunikationspartnern geteilt wird (d. h. er ist nur im passwortgeschützten ETS-Projekt und im Secure-Gerät mit aktivem Secure-Modus gespeichert), anstelle des FDSK.

Factory Reset

Beim Ausführen des Factory Resets wird ein KNX-Gerät auf seinen Auslieferungszustand zurückgesetzt. Für ein Secure-Gerät mit aktivem Secure-Modus heißt das, alle programmierten Keys (Backbone Key, Werkzeugschlüssel, Gruppenschlüssel) werden im Gerät gelöscht, der Secure-Modus deaktiviert und der FDSK, der in der Firmware eingebettet ist, reaktiviert. Dadurch können nach dem Zurücksetzen keine sicherheitsrelevanten Daten über die KNX-Installation gesammelt werden.

Hierbei zu beachten: Will man das zurückgesetzte Secure-Gerät wieder über die Sichere Inbetriebnahme programmieren, benötigt man das Projekt, das den FDSK enthält. Sonst ist die Eingabe des FDSK in ein neues Projekt notwendig. Folglich dürfen Gerätezertifikat und das Passwort des Projekts, in dem das Zertifikat registriert ist, niemals gleichzeitig verlorengehen! Sonst kann nach dem Ausführen des Resets ein Secure-Gerät nur noch im plain-Modus betrieben werden. Im Notfall kann dann nur noch der Hersteller über eine Support-Anfrage helfen.

Werkzeugschlüssel (engl. Toolkey)

Der Werkzeugschlüssel (engl. Tool Key) ist ein Sicherheitsschlüssel für das Programmieren von Secure-Geräten mit aktivem secure-Modus. Wie bereits unter FDSK erläutert, hat jedes Secure-Gerät einen individuellen FDSK (Factory Default Setup Key), als 128-bit code in der Firmware gespeichert. Für die P2P-Kommunikation der ETS wird dieser FDSK dann beim ersten gesicherten Download in ein Gerät durch den Werkzeugschlüssel ersetzt. Für das Programmieren von Secure-Geräten im plain-Modus werden Werkzeugschlüssel und FDSK nicht benötigt.

Zusammenfassend, wird der ETS der FDSK über das beigepackte Gerätezertifikat eingegeben, so werden alle weiteren Schlüssel automatisch erstellt, u.A. die Werkzeugschlüssel für jedes einzelne Secure-Gerät generiert und im ETS-Projekt, verschlüsselt und signiert, gespeichert. Werkzeugschlüssel sind dem Nutzer nicht zugänglich, können aber über eine Exportdatei anderen bzw. nicht ETS-konfigurierbaren Komponenten einer Anlage zur Verfügung gestellt werden (Schlüsselbund).

Gruppenschlüssel (Laufzeitschlüssel)

Um die Laufzeitkommunikation über Gruppenadressen mit Data Secure abzusichern, werden Gruppenschlüssel (engl. Group Keys) für die Ver- und Entschlüsselung von Gruppentelegrammen verwendet. Jeder Gruppenadresse ist ein separater Gruppenschlüssel zugewiesen. Ein Autorisierungscode in den Telegrammen stellt sicher, dass nur die Geräte der entsprechend konfigurierten Gruppe Daten austauschen können. Ohne Security Proxy kann eine Gruppe nur entweder gesichert oder nicht gesichert Daten austauschen.

Backbone Key

Ist IP für das Backbone-Medium eines ETS-Projekts gewählt und die Sicherheit des IP-Backbones aktiv, generiert die ETS für das Projekt den Backbone Key. Die ETS lädt diesen Key dann in die KNX IP Secure Koppler und KNX IP Secure Interfaces des Projekts (falls diese die gesicherte Kommunikation nutzen bzw. die Sichere Inbetriebnahme aktiviert haben). Der Backbone Key sowie der Sicherheit-Aktivierungsstatus der Secure-Geräte und Tunneling-Kanäle sind dem Report Projekt-Sicherheit zu entnehmen.

Schlüsselbund

Um die Werkzeugschlüssel, Gruppenschlüssel und den Backbone Key für Geräte zur Verfügung zu stellen, die nicht von der ETS konfiguriert werden können (wie ein Visualisierungsgerät), kann ein Schlüsselbund-Export ausgeführt werden. Diese passwortgeschützte Exportdatei enthält alle hierfür erforderlichen Daten.

 

Inbetriebnahmepasswort

IP Secure-Geräte verfügen für ihre Handhabung über individuelle Passwörter. Das Inbetriebnahmepasswort und der Authentifizierungscode eines IP-Geräts sind Teil seiner IP-Einstellungen. Unabhängig davon, ob die Sicherheit des IP-Backbones eingeschaltet ist oder nicht, können diese Passwörter für Inbetriebnahme und Zugriff über die IP-Eigenschaften eines IP Secure-Geräts konfiguriert werden.

 

Aktualität, Datenintegrität und Authentifizierung

Neben der AES-Verschlüsselung gibt es zusätzliche Mechanismen auf Telegrammebene, die die Sicherheit einer Installation gewährleisten. Grob gesagt, sorgt die Aktualität von Telegrammen dafür, dass das Wiederholen eines aufgezeichneten Telegramms unwirksam ist, während Datenintegrität und Authentifizierung eine illegale Manipulation von Telegrammen verhindert.

Sequenznummer

Ist in einem Secure-Gerät Data Secure aktiv, wird für jedes Senden eines Telegramms auf den Bus ein 6-Byte-Wert generiert. Dieser Wert, genannt Sequenznummer, wird dem abgehenden Telegramm hinzugefügt. Der Empfänger des Telegramms prüft dann die enthaltene Sequenznummer und akzeptiert die gesendeten Daten nur, falls die Sequenznummer höher ist als eine zuvor von diesem Sender empfangene. Dieser Mechanismus stellt sicher, dass nur frische Daten übertragen werden und verhindert, dass Geräte auf unerlaubt aufgezeichnete Telegramme reagieren.

Zeitstempel

Bei der Kommunikation via KNX IP Secure sorgen Zeitstempel im IP-Frame zusätzlich für Aktualität. Frames mit veralteten Timer-Werten werden (beim Empfang) verworfen.

 

Message Authentication Code (MAC)

Ist Data Secure aktiv, wird jedem Telegramm ein verschlüsselter Authentifikationscode beigefügt. Diese Datenintegrität verhindert unerwünschte Manipulation, da so ein Empfänger feststellen kann, ob ein Telegramm unzulässig verändert wurde oder nicht. Bei der Authentifizierung von gesicherten Telegrammen stellt ein Empfänger zudem sicher, dass das empfangene Telegramm auch wirklich von einer zulässigen Quelle stammt.

 

Denkbare Bedrohungsszenarien für ein ungeschützten KNX-System (Beispiele)

Angreifer verschafft sich Zugang über (W)LAN – spioniert Adressen von Türverriegelungen aus – öffnet Türen.

Angreifer demontiert ein KNX-Gerät, um an das KNX-Kabel zu kommen – zeichnet Telegramme auf – wiederholt sie, um die Garage zu öffnen oder die Alarmanlage auszuschalten.

Angreifer stellt fest, dass eine nicht ausreichend gesicherte Verbindung zwischen Internet und Installation besteht (Router-Port ist offen, keine Firewall vorhanden oder es wird kein VPN-Tunneling verwendet) – liest streng vertrauliche Daten wie Passwörter, Bankverbindung, oder einfach nur Verbrauchsdaten aus.

Deshalb wird mit KNX Secure effektiv verhindert:

  • Abspielen aufgezeichneter Telegramme, um Schaltbefehle zu wiederholen oder eingestellte Werte zu ändern.
  • Manipulieren von Telegrammen, um sie mit anderen Geräten, Gruppenadressen usw. verwenden zu können.
  • Umprogrammieren von Geräten, wie Koppler, um ihre Sicherheitsfunktion unwirksam zu machen.
  • Auslesen von Telegramminhalten, die oft sehr vertrauliche Daten enthalten können.
  • Funktionen der Installation umprogrammieren/ändern.
Zurück zur Übersicht