Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial Internet of Things >> Ingebed

Ontwerpen met Bluetooth Mesh:privacy en beveiliging

In deel 1 en deel 2 van deze serie artikelen hebben we de Bluetooth Mesh-architectuur besproken en hoe berichten worden gecommuniceerd via het Bluetooth Mesh-netwerk. In de verbonden wereld van vandaag is beveiliging een belangrijk element in elk ontwerp. Het is dus belangrijk dat een IoT-toepassing die wordt aangedreven door Bluetooth Mesh absoluut veilig is en betrouwbare functionaliteit biedt.

De beveiligingsimplementatie op een Bluetooth Mesh-apparaat is een verplichte vereiste van de Bluetooth SIG en kan niet worden uitgeschakeld. Merk op dat in een non-mesh BLE point-to-point-verbinding beveiligingsimplementatie optioneel is. Het inrichtingsproces waarmee het apparaat wordt toegevoegd aan het Bluetooth Mesh-netwerk en de gegevensuitwisseling binnen het Bluetooth Mesh-netwerk is zorgvuldig ontworpen met veiligheid als hoogste prioriteit. Bluetooth Mesh-protocol beschermt het netwerk tegen verschillende mogelijke bedreigingen op meerdere lagen, zoals:

  • Man-in-the-Middle (MITM)-aanvallen worden voorkomen met behulp van het Elliptic Curve Diffie-Hellman (ECDH)-sleuteluitwisselingsprotocol tijdens de inrichting.
  • Replay-aanvallen worden voorkomen door het gebruik van volgnummers.
  • Prullenbakaanvallen van afgedankte apparaten worden voorkomen door de procedure voor het vernieuwen van de sleutel (blacklisting).

De Bluetooth Mesh-topologie is gebouwd met de vereiste van verplichte beveiligingssleutels die het netwerk op meerdere lagen van de stapel beveiligen. Laten we elke beveiligings- en privacyfunctie één voor één doornemen.

Provisioning:een niet-geregistreerd apparaat toevoegen aan het Bluetooth Mesh-netwerk

Een Bluetooth Mesh-apparaat wordt toegevoegd aan een mesh-netwerk met behulp van het inrichtingsproces. Het ingerichte mesh-apparaat wordt een knooppunt genoemd en het apparaat dat de inrichting uitvoert, wordt een inrichting genoemd. Meestal fungeert een mobiele telefoon als de provider. Het creëert een mesh-netwerk, wijst een netwerksleutel en andere vereiste sleutels toe. Niet-geregistreerde mesh-apparaten worden toegevoegd aan het Bluetooth Mesh-netwerk met behulp van het inrichtingsproces. De provider configureert ook ingerichte mesh-knooppunten en beheert de functionaliteit van Bluetooth Mesh-knooppunten in het mesh-netwerk.

Het voorzieningenprotocol kan twee verschillende voorzieningendragers gebruiken:PB-ADV (ADV-drager) of PB-GATT (GATT-drager). De huidige mobiele apparaten ondersteunen de PB-ADV-drager nog niet. Om deze reden wordt het inrichtingsproces uitgevoerd via PB-GATT-drager.

Een niet-voorzien mesh-apparaat begint te adverteren nadat het is ingeschakeld. De provider scant naar niet-voorziene apparaten en brengt een standaard BLE-verbinding (uitgaande van PB-GATT) tot stand met het niet-voorziene apparaat. Vervolgens deelt het sleutels met behulp van het Elliptical Curve Diffie-Hellman (ECDH) -protocol. Sleuteluitwisseling met ECDH is dus erg veilig.

Beide apparaten maken vervolgens een sessiesleutel aan met behulp van de uitgewisselde sleutels. De sessiesleutel wordt gebruikt om de netwerksleutel, apparaatsleutel (sleuteltypen worden besproken in de volgende secties van dit artikel), IV-index en een unicast-adres, die allemaal naar het ingerichte Bluetooth Mesh-knooppunt worden verzonden. Na succesvolle inrichting doorloopt het mesh-knooppunt het configuratieproces waarbij de mogelijkheden van het mesh-knooppunt worden gedeeld met de inrichting. De Provisioner wijst toepassingssleutels toe aan het geconfigureerde knooppunt. Elk mesh-knooppunt kan meerdere toepassingssleutels hebben, dus elke toepassingssleutel moet worden gebonden aan een specifiek mesh-model met behulp van het proces dat key binding wordt genoemd. Op deze manier weet de mesh-stack welke applicatiesleutels moeten worden gebruikt voor een bepaald mesh-model.

