Présentation des flux d'appareils IoT Hub en préversion publique

Publié le 23 janvier, 2019

Senior Program Manager, Azure IoT

Dans un monde numérique où la sécurité est primordiale, offrir aux appareils IoT une connectivité sécurisée relève de la plus haute importance. Dans l'espace IoT, bon nombre de scénarios d'exploitation et de maintenance reposent sur une connectivité de bout en bout des appareils pour permettre aux utilisateurs et services d'interagir en termes de connexion, de dépannage, d'envoi ou de réception de données depuis les appareils. Dans un tel contexte, la sécurité et le respect des stratégies de l'organisation constituent un point essentiel de tous ces scénarios.

Les flux d'appareils Azure IoT Hub sont un nouveau service PaaS qui répond à ces besoins en fournissant une base pour une connectivité sécurisée de bout en bout aux appareils IoT. Clients, partenaires, développeurs d'applications et fournisseurs de plateforme tiers peuvent utiliser les flux d'appareils pour communiquer en toute sécurité avec les appareils IoT situés derrière des pare-feu ou déployés à l'intérieur de réseaux privés. De plus, la compatibilité intégrée avec la pile TCP/IP permet aux flux d'appareils de s’appliquer à un large éventail d’applications impliquant des protocoles propriétaires personnalisés ainsi que des protocoles basés sur des normes, notamment : interpréteur de commandes à distance, web, transfert de fichiers et diffusion vidéo en continu.

Plus précisément, un flux d'appareils IoT Hub est un tunnel de transfert de données qui offre une connectivité entre deux points de terminaison TCP/IP : d'un côté du tunnel se trouve un appareil IoT et de l'autre, un point de terminaison client qui entend communiquer avec l'appareil (ce dernier est appelé ici point de terminaison de service). Dans de nombreuses configurations, la connectivité directe à un appareil est interdite en raison des stratégies de sécurité de l'organisation, ainsi que des restrictions de connectivité appliquées à ses réseaux. Bien que justifiées, ces restrictions influent fréquemment sur divers scénarios légitimes qui nécessitent une connectivité à un appareil IoT.

À titre d'exemple, ces scénarios peuvent être les suivants :

  • Un opérateur souhaite se connecter à un appareil à des fins d'inspection ou de maintenance. Ce scénario implique généralement la connexion à l'appareil à l'aide de Secure Shell (SSH) pour Linux et du protocole RDP (Remote Desktop Protocol) pour Windows. La configuration du pare-feu de l'appareil ou du réseau empêche souvent le poste de travail de l'opérateur d'accéder à l'appareil.
  • Un opérateur doit accéder à distance au portail de diagnostic de l'appareil à des fins de dépannage. Les portails de diagnostic se présentent généralement sous forme de serveur Web hébergé sur l'appareil. L'adresse IP privée d'un appareil ou la configuration de son pare-feu peuvent également empêcher l'utilisateur d'interagir avec le serveur web de l'appareil.
  • Un développeur d'applications doit extraire à distance les journaux et autres informations de diagnostic d'exécution à partir du système de fichiers d'un appareil. Les protocoles couramment utilisés à cette fin peuvent notamment inclure, le protocole FTP (File Transfer Protocol) ou SCP (Secure Copy Protocol). Là encore, les configurations de pare-feu limitent généralement ces types de trafic.

Les flux d'appareils IoT Hub répondent aux besoins de connectivité de bout en bout des scénarios ci-dessus en exploitant un point de terminaison cloud IoT Hub qui agit en tant que proxy pour le trafic d'applications entre l'appareil et le service. Cette configuration est illustrée dans la figure ci-dessous et fonctionne comme suit.

iot-hub-device-streams-overview

  • Les points de terminaison de l'appareil et du service créent chacun des connexions sortantes distinctes vers un point de terminaison IoT Hub qui agit en tant que proxy pour le trafic transmis entre eux.
  • Le point de terminaison IoT Hub relaie les paquets de trafic envoyés de l'appareil au service, et inversement. Cela établit un tunnel bidirectionnel de bout en bout via lequel les applications de l'appareil et du service peuvent communiquer.
  • Le tunnel établi via IoT Hub offre de solides garanties en termes de remise de paquets. En outre, le transfert du trafic via IoT Hub agissant en tant qu'intermédiaire n'est pas visible des applications, ce qui permet une expérience transparente de communication bidirectionnelle directe à égalité avec le protocole TCP.

Avantages

