Approvisionnement efficace des capteurs IoT : connectivité sécurisée et gestion des identifiants
L'internet des objets (IoT) n'est plus étranger à la plupart d'entre nous à ce stade. Les dispositifs IoT peuvent être vus comme appartenant soit au marché grand public, médical, ou industriel. Que le dispositif soit une sonnette vidéo, une pompe à insuline, ou un capteur industriel, l'utilisateur fera face à deux défis significatifs : 1) connecter physiquement/logiquement le dispositif au réseau et 2) s'assurer que le dispositif a les identifiants appropriés pour lui permettre d'interopérer avec d'autres dispositifs sur le même réseau ou avec le(s) serveur(s) qui sont censés collecter les données du dispositif. Ces défis peuvent être largement regroupés dans un processus connu sous le nom d'approvisionnement (provisioning).
Approvisionnement de base
Le plus grand défi dans le processus d'approvisionnement est la capacité d'assurer qu'un dispositif et la connexion au réseau/serveur sont sécurisés. Cela repose fortement sur les techniques de chiffrement asymétrique et symétrique et l'existence de certificats numériques.
Dans le cas du chiffrement asymétrique, il y a un couple de clés publique/privée mathématiquement liées. Si quelque chose est chiffré avec la clé publique, alors 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 (ex. moins de bits dans la clé, ce qui résulte en un chiffrement plus rapide) pour atteindre 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 est d'utiliser la clé publique de la destination pour chiffrer une clé pré-maître, l'envoyer à la destination et ensuite 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 la façon dont l'échange de clés Diffie-Hellman permet l'utilisation de chiffrement symétrique plus rapide et plus fort en utilisant une poignée de main qui tire parti du chiffrement asymétrique.
La première exigence pour l'approvisionnement est que le dispositif IoT a un mécanisme d'identité unique. Cela peut faire partie du processus de fabrication du dispositif où une puce d'identité fait partie de la nomenclature, ou ce que de nombreux fabricants de microprocesseurs font ces jours-ci — graver une identité unique avec des clés publiques et privées dans le processeur à la fabrication. Cela est appelé approvisionnement pendant la chaîne d'approvisionnement.
Nous pouvons voir que les étapes de base utilisées pour l'approvisionnement des dispositifs IoT soit au sein de l'entreprise, soit avec des fournisseurs de services comme Amazon Web Services, Google Cloud, ou Microsoft Azure, suivent tous un processus similaire :
- Enrôlement du dispositif
- Créer un enregistrement au serveur qui inclut les métadonnées pour le dispositif IoT. Cela pourrait inclure un numéro de série ou autre identifiant unique de dispositif, l'emplacement du dispositif, et d'autres données qui aident l'entreprise utilisant le dispositif IoT à comprendre son rôle.
- Génération de clés
- Si le dispositif IoT a une puce d'identité unique comme un Module de Plateforme de Confiance (TPM) ou a autrement un ensemble de clés publiques et privées installées au moment de la fabrication, alors cette génération de clés est déjà faite. Cependant, si un ensemble de clés n'existe pas déjà, l'installateur peut en générer un en utilisant des outils comme OpenSSL. Ou si l'un des fournisseurs cloud est utilisé, le fournisseur de service aura généralement un mécanisme de génération de clés. Les clés publiques et privées devront être stockées sur le dispositif, avec la clé privée placée dans une sorte de stockage protégé pour l'empêcher d'être lue hors du dispositif sur le terrain. Pour des raisons de sécurité, il est suggéré que les clés soient d'au moins 2048 bits ou plus si des algorithmes basés sur RSA sont utilisés ou 256 bits ou plus pour les algorithmes basés sur courbes elliptiques.
- Générer un certificat
- Au moment de l'activation, le dispositif génère une demande de signature de certificat (CSR) et envoie ce CSR à une autorité de certification (CA) pour signature. La CA est typiquement un tiers de confiance comme Digicert, GlobalSign, ou même le fournisseur de service cloud. Le dispositif envoie sa clé publique et quelques métadonnées dans le CSR et la CA génère un certificat de couche de socket sécurisé (SSL) (typiquement un certificat X.509). Elle signe ce certificat avec la clé privée de la CA avant de le renvoyer au dispositif. Une fois que le dispositif a un certificat, il peut participer à une poignée de main de sécurité de couche de transport (TLS) qui peut établir un lien chiffré vers le serveur. Parce que le certificat est signé par la clé privée d'un tiers de confiance, nous pouvons affirmer que le dispositif qui contrôle la clé privée associée à la clé publique dans le certificat est connu et de confiance.
- Il est aussi possible de générer un certificat « auto-signé ». Si, par exemple, le dispositif a été fabriqué en interne et utilisé seulement par le fabricant, il n'y aurait pas besoin d'une CA extérieure pour le certifier. En utilisant des outils comme OpenSSL, le fabricant pourrait générer le couple de clés publique/privée et le certificat, et les copier dans le stockage sécurisé sur le dispositif au fur et à mesure qu'il sort de la ligne de fabrication.
- Approvisionner le dispositif
- Avec les clés et le certificat, le dispositif peut maintenant affirmer son identité au fournisseur de service en initiant un lien sécurisé 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 chiffrement symétrique qui peut être utilisée pour le transfert de données sécurisé subséquent entre le dispositif et le fournisseur de service pour que le dispositif puisse être enrôlé, et les données stockées dans l'enregistrement généré avec le fournisseur de service à l'étape 1.
La poignée de main est utilisée pour implémenter un échange de clé sécurisé pour établir un lien de chiffrement symétrique. Une fois le lien établi, les données peuvent être transférées du dispositif vers le serveur sans crainte de compromission par des cyberattaques. Par exemple, les attaques man-in-the-middle (MITM), où un intermédiaire intercepte la communication en transit, seront prévenues puisque l'intrus manque la clé symétrique utilisée dans le chiffrement en vrac. Les versions plus récentes de la poignée de main TLS (TLS 1.3) raccourcissent dramatiquement cet échange de messages pour supporter des transferts à latence plus faible des dispositifs vers les systèmes de collecte de données.
Approvisionnement en masse
Jusqu'à ce point, la discussion sur l'approvisionnement était concentrée sur avoir un humain dans la boucle pour des dispositifs uniques ou en petits nombres. La sécurité se concentrait aussi largement sur l'utilisation du chiffrement et l'humain étant capable d'attester de l'authenticité du dispositif en l'ayant sorti de son emballage d'origine. Cependant, quand on travaille à des échelles industrielles, cette exigence d'un humain physiquement impliqué est impraticable.
Par exemple, de nombreux bâtiments intelligents plus récents contiennent des milliers de capteurs, incluant des capteurs de lumière ambiante, capteurs de qualité d'air, microphones pour déterminer l'occupation des pièces, et capteurs de température et d'humidité, pour n'en nommer que quelques-uns. Si un humain devait approvisionner chacun de ces dispositifs manuellement, cela deviendrait vite un travail à temps plein. Cependant, les identités de ces dispositifs et leurs identifiants de sécurité devront être assurés. Alors, comment les dispositifs peuvent-ils être approvisionnés en masse sans intervention humaine ?
D'abord, nous devons comprendre que les dispositifs IoT industriels ont toujours les deux exigences de base discutées au début. L'opérateur devra associer les dispositifs avec un réseau et vérifier l'identité des dispositifs et leur sécurité avant de leur accorder l'accès au serveur ou fournisseur de service qui collecte et analyse les sorties des capteurs. La connexion physique au réseau variera basée sur les médias de communication et être capable d'affirmer une identité nécessitera l'utilisation de certificats numériques. Afin de supporter l'approvisionnement en masse, il est préférable d'incorporer le couple de clés publique/privée et le certificat du dispositif dans la chaîne d'approvisionnement, donc le dispositif sort 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 dispositifs IoT utiliseront un protocole sans fil de quelque sorte, surtout si on traite des applications greenfield. Il y a une multitude de choix incluant cellulaire, Wi-Fi, Zigbee, LoRaWAN, SigFox, et plus. Cependant, si nous mettons à niveau une application legacy, il est encore possible qu'Ethernet, RS-485, ProfiBus, ou beaucoup d'autres technologies filaires plus anciennes, puissent être en usage. Dans le cas des interfaces filaires, accéder au réseau peut être aussi simple que de brancher le câble dans le dispositif. Cependant, les protocoles sans fil sont quelque peu plus compliqués.
Si la connectivité est via une connexion cellulaire, l'approvisionnement est probablement géré par le fournisseur cellulaire sous la forme d'une carte d'identification d'abonné (SIM) ou l'un des nouveaux modules eSIM embarqués. Quand le transporteur prend l'identifiant d'équipement mobile international (IMEI) du dispositif et l'associe avec une SIM/eSIM spécifique dans leurs bases de données internes, le transporteur a un moyen unique d'identifier le dispositif. Cette identité unique est utilisée pour valider le dispositif comme membre légitime du réseau du transporteur et pour fournir l'approvisionnement au dispositif par les ondes. Par conséquent, en ayant une liste des numéros IMEI et leurs SIM/eSIM associées, tous les dispositifs peuvent être activés/approvisionnés sans intervention humaine supplémentaire. Cette même sorte d'approche peut être appliquée à d'autres technologies sans fil de type cellulaire comme LoRaWAN.
Des technologies comme le mesh Bluetooth, qui est de plus en plus trouvé dans les bâtiments intelligents, ont aussi une stratégie d'approvisionnement intégrée basée sur les mêmes concepts de couple de clés publique/privée et certificat numérique embarqué dans le dispositif. À travers un protocole d'approvisionnement bien défini et des poignées de main de sécurité associées, un nouveau dispositif peut être ajouté sécurisément au réseau en quelques millisecondes sans interaction humaine. Ce même scénario d'approvisionnement peut être trouvé à travers un certain nombre d'options de connexion IoT.
Réflexions finales sur l'approvisionnement IoT
Connecter et approvisionner vos dispositifs sur votre réseau nécessite une réflexion considérable sur la sécurité et le processus d'approvisionnement. Heureusement, avec les identifiants de sécurité de la chaîne d'approvisionnement et les nouveaux protocoles et techniques d'approvisionnement, le processus peut être accompli avec un minimum d'interaction humaine et significativement moins de temps que requis par le passé. La génération automatisée de certificats et les protocoles de sécurité bien définis peuvent assurer que nos dispositifs ont une identité valide et utiliseront toujours une génération de clés sécurisée et des communications chiffrées entre eux et les serveurs/fournisseurs de services.
Les principaux fournisseurs de services cloud ont mis pas mal de réflexion derrière leurs mécanismes d'approvisionnement, avec des étapes et protocoles d'approvisionnement bien définis. Malheureusement, chaque fournisseur de service utilise un ensemble différent d'API et d'approches. Cependant, le flux général d'approvisionnement est le même entre les vendeurs et peut facilement être automatisé pour les cas de déploiements de masse. Il y a aussi une multitude d'entreprises qui se concentrent sur les dispositifs d'approvisionnement IoT et les approches d'automatisation, s'il y a des infrastructures legacy ou internes nécessaires pour l'entreprise. Donc, tandis que tout le monde devra considérer les questions d'approvisionnement à un moment ou un autre, qu'ils soient grand public ou entreprise, au moins vous pourrez capitaliser sur les approches existantes et ne pas avoir à tracer de nouvelles pistes.
Cet article a été écrit par Mike Anderson, Architecte Systèmes Embarqués, et Consultant Industriel. Pour plus d'informations, contactez M. Anderson à cette adresse ou visitez https://info.hotims.com/82319-160.
Capteur
- Mise à l'échelle de l'approvisionnement IoT : stratégies sécurisées et efficaces pour l'intégration des appareils
- Données intelligentes : naviguer la prochaine frontière de l'IoT et du Big Data
- Comment l'IoT réduit les coûts de santé et améliore les résultats
- Comment l'IoT révolutionne les opérations d'usine intelligente
- Comment l'IoT transforme la maintenance de flotte : efficacité et fiabilité accrues
- Maximiser le ROI dans la fabrication intelligente : Retour sur investissement et succès piloté par les données
- Transformer les OEM de dispositifs médicaux : plan pour une usine intelligente interconnectée
- Cristaux photoniques changeant de couleur innovants : l'avenir de la technologie des capteurs intelligents
- Comment la 5G va révolutionner l'IoT et l'IIoT industriel