Afbeelding 1 toont de leveringsvolgorde wanneer een smartphone met iOS mesh-helpertoepassing een dimbare gloeilamp probeert te leveren die is geïmplementeerd met behulp van de CYBT-213043-MESH Evaluation Kit.

klik voor grotere afbeelding

Figuur 1:Het provisioning-proces voor een dimbare gloeilamp. (Bron:Cypress)

Zoals te zien is in de afbeelding, zendt de dimbare lamp niet-voorziene apparaatbakens uit. Wanneer de provider probeert een apparaat toe te voegen, verschijnt de dimbare lamp in de lijst met niet-provisioned apparaten. Wanneer de gebruiker op het Dimbare Licht-apparaat in de iOS mesh-app klikt, begint het inrichtingsproces.

De telefoon stuurt een Provisioning-uitnodiging en de dimbare gloeilamp reageert met mogelijkheden zoals het aantal ondersteunde elementen, ondersteunde beveiligingsalgoritmen, beschikbaarheid van openbare sleutel met out-of-band (OOB) en input/output-mogelijkheid om binnen te komen/ gebruikerswaarde weergeven. Op basis van de mogelijkheden van de dimbare gloeilamp worden openbare ECDH-sleutels uitgewisseld met behulp van een OOB-methode of met behulp van de Bluetooth-link. Vervolgens wordt de authenticatie uitgevoerd.

Zodra de dimbare gloeilamp is geauthenticeerd, verzendt de Provisioner Provisioning-gegevens via de AES-CCM-gecodeerde link. Zodra de inrichtingsgegevens (netwerksleutel, apparaatsleutel, IV-index, unicast-adres, enz.) naar de dimbare lamp zijn verzonden, is het inrichtingsproces voltooid. De Provisioner kan nu de dimbare gloeilamp configureren (niet weergegeven in dit sequentiediagram).

Netwerksleutel, applicatiesleutel en apparaatsleutel

Het bezit van de netwerksleutel stelt een knooppunt in staat om te decoderen en te authenticeren tot aan de netwerklaag die het mogelijk maakt om berichten binnen een netwerk door te sturen. Netwerkcoderingssleutels en privésleutels worden afgeleid van de netwerksleutel. Het is belangrijk op te merken dat, hoewel alle knooppunten in het netwerk mesh-relay-berichten ontvangen en doorsturen, de daadwerkelijke toepassingsgegevens niet kunnen worden gedecodeerd met behulp van de netwerksleutels. De applicatiegegevens kunnen alleen worden gedecodeerd als het apparaat over de juiste applicatiesleutel beschikt.

Netwerksleutel :Een node kan een of meer netwerksleutels hebben. Dit maakt het mogelijk om meerdere subnetten te creëren binnen een enkel Bluetooth Mesh-netwerk. Denk bijvoorbeeld aan een meerlaags parkeersysteem. Het kan handig zijn om elk niveau op te splitsen in een eigen subnet. Deze partitionering vermijdt het doorgeven van berichten over alle niveaus en beperkt de doorgestuurde berichten tot het gewenste niveau.

Applicatiesleutel :Applicatiesleutels worden gedeeld tussen een subset van apparaten binnen een mesh-netwerk. Over het algemeen hebben deze apparaten vergelijkbare functionaliteit. Alle gloeilampen in de woonkamer kunnen bijvoorbeeld dezelfde applicatiesleutel delen, terwijl een bewegingssensor of een slot een aparte applicatiesleutel heeft. Het mesh-bericht om de status van de gloeilamp te wijzigen kan alleen worden gedecodeerd door de gloeilampen in de woonkamer (d.w.z. dit zijn de enige apparaten die de vereiste applicatiesleutel bevatten).

Apparaatsleutel: Apparaatsleutels worden door de provider aan elk ingericht mesh-knooppunt toegewezen. Dit zorgt voor een unieke identificatie van mesh-knooppunten. De apparaatsleutel wordt alleen gebruikt tijdens het configuratieproces van het knooppunt door de provider.

Knooppuntverwijdering (Key Refresh, Blacklisting)

Het is belangrijk om te voorkomen dat een hacker een aanval uitvoert op een specifiek mesh-netwerk met behulp van beveiligingssleutels die zijn verkregen van een defecte of verwijderde mesh-node die deel uitmaakte van het beoogde mesh-netwerk. Dit soort aanval staat algemeen bekend als een prullenbakaanval. Om dit soort aanvallen te voorkomen, heeft de Bluetooth SIG een toetsvernieuwingsprocedure gedefinieerd. Deze procedure kan door de Provisioner worden gestart om een ​​specifieke node op de Blacklist te plaatsen. De procedure voor het vernieuwen van de sleutel geeft nieuwe netwerksleutels, toepassingssleutels en alle benodigde informatie uit aan alle apparaten in het mesh-netwerk, behalve de apparaten op de zwarte lijst. Alle sleutels die het apparaat op de zwarte lijst had, kunnen niet langer worden gebruikt om toegang te krijgen tot het mesh-netwerk.