Les flux d'appareils IoT Hub offrent les avantages suivants :

  • Connectivité sécurisée via un pare-feu : Les appareils IoT sont accessibles depuis les points de terminaison du service, sans ouverture du port du pare-feu entrant au niveau de l'appareil ou du réseau. Dès lors, il suffit de créer des connexions sortantes vers les points de terminaison cloud IoT Hub via le port 443 (les appareils utilisant le SDK IoT prennent déjà en charge une telle connexion).
  • Mise en œuvre de l'authentification : Pour établir un flux, les points de terminaison de l'appareil et du service doivent s'authentifier auprès de IoT Hub à l'aide des informations d'identification correspondantes. Cela permet d'améliorer la couche de communication de l'appareil et de vérifier l'identité de chaque côté du tunnel préalablement à toute communication.
  • Chiffrement : Par défaut, les flux d'appareils IoT Hub utilisent des connexions TSL. Ainsi, le trafic de l'application est chiffré, indépendamment du fait que l'application utilise ou non le chiffrement.
  • Simplicité de la connectivité : Grâce aux flux d'appareils, la connectivité aux appareils IoT ne requiert plus de configuration complexe des réseaux privés virtuels (VPN). En outre, contrairement au VPN, qui offre un large accès à l’ensemble du réseau, les flux d'appareils sont point à point, ce qui implique un seul appareil et un seul service de chaque côté du tunnel.
  • Compatibilité avec la pile TCP/IP : Les flux d'appareils IoT Hub peuvent prendre en charge le trafic des applications TCP/IP. Ainsi, un large éventail de protocoles propriétaires ainsi que de protocoles basés sur des normes peuvent exploiter cette fonctionnalité. Cela englobe notamment les protocoles bien établis suivants : Remote Desktop Protocol (RDP), Secure Shell (SSH), File Transfer Protocol (FTP) et HTTP/REST.
  • Facilité d'utilisation dans des configurations de réseau privé : Les appareils déployés à l'intérieur de réseaux privés sont accessibles sans qu'il soit nécessaire d'attribuer une adresse IP routable publiquement à chaque appareil. De même, les appareils faisant l'objet d'une attribution d'adresse IP dynamique peuvent ne pas être systématiquement reconnus par le service. Dans ces deux cas, les flux d'appareils permettent la connectivité à un appareil cible à l'aide de son ID (plutôt que son adresse IP) en tant qu'identificateur.

Comme indiqué ci-dessus, les flux d'appareils IoT Hub sont particulièrement utiles lorsque les appareils se trouvent derrière un pare-feu ou à l'intérieur d'un réseau privé (sans adresse IP accessible publiquement). Penchons-nous à présent sur une configuration dans le cadre d'une étude de cas où la connectivité directe à l'appareil est restreinte.

Étude de cas : Accès à distance à l'appareil dans une configuration de fabrication

Pour bien illustrer l'applicabilité des flux d'appareils dans des scénarios IoT réels, prenons une configuration impliquant du matériel et des machines (par exemple, des appareils IoT) connectés au réseau local d'une usine. Le réseau local est généralement connecté à Internet via une passerelle réseau ou un proxy HTTP, et protégé par un pare-feu en limite de réseau. Dans cette configuration, le pare-feu est configuré en fonction des stratégies de sécurité de l'entreprise, lesquelles peuvent interdire l'ouverture de certains ports du pare-feu. Par exemple, le port 3389 utilisé par le protocole RDP (Remote Desktop Protocol) est souvent bloqué. Ainsi, les utilisateurs extérieurs au réseau ne peuvent pas accéder aux appareils via ce port.

Bien qu’une telle configuration réseau soit répandue, elle n'est reste pas moins problématique dans de nombreux scénarios IoT courants. Par exemple, si les opérateurs doivent accéder à des équipements situés en dehors du réseau local, le pare-feu doit autoriser la connectivité entrante sur les ports arbitraires utilisés par l'application. Dans le cas d'une machine Windows utilisant le protocole RDP, cela est contraire aux stratégies de sécurité qui bloquent le port 3389.

Avec les flux d'appareils, le trafic RDP vers les appareils cibles est tunnelisé via IoT Hub. Plus précisément, ce tunnel est établi sur le port 443 qui utilise les connexions sortantes provenant de l'appareil et du service. Dès lors, il n'est pas nécessaire d'assouplir les stratégies de pare-feu dans le réseau de l'usine. Dans nos guides de démarrage rapide disponibles dans les langages C, C # et NodeJS, nous avons inclus des instructions sur la manière de tirer parti des flux d'appareils IoT Hub pour permettre le scénario RDP. D'autres protocoles peuvent utiliser une approche similaire moyennant la configuration du port de communication correspondant.

Étapes suivantes

Nous nous réjouissons des possibilités de communication sécurisée avec les appareils IoT qu'offrent les flux d'appareils IoT Hub. Lors de la préversion publique, la fonctionnalité sera disponible pour les IoT Hubs de certaines régions. Pour en savoir plus, consultez les liens suivants :