Partager via


Concepts d’authentification des appareils dans IoT Central

Cet article explique comment les appareils s’authentifient auprès d’une application IoT Central. Pour en savoir plus sur le processus de connexion global, consultez Connecter un appareil.

Les appareils s’authentifient auprès de l’application IoT Central en utilisant un jeton de signature d’accès partagé (SAP) ou un certificat X.509. Les certificats X.509 sont recommandés dans les environnements de production.

Vous utilisez des groupes d’inscriptions pour gérer les options d’authentification des appareils dans votre application IoT Central.

Cet article décrit les options d’authentification des appareils suivantes :

Chacune de ces options d’authentification exige que chaque appareil ait un ID d’appareil unique. L’ID d’appareil est un identificateur unique que vous utilisez pour gérer l’appareil dans votre application IoT Central.

Groupe d’inscriptions X.509

Dans un environnement de production, l’utilisation de certificats X.509 est le mécanisme d’authentification des appareils recommandé pour IoT Central. Pour plus d’informations, consultez Authentification des appareils à l’aide de certificats d’autorité de certification X.509.

Un groupe d’inscriptions X.509 contient un certificat X.509 racine ou intermédiaire. Les appareils peuvent s’authentifier s’ils disposent d’un certificat feuille valide issu du certificat racine ou intermédiaire.

Pour connecter un appareil avec un certificat X.509 à votre application :

  1. Créez un groupe d’inscription qui utilise le type d’attestation Certificats (X.509).
  2. Ajoutez et vérifiez un certificat X.509 intermédiaire ou racine dans le groupe d’inscription.
  3. Générez un certificat feuille à partir du certificat racine ou intermédiaire dans le groupe d’inscription. Installez le certificat feuille sur l’appareil qui en aura besoin pour se connecter à votre application.

Chaque groupe d’inscription doit utiliser un certificat X.509 unique. IoT Central ne prend pas en charge l’utilisation du même certificat X.509 sur plusieurs groupes d’inscription.

Pour obtenir plus d’informations, consultez Connecter des appareils avec des certificats X.509.

Uniquement à des fins de test

Dans un environnement de production, utilisez les certificats fournis par votre fournisseur de certificats. À des fins de test uniquement, vous pouvez vous servir des utilitaires suivants pour générer des certificats racines, intermédiaires et d’appareils :

Groupe d’inscriptions SAS

Un groupe d’inscriptions SAS contient des clés SAS de niveau groupe. Les appareils peuvent s’authentifier s’ils disposent d’un jeton SAS valide issu d’une clé SAP au niveau du groupe.

Pour connecter un appareil à votre application en utilisant un jeton SAS d’appareil :

  1. Créez un groupe d’inscription utilisant le type d’attestation Signature d’accès partagé (SAP).

  2. Copiez la clé primaire ou secondaire du groupe à partir du groupe d’inscription.

  3. Utilisez Azure CLI pour générer un jeton d’appareil à partir de la clé de groupe :

    az iot central device compute-device-key --primary-key <enrollment group primary key> --device-id <device ID>
    

    Conseil

    Chaque appareil qui se connecte à votre application IoT Central doit avoir un ID d’appareil unique. La commande précédente génère un jeton unique pour chaque appareil.

  4. Utilisez le jeton d’appareil généré quand l’appareil se connecte à votre application IoT Central.

Remarque

Pour utiliser des clés SAS existantes dans vos groupes d’inscriptions, désactivez le bouton bascule Générer automatiquement les clés et entrez manuellement vos clés SAS.

Si vous utilisez le groupe d’inscription SAS-IoT-Devices par défaut, IoT Central génère les clés d’appareil individuelles pour vous. Pour accéder à ces clés, sélectionnez Se connecter sur la page des détails de l’appareil. Cette page affiche l’étendue d’ID, l’ID d’appareil, la clé primaire et la clé secondaire que vous utilisez dans votre code d’appareil. Cette page affiche également un code QR contenant les mêmes données.

Inscription individuelle

En règle générale, les appareils se connectent en utilisant les informations d’identification qui sont dérivées d’un certificat X.509 ou d’une clé SAS d’un groupe d’inscriptions. Toutefois, si vos appareils ont chacun leurs propres informations d’identification, vous pouvez utiliser des inscriptions individuelles. Une inscription individuelle est une entrée pour un seul appareil l’autorisant à se connecter. Les inscriptions individuelles peuvent utiliser des certificats feuilles X.509 ou des jetons SAP (à partir d’un module de plateforme sécurisée physique ou virtuel) comme mécanismes d’attestation. Pour plus d’informations, consultez Inscription DPS individuelle.

Remarque

Lorsque vous créez une inscription individuelle pour un appareil, cette inscription devient prioritaire sur les options du groupe d’inscriptions par défaut de votre application IoT Central.

Créer des inscriptions individuelles

