Het systeem achter Zigbee-netwerken

Daniel Dupré
0

Inhoudsopgave

    Zigbee lamp met logo

     

    Met Zigbee kun je eenvoudig een draadloos netwerk configureren met lampen en sensoren. Als je weet hoe berichten van apparaat naar apparaat worden verstuurd, is het ook makkelijker om fouten op te zoeken.

    Er zijn talloze systemen om apparaten draadloos aan te sturen. Enkele producenten bedenken zelf hun eigen protocol, zoals BidCoS van HomeMatic. Andere sluiten zich aan bij een consortium van producenten die samen een gemeenschappelijke oplossing bedenken. Zigbee is zo’n gemeenschappelijk protocol dat wordt onderhouden door de Zigbee Alliance. Grote namen als Philips, Bosch, Intel en Texas Instruments hebben zich daarbij aangesloten. Als je een product wilt verkopen dat ‘Zigbee Certified’ is, dan moet je lid zijn van de Alliance en je product door een onafhankelijke organisatie laten testen of het conform de Zigbee-specificatie werkt.

    Gemeenschappelijk fundament

    Zigbee is een specificatie. Dat wil zeggen dat fabrikanten zich aan alle punten moeten houden van de bijna 600 pagina’s tellende documentatie voor het predikaat ‘Zigbee Certified’. Links naar die tekst en alle in dit artikel genoemde specificaties vind je hier.

    De Zigbee-specificatie is gebaseerd op een IEEE-standaard en wijkt alleen in details af. IEEE 802.15.4 beschrijft de twee onderste lagen van het OSI-model voor een Wireless Personal Area Network. Naast het frequentiebereik van 2400 tot 2483,5 MHz ondersteunt de standaard ook andere frequentiebereiken, maar praktisch alle Zigbee-apparaten zitten net als wifi en bluetooth op 2,4 GHz. Elk apparaat krijgt een uniek fysiek MAC-adres dat bestaat uit een fabrikant-identificatie van 32 bits en een serienummer van 32 bit.

    Apparaatkunde

    In een IEEE 802.15.4-netwerk krijgen apparaten verschillende rollen toegewezen, die ook in de Zigbee-specificatie onder een afwijkende naam voorkomen. Het centrale punt in het netwerk is de ‘coördinator’. Die rol mag maar één keer bestaan en hij moet permanent actief en bereikbaar zijn. Elk nieuw apparaat dat zich voor het eerst aanmeldt, krijgt van de coördinator een 16-bit-adres toegewezen dat uniek is in het netwerk. De theoretische grootte van een netwerk omvat daarmee maximaal 65.536 apparaten. De coördinator heeft altijd het adres 0x0000.

    Andere apparaten die altijd aanwezig zijn, noemt de IEEE-standaard ‘Full Function Device’. In het Zigbee-netwerk heten die ‘router’. Deze kunnen berichten doorsturen die niet aan henzelf zijn geadresseerd en communiceren met andere routers over de mogelijke paden in het netwerk. Gevonden paden worden in de routingtabellen opgeslagen. Deze routingfuncties maken deel uit van de derde OSI-laag en worden daarom ook in de Zigbee-specificatie beschreven. Er mogen veel routers in een netwerk zitten en er kunnen maasnetwerken of boomstructuur netwerken ontstaan.

    Apparaten die niet continu actief zijn, noemt de standaard ‘Reduced Function Device’ – bij Zigbee heten ze ‘end device’. Die apparaten verblijven het grootste deel van de tijd in een slaaptoestand en worden alleen actief als ze een bericht moeten versturen. Aangezien ze berichten niet betrouwbaar kunnen doorgeven, mogen ze dit ook niet. Voorbeelden zijn afstandsbedieningen en sensoren die op batterijen werken.

    Doorlezen is gratis, maar eerst even dit:

    Dit artikel is met grote zorg samengesteld door de redactie van c’t magazine – het meest toonaangevende computertijdschrift van Nederland en België. Met zeer uitgebreide tests en praktische workshops biedt c’t de diepgang die je nergens online vindt.

    Bekijk de abonnementen   Lees eerst verder

    Apparaten in de praktijk

    In de praktijk worden de taken van de coördinator meestal vervuld door een netwerk gateway van de betreffende fabrikant. Ze hebben een zendmodule voor de Zigbee-koppeling en beschikken over wifi of ethernet om verbinding te maken met het netwerk. Als je nieuwe apparaten in het Zigbee-netwerk plaatst, activeert de coördinator een opnamemodus.

    Het nieuwe apparaat, dat zich in de fabrieksmodus moet bevinden, vraagt om opgenomen te worden in het netwerk – dus om een adres dat in het hele netwerk geldig is. Ook vraagt het om de sleutel om aan het versleutelde netwerkverkeer deel te kunnen nemen. Iedereen die op het moment dat de sleutel wordt doorgegeven meeluistert, zou de sleutel kunnen afluisteren en later berichten kunnen ontsleutelen of zelf valide berichten kunnen versturen.

    Meer artikelen over Zigbee in de praktijk lees je vanaf pagina 76 in c't jan-feb/2019

    Universele sleutel

    Bijna geen Zigbee-apparaat heeft bedieningselementen, een display of resources voor complexe cryptografische berekeningen. Er moest dus een oplossing gevonden worden die in elk geval veiliger is dan het versturen van de netwerksleutel als leesbare tekst, maar geen gedoe voor gebruikers oplevert. De oplossing is een uniforme masterkey. Die ontvangt de fabrikant alleen wanneer hij lid is van de Zigbee Alliance. Alleen staat die sleutel inmiddels al enkele jaren op internet. ie sleutel wordt alleen gebruikt voor het versleuteld versturen van de netwerksleutel.

    Omdat een sleuteluitwisseling behoorlijke veiligheidsrisico’s met zich meedraagt, bestaat er ook nog een fysieke beveiliging. Tijdens de fase waarin een apparaat in het netwerk wordt opgenomen, laten de apparaten de zend- en ontvangstvermogen zakken en beoordelen aan de hand van de verbindingskwaliteit of het nieuwe apparaat zich in de buurt bevindt. Daarom moeten gebruikers als ze een nieuwe Zigbee-lamp bij het netwerk willen aanmelden die vlakbij de bridge houden.

    Een aanvaller moet dus precies op het juiste moment, wanneer de opnamemodus geactiveerd is en een apparaat wordt opgenomen, zich feitelijk in de woning bevinden om de sleutel te kunnen afluisteren. Wanneer de netwerksleutel eenmaal doorgegeven is, is Zigbee relatief veilig. Alle berichten worden met AES-128 versleuteld. Replay-aanvallen waarbij een bericht wordt opgenomen en afgespeeld, worden door counters verhinderd. Die worden telkens verhoogd wanneer een bericht wordt verstuurd. Dubbele berichten worden genegeerd.

    Zigbee thuis

    De fabrikanten hebben verschillende oplossingen om apparaten terug te zetten naar de fabrieksinstellingen. Daarvoor moet je een blik werpen in de handleiding. Enkele apparaten moeten van een afstandsbediening of van de coördinator een commando ontvangen, dat ook met een verlaagd zendvermogen wordt verstuurd. Andere apparaten moet je vijf of zes keer achter elkaar in- en uitschakelen.

    Taaleenheid

    Na de opnameprocedure kunnen apparaten in het netwerk elkaar via het 16-bit adres bereiken en berichten schrijven.

    Wat er in de berichten staat, hangt af van het type apparaat. Om ervoor te zorgen dat Zigbee-producten van verschillende fabrikanten ook met elkaar kunnen communiceren, zijn er gebruiksprofielen geïntroduceerd. Lampen, schakelaars en afstandsbedieningen voor verlichting vallen onder het profiel ‘Zigbee Light Link’. Hierin worden berichten voor helderheid, aan/uit, kleurtemperatuur of kleurmenging gespecificeerd.

    Andere producten voor het smarthome vallen binnen het ‘Home Automation Public Application Profile’. Binnen die specificatie vallen bijvoorbeeld stopcontacten, sensoren, deursloten en thermostaten voor verwarmingselementen, plus de bijbehorende bedieningselementen. Maar ook lampen kunnen volgens die specificatie werken. Voor gebruikers was dat frustrerend omdat daardoor niet elk Zigbee-product met andere producten compatibel was.

    Dat moet verholpen worden door Zigbee 3.0. Die specificatie werd in 2015 opgesteld. De profielen werden gecombineerd en Zigbee 3.0 is backwards compatibel met Light Link en het Home-Automation-profiel. Sinds begin 2018 ondersteunt de populaire Hue-bridge (versies 1 en 2) ook Zigbee 3.0. De Trådfri-lampen van Ikea kunnen overweg met Light Link en blijven compatibel.

    Problemen oplossen

    Zoals alle apparaten waarbij data via een draadloze binding wordt verzonden, is Zigbee gevoelig voor storingen. Met wifi en blue tooth is het al behoorlijk druk op de 2,4GHz-band. Als er een storing is, kan het vaak helpen om op kanaal 25 over te stappen.

    Ook kun je de ontvangst optimaliseren: als het Zigbee-signaal alle hoeken van je huis moet bereiken, moet er in elke ruimte een router zijn, bijvoorbeeld een lamp. De lichtschakelaar aan de muur moet je dan wel blokkeren, zodat niet iemand per ongeluk een belangrijke hub in het netwerk uitschakelt. Als je problemen hebt met de app van de fabrikant of niet tevreden bent met de functies die deze biedt, kijk dan eens op de volgende pagina. Daar laten we zien hoe je zelf een bridge bouwt.

    Meer achtergrondinfo en uitgebreide tests lees je c't magazine. Nieuwste uitgave: c't 05/2024

    Deel dit artikel

    Daniel Dupré
    Daniel DupréDaniel koestert een liefde voor het in elkaar zetten van zinnen en van computers, en heeft in c't een prachtige mogelijkheid gevonden om beide te combineren.

    Lees ook

    GitHub Copilot: dit moet je weten over deze AI-programmeerassistent

    Benieuwd naar wat GitHub Copilot is en wat je er nou eigenlijk mee kunt doen? In dit artikel leggen we je uit wat je allemaal kunt doen met de AI-assi...

    Chat GPT gebruiken: dit kun je allemaal doen met de chatbot van OpenAI

    OpenAI heeft de ChatGPT-bot ontwikkeld als een taalmodel dat is getraind op een enorme hoeveelheid tekst op het internet. Je kunt ChatGPT gebruiken om...

    0 Praat mee
    avatar
      Abonneer  
    Laat het mij weten wanneer er