Identité et sécurité de l’appareil
Vous pouvez déployer et gérer de nombreux appareils à la fois. La gestion des appareils est basée sur la capacité à identifier chaque appareil et à y accéder individuellement si nécessaire. Pour vous permettre de le faire, chaque appareil Azure Sphere reçoit un ID d’appareil interne unique qui est conservé via toutes les mises à jour de l’appareil, y compris les opérations de récupération.
Toutefois, dans les systèmes numériques, l’ID d’un appareil peut facilement être usurpé, falsifié ou mal utilisé. Par conséquent, vous devez autoriser uniquement les appareils dont les identités peuvent être vérifiées et validées à accéder à vos données très précieuses et à se connecter à vos services.
Azure Sphere fournit un processus permettant à un appareil de s’identifier (authentification) et de confirmation de l’identité de l’appareil (attestation). Le processus d’authentification et d’attestation utilisé par le service de sécurité Azure Sphere utilise des clés prédéfinies, des communications sécurisées et du matériel spécialisé pour confirmer l’identité d’un appareil. Si l’authentification et l’attestation de l’appareil réussissent, un certificat est émis à l’appareil. Un certificat valide indique que :
- L’identité de l’appareil a été vérifiée.
- L’appareil peut être approuvé.
Avec Azure Sphere, les certificats d’appareil sont chaînés d’abord à un certificat au niveau du catalogue (ce qui permet à un organization d’approuver uniquement les appareils de ses propres catalogues), puis à un certificat Microsoft, ce qui reflète que Microsoft a validé que ce matériel est un instance vérifié d’une puce Azure Sphere certifiée qui exécute un système d’exploitation Microsoft sécurisé.
Les concepts suivants peuvent vous aider à utiliser l’identité de l’appareil de la manière la plus sécurisée et la plus efficace :
L’approbation est temporaire
La confiance dans un système peut être perdue et elle peut être regagnée. Un principe de l’implémentation de Confiance nulle architecture dans un système IoT consiste à vérifier explicitement. Cela signifie que chaque fois que vous avez une interaction avec un appareil, déterminez explicitement l’authenticité de l’appareil et prouvez que la transaction de données est fiable. Les appareils Azure Sphere effectuent automatiquement un processus d’authentification et d’attestation toutes les 24 heures avec les services de sécurité cloud Azure Sphere. La présence d’un certificat signé par chiffrement, enraciné dans le service de sécurité cloud Microsoft Azure Sphere, indique que l’identité d’un appareil a été correctement vérifiée.Identité = identificateurs + attestation
Les identificateurs peuvent être copiés et dupliqués. Par conséquent, un appareil ne peut pas simplement être connu par son identificateur. L’identité d’un appareil (ou l’identité d’un utilisateur) doit être considérée comme une combinaison d’un identificateur et d’une attestation indiquant qu’un tel identificateur est valide dans un contexte spécifique. Vous ne devez pas attribuer des identificateurs aux appareils et les utiliser indépendamment du processus d’attestation. Si possible, combinez des identificateurs avec une preuve d’attestation à chaque couche d’interaction au sein de vos systèmes.Identificateurs + certificats d’approbation
Un identificateur ne doit pas être considéré comme une référence au plus. À lui seul, il ne doit pas être supposé indiquer quoi que ce soit sur la fiabilité de l’objet qu’il référence. Par exemple, utilisez un identificateur pour vous abonner aux messages MQTT, utilisez un identificateur pour regrouper des données approuvées au sein d’un portail et utilisez des identificateurs pour acheminer le trafic et les données dans un système. Toutefois, en matière d’approbation, plutôt que d’approuver l’identificateur, faites confiance à un certificat signé et chaîné par chiffrement. Les certificats sont particulièrement utiles pour le flux de données sans mot de passe entre les composants système et sont des preuves d’identification testées et fiables dans un contexte spécifique.
Lorsque vous utilisez Azure IoT Hub, s’ils sont configurés conformément aux recommandations documentées, ces concepts sont déjà incorporés, ce qui simplifie le déploiement d’un système sécurisé et résilient.
Vous devez également appliquer ces concepts lors de la connexion à des points de terminaison ou services non Azure que vous contrôlez directement. Par exemple, si vous utilisez MQTT, un appareil peut inclure sa propre identité dans le cadre de la rubrique MQTT sur laquelle il publie. Toutefois, avant d’accepter une mise à jour de rubrique à partir de l’appareil, le serveur MQTT doit vérifier que le certificat fourni par l’appareil l’authentifie pour le publier dans cette rubrique spécifique.
Accès au certificat d’appareil et à l’ID d’appareil Azure Sphere
Pour accéder à un certificat d’appareil dans votre application, utilisez la fonction DeviceAuth_GetCertificatePath .
Pour accéder à l’ID d’appareil unique de l’appareil, analysez le sujet à partir du certificat fourni par la fonction DeviceAuth_GetCertificatePath() à l’aide de la fonction wolfSSL_X509_get_subject_name .
L’extrait de code Get Azure Sphere Device ID montre comment obtenir l’ID d’appareil Azure Sphere dans une application de haut niveau. Elle retourne l’ID de l’appareil sous la forme d’une mémoire tampon de caractères de 128 caractères. Cet extrait de code commande wolfSSL pour ouvrir une session avec le certificat, extraire le contexte et le certificat, analyser l’ID d’objet du certificat, qui est l’ID d’appareil pour les appareils Azure Sphere, et le retourner en tant char
que pointeur.