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 :
- Créez un groupe d’inscription qui utilise le type d’attestation Certificats (X.509).
- Ajoutez et vérifiez un certificat X.509 intermédiaire ou racine dans le groupe d’inscription.
- 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 :
- Outils pour le kit de développement logiciel (SDK) pour appareils Azure IoT Device Provisioning : une collection d’outils Node.js que vous pouvez utiliser pour générer et vérifier des certificats X.509 et des clés.
- Gérer les certificats d’autorité de certification de test pour les exemples et les tutoriels : une collection de scripts PowerShell et Bash pour :
- Créer une chaîne de certificat.
- Enregistrez les certificats en tant que fichiers .cer à télécharger vers votre application IoT Central.
- Le code de vérification de l’application IoT Central permet de générer le certificat de vérification.
- Créez des certificats de nœud terminal pour vos appareils à l’aide de vos ID d’appareils en tant que paramètre de l’outil.
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 :
Créez un groupe d’inscription utilisant le type d’attestation Signature d’accès partagé (SAP).
Copiez la clé primaire ou secondaire du groupe à partir du groupe d’inscription.
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.
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 :
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-
.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.
Lorsque vous basculez sur un appareil, il se connecte d’abord à DPS pour récupérer ses informations de connexion IoT Central.
L’appareil utilise les informations du DPS pour se connecter et s’inscrire auprès de votre application IoT Central.
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 :
Copiez la clé primaire du groupe à partir du groupe d’inscription SAS-IoT-Devices :
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>
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.
Lorsque vous basculez sur un appareil, il se connecte d’abord à DPS pour récupérer ses informations d’inscription à IoT Central.
L’appareil utilise les informations du DPS pour se connecter et s’inscrire auprès de votre application IoT Central.
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 :
- Passez en revue les meilleures pratiques pour le développement d’appareils.
- Passer en revue un exemple de code qui présente comment utiliser des jetons SAP dans Tutoriel : Créer et connecter une application cliente à votre application Azure IoT Central
- Découvrez comment connecter des appareils avec des certificats X.509 à l’aide du kit de développement logiciel (SDK) d’appareil Node.js pour une application IoT Central
- Découvrir comment superviser la connectivité des appareils à l’aide d’Azure CLI
- En savoir plus sur les appareils Azure IoT Edge et Azure IoT Central