Meilleures pratiques de sécurité pour les solutions IoT

Cette vue d’ensemble présente les concepts clés relatifs à la sécurisation d’une solution Azure IoT classique. Chaque section inclut des liens vers du contenu qui fournit des détails et des conseils supplémentaires.

Le diagramme suivant montre une vue générale des composants d’une solution IoT classique. Cet article est axé sur la sécurité d’une solution IoT.

Diagramme montrant une vue d’ensemble de l’architecture de la solution IoT, et mettant en évidence la sécurité.

Vous pouvez diviser la sécurité d’une solution IoT en trois domaines :

  • Sécurité des appareils : Sécurisez l’appareil IoT durant son déploiement.

  • Sécurité des connexions : Vérifiez que toutes les données transmises entre l’appareil IoT et les services cloud IoT sont confidentielles et infalsifiables.

  • Sécurité du cloud : Sécurisez vos données durant leur transit et leur stockage dans le cloud.

L’implémentation des recommandations de cet article vous aidera à respecter les obligations de en matière de sécurité décrites dans le modèle de responsabilité partagée.

Microsoft Defender pour IoT

Microsoft Defender pour IoT peut superviser automatiquement certaines des recommandations fournies dans cet article. Microsoft Defender pour IoT doit être la première ligne de défense pour protéger vos ressources dans Azure. Microsoft Defender pour IoT analyse périodiquement l’état de sécurité de vos ressources Azure pour identifier les failles de sécurité potentielles. Il fournit ensuite des recommandations sur la façon de les corriger. Pour plus d'informations, consultez les rubriques suivantes :

Sécurité de l'appareil

  • Concevoir le matériel en fonction des exigences minimales : sélectionnez votre matériel de façon à inclure les fonctionnalités minimales requises pour son fonctionnement, et rien de plus. Par exemple, incluez des ports USB uniquement s’ils sont nécessaires au fonctionnement de l’appareil dans votre solution. Des fonctionnalités supplémentaires peuvent exposer l’appareil à des vecteurs d’attaque indésirables.

  • Sélectionner du matériel résistant aux falsifications : sélectionnez du matériel intégrant des mécanismes permettant de détecter toute falsification physique telle que l’ouverture du capot ou la suppression d’une partie de l’appareil. Ces signaux de falsification peuvent être inclus dans le flux de données chargé sur le cloud, permettant d’informer les opérateurs de ces événements.

  • Sélectionner du matériel sécurisé : dans la mesure du possible, choisissez du matériel qui intègre des fonctionnalités de sécurité, telles que le stockage sécurisé et chiffré, et une fonctionnalité de démarrage basée sur un module de plateforme sécurisée (TPM). Ces fonctionnalités renforcent la sécurité des appareils et facilitent la protection de l’infrastructure IoT globale.

  • Activer les mises à jour sécurisées : les mises à jour du microprogramme durant la durée de vie de l’appareil sont inévitables. Prévoyez des chemins d’accès sécurisés pour les mises à jour et la garantie du chiffrement des versions du microprogramme, afin de sécuriser vos appareils pendant et après les mises à jour.

  • Respecter une méthodologie de développement de logiciels sécurisés : le développement de logiciels sécurisés nécessite de prendre en compte la sécurité depuis le lancement du projet jusqu’à son implémentation, les tests et le déploiement. Le cycle de développement Microsoft Security Development Lifecycle offre une approche pas à pas de la création de logiciels sécurisés.

  • Utiliser des kits SDK d’appareil dans la mesure du possible : les kits SDK d’appareil implémentent différentes fonctionnalités de sécurité, telles que le chiffrement et l’authentification, qui vous aident à développer des applications d’appareil robustes et sécurisées. Pour plus d’informations, consultez Kits SDK Azure IoT.

  • Choisir des logiciels open source avec précaution : les logiciels open source permettent de développer des solutions rapidement. Quand vous choisissez des logiciels open source, tenez compte du niveau d’activité de la communauté vis-à-vis de chaque composant open source. Avec une communauté active, les logiciels bénéficient d’un vaste soutien, et les problèmes sont identifiés et traités. Ce n’est pas nécessairement le cas d’un projet logiciel open source obscur et inactif : les problèmes ne sont probablement pas identifiés.

  • Déployer le matériel de façon sécurisée : les déploiements IoT peuvent imposer que vous déployiez du matériel dans des lieux non sécurisés, par exemple dans des espaces publics ou des lieux non supervisés. Dans ce cas, veillez à ce que le déploiement matériel soit protégé contre les falsifications dans la mesure du possible. Par exemple, si le matériel a des ports USB, veillez à ce qu’ils soient couverts de manière sécurisée.

  • Protéger les clés d’authentification : lors du déploiement, chaque appareil requiert des ID et les clés d’authentification associées générées par le service cloud. Protégez physiquement ces clés, même après le déploiement. Un appareil malveillant peut utiliser n’importe quelle clé compromise pour usurper l’identité d’un appareil existant.

  • Garder le système à jour : vérifiez que les systèmes d’exploitation et tous les pilotes des appareils sont au niveau des dernières versions. Tenir à jour les systèmes d’exploitation permet également de les protéger contre les attaques malveillantes.

  • Protéger le système contre les activités malveillantes : installez les dernières fonctionnalités de protection antivirus et anti-programme malveillant sur le système d’exploitation de chaque appareil, quand celui-ci le permet.

  • Effectuer des audits fréquemment : il est essentiel de rechercher les problèmes de sécurité au sein de l’infrastructure IoT pour traiter les incidents de sécurité. La plupart des systèmes d’exploitation offrent une journalisation des événements intégrée. Examinez les journaux fréquemment pour vérifier qu’aucune violation de sécurité n’a été détectée. Un appareil peut envoyer des informations d’audit sous la forme d’un flux de télémétrie au service cloud, où elles peuvent être analysées.

  • Suivre les meilleures pratiques en matière de sécurité et de déploiement préconisées par le fabricant de l’appareil : si le fabricant de l’appareil fournit des instructions relatives à la sécurité et au déploiement, suivez ces instructions en plus des instructions génériques répertoriées dans cet article.

  • Utiliser une passerelle de champ pour fournir des services de sécurité aux appareils hérités ou contraints : les appareils hérités et contraints peuvent ne pas avoir la capacité à chiffrer les données, à se connecter à Internet ou à fournir un audit avancé. Dans ce cas, une passerelle de champ moderne et sécurisée peut agréger les données des appareils existants et offrir la sécurité requise pour connecter ces appareils à Internet. Les passerelles de champ peuvent assurer l’authentification sécurisée, la négociation de sessions chiffrées, la réception des commandes du cloud et beaucoup d’autres fonctionnalités de sécurité.

