KNX Data Secure schützt einzelne KNX-Telegramme Ende zu Ende. Das sendende Gerät verschlüsselt und authentifiziert jedes Telegramm. Nur Geräte mit dem richtigen Schlüssel können es lesen oder darauf reagieren - unabhängig davon, ob es über Twisted Pair, RF oder IP übertragen wird. SharKNX kann KNX-Data-Secure-Gruppentelegramme entschlüsseln, anzeigen und senden sowie Data-Secure-Geräte verwalten.
Diese Seite erklärt, wie KNX Data Secure funktioniert und wie SharKNX es nutzt. Die Schritt-für-Schritt-Anleitung finden Sie unter KNX Data Secure einrichten.
Warum es KNX Data Secure gibt
Ein Standard-KNX-Telegramm kann von jedem Gerät gelesen werden, das mit derselben Linie verbunden ist, und jedes Gerät kann eines senden. Wer Zugriff auf ein Buskabel, einen zugänglichen Taster oder eine ungeschützte Schnittstelle hat, kann die Anlage beobachten und eigene Befehle senden. KNX Data Secure schützt ausgewählte Gruppenadressen und Geräte wieder, auch auf einem Bus, der physisch nicht geschützt werden kann.
Jedes gesicherte Telegramm wird mit AES-128 (CCM-Modus) verschlüsselt und enthält:
- einen Message Authentication Code (MAC), der Änderungen erkennbar macht;
- eine 48-Bit-Sequenznummer, die immer steigen muss, damit ein aufgezeichnetes Telegramm nicht erneut abgespielt werden kann.
Anders als KNX IP Secure, das nur die IP-Verbindung schützt, schützt Data Secure das Telegramm vom Sender bis zum Empfänger.
So funktioniert es
Gruppenschlüssel
Jede gesicherte Gruppenadresse hat einen eigenen, von ETS erzeugten Gruppenschlüssel. ETS lädt ihn auf jedes Gerät herunter, das mit dieser Gruppenadresse verknüpft ist. Nur Geräte mit dem Schlüssel können das verschlüsselte Telegramm lesen; alle anderen sehen verschlüsselte Nutzdaten.
Wer senden darf: die Sicherheitstabelle
Verschlüsselung allein reicht nicht aus. Jedes Data-Secure-Gerät führt außerdem eine Sicherheitstabelle mit den physikalischen Adressen, die es als Sender akzeptiert, und der jeweils letzten empfangenen Sequenznummer. Pro Senderadresse wird eine Sequenznummer gespeichert - nicht pro Gruppenadresse. Jeder Sender verwendet einen einzigen Zähler für alle seine gesicherten Telegramme. Ein Telegramm wird nur akzeptiert, wenn:
- es mit dem Gruppenschlüssel korrekt entschlüsselt wird;
- die physikalische Adresse des Senders in der Tabelle des Empfängers steht;
- seine Sequenznummer höher ist als die zuletzt von diesem Sender empfangene.
Schlägt eine Prüfung fehl, ignoriert der Empfänger das Telegramm still. Das bedeutet:
- Zum Lesen gesicherter Telegramme benötigen Sie nur die Gruppenschlüssel.
- Damit Geräte auf gesicherte Telegramme reagieren, müssen Sie außerdem von einer physikalischen Adresse senden, der die Empfänger vertrauen.
Geräteverwaltung und Werkzeugschlüssel
Data-Secure-Geräte schützen auch ihre Konfiguration. Der Verwaltungszugriff - etwa das Lesen von Geräteeigenschaften oder Ändern von Einstellungen - wird mit einem gerätespezifischen Werkzeugschlüssel geschützt, den ETS bei der Inbetriebnahme festlegt. Ohne ihn verweigert ein gesichertes Gerät diese Aktionen.
Data-Secure-Telegramme in SharKNX lesen
SharKNX installiert die Gruppenschlüssel automatisch, wenn Sie Folgendes laden:
- Ihr ETS-Projekt (
.knxproj) auf der Seite Projekt oder - einen Schlüsselbund (
.knxkeys) oder ein Projekt im Tab Sicherheit der Seite Verbinden.
Danach werden gesicherte Telegramme im Monitor sofort entschlüsselt und wie andere Telegramme mit Namen, Datenpunkttyp und dekodiertem Wert angezeigt. Für die Überwachung ist nichts Weiteres nötig - keine Sendereinrichtung.
Ohne Schlüssel - oder wenn ein gesichertes Telegramm eine Prüfung nicht besteht, etwa wegen eines falschen MAC oder einer wiederholten Sequenznummer - zeigt SharKNX es als ungeöffnetes gesichertes Telegramm an. Der genaue Grund wird im Exportformate (data_secure_status und data_secure_rejection) festgehalten. So lässt sich ein fehlender Schlüssel von einer Wiederholung unterscheiden.
Data-Secure-Telegramme in SharKNX senden
Zum Senden benötigt jede gesicherte Gruppenadresse eine physikalische Senderadresse, der die Empfänger vertrauen. Diese legen Sie auf der Seite KNX Secure Sender fest. Sie lässt sich über das Banner unter den Tabs der Projektseite oder über das Data-Secure-Symbol auf der Monitorseite öffnen.
Das Monitor-Symbol zeigt den Zustand auf einen Blick: grau, wenn das Projekt keine gesicherten Gruppenadressen enthält, bernsteinfarben, wenn es welche gibt, aber keine Sender konfiguriert sind, und grün, wenn Sender eingerichtet sind.
Die Seite hat drei Bereiche:
- Standard-Sender - die physikalische Adresse für jede gesicherte Gruppenadresse ohne eigenen Eintrag. Lassen Sie Auto eingestellt, um die Adresse der Gatewayverbindung zu verwenden.
- Auto-Generierung - weist jeder gesicherten Gruppenadresse einen Sender aus dem Projekt zu: das Gerät mit der niedrigsten physikalischen Adresse, das darauf sendet. Das sind Adressen echter Geräte - lesen Sie vor der Verwendung die Warnung.
- Manuelle Konfiguration - einzelne Gruppenadresse → Sender-Paare, die den Standard überschreiben.
Senderadresse auswählen
Senden Sie immer von einer physikalischen Adresse, die kein echtes Gerät verwendet und der die Empfänger vertrauen. Üblicherweise wird eine solche Adresse in ETS angelegt:
- Fügen Sie dem Projekt ein Ersatzgerät hinzu - etwa eine sichere IP-Schnittstelle, die nur als Platzhalter dient - und weisen Sie ihm eine freie physikalische Adresse zu.
- Verknüpfen Sie die gesicherten Gruppenadressen, über die Sie senden möchten, mit diesem Gerät. So fügt ETS seine Adresse den Sicherheitstabellen der Empfänger hinzu.
- Laden Sie die betroffenen Empfänger herunter und legen Sie die Adresse in SharKNX als Standard-Sender fest.
Warnung: Senden Sie niemals als ein echtes Gerät. Wenn ein Sendereintrag - automatisch generiert oder manuell hinzugefügt - die Adresse eines echten, funktionierenden Geräts verwendet, kann ein einziger Befehl von SharKNX ausreichen, damit der Rest der Anlage nicht mehr auf dieses Gerät reagiert.
Gemäß KNX-Standard nummeriert SharKNX gesicherte Telegramme für Werkzeuge mit der aktuellen Zeit: den Millisekunden seit dem 5. Januar 2018. Ein Gerät beginnt dagegen bei der Uhrzeit seiner ETS-Inbetriebnahme und zählt pro Telegramm nur um eins hoch; sein Zähler ist daher viel niedriger. Sendet SharKNX als dieses Gerät, speichert jeder Empfänger, der dessen Adresse vertraut, die deutlich höhere Nummer von SharKNX und ignoriert danach die Telegramme des echten Geräts als Wiederholungen - auf allen gesicherten Gruppenadressen, nicht nur auf der verwendeten. Der Zähler des Geräts kann den Wert nie einholen. Zur Wiederherstellung müssen die betroffenen Empfänger üblicherweise erneut mit ETS geladen werden.
Über einen KNX-IP-Secure-Tunnel senden
Bei einem KNX IP Secure-Tunnel sendet die Schnittstelle Ihre Telegramme immer mit der eigenen physikalischen Tunneladresse auf den Bus und ignoriert andere Senderadressen. Die Einstellungen für KNX Secure Sender haben dort keine Wirkung; SharKNX weist Sie beim Senden darauf hin.
Damit gesicherte Telegramme über einen sicheren Tunnel gesendet werden können, verknüpfen Sie die gesicherten Gruppenadressen in ETS mit der Tunnelschnittstelle, sodass deren Adresse in den Sicherheitstabellen der Empfänger steht, und laden Sie die Empfänger herunter.
Data-Secure-Geräte verwalten
Zum Lesen oder Verwalten eines Data-Secure-Geräts - etwa auf der Diagnoseseite - benötigt SharKNX dessen Werkzeugschlüssel. Laden Sie den Schlüsselbund der Anlage (.knxkeys) oder das ETS-Projekt im Tab Sicherheit der Seite Verbinden. SharKNX übernimmt die Werkzeugschlüssel automatisch. Data-Secure-Geräte sind entsprechend markiert; SharKNX weist auf fehlende Schlüssel hin.
KNX Data Secure oder KNX IP Secure
| KNX Data Secure | KNX IP Secure | |
|---|---|---|
| Schutz | Einzelne Telegramme Ende zu Ende über jedes Medium | Die IP-Verbindung: Tunnel oder Routing-Backbone |
| Schlüssel | Ein Gruppenschlüssel je gesicherter Gruppenadresse; ein Werkzeugschlüssel je Gerät | Tunnelbenutzer-Passwörter; Backbone-Schlüssel |
| Senderprüfung | Empfänger akzeptieren nur aufgeführte Senderadressen | Nur authentifizierte Clients können sich verbinden |
| Verwendung in SharKNX | Gesicherte Gruppentelegramme lesen und senden; gesicherte Geräte verwalten | Mit einer sicheren Schnittstelle oder einem sicheren Backbone verbinden |
Die beiden Verfahren sind unabhängig. Eine Anlage kann eines, beide oder keines verwenden - siehe KNX IP Secure.
Fehlerbehebung
Gesicherte Telegramme zeigen verschlüsselte Nutzdaten. SharKNX hat keinen Gruppenschlüssel für diese Adresse. Laden Sie das ETS-Projekt oder den Schlüsselbund dieser Anlage.
Mein Befehl wird gesendet, aber das Gerät reagiert nicht. Der Empfänger vertraut der Senderadresse nicht. Prüfen Sie, von welcher Adresse Sie senden (auf der Seite KNX Secure Sender oder mit der Tunneladresse bei einem KNX-IP-Secure-Tunnel), und stellen Sie sicher, dass ETS sie als Sender für diese Gruppenadresse aufführt.
Ein Gerät reagiert nicht mehr, nachdem ich mit SharKNX einen Befehl gesendet habe. SharKNX hat die physikalische Adresse dieses Geräts verwendet. Daher ignorieren die Empfänger dessen echte Telegramme (siehe Warnung oben). Entfernen Sie die Adresse aus KNX Secure Sender und verwenden Sie stattdessen eine eigene Senderadresse. Laden Sie die Empfänger erneut mit ETS, damit sie das echte Gerät wieder akzeptieren.
Ein Gerät verweigert Verwaltungsaktionen. Der Werkzeugschlüssel fehlt. Laden Sie den Schlüsselbund oder das Projekt im Tab Sicherheit.
Weiterlesen
- KNX Data Secure einrichten - Einrichtung Schritt für Schritt in SharKNX
- KNX IP Secure - Schutz der IP-Verbindung
- Die KNX-Secure-Dokumentation der KNX Association und Anwendungshinweise der Hersteller (etwa ABBs Anwendungshinweis KNX Data Secure) erläutern das Protokoll und die ETS-Konfiguration ausführlich.