Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial Internet of Things >> Embarqué

Concevoir avec Bluetooth Mesh :confidentialité et sécurité

Dans les parties 1 et 2 de cette série d'articles, nous avons discuté de l'architecture Bluetooth Mesh et de la manière dont les messages sont communiqués sur le réseau Bluetooth Mesh. Dans le monde connecté d'aujourd'hui, la sécurité est un élément clé de chaque conception. Ainsi, il est important qu'une application IoT alimentée par Bluetooth Mesh soit absolument sécurisée et fournisse des fonctionnalités fiables.

L'implémentation de la sécurité sur un appareil Bluetooth Mesh est une exigence obligatoire du Bluetooth SIG et elle ne peut pas être désactivée. Notez que dans une implémentation de sécurité de connexion point à point BLE non maillée est facultative. Le processus d'approvisionnement par lequel l'appareil est ajouté au réseau Bluetooth Mesh et l'échange de données au sein du réseau Bluetooth Mesh est méticuleusement conçu avec la sécurité comme priorité absolue. Le protocole Bluetooth Mesh protège le réseau contre diverses menaces possibles sur plusieurs couches telles que :

La topologie Bluetooth Mesh est construite avec l'exigence de clés de sécurité obligatoires qui sécurisent le réseau à plusieurs couches de la pile. Passons en revue chaque fonctionnalité de sécurité et de confidentialité une par une.

Provisionnement :ajout d'un appareil non provisionné au réseau Bluetooth Mesh

Un périphérique Bluetooth Mesh est ajouté à un réseau maillé à l'aide du processus d'approvisionnement. Le périphérique maillé provisionné est appelé nœud et le périphérique qui effectue le provisionnement est appelé provisionneur. En règle générale, un téléphone mobile agit en tant que fournisseur. Il crée un réseau maillé, attribue une clé de réseau et d'autres clés requises. Les appareils maillés non provisionnés sont ajoutés au réseau Bluetooth Mesh à l'aide du processus de provisionnement. Le fournisseur configure également les nœuds maillés provisionnés et contrôle la fonctionnalité des nœuds maillés Bluetooth dans le réseau maillé.

Le protocole d'approvisionnement peut utiliser deux supports d'approvisionnement différents :PB-ADV (support ADV) ou PB-GATT (support GATT). Les appareils mobiles d'aujourd'hui ne prennent pas encore en charge le support PB-ADV. Pour cette raison, le processus d'approvisionnement est effectué via le porteur PB-GATT.

Un appareil maillé non provisionné commence à faire de la publicité après sa mise sous tension. Le fournisseur recherche les appareils non approvisionnés et établit une connexion BLE standard (en supposant PB-GATT) avec l'appareil non approvisionné. Il partage ensuite les clés à l'aide du protocole Elliptical Curve Diffie-Hellman (ECDH). Ainsi, l'échange de clés via ECDH est très sécurisé.

Les deux appareils créent ensuite une clé de session à l'aide des clés échangées. La clé de session est utilisée pour crypter la clé de réseau, la clé de périphérique (les types de clé sont abordés dans les sections suivantes de cet article), l'index IV et une adresse de monodiffusion, qui sont tous envoyés au nœud Bluetooth Mesh configuré. Après un provisionnement réussi, le nœud maillé passe par le processus de configuration où la capacité du nœud maillé est partagée avec le provisionneur. Le fournisseur attribue des clés d'application au nœud configuré. Chaque nœud de maillage peut avoir plusieurs clés d'application, de sorte que chaque clé d'application doit être liée à un modèle de maillage spécifique à l'aide du processus appelé liaison de clé. De cette façon, la pile de maillage sait quelles clés d'application utiliser pour un modèle de maillage spécifié.

La figure 1 montre la séquence d'approvisionnement lorsqu'un smartphone avec l'application d'assistance de maillage iOS essaie d'approvisionner une ampoule à intensité variable implémentée à l'aide du kit d'évaluation CYBT-213043-MESH.