Sécurité de la connexion

  • Utiliser des certificats X.509 pour authentifier vos appareils auprès d’IoT Hub ou d’IoT Central : IoT Hub et IoT Central prennent en charge l’authentification basée sur des certificats X509 et les jetons de sécurité en tant que méthodes pour qu’un appareil s’authentifie. Si possible, utilisez l’authentification basée sur X509 dans les environnements de production, car elle offre une sécurité accrue. Pour plus d’informations, consultez Authentification d’un appareil auprès d’IoT Hub et Concepts relatifs à l’authentification des appareils dans IoT Central.

  • Utiliser TLS (Transport Layer Security) 1.2 pour sécuriser les connexions à partir d’appareils : IoT Hub et IoT Central utilisent TLS pour sécuriser les connexions en provenance d’appareils et de services IoT. Trois versions du protocole TLS sont actuellement prises en charge : 1.0, 1.1 et 1.2. TLS 1.0 et 1.1 sont considérés comme hérités. Pour en savoir plus, consultez Authentification et autorisation.

  • Veiller à disposer d’un moyen de mettre à jour le certificat racine TLS sur les appareils : les certificats racines TLS ont une longue durée de vie, mais ils peuvent tout de même expirer ou être révoqués. S’il n’existe aucun moyen de mettre à jour le certificat sur l’appareil, il est possible que celui-ci ne puisse pas se connecter ultérieurement à IoT Hub, IoT Central ou tout autre service cloud.

  • Envisager l’utilisation d’Azure Private Link : Azure Private Link vous permet de connecter vos appareils à un point de terminaison privé sur votre réseau virtuel, ce qui vous permet de bloquer l’accès aux points de terminaison publics de votre hub IoT. Pour en savoir plus, consultez Connectivité d’entrée vers IoT Hub avec Azure Private Link et Sécurité réseau pour IoT Central à l’aide de points de terminaison privés.

Sécurité du cloud

Étapes suivantes

Pour en savoir plus sur la sécurité IoT, consultez :