ZigBee

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 8. Oktober 2016 um 23:48 Uhr durch Sodala (Diskussion | Beiträge) (→‎Sicherheit: Text mit dem Ziel besserer Lesbarkeit gekürzt). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Zur Navigation springen Zur Suche springen

ZigBee ist eine Spezifikation für drahtlose Netzwerke mit geringem Datenaufkommen, wie z. B. Hausautomation, Sensornetzwerke, Lichttechnik. Der Schwerpunkt von ZigBee liegt in kurzreichweitigen Netzwerken (10 bis 100 Meter). Es sind aber auch Reichweiten von mehreren Kilometern möglich. Die ZigBee Spezifikation erweitert den IEEE 802.15.4-Standard um eine Netzwerk- und Anwendungsschicht. Die Spezifikation ist eine Entwicklung der ZigBee-Allianz, die Ende 2002 gegründet wurde. Sie ist ein Zusammenschluss von derzeit mehr als 230 Unternehmen, welche die weltweite Entwicklung dieser Technologie vorantreiben. 2004 kam die erste ZigBee-Spezifikation auf den Markt. Die mittlerweile unter dem Namen ZigBee 2004 bekannte Version gilt als veraltet und wurde 2006 von einer komplett überarbeiteten Version abgelöst. 2007 ist eine weitere leicht erweiterte Version der ZigBee Spezifikation erschienen.[1] Z. B. wird in dieser Version die Fragmentierung von Paketen unterstützt. Seither sind nur kleine Änderungen und Veränderungen in der Spezifikation vorgenommen worden.

Im November 2015 wurde bekannt, dass das ZigBee-Protokoll eine wesentliche Sicherheitslücke aufweist, die nicht durch Firmware-Updates behoben werden kann.[2]

Handelsübliches ZigBee Modul

Einleitung

ZigBee setzt auf IEEE 802.15.4 auf

ZigBee ist eine Spezifikation, welche ein Framework für drahtlose Funknetzwerke beschreibt. ZigBee baut auf dem IEEE 802.15.4 Standard auf und erweitert dessen Funktionalität insbesondere um die Möglichkeit des Routings und des sicheren Schlüsselaustausches. Im IEEE 802.15.4 Standard sind die PHY-Schicht und die MAC-Schicht definiert. ZigBee erweitert diesen Protokollstapel um die Schichten NWK und APL. Wobei zu beachten ist, dass es sich bei ZigBee um ein Framework handelt und eine Anwendung in die APL-Schicht eingebettet wird.

Die Einsatzmöglichkeiten von ZigBee sind vielfältig, z. B. in der Gebäude-Automation, im medizinischen Bereich, für Steuerungsanlagen und für alle Arten von Sensormessungen.

Die ZigBee-Spezifikation stellt dem Entwickler drei verschiedene Gerätearten (ZigBee Devices) zur Verfügung. Mit diesen Geräten wird ein ZigBee Wireless Personal Area Network (WPAN) aufgebaut. Man unterscheidet drei Rollen, die ein ZigBee-Gerät erfüllen kann:

Endgerät (ZigBee End Device, ZED)
Geräte wie zum Beispiel Steuerungs- oder Sensormodule werden meist mit Batterien betrieben. Diese können als ZigBee-Endgeräte implementiert werden und benötigen nur einen Teil der Funktionen der ZigBee-Spezifikation. Sie nehmen nicht am Routing im Netzwerk teil und können in einen Schlafmodus gehen. Sie melden sich an einem Router ihrer Wahl an und treten so dem ZigBee-Netzwerk bei. Sie können ausschließlich mit dem Router kommunizieren, über den sie dem Netzwerk beigetreten sind. Werden Daten an ein solches Endgerät geschickt und dieses befindet sich im Schlafmodus, speichert der Router diese Pakete, bis das Endgerät sie abruft.
Router (ZigBee Router, ZR)
ZigBee-Router nehmen am Routing der Pakete durch das Netzwerk teil. Sie benötigen einen größeren Funktionsumfang und damit auch etwas mehr Hardwareressourcen. ZigBee-Router treten einem Netzwerk bei, indem sie sich an einem im Netzwerk befindlichen Router anmelden. Das Routing im Netzwerk erfolgt entweder entlang eines sich so bildenden Baumes (Stackprofil ZigBee) oder durch dynamisches Routing als Meshnetzwerk (Stackprofil ZigBee PRO). Tritt ein Funkmodul über einen Router dem Netzwerk bei, vergibt dieser diesem eine 16-Bit-Kurzadresse (engl. short address). Bei Meshnetzwerken erfolgt dies zufällig. Auftretende Adresskonflikte müssen erkannt und dann behoben werden.
Koordinator (ZigBee coordinator, ZC)
Ein ZigBee-Koordinator startet das Netzwerk mit festgelegten Parametern. Nach dem Start übernimmt er dieselben Aufgaben wie ein ZigBee-Router.