IoT Central prend en charge les mécanismes d’attestation suivants pour les inscriptions individuelles :

  • Attestation de clé symétrique : l’attestation de clé symétrique est une approche simple pour authentifier un appareil avec une instance DPS. Pour créer une inscription individuelle qui utilise des clés symétriques, ouvrez la page Connexion de l’appareil correspondant à l’appareil, sélectionnez Inscription individuelle comme type d’authentification, et Signature d’accès partagé (SAS) comme méthode d’authentification. Entrez les clés primaire et secondaire codées en base64, et enregistrez vos modifications. Utilisez l'étendue de l’ID, l’ID de l’appareil et la clé primaire ou secondaire pour connecter votre appareil.

    Conseil

    À des fins de test, vous pouvez utiliser OpenSSL pour générer des clés codées base64 : openssl rand -base64 64

  • Certificats X.509 : Pour créer une inscription individuelle avec des certificats X.509, ouvrez la page Connexion de l’appareil, sélectionnez Inscription individuelle comme type d’authentification et Certificats (X.509) comme méthode d’authentification. Les certificats d’appareils utilisés avec une entrée d’inscription individuelle requièrent que le nom commun de l’émetteur et du sujet soit l’ID de l’appareil.

    Conseil

    À des fins de test, vous pouvez utiliser les outils pour le kit de développement logiciel (SDK) d’appareil Azure IoT Device Provisioning pour Node.js pour générer un certificat auto-signé : node create_test_cert.js device "mytestdevice"

  • Attestation Module de plateforme sécurisée (TPM) : un TPM constitue un type de sécurité matériel. L’utilisation d’un module de plateforme sécurisée (TPM) est l’un des moyens les plus sécurisés pour connecter un appareil. Cet article suppose que vous utilisez un microprogramme discret, ou un module de plateforme sécurisée (TPM) intégré. Les TPM logiciels émulés sont parfaitement adaptés pour le prototypage ou le test, mais ils n’offrent pas le même niveau de sécurité que les modules de plateforme sécurisée (TPM) intégrés ou les microprogrammes discrets. N’utilisez pas de module de plateforme sécurisée (TPM) logiciel en production. Pour créer une inscription individuelle qui utilise un module de plateforme sécurisée (TPM), ouvrez la page Connexion de l’appareil, sélectionnez Inscription individuelle comme type d’authentification et Module de plateforme sécurisée (TPM) comme méthode d’authentification. Entrez la paire de clés de type EK (Endorsement Key) et enregistrez les informations de connexion de l’appareil.

Inscrire automatiquement les appareils

Ce scénario permet aux OEM de fabriquer en masse des appareils qui peuvent se connecter sans avoir été inscrits au préalable dans une application. Un OEM génère des informations d’identification appropriées et configure les appareils en usine.

Pour inscrire automatiquement des appareils qui utilisent des certificats X.509 :

  1. Générez des certificats feuilles pour vos appareils à l’aide du certificat racine ou intermédiaire que vous avez ajouté à votre groupe d’inscription X.509. Utilisez les ID d’appareils comme CNAME dans les certificats feuilles. Un ID d’appareil peut contenir des lettres, des chiffres et le caractère -.

  2. En tant qu’OEM, dotez chaque appareil d’un ID d’appareil, d’un certificat feuille X.509 généré et de la valeur Étendue de l’ID de l’application. Le code de l’appareil doit également envoyer l’ID de modèle du modèle d’appareil qu’il implémente.

  3. Lorsque vous basculez sur un appareil, il se connecte d’abord à DPS pour récupérer ses informations de connexion IoT Central.

  4. L’appareil utilise les informations du DPS pour se connecter et s’inscrire auprès de votre application IoT Central.

  5. L’application IoT Central utilise l’ID de modèle envoyé par l’appareil pour affecter l’appareil inscrit à un modèle d’appareil.

Pour inscrire automatiquement des appareils qui utilisent des jetons SAS :

  1. Copiez la clé primaire du groupe à partir du groupe d’inscription SAS-IoT-Devices :

    Capture d’écran montrant la clé primaire de groupe à partir du groupe d’inscription d’appareils IoT SAS.

  2. Utilisez la commande az iot central device compute-device-key pour générer les clés SAS des appareils. Utilisez la clé primaire de groupe de l’étape précédente. L’ID d’appareil peut contenir des lettres, des chiffres et le caractère - :

    az iot central device compute-device-key --primary-key <enrollment group primary key> --device-id <device ID>
    
  3. En tant qu’OEM, dotez chaque appareil d’un ID d’appareil, d’une clé SAP d’appareil générée et de la valeur d'étendue d’ID de l’application. Le code de l’appareil doit également envoyer l’ID de modèle du modèle d’appareil qu’il implémente.

  4. Lorsque vous basculez sur un appareil, il se connecte d’abord à DPS pour récupérer ses informations d’inscription à IoT Central.

  5. L’appareil utilise les informations du DPS pour se connecter et s’inscrire auprès de votre application IoT Central.

  6. L’application IoT Central utilise l’ID de modèle envoyé par l’appareil pour affecter l’appareil inscrit à un modèle d’appareil.

Étapes suivantes

Voici quelques suggestions pour continuer :