Privacy (verduistering van berichten):

Privacy is voor iedereen een belangrijk aspect. Privacy in Bluetooth Mesh wordt aangepakt met behulp van de privacysleutel. Zoals eerder besproken, is de privacysleutel afgeleid van de netwerksleutel. Bluetooth Mesh gebruikt deze privacysleutel om de berichtkopwaarden, zoals het bronadres, te verdoezelen. Als het bronadres is versluierd, voorkomt dit dat een aanvaller berichten volgt op basis van hun bronadres.

Aanvallen herhalen

Een aanvaller kan ervoor kiezen om een ​​mesh-netwerk te verstoren door via de ether berichten op te vangen en hetzelfde pakket meerdere keren opnieuw te verzenden. Stel je voor dat een aanvaller berichten vastlegt om het deurslot te ontgrendelen. Als een aanvaller met succes over-the-air-berichten kan vastleggen om de deur te ontgrendelen, zou dit toegang tot de deur opleveren. Het is duidelijk dat dit een enorme bedreiging zou vormen voor mensen en hun eigendommen. Om dit probleem aan te pakken, leverde de Bluetooth SIG twee velden als onderdeel van elk netwerkbericht:de initialisatievectorindex (IV-index) en het volgnummer (SEQ).

Het volgnummer wordt verhoogd telkens wanneer een knooppunt een bericht publiceert. mesh-knooppunten verwijderen de mesh-berichten met een volgnummer dat gelijk is aan of kleiner is dan het laatst verwerkte geldige mesh-bericht. Om het volgnummer te wijzigen, moet een aanvaller over alle vereiste sleutels beschikken om het bericht te decoderen en vervolgens te versleutelen. Deze toetsen zijn alleen beschikbaar voor het beoogde apparaat. Dus zelfs als een aanvaller het bericht probeert te beantwoorden, wordt het door het doelknooppunt verwijderd. De IV-index is een apart veld in het mesh-netwerkbericht. De waarde van IV-index in berichten moet gelijk zijn aan of groter zijn dan het laatst verwerkte geldige mesh-bericht, anders wordt het bericht weggegooid.

In een notendop:het Provisioning-proces in Bluetooth Mesh zorgt ervoor dat alleen vertrouwde apparaten aan het netwerk kunnen worden toegevoegd en vermijdt man-in-the-middle-aanvallen. Met beveiligingssleutels zoals de netwerksleutel kunnen subnetten worden gemaakt, terwijl met toepassingssleutels mesh-berichten alleen door een specifieke toepassing kunnen worden gedecodeerd. Procedures voor het vernieuwen van toetsen implementeren een veilige verwijdering van knooppunten en beschermen tegen Trashcan-aanvallen. Replay-aanvallen worden vermeden door aan elk bericht een volgnummer toe te voegen. Verduistering van berichten beschermt de identiteit van de afzender. Al deze functies maken Bluetooth Mesh zeer veilig en privé.

In het volgende deel van deze serie artikelen zullen we het hebben over de punten waarmee rekening moet worden gehouden bij het selecteren van een Bluetooth Mesh-apparaat voor uw toepassing.


Ingebed

  1. SaaS- en cloudbeveiliging toevoegen met testen en automatisering
  2. Synopsys maakt multi-die-ontwerpen mogelijk met HBM3-IP en verificatie
  3. Ontwerpen met Bluetooth Mesh:chip of module?
  4. Cypress:Bluetooth MCU's leveren mesh-netwerken met alomtegenwoordige smartphone-connectiviteit
  5. Future Electronics tekent nieuwe wereldwijde samenwerkingsovereenkomst met Silvair
  6. Contrinex:cloud-ready slimme sensoren en veiligheidslichtgordijnen met Bluetooth-interface
  7. Swissbit:op hardware gebaseerde beveiligingsoplossingen om gegevens en apparaten te beschermen
  8. Bluetooth MCU verbetert IoT-beveiliging
  9. Raspberry Pi-huisbeveiligingssysteem met camera en PIR-sensor
  10. Leidinggevend met volharding en doorzettingsvermogen
  11. Houden beveiliging en privacy IoT tegen?