Adressierung

Die Identifizierung eines Netzwerks erfolgt über eine 64-Bit erweiterte PAN-ID. Um unnötigen Protokolloverhead zu vermeiden, wählt der Koordinator allerdings für ein PAN bei dessen Start eine 16-Bit PAN-ID. Jedes Funkmodul besitzt eine eindeutige 64-Bit IEEE-Adresse. Beim Eintritt in ein Netzwerk bekommt es allerdings ebenfalls eine 16-Bit Kurzadresse zugewiesen. Bei stochastischer Adressvergabe müssen Adresskonflikte aufgelöst werden. Um Daten an ein anderes Funkmodul im selben Netzwerk zu senden, genügt damit die Angabe der 16-bit Kurzadresse. Allerdings werden zusätzlich verschiedene Anwendungsobjekte über Endpunkte adressiert. Dieses Verfahren ähnelt dem TCP-Port bei TCP/IP. Jedem Knoten stehen 255 Endpunkte zur Verfügung. Für die Anwendungslogik sind die Endpunkte 1 bis 240 vorgesehen. Endpunkt 255 ist für Broadcast an alle Endpunkte reserviert. Die Endpunkte 241 bis 254 sind für spätere spezielle Aufgaben reserviert. An den Endpunkt 0 gerichtete Daten sind für das (ZDO) ZigBee Device Object, welches die Steuerung der Netzwerkaufgaben übernimmt.

Über ein Bindingverfahren kann auch eine indirekte Adressierung ohne Kenntnis der Adresse zum Versenden von Daten benutzt werden. Hierzu müssen sich zwei Funkmodule an einem Bindingprozess beteiligen (z. B. durch Drücken eines Tasters). In einer Bindingtabelle werden zu einem Cluster, dem Ziel- und Senderendpunkt die entsprechenden Adressen der Funkmodule gespeichert. Für die Adressierung von Paketen genügt dann die Angabe eines Clusters und des Zielendpunkts. Aus der Bindingtabelle kann die benötigte Adresse ermittelt werden.

Es ist ebenfalls möglich, Nachrichten an eine Gruppe von Funkmodulen zu senden. Jedes Funkmodul speichert eine Liste mit 16-Bit Gruppen-IDs. Ein Eintrag in dieser Tabelle bedeutet, dass das Funkmodul Mitglied der entsprechenden Gruppe ist. Die Nachricht an eine Gruppe wird über Broadcast gesendet. Die Reichweite kann aber zusätzlich begrenzt werden, in dem von Nichtgruppenmitgliedern eine Nachricht nur an eine bestimmte Anzahl von Hops weitergeleitet wird (siehe[3])

ZigBee RF4CE

