Bluetooth Mesh-beveiliging & privacy: een vertrouwd IoT-netwerk bouwen
In delen 1 en 2 hebben we de Bluetooth Mesh-architectuur en berichtstroom verkend. In de huidige hyper-verbonden wereld is beveiliging niet optioneel – het is een non-negotiable fundament voor elke Mesh-aangedreven IoT-oplossing.
Bluetooth SIG vereist dat elk Mesh-apparaat beveiliging implementeert; het uitschakelen ervan is verboden. Klassieke BLE point-to-point-verbindingen kunnen daarentegen zonder beveiliging werken als de ontwikkelaar dat kiest.
Het provisioning-proces, dat een apparaat aan het Mesh toevoegt, en alle daaropvolgende data-uitwisselingen zijn ontworpen met beveiliging als hoogste prioriteit.
- Man-in-the-Middle-aanvallen worden vereiteld door Elliptic Curve Diffie-Hellman (ECDH)-sleuteluitwisseling tijdens provisioning.
- Replay-aanvallen worden voorkomen met per-bericht sequentienummers.
- Trash-can-aanvallen van weggegooide apparaten worden geneutraliseerd via de key-refresh (blacklisting)-procedure.
De Mesh-topologie vertrouwt op verplichte sleutels die elke stack-laag beschermen. Laten we de belangrijkste beveiligings- en privacy-mechanismen in detail doorlopen.
Provisioning: Een unprovisioned apparaat toevoegen aan het Mesh-netwerk
Een Mesh-apparaat wordt een knooppunt wanneer het geprovisioned wordt. Het apparaat dat provisioning uitvoert – een provisioner – is meestal een smartphone. De provisioner creëert het netwerk, wijst een netwerksleutel toe en deelt de vereiste sleutels uit. Unprovisioned Mesh-knooppunten adverteren zich na opstart. De provisioner scant naar deze beacons en vestigt een standaard BLE-verbinding (met PB-GATT in huidige apparaten) om sleutels via ECDH uit te wisselen.
Zodra de sessiesleutel afgeleid is, versleutelt het de netwerksleutel, apparaatsleutel, IV-index en unicast-adres, die dan naar het knooppunt worden verzonden. Na succesvolle provisioning gaat het knooppunt in de configuratiefase, waar de provisioner de capaciteiten van het knooppunt ontdekt en Application-sleutels toewijst. Een knooppunt kan meerdere Application-sleutels bevatten; elke sleutel is gebonden aan een specifiek Mesh-model, wat zorgt dat alleen de bedoelde apparaten de applicatie-payload kunnen decrypten.
Figuur 1 illustreert de volledige provisioning-sequentie voor een dimbare lamp met behulp van de CYBT‑213043‑MESH-evaluatiekit.
klik voor grotere afbeelding
Figuur 1: Het provisioning-proces voor een dimbare lamp. (Bron: Cypress)
Wanneer de Mesh-helper-app van de smartphone de lamp selecteert uit de unprovisioned-lijst, initieert het de provisioning-handshake. De lamp antwoorden met zijn capaciteiten – ondersteunde elementen, beveiligingsalgoritmes, OOB-opties en input/output-methoden. Op basis hiervan worden de publieke sleutels uitgewisseld via OOB of over de BLE-link, gevolgd door authenticatie. Na authenticatie van de lamp stuurt de provisioner de versleutelde provisioning-data (netwerksleutel, apparaatsleutel, IV-index, unicast-adres, etc.). Het knooppunt is nu volledig geprovisioned en klaar voor configuratie.
Netwerk-, Applicatie- en Apparaatsleutels
Netwerksleutels stellen een knooppunt in staat berichten tot de Netwerklaag te decrypten en authenticeren, zodat het verkeer kan relayen. Applicatiesleutels worden gedeeld onder een subset van knooppunten die vergelijkbare functies uitvoeren; alleen apparaten met de juiste Applicatiesleutel kunnen de payload decrypten. Apparaatsleutels identificeren elk geprovisioned knooppunt uniek en worden uitsluitend tijdens configuratie gebruikt.
Netwerksleutel: Een knooppunt kan één of meer netwerksleutels hebben, wat het creëren van meerdere subnets binnen een enkel Mesh-netwerk toestaat. Bijvoorbeeld, een meervoudig parkeergarage kan elk niveau isoleren in zijn eigen subnet, wat relay-verkeer beperkt tot het relevante niveau.
Applicatiesleutel: Meestal gedeeld door apparaten die hetzelfde doel dienen – bijv. alle woonkamerlampen delen één sleutel, terwijl bewegingsensoren of sloten een andere gebruiken. Alleen apparaten met de juiste sleutel kunnen een bericht interpreteren om de toestand van een lamp te wijzigen.
Apparaatsleutel: Toegewezen tijdens provisioning, identificeert de Apparaatsleutel uniek een knooppunt en wordt exclusief tijdens de configuratiefase gebruikt.
Knooppuntverwijdering: Key Refresh en Blacklisting
Om een gecompromitteerd of weggegooid knooppunt te voorkomen dat het een doelnetwerk opnieuw joint – een scenario bekend als Trash-can-aanval – definieert de Mesh-specificatie een key-refresh-procedure. De provisioner kan een knooppunt blacklisten en nieuwe netwerksleutels en applicatiesleutels uitgeven aan alle niet-geblackliste apparaten. De oude sleutels kunnen geen toegang meer verlenen, wat het netwerk beschermt tegen exploitatie.
Privacy (Bericht-obfuscatie)
Privacy wordt bereikt via een privacy-sleutel afgeleid van de netwerksleutel. Het Mesh-protocol gebruikt deze sleutel om header-velden te obfusceren, zoals het bronadres, waardoor afhakers voorkomen worden om berichtorigines te tracken.
Replay-aanvallen
Een replay-aanval omvat het vastleggen van een legitiem bericht en het opnieuw verzenden ervan om het netwerk te storen – bijvoorbeeld het herzenden van een unlock-commando naar een deurklep. Het Mesh-protocol tegengaat dit met twee waarborgen: de IV-index en het sequentienummer (SEQ). Elk bericht draagt een SEQ dat met elke publicatie incrementeert; knooppunten verwerpen elk pakket met een SEQ gelijk aan of lager dan de laatste geldige waarde. De IV-index moet ook gelijk aan of groter zijn dan de laatste verwerkte waarde; anders wordt het pakket verworven. Een aanvaller zou alle relevante sleutels nodig hebben om deze velden te wijzigen, wat succesvolle replays onmogelijk maakt.
Samengevat, Bluetooth Mesh's provisioning-proces garandeert dat alleen vertrouwde apparaten het netwerk joinen en beschermt tegen MITM-, replay- en Trash-can-aanvallen. Netwerksleutels maken subnetting mogelijk, applicatiesleutels zorgen ervoor dat alleen de bedoelde apparaten payloads interpreteren, en key-refresh-mechanismen verwijderen gecompromitteerde knooppunten veilig. Privacy-functies verbergen bronadressen, terwijl sequentienummers en IV-indices replay-aanvallen voorkomen. Samen vestigen deze mechanismen Bluetooth Mesh als een hoogst veilig en privacévriendelijk platform voor IoT-implementaties.
In deel 3 zullen we bespreken hoe je het juiste Bluetooth Mesh-apparaat kiest voor je specifieke applicatie.
Ingebed
- Blijvende Succes: Lessen in Volharding van Abraham Lincoln en Onderhoudsleiderschap
- Raspberry Pi Thuisbeveiligingssysteem: PIR-bewegingsdetectie + Camera E-mailwaarschuwingen
- Synopsys onthult complete HBM3 IP-suite voor multi-die-systemen, bandbreedte tot 921 GB/s
- Bluetooth Mesh-ontwerpkeuzes: Module vs. discreet apparaat
- Cypress lanceert dual‑mode Bluetooth 5.0 MCU's met mesh‑networking, bruggen IoT‑apparaten naar smartphones
- Future Electronics vormt wereldwijde partnerschap met Silvair voor versnelde Bluetooth Mesh-oplossingen
- Contrinex 2020: cloud-klaar sensoren & Bluetooth lichtgordijnen voor veiligheid
- Swissbit toont avantgardistische hardware-beveiliging voor IoT-apparaten op it-sa
- Renesas RX23W MCU versterkt IoT-beveiliging met Bluetooth 5.0
- SaaS- en Cloudbeveiliging Versterken met Geautomatiseerde Tests en Prestatiemonitoring
- Kunnen beveiliging en privacy de IoT-revolutie belemmeren?