cliquez pour agrandir l'image

Figure 1 :Le processus d'approvisionnement pour une ampoule à intensité variable. (Source :Cypress)

Comme on peut le voir sur la figure, l'ampoule à intensité variable transmet des balises de périphérique non provisionnées. Lorsque le fournisseur essaie d'ajouter un appareil, l'ampoule à intensité variable apparaît dans la liste des appareils non approvisionnés. Lorsque l'utilisateur clique sur l'appareil Dimmable Light dans l'application de maillage iOS, le processus d'approvisionnement démarre.

Le téléphone envoie une invitation d'approvisionnement et l'ampoule à intensité variable répond avec des capacités telles que le nombre d'éléments pris en charge, les algorithmes de sécurité pris en charge, la disponibilité de la clé publique à l'aide de l'out-of-band (OOB) et la capacité d'entrée/sortie pour entrer/ afficher la valeur utilisateur. Sur la base des capacités de l'ampoule à intensité variable, les clés publiques ECDH sont échangées soit à l'aide d'une méthode OOB, soit à l'aide de la liaison Bluetooth. Ensuite, l'authentification est effectuée.

Une fois l'ampoule à intensité variable authentifiée, le fournisseur envoie les données d'approvisionnement via le lien crypté AES-CCM. Une fois que les données d'approvisionnement (clé de réseau, clé d'appareil, index IV, adresse de monodiffusion, etc.) sont envoyées à l'ampoule à intensité variable, le processus d'approvisionnement est terminé. Le fournisseur peut maintenant configurer l'ampoule à intensité variable (non illustrée dans ce diagramme de séquence).

Clé de réseau, clé d'application et clé d'appareil

La possession de la clé réseau permet à un nœud de décrypter et de s'authentifier jusqu'à la couche réseau qui permet de relayer les messages au sein d'un réseau. Les clés de chiffrement réseau et les clés privées sont dérivées de la clé réseau. Il est important de noter que même si tous les nœuds du réseau reçoivent et transmettent des messages de relais maillé, les données d'application réelles ne peuvent pas être déchiffrées à l'aide des clés de réseau. Les données d'application ne peuvent être déchiffrées que si l'appareil possède la clé d'application appropriée.

Clé réseau :Un nœud peut posséder une ou plusieurs clés Réseau. Cela permet la création de plusieurs sous-réseaux au sein d'un seul réseau Bluetooth Mesh. Par exemple, considérons un système de stationnement à plusieurs niveaux. Il peut être avantageux de diviser chaque niveau en son propre sous-réseau. Ce partitionnement évite le relais des messages à tous les niveaux et confine les messages relayés au niveau souhaité.

Clé d'application :les clés d'application sont partagées entre un sous-ensemble d'appareils au sein d'un réseau maillé. Généralement, ces appareils ont des fonctionnalités similaires. Par exemple, toutes les ampoules du salon peuvent partager la même clé d'application alors qu'un détecteur de mouvement ou une serrure aura une clé d'application distincte. Le message maillé pour changer l'état de l'ampoule ne peut être déchiffré que par les ampoules du salon (c'est-à-dire que ce sont les seuls appareils qui contiennent la clé d'application requise).

Clé de l'appareil : Les clés de périphérique sont attribuées à chaque nœud maillé provisionné par le fournisseur. Cela permet une identification unique des nœuds du maillage. La clé de périphérique est utilisée uniquement pendant le processus de configuration du nœud par le fournisseur.

Suppression de nœuds (Key Refresh, Blacklisting)