RF4CE ist ein Akronym für radio frequency for consumer electronics. ZigBee-RF4C ist eine weitere auf dem IEEE 802.15.4-Standard aufbauende Spezifikation der ZigBee Allianz. Sie ist im Jahr 2010 erschienen und ist eine eigenständige Spezifikation. Sie spezifiziert einfache und kostengünstige drahtlose Netzwerke zur Steuerung von Geräten z. B. Homeentertainment und Lichtsteuerung. Routing wird in diesen Netzwerken nicht unterstützt. Ein fernzusteuerndes Gerät bildet ein eigenes PAN (Personal Area Network). Die Fernsteuerung tritt diesem Netzwerk bei. Um mehrere Geräte zu steuern, partizipiert die Fernsteuerung im Allgemeinen an mehreren PANs. Auch ein fernzusteuerndes Gerät kann Mitglied eines zweiten PANs sein, wenn es selbst fernzusteuernde Aufgaben erfüllt. Wenn der DVD-Player von der Fernbedienung gestartet wird, soll der DVD-Player gleichzeitig den Kanal des Fernsehers wechseln.[4]

ZigBee IP

ZigBee IP ist eine im Jahr 2012 erschienene Spezifikation für drahtlose Netzwerke mit Anbindung an das Internet[5]. Die ZigBee Alliance orientiert sich bei der Entwicklung an bestehenden Protokollen von Standardisierungsgremien wie IETF, IEEE, W3C, ISO und IEC. Der Stack nutzt in der Netzwerk-Schicht (OSI-Modell Network Layer) unter anderem die von der IETF entwickelten Protokolle 6LoWPAN und RPL.[5] Das 6LoWPAN-Protokoll ermöglicht die direkte Anbindung von Geräten oder Sensornetzwerken an das Internet über IPv6 (Internet of Things).

ZigBee Cluster Library

Um insbesondere Interoperabiltät von Produkten verschiedener Hersteller zu gewährleisten, hat die ZigBee Allianz Cluster und Profile definiert. Ein Cluster funktioniert nach dem Client/Serverprinzip. Der Server eines Cluster besitzt verschiedene Attribute, die im Allgemeinen der Client durch bestimmte Kommandos verändern kann. Eine Lampe ist z. B. ein Server des Clusters OnOff (ClusterID: 0x0006). Der Client kann durch Senden wohldefinierter Kommandos (On, Off, Toggle) den Zustand des Attributes verändern. Der Datenaustausch erfolgt über ZCL-Frames. Sämtliche Cluster sind in der ZigBee Cluster Library zusammengefasst.[6]

ZigBee Profile

In ZigBee Profilen werden für einen bestimmten Anwendungsfall Systemvoraussetzungen und Geräte definiert. Jedes Gerät implementiert hierbei eine Menge von Clustern. Beispielprofile sind z. B. Home Automation, Building Automation und Health Care.

ZigBee Light Link

Dieses Profil dient zur Steuerung von Lichttechnik aller Art. Die Steuerung von Farbanteilen, Helligkeit und einfach An- und Ausschalten von Lampen ist in diesem Profil vorgesehen. Auf einen Koordinator und damit auch ein Trustcenter zur Schlüsselverteilung wird der Einfachheit halber verzichtet. Die Kommunikation erfolgt immer verschlüsselt durch einen Netzwerkschlüssel. Der Netzwerkschlüssel wird an ein dem Netzwerk beitretendes Funkmodul durch den sogenannten Masterkey verschlüsselt mitgeteilt. Dies ist auch die große Schwachstelle von Light Link. Der Masterkey ist für alle Light Link zertifizierten ZigBee-Produkte identisch und wird von der ZigBee Alliance nach bestandener Zertifizierung dem Hersteller mitgeteilt. Das heißt, der Masterkey wird geheim gehalten. Dass dieser lange geheim bleibt, ist allerdings zu bezweifeln. Je mehr Hersteller den Masterschlüssel erhalten haben, umso unwahrscheinlicher ist es, dass der Schlüssel nicht nach außen dringt. Es kann auch versucht werden den Schlüssel aus der Hardware zu extrahieren. Z.B. übernimmt die AES-Verschlüsselung häufig die Transceivereinheit. So kann z.B. die Kommunikation zwischen Transceiver und Mikrocontroller versucht werden abzuhören, um den Schlüssel zu erhalten. Ein nachträgliches Ändern des Masterkeys auf zertifizierten Produkten ist nicht vorgesehen. Ein weiteres Manko der Geheimhaltung des Masterkeys ist es, dass Privatanwender z.B. keine eigenen Produkte wie Schalter oder Controller für zertifizierte Light Link Produkte erstellen können, solange der Masterkey nicht bekannt ist. Für die Lichtsteuerung ist die Schlüsselproblematik sicherheitstechnisch nicht so dramatisch. Ein großer Schaden kann im Allgemeinen nicht angestellt werden und die Reichweite der ZigBee-Light Link-Übertragung ist auch eher gering, so dass ein potentieller Angreifer der Hardware schon recht nahe kommen muss.

