ZigBee

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung.

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.

Handelsübliches ZigBee Modul

Einleitung[Bearbeiten]

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 Kurzadressen (engl. short address). Bei Meshnetzwerken erfolgt dies meist stochastisch. 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 die selben Aufgaben wie ein ZigBee-Router.

Adressierung[Bearbeiten]

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[2])

ZigBee RF4CE[Bearbeiten]

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 Netwerk). Die Fernsteuerung tritt diesem Netzwerk bei. Um mehrere Geräte zu steuern, partizipiert die Fernsteuerung im Allgemeinen an mehreren PANs. Auch ein fernzusteuernedes 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.[3]

ZigBee IP[Bearbeiten]

ZigBee IP ist eine im Jahr 2012 erschiene Spezifikation für drahtlose Netzwerke mit Anbindung an das Internet[4] . 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.[4] Das 6LoWPAN-Protokoll ermöglicht die direkte Anbindung von Geräten oder Sensornetzwerken an das Internet über IPv6 (Internet of Things).

ZigBee Cluster Library[Bearbeiten]

Um insbesonder 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, Toogle) den Zustand des Attributes verändern. Der Datenaustausch erfolgt über ZCL-Frames. Sämtliche Cluster sind in der ZigBee Cluster Library zusammengefasst.[5]

ZigBee Profile[Bearbeiten]

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.

Anwendungsgebiete[Bearbeiten]

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

Konkurrenz[Bearbeiten]

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.

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

Sicherheit[Bearbeiten]

ZigBee/IEEE802.15.4 setzt beim Verschlüsseln von Daten auf eine erweiterte Version des CCM Mode-Verfahren (CCM*). Als Blockverschlüsselungsalgorithmus wird AES-128 eingesetzt. Ein effizientes Verfahren zum Decodieren von AES ist bis zum heutigen Tag nicht bekannt. 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 mehr oder weniger 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.

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 auf ein Minimum 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 dem sogenannten SKKE-Protokoll über den Trustcenter. Der 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).[2]

Siehe auch[Bearbeiten]

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. ZigBee Alliance. »ZigBee Specification«. In: ZigBee Document 053474r20 (Sep. 2012)
  2. a b Markus Krauße, Rainer Konrad: Drahtlose ZigBee-Netzwerke. ISBN 978-3-658-05821-0.
  3. ZigBee Alliance. »ZigBee RF4CE Specification«. In: ZigBee Document 094945r00ZB (Jan. 2010)
  4. a b ZigBee Alliance. »ZigBee IP Specification«. In: ZigBee Public Document 13-002r00 (Feb. 2013)
  5. ZigBee Alliance. »ZigBee Cluster Library«. In: ZigBee Document 075123r04ZB (Mai 2012)
  6. A.N. Solutions. Abgerufen am 24. Oktober 2014.
  7. Zigbee Allianz. Abgerufen am 24. Oktober 2014.
  8. ‘‘Standards unter einem Dach‘‘. Funkschau.de. Abgerufen am 24. Oktober 2014.
  9. ‘‘Intelligente Weiße Ware‘‘. connected-home.de. Abgerufen am 24. Oktober 2014.