Il est important d'empêcher un pirate informatique de lancer une attaque sur un réseau maillé spécifique en utilisant des clés de sécurité obtenues à partir d'un nœud maillé défectueux ou supprimé qui faisait partie du réseau maillé ciblé. Ce type d'attaque est communément appelé attaque Trashcan. Pour éviter ce genre d'attaques, le Bluetooth SIG a défini une procédure de rafraîchissement des clés. Cette procédure peut être initiée par le fournisseur pour mettre un nœud spécifique dans la liste noire. La procédure d'actualisation des clés émet de nouvelles clés réseau, des clés d'application et toutes les informations nécessaires à tous les appareils du réseau maillé, à l'exception des appareils de la liste noire. Les clés de l'appareil sur liste noire ne peuvent plus être utilisées pour accéder au réseau maillé.

Confidentialité (obscurcissement du message) :

La confidentialité est un aspect important pour tout le monde. La confidentialité dans Bluetooth Mesh est gérée à l'aide de la clé de confidentialité. Comme indiqué précédemment, la clé de confidentialité est dérivée de la clé de réseau. Bluetooth Mesh utilise cette clé de confidentialité pour masquer les valeurs d'en-tête de message telles que l'adresse source. Si l'adresse source est masquée, cela empêchera un attaquant de suivre les messages en fonction de leur adresse source.

Rejouer les attaques

Un attaquant peut choisir de perturber un réseau maillé en capturant des messages sans fil et en renvoyant le même paquet plusieurs fois. Imaginez un attaquant capturant des messages pour déverrouiller la serrure de la porte. Si un attaquant parvient à capturer des messages en direct pour déverrouiller la porte, cela fournira l'accès à la porte. De toute évidence, ce serait une énorme menace pour les personnes et leurs biens. Pour résoudre ce problème, le Bluetooth SIG a fourni deux champs dans chaque message réseau :l'index du vecteur d'initialisation (index IV) et le numéro de séquence (SEQ).

Le numéro de séquence est incrémenté à chaque fois qu'un nœud publie un message. les nœuds de maillage rejetteront les messages de maillage avec un numéro de séquence égal ou inférieur au dernier message de maillage valide traité. Pour modifier le numéro de séquence, un attaquant doit posséder toutes les clés nécessaires pour décoder puis chiffrer le message. Ces clés ne sont disponibles que pour l'appareil prévu. Ainsi, même si un attaquant essaie de répondre au message, il sera rejeté par le nœud cible. L'indice IV est un champ séparé dans le message du réseau maillé. La valeur de l'indice IV dans les messages doit être égale ou supérieure au dernier message maillé valide traité, sinon le message sera rejeté.

En résumé, le processus d'approvisionnement dans Bluetooth Mesh permet uniquement d'ajouter des appareils de confiance au réseau et évite toute attaque de l'homme du milieu. Les clés de sécurité telles que la clé réseau permettent la création de sous-réseaux tandis que les clés d'application permettent aux messages maillés d'être décodés uniquement par une application spécifique. Les procédures d'actualisation des clés implémentent la suppression sécurisée des nœuds et protègent contre les attaques Trashcan. Les attaques par rejeu sont évitées en ajoutant un numéro de séquence à chaque message. L'obscurcissement du message protège l'identité de l'expéditeur. Toutes ces fonctionnalités rendent Bluetooth Mesh très sécurisé et privé.

Dans la prochaine partie de cette série d'articles, nous parlerons des points à considérer lors de la sélection d'un appareil Bluetooth Mesh pour votre application.


Embarqué

  1. Synopsys permet des conceptions multi-dies avec IP HBM3 et vérification
  2. Concevoir avec Bluetooth Mesh :puce ou module ?
  3. Cypress :les microcontrôleurs Bluetooth offrent un réseau maillé avec une connectivité omniprésente pour les smartphones
  4. Future Electronics signe un nouvel accord de partenariat mondial avec Silvair
  5. Contrinex :capteurs intelligents et barrières immatérielles de sécurité compatibles avec le cloud avec interface Bluetooth
  6. Swissbit :solutions de sécurité matérielles pour protéger les données et les appareils
  7. Le MCU Bluetooth améliore la sécurité de l'IoT
  8. Système de sécurité domestique Raspberry Pi avec caméra et capteur PIR
  9. Diriger avec persévérance et persévérance