ZigBee Home Automation

Dieses Profil kann auch zur Steuerung von Lichttechnik benutzt werden, dient aber der allgemeinen Steuerung von Geräten in kleineren Gebäuden. Die Übertragung erfolgt ebenfalls durch einen Netzwerkschlüssel verschlüsselt. Auch hier wird der Netzwerkschlüssel beim Eintritt in das Netzwerk durch einen Masterkey verschlüsselt verteilt. Der Masterkey ist in diesem Fall bekannt, allerdings kann durch die Benutzung eines Trustcenters der Zutritt zum Netzwerk gesperrt werden und z.B. nur durch Betätigen eines Buttons für einige Sekunden gestattet werden. Hier kann ein Schaden durch ungwollten Zugang allerdings auch größer ausfallen. Werden z.B. Temperaturwerte für Klimageräte, Kühlschrank oder Heizung manipuliert, kann dies ggf. erhebliche Auswirkungen haben.

Anwendungsgebiete

Aufgestecktes ZigBee Modul (XBee) mit Entwicklungsboard (Arduino)
  • Industrie- und Automatisierungstechnik (z. B. A.N. Solutions)[7]
    • Anlagensteuerung
    • Güterüberwachung
    • Übertragen von Sensordaten (z. B. ZIGPOS)[8]
  • Medizintechnik (z. B. Telemedizinische Geräte der Brunel University London)[9]
    • Patientendatenübertragung
  • Heim- und Gebäudeautomatisierung[10]
    • Unterhaltungselektronik (z. B. 3D-Shutterbrillen)
    • Computer-Peripherie
    • Funkmelder
    • Waschmaschinen (z. B. Miele)[11]
    • Kaffeeautomaten

Konkurrenz

Im Bereich Heimautomation und M2M steht ZigBee in direkter Konkurrenz zu Z-Wave. Für beide Protokolle gibt es eine Reihe OSGi-basierter Framework-Lösungen, die über das reine Protokoll hinausgehende Heimautomatisierungsfunktionen beinhalten, wie z. B. einen Geräteabstraktionslayer. Darüber hinaus steht ZigBee im Bereich der Heimautomation in Konkurrenz zu Enocean, welches anders als ZigBee und Z-Wave durch die Betonung des Energy-Harvesting batterielose Sensoren ermöglicht.

Im Bereich Medizintechnik ist als Konkurrenzstandard Bluetooth bzw. die Spezifikation der Continua Health Allianz erwähnenswert.

Sicherheit

ZigBee/IEEE802.15.4 setzt beim Verschlüsseln von Daten auf eine erweiterte Version des CCM Mode-Verfahrens (CCM*). Als Blockverschlüsselungsalgorithmus wird AES-128 eingesetzt, das als kryptografisch sicher eingestuft ist. Trotzdem weisen die verwendeten Protokolle sicherheitskritische Schwachstellen auf.[2]

