Provisionnement de capteurs intelligents pour l'IoT
L'Internet des objets (IoT) n'est pas étranger à la plupart d'entre nous à ce stade. Les appareils IoT peuvent être considérés comme appartenant aux marchés grand public, médical ou industriel. Que l'appareil soit une sonnette vidéo, une pompe à insuline ou un capteur industriel, l'utilisateur sera confronté à deux défis importants :1) connecter physiquement/logiquement l'appareil au réseau et 2) s'assurer que l'appareil dispose des informations d'identification appropriées pour lui permettre d'interagir avec d'autres appareils sur le même réseau ou avec le(s) serveur(s) censé(s) collecter les données de l'appareil. Ces défis peuvent être largement regroupés dans un processus appelé provisionnement.
Provisionnement de base
Le plus grand défi dans le processus de provisionnement est la capacité à garantir qu'un appareil et la connexion au réseau/serveur sont sécurisés. Cela dépend fortement des techniques de chiffrement asymétrique et symétrique et de l'existence de certificats numériques.
Dans le cas du cryptage asymétrique, il existe une paire de clés publique/privée mathématiquement liée. Si quelque chose est chiffré avec la clé publique, seule la clé privée peut le déchiffrer. Cela s'oppose au chiffrement symétrique, où la même clé est utilisée pour chiffrer et déchiffrer le message. Le chiffrement symétrique nécessite moins de ressources (par exemple, moins de bits dans la clé, ce qui se traduit par un chiffrement plus rapide) pour obtenir une meilleure sécurité qu'avec le chiffrement asymétrique. Cependant, le chiffrement symétrique nécessite que les clés soient échangées d'une manière qui ne peut pas être vue par un intrus. Ce qui est généralement fait consiste à utiliser la clé publique de la destination pour chiffrer une clé prémaître, l'envoyer à la destination, puis la destination utilise sa clé privée pour déchiffrer la clé prémaître et générer la clé de session partagée. C'est ainsi que l'échange de clés Diffie-Hellman permet l'utilisation d'un chiffrement symétrique plus rapide et plus puissant à l'aide d'une poignée de main qui exploite le chiffrement asymétrique.
La première exigence pour le provisionnement est que l'appareil IoT dispose d'un mécanisme d'identité unique. Cela peut faire partie du processus de fabrication de l'appareil dans lequel une puce d'identité fait partie de la nomenclature, ou ce que font de nombreux fabricants de microprocesseurs de nos jours - graver une identité unique avec des clés publiques et privées dans le processeur lors de la fabrication. C'est ce qu'on appelle l'approvisionnement au cours de la chaîne d'approvisionnement.
Nous pouvons voir que les étapes de base utilisées pour provisionner les appareils IoT au sein de l'entreprise ou avec des fournisseurs de services tels qu'Amazon Web Services, Google Cloud ou Microsoft Azure suivent toutes un processus similaire :
- Inscription des appareils
-
Créez un enregistrement sur le serveur qui inclut les métadonnées de l'appareil IoT. Cela peut inclure un numéro de série ou un autre identifiant d'appareil unique, l'emplacement de l'appareil et d'autres données qui aident l'entreprise utilisant l'appareil IdO à comprendre son rôle.
-
- Génération de clé
-
Si l'appareil IoT possède une puce d'identité unique telle qu'un module de plateforme sécurisée (TPM) ou si un ensemble de clés publiques et privées est installé au moment de la fabrication, cette génération de clé est déjà effectuée. Cependant, si un ensemble de clés n'existe pas déjà, le programme d'installation peut générer un ensemble à l'aide d'outils tels que OpenSSL. Ou si l'un des fournisseurs de cloud est utilisé, le fournisseur de services disposera généralement d'un mécanisme de génération de clé. Les clés publiques et privées devront être stockées sur l'appareil, la clé privée étant placée dans une sorte de stockage protégé pour éviter qu'elle ne soit lue sur l'appareil sur le terrain. Pour des raisons de sécurité, il est suggéré que les clés aient au moins 2048 bits de long ou plus si des algorithmes basés sur RSA sont utilisés ou 256 bits ou plus pour les algorithmes basés sur des courbes elliptiques.
-
- Générer un certificat
-
Au moment de l'activation, l'appareil génère une demande de signature de certificat (CSR) et envoie cette CSR à une autorité de certification (CA) pour signature. L'autorité de certification est généralement un tiers de confiance tel que Digicert, GlobalSign ou même le fournisseur de services cloud. L'appareil envoie sa clé publique et certaines métadonnées dans le CSR et l'autorité de certification génère un certificat SSL (Secure Socket Layer) (généralement un certificat X.509). Il signe ce certificat avec la clé privée de l'autorité de certification avant de le renvoyer à l'appareil. Une fois que l'appareil dispose d'un certificat, il peut participer à une poignée de main TLS (Transport Layer Security) qui peut établir une liaison chiffrée avec le serveur. Étant donné que le certificat est signé par la clé privée d'un tiers de confiance, nous pouvons affirmer que l'appareil qui contrôle la clé privée associée à la clé publique dans le certificat est connu et approuvé.
-
Il est également possible de générer un certificat « auto-signé ». Si, par exemple, l'appareil était fabriqué en interne et utilisé uniquement par le fabricant, il ne serait pas nécessaire qu'une autorité de certification extérieure le certifie. À l'aide d'outils comme OpenSSL, le fabricant peut générer la paire de clés publique/privée et le certificat, et les copier dans le stockage sécurisé de l'appareil lorsque l'appareil sort de la chaîne de fabrication.
-
- Provisionner l'appareil
-
Avec les clés et le certificat, l'appareil peut désormais affirmer son identité auprès du fournisseur de services en initiant une liaison sécurisée via TLS ou la version datagramme de TLS connue sous le nom de DTLS. La poignée de main TLS/DTLS établit une clé de cryptage symétrique qui peut être utilisée pour un transfert de données sécurisé ultérieur entre l'appareil et le fournisseur de services afin que l'appareil puisse être inscrit et les données stockées dans l'enregistrement généré avec le fournisseur de services à l'étape 1.
-
La poignée de main est utilisée pour mettre en œuvre un échange de clé sécurisé afin d'établir une liaison de chiffrement symétrique. Une fois le lien établi, les données peuvent être transférées de l'appareil vers le serveur sans crainte d'être compromises par des cyberattaques. Par exemple, les attaques de l'homme du milieu (MITM), où un intermédiaire intercepte la communication en transit, seront empêchées car l'intrus n'a pas la clé symétrique utilisée dans le chiffrement en masse. Les nouvelles versions de la poignée de main TLS (TLS 1.3) raccourcissent considérablement cet échange de messages pour prendre en charge des transferts à latence plus faible des appareils vers les systèmes de collecte de données.
Provisionnement en masse
Jusqu'à présent, la discussion sur l'approvisionnement était axée sur la présence d'un humain dans la boucle pour les singletons ou un petit nombre d'appareils. La sécurité a aussi largement porté sur l'utilisation du cryptage et l'être humain pouvant attester de l'authenticité de l'appareil en l'ayant sorti de son emballage d'origine. Cependant, lorsque l'on travaille à l'échelle industrielle, cette exigence d'un être humain impliqué physiquement n'est pas pratique.
Par exemple, bon nombre des nouveaux bâtiments intelligents contiennent des milliers de capteurs, notamment des capteurs de lumière ambiante, des capteurs de qualité de l'air, des microphones pour déterminer l'occupation de la pièce et des capteurs de température et d'humidité, pour n'en nommer que quelques-uns. Si un humain devait approvisionner manuellement chacun de ces appareils, cela se transformerait rapidement en un travail à temps plein. Cependant, l'identité de ces appareils et leurs informations d'identification de sécurité devront être garanties. Alors, comment les appareils peuvent-ils être provisionnés en masse sans intervention humaine ?
Tout d'abord, nous devons comprendre que les appareils IoT industriels ont toujours les deux exigences de base qui ont été discutées au début. L'opérateur devra associer les appareils à un réseau et vérifier l'identité des appareils et leur sécurité avant de leur accorder l'accès au serveur ou au fournisseur de services qui collecte et analyse les sorties des capteurs. La connexion physique au réseau variera en fonction des supports de communication et pouvoir affirmer une identité nécessitera l'utilisation de certificats numériques. Afin de prendre en charge l'approvisionnement en masse, il est préférable d'incorporer la paire de clés publique/privée et le certificat de l'appareil dans la chaîne d'approvisionnement, de sorte que l'appareil sorte de la boîte prêt à générer la demande de signature de certificat et à gérer la poignée de main d'approvisionnement.
Naturellement, de nombreux appareils IoT utiliseront un protocole sans fil quelconque, en particulier s'il s'agit d'applications entièrement nouvelles. Il existe une multitude de choix, notamment cellulaire, Wi-Fi, Zigbee, LoRaWAN, SigFox, etc. Cependant, si nous mettons à niveau une application héritée, il est toujours possible qu'Ethernet, RS-485, ProfiBus ou de nombreuses autres technologies filaires plus anciennes soient utilisées. Dans le cas des interfaces filaires, l'accès au réseau peut être aussi simple que de brancher le câble sur l'appareil. Cependant, les protocoles sans fil sont un peu plus compliqués.
Si la connectivité se fait via une connexion cellulaire, l'approvisionnement est probablement géré par le fournisseur cellulaire sous la forme d'une carte de module d'identification d'abonné (SIM) ou de l'un des nouveaux modules eSIM intégrés. Lorsque l'opérateur prend l'identifiant IMEI (International Mobile Equipment Identity) de l'appareil et l'associe à une carte SIM/eSIM spécifique dans ses bases de données internes, l'opérateur dispose d'un moyen unique pour identifier l'appareil. Cette identité unique est utilisée pour valider l'appareil en tant que membre légitime du réseau de l'opérateur et pour assurer l'approvisionnement de l'appareil par liaison radio. Par conséquent, en ayant une liste des numéros IMEI et de leur SIM/eSIM associée, tous les appareils peuvent être activés/provisionnés sans autre intervention humaine. Ce même type d'approche peut être appliqué à d'autres technologies sans fil de type cellulaire telles que LoRaWAN.
Des technologies telles que le maillage Bluetooth, que l'on trouve de plus en plus dans les bâtiments intelligents, ont également une stratégie d'approvisionnement intégrée basée sur les mêmes concepts d'une paire de clés publique/privée et d'un certificat numérique intégré dans l'appareil. Grâce à un protocole de provisionnement bien défini et aux poignées de main de sécurité associées, un nouvel appareil peut être ajouté en toute sécurité au réseau en quelques millisecondes sans interaction humaine. Ce même type de scénario de provisionnement peut être trouvé dans un certain nombre d'options de connexion IoT.
Réflexions finales sur le provisionnement de l'IoT
La connexion et l'approvisionnement de vos appareils sur votre réseau nécessite une réflexion approfondie sur la sécurité et le processus d'approvisionnement. Heureusement, grâce aux références de sécurité de la chaîne d'approvisionnement et aux nouveaux protocoles et techniques d'approvisionnement, le processus peut être accompli avec un minimum d'interaction humaine et beaucoup moins de temps que par le passé. La génération automatisée de certificats et des protocoles de sécurité bien définis peuvent garantir que nos appareils ont une identité valide et utiliseront toujours une génération de clé sécurisée et des communications cryptées entre eux et les serveurs/fournisseurs de services.
Les principaux fournisseurs de services cloud ont beaucoup réfléchi à leurs mécanismes de provisionnement, avec des étapes et des protocoles de provisionnement bien définis. Malheureusement, chaque fournisseur de services utilise un ensemble différent d'API et d'approches. Cependant, le flux de provisionnement général est le même entre les fournisseurs et peut facilement être automatisé pour les cas de déploiements de masse. Il existe également une multitude d'entreprises qui se concentrent sur les dispositifs de provisionnement IoT et les approches d'automatisation, s'il existe des infrastructures héritées ou internes nécessaires à l'entreprise. Ainsi, alors que tout le monde devra tenir compte des problèmes de provisionnement à un moment ou à un autre, qu'il s'agisse d'un consommateur ou d'une entreprise, vous pourrez au moins capitaliser sur les approches existantes et ne pas avoir à ouvrir de nouvelles voies.
Cet article a été rédigé par Mike Anderson, architecte de systèmes embarqués et consultant industriel. Pour plus d'informations, contactez M. Anderson à Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer Javascript pour le voir. ou visitez http://info.hotims.com/82319-160 .
Capteur
- Faciliter le provisionnement IoT à grande échelle
- Smart data :La prochaine frontière de l'IoT
- IoT :le remède contre la hausse des coûts de santé ?
- Que signifie l'IdO pour l'usine intelligente ?
- L'IdO change la donne pour l'entretien de la flotte
- Trouver la rentabilité de la fabrication intelligente
- La voie vers une usine intelligente interconnectée pour les équipementiers de dispositifs médicaux
- Matériel pour la prochaine génération de capteurs intelligents
- Que fera la 5G pour l'IoT/IIoT ?