Datenpakete können auf Netzwerkschichtebene oder auf der Anwendungsebene verschlüsselt werden. Bei einer Verschlüsselung auf der Netzwerkebene muss allerdings allen Funkmodulen ein bestimmter Netzwerkschlüssel bekannt sein. Bei einer Verschlüsselung auf der Anwendungsebene kann eine Verbindung zwischen zwei Funkmodulen explizit mit einem eigenen, nur den zwei Funkmodulen bekannten Schlüssel verschlüsselt werden. Die große Schwierigkeit hierbei ist die Verteilung der Schlüssel auf die Funkmodule. Hierbei gibt es verschiedene Möglichkeiten, die nur bedingt oder nicht sicher sind:

  • Die Schlüssel können auf den Funkmodulen vorinstalliert werden. Andere Funkmodule mit selbigem vorinstallierten Schlüssel können ggf dem Netzwerk beitreten. Zusätzlich existiert dabei aber auch ein fixer, fest vereinbarter und allgemein bekannter Schlüssel, um neue ZigBee-Module in einem Netzwerk anzumelden - dieser Punkt stellt die Schwachstelle im Sicherheitskonzept dar, da ein Angreifer diesen Vorgang belauschen kann und so den geheimen und individuellen Netzwerkschlüssel im Rahmen der Datenübertragung ermitteln kann.[2]
  • Die Schlüssel werden einem Funkmodul beim Eintritt in das PAN unverschlüsselt mitgeteilt. Hierbei ist die Gefahr des Abhören recht groß. Allerdings ist die Reichweite von ZigBee-Modulen meist gering, so dass sich ein potentieller Angreifer in der Nähe aufhalten muss. Durch Herabsenken der Transceiverleistung kann die Reichweite des Weiteren auf ein Minimum reduziert werden. Einen zusätzlichen Schutz bietet die Möglichkeit, die Zeitspanne der unverschlüsselten Datenübertragung des Schlüssels zu begrenzen z. B. durch gleichzeitiges Drücken eines Knopfes an jedem Funkmodul wie dies auch bei Powerline-Adaptern üblich ist.
  • Die sicherste Möglichkeit ist der Einsatz eines ausgewählten Trustcenters. Jedes Funkmodul besitzt nur einen Masterlinkschlüssel, mit dem zunächst ein Linkschlüssel für die Verbindung mit dem Trustcenter und dem entsprechenden Funkmodul generiert wird. Benötigen zwei Funkmodule einen Linkschlüssel für eine Verbindung zueinander, erfolgt die Schlüsselgenerierung mittels des sogenannten SKKE-Protokolls über das Trustcenter. Das Trustcenter selbst dient nur zur Vermittlung und kann selbst den Schlüssel nicht bestimmen.

Beim CCM*-Verfahren kann durch einen Authentifizierungscode (Message Integrity Code) die Datenintegrität von Datenpaketen geschützt werden. Mittels CTR-Verfahren werden die Daten verschlüsselt. Durch Nutzung eines Counters besteht zudem keine Möglichkeit Pakete abzufangen und diese später ins Netzwerk einzuschleusen (replay attack).[3]

Siehe auch

Weblinks

Einzelnachweise

  1. ZigBee Alliance. »ZigBee Specification«. In: ZigBee Document 053474r20 (Sep. 2012)
  2. a b c Deepsec: ZigBee macht Smart Home zum offenen Haus, Berichterstattung auf Heise Online vom 21. November 2015
  3. a b Markus Krauße, Rainer Konrad: Drahtlose ZigBee-Netzwerke. ISBN 978-3-658-05821-0.
  4. ZigBee Alliance. »ZigBee RF4CE Specification«. In: ZigBee Document 094945r00ZB (Jan. 2010)
  5. a b ZigBee Alliance. »ZigBee IP Specification«. In: ZigBee Public Document 13-002r00 (Feb. 2013)
  6. ZigBee Alliance. »ZigBee Cluster Library«. In: ZigBee Document 075123r04ZB (Mai 2012)
  7. A.N. Solutions. Abgerufen am 24. Oktober 2014.
  8. ‘‘Standards unter einem Dach‘‘. Funkschau.de. Abgerufen am 24. Oktober 2014.
  9. Zigbee Allianz. Abgerufen am 24. Oktober 2014.
  10. ‘‘Produkte: Sensor- und Aktornetzwerke‘‘. zigpos.de. Abgerufen am 22. Januar 2015.
  11. ‘‘Intelligente Weiße Ware‘‘. connected-home.de. Abgerufen am 24. Oktober 2014.