Qu’est-ce qu’Azure Sphere ?

Azure Sphere est une plateforme d’application sécurisée et de haut niveau avec des fonctionnalités de communication et de sécurité intégrées pour les appareils connectés à Internet. Il comprend une unité de microcontrôleur (MCU) sécurisée et connectée, un système d’exploitation Linux de haut niveau personnalisé et un service de sécurité cloud qui fournit une sécurité continue et renouvelable.

Le MCU Azure Sphere intègre des fonctionnalités de traitement en temps réel avec la possibilité d’exécuter un système d’exploitation de haut niveau. Un MCU Azure Sphere, ainsi que son système d’exploitation et sa plateforme d’applications, permet la création d’appareils sécurisés connectés à Internet qui peuvent être mis à jour, contrôlés, surveillés et gérés à distance. Un appareil connecté qui inclut un MCU Azure Sphere, à côté ou à la place d’un MCU existant, offre une sécurité, une productivité et des opportunités améliorées. Par exemple :

  • Un environnement d’application sécurisé, des connexions authentifiées et l’utilisation de périphériques de manière à réduire les risques de sécurité dus, entre autres, à l’usurpation d’identité, aux logiciels non autorisés ou aux attaques par déni de service.
  • Les mises à jour logicielles peuvent être déployées automatiquement à partir du cloud sur n’importe quel appareil connecté pour résoudre les problèmes, fournir de nouvelles fonctionnalités ou contrer les nouvelles méthodes d’attaque, améliorant ainsi la productivité du personnel du support technique.
  • Les données d’utilisation des produits peuvent être communiquées au cloud via une connexion sécurisée pour faciliter le diagnostic des problèmes et la conception de nouveaux produits, ce qui augmente les possibilités de service produit, d’interactions positives avec les clients et de développement futur.

Le service de sécurité Azure Sphere fait partie intégrante d’Azure Sphere. À l’aide de ce service, les MCU Azure Sphere se connectent en toute sécurité au cloud et au web. Le service garantit que l’appareil démarre uniquement avec une version autorisée d’un logiciel authentique et approuvé. En outre, il fournit un canal sécurisé par le biais duquel Microsoft peut télécharger et installer automatiquement les mises à jour du système d’exploitation sur les appareils déployés sur le terrain pour atténuer les problèmes de sécurité. Ni l’intervention du fabricant ni de l’utilisateur final n’est nécessaire, ce qui permet de combler un trou de sécurité commun.

Note

Azure Sphere fait référence à l’interface basée sur PAPI en tant qu’Azure Sphere (hérité) et à l’interface Azure Resource Manager publique intégrée comme Azure Sphere (intégrée).

Pendant la préversion publique, il est recommandé d’utiliser Azure Sphere (intégré) à des fins de développement et de test uniquement. Comme bonne pratique, les cas d’usage de production ne doivent pas utiliser de produit en préversion. Par conséquent, pour les cas d’usage de production, nous vous recommandons de continuer à utiliser l’interface azure Sphere Security Service existante, désormais appelée Azure Sphere (hérité), qui continue d’être entièrement prise en charge et en disponibilité générale.

Scénario Azure Sphere

Pour comprendre le fonctionnement d’Azure Sphere dans un environnement réel, envisagez ce scénario.

Contoso, Ltd., est un fabricant de produits blancs qui incorpore un MCU Azure Sphere dans ses lave-vaisselle. Le lave-vaisselle DW100 associe le MCU à plusieurs capteurs et à une application intégrée de haut niveau qui s’exécute sur le MCU Azure Sphere. L’application communique avec le service de sécurité Azure Sphere et avec les services cloud de Contoso. Le diagramme suivant illustre ce scénario :

Se connecte aux lave-vaisselle connectés au réseauIoT, au service de sécurité et au catalogue cloud du fabricant Contoso

En partant du coin supérieur gauche et en se déplaçant dans le sens des aiguilles d’une montre :

  • Microsoft publie des mises à jour pour le système d’exploitation Azure Sphere via le service de sécurité Azure Sphere.

  • Contoso product engineering publie des mises à jour de son application DW100 par le biais du service de sécurité Azure Sphere.

  • Le service de sécurité Azure Sphere déploie en toute sécurité le système d’exploitation mis à jour et le logiciel d’application Contoso DW100 sur les lave-vaisselle aux emplacements de l’utilisateur final.

  • La prise en charge du lave-vaisselle contoso communique avec le service de sécurité Azure Sphere pour déterminer quelle version du logiciel Azure Sphere et du logiciel d’application DW100 doit s’exécuter sur chaque appareil de l’utilisateur final et pour glaner les données de rapport d’erreurs qui ont été signalées au service. La prise en charge du lave-vaisselle contoso communique également avec le service cloud Contoso pour obtenir des informations supplémentaires.

  • Les services cloud Contoso prennent en charge les applications pour la résolution des problèmes, l’analyse des données et l’interaction avec les clients. Les services cloud de Contoso peuvent être hébergés par Microsoft Azure, par le service cloud d’un autre fournisseur ou par le propre cloud de Contoso.

  • Les modèles Contoso DW100 aux emplacements des utilisateurs finaux téléchargent le système d’exploitation et les logiciels d’application mis à jour via leur connexion au service de sécurité Azure Sphere. Ils peuvent également communiquer avec l’application de service cloud de Contoso pour signaler des données supplémentaires.

Par exemple, les capteurs du lave-vaisselle peuvent surveiller la température de l’eau, la température de séchage et le niveau de l’agent de rinçage, et charger ces données sur les services cloud de Contoso, où une application de service cloud les analyse pour détecter les problèmes potentiels. Si la température de séchage semble inhabituellement chaude ou froide, ce qui peut indiquer une pièce défaillante, Contoso s’exécute diagnostics à distance et avertit le client que des réparations sont nécessaires. Si le lave-vaisselle est sous garantie, l’application de service cloud peut également s’assurer que l’atelier de réparation local du client dispose de la pièce de remplacement, ce qui réduit les visites de maintenance et les exigences d’inventaire. De même, si l’agent de rinçage est faible, le lave-vaisselle peut indiquer au client d’acheter plus d’agent de rinçage directement auprès du fabricant.

Toutes les communications s’effectuent via des connexions sécurisées et authentifiées. Le personnel du support technique et de l’ingénierie de Contoso peut visualiser les données à l’aide du service de sécurité Azure Sphere, des fonctionnalités Microsoft Azure ou d’une application de service cloud spécifique à Contoso. Contoso peut également fournir des applications web et mobiles destinées aux clients, avec lesquelles les propriétaires de lave-vaisselle peuvent demander un service, surveiller l’utilisation des ressources du lave-vaisselle ou interagir avec l’entreprise.

À l’aide des outils de déploiement Azure Sphere, Contoso cible chaque mise à jour logicielle d’application sur le modèle de lave-vaisselle approprié, et le service de sécurité Azure Sphere distribue les mises à jour logicielles sur les appareils appropriés. Seules les mises à jour logicielles signées et vérifiées peuvent être installées sur les lave-vaisselle.

Azure Sphere et les sept propriétés des appareils hautement sécurisés

L’un des principaux objectifs de la plateforme Azure Sphere est de fournir une sécurité à faible coût, afin que les appareils sensibles aux prix et alimentés par des microcontrôleurs puissent se connecter à Internet en toute sécurité et de manière fiable. À mesure que les jouets connectés au réseau, les appareils et autres appareils grand public deviennent courants, la sécurité est de la plus haute importance. Non seulement le matériel de l’appareil lui-même doit être sécurisé, mais ses logiciels et ses connexions cloud doivent également l’être. Une défaillance de sécurité n’importe où dans l’environnement d’exploitation menace l’ensemble du produit et, potentiellement, n’importe quoi ou n’importe qui à proximité.

Sur la base des décennies d’expérience de Microsoft en matière de sécurité Internet, l’équipe Azure Sphere a identifié sept propriétés d’appareils hautement sécurisés. La plateforme Azure Sphere est conçue autour de ces sept propriétés :

Racine d’approbation basée sur le matériel. Une racine de confiance basée sur le matériel garantit que l’appareil et son identité ne peuvent pas être séparés, empêchant ainsi la falsification ou l’usurpation de l’appareil. Chaque MCU Azure Sphere est identifié par une clé de chiffrement infalsifiable qui est générée et protégée par le matériel du sous-système de sécurité Pluton conçu par Microsoft. Cela garantit une racine matérielle sécurisée et inviolable de confiance de l’usine à l’utilisateur final.

Défense en profondeur. La défense en profondeur fournit plusieurs couches de sécurité et donc plusieurs atténuations contre chaque menace. Chaque couche de logiciel dans la plateforme Azure Sphere vérifie que la couche au-dessus de celle-ci est sécurisée.

Petite base de calcul fiable. La plupart des logiciels de l’appareil restent en dehors de la base informatique de confiance, réduisant ainsi la surface d’exposition pour les attaques. Seuls le moniteur de sécurité, le runtime Pluton et le sous-système Pluton sécurisés, que Microsoft fournit tous, s’exécutent sur la base informatique approuvée.

Compartiments dynamiques. Les compartiments dynamiques limitent la portée de toute erreur unique. Les MCU Azure Sphere contiennent des contre-mesures en silicium, y compris des pare-feu matériels, pour empêcher une violation de la sécurité dans un composant de se propager à d’autres composants. Un environnement de runtime limité et « en bac à sable » empêche les applications d’endommager le code ou les données sécurisés.

Authentification sans mot de passe. L’utilisation de certificats signés, validés par une clé de chiffrement infalsifiable, fournit une authentification beaucoup plus forte que les mots de passe. La plateforme Azure Sphere nécessite que chaque élément logiciel soit signé. Les communications appareil-à-cloud et cloud-à-appareil nécessitent une authentification supplémentaire, qui est obtenue avec des certificats.

Rapport d’erreurs. Les erreurs dans les logiciels ou le matériel de l’appareil sont typiques des attaques de sécurité émergentes ; les erreurs qui entraînent une défaillance de l’appareil constituent une attaque par déni de service. La communication appareil-à-cloud fournit un avertissement précoce en cas d’erreurs potentielles. Les appareils Azure Sphere peuvent automatiquement signaler les données opérationnelles et les erreurs à un système d’analyse cloud, et les mises à jour et la maintenance peuvent être effectuées à distance.

Sécurité renouvelable. Le logiciel de l’appareil est automatiquement mis à jour pour corriger les vulnérabilités connues ou les violations de sécurité, ce qui ne nécessite aucune intervention du fabricant du produit ou de l’utilisateur final. Le service de sécurité Azure Sphere met automatiquement à jour le système d’exploitation Azure Sphere et vos applications.

Architecture Azure Sphere

En travaillant ensemble, le matériel, les logiciels et le service de sécurité Azure Sphere permettent des approches uniques et intégrées de la maintenance, du contrôle et de la sécurité des appareils.

L’architecture matérielle fournit une base de calcul fondamentalement sécurisée pour les appareils connectés, ce qui vous permet de vous concentrer sur votre produit.

L’architecture logicielle, avec un noyau de système d’exploitation personnalisé sécurisé exécuté sur le moniteur de sécurité écrit par Microsoft, vous permet de concentrer vos efforts logiciels sur l’IoT à valeur ajoutée et les fonctionnalités spécifiques aux appareils.

Le service de sécurité Azure Sphere prend en charge l’authentification, les mises à jour logicielles et le rapport d’erreurs sur les canaux cloud-à-appareil et appareil-à-cloud sécurisés. Le résultat est une infrastructure de communication sécurisée qui garantit que vos produits exécutent le système d’exploitation Azure Sphere le plus à jour. Pour obtenir des diagrammes d’architecture et des exemples d’architectures cloud, consultez Parcourir les architectures Azure.

Architecture matérielle

Un MCU de crossover Azure Sphere se compose de plusieurs cœurs sur un seul dé, comme le montre la figure suivante.

Architecture matérielle AzureSphere MCU Architecture matérielle

Chaque cœur et son sous-système associé se trouve dans un domaine d’approbation différent. La racine de l’approbation réside dans le sous-système de sécurité Pluton. Chaque couche de l’architecture suppose que la couche au-dessus peut être compromise. Au sein de chaque couche, l’isolation des ressources et les compartiments dynamiques offrent une sécurité accrue.

Sous-système de sécurité Microsoft Pluton

Le sous-système de sécurité Pluton est la racine de confiance sécurisée basée sur le matériel (en silicium) pour Azure Sphere. Il comprend un cœur de processeur de sécurité, des moteurs de chiffrement, un générateur de nombres aléatoires matériels, la génération de clés publiques/privées, le chiffrement asymétrique et symétrique, la prise en charge de la vérification de l’algorithme de signature numérique à courbe elliptique (ECDSA) pour le démarrage sécurisé et le démarrage mesuré en silicium pour prendre en charge l’attestation à distance avec un service cloud, ainsi que diverses contre-mesures de falsification, y compris une unité de détection d’entropie.

Dans le cadre du processus de démarrage sécurisé, le sous-système Pluton démarre différents composants logiciels. Il fournit également des services d’exécution, traite les demandes d’autres composants de l’appareil et gère les composants critiques pour d’autres parties de l’appareil.

Cœur d’application de haut niveau

Le cœur d’application de haut niveau dispose d’un sous-système ARM Cortex-A qui dispose d’une unité de gestion de la mémoire complète (MMU). Il permet la compartimentation matérielle des processus à l’aide de la fonctionnalité de zone de confiance et est responsable de l’exécution du système d’exploitation, des applications de haut niveau et des services. Il prend en charge deux environnements d’exploitation : Normal World (NW), qui exécute du code en mode utilisateur et en mode superviseur, et Secure World (SW), qui exécute uniquement le Moniteur de sécurité fourni par Microsoft. Vos applications de haut niveau s’exécutent en mode utilisateur NW.

Cœurs en temps réel

Les cœurs en temps réel disposent d’un sous-système d’E/S Arm Cortex-M qui peut exécuter des applications compatibles en temps réel en tant que code nu ou système d’exploitation en temps réel (RTOS). Ces applications peuvent mapper des périphériques et communiquer avec des applications de haut niveau, mais ne peuvent pas accéder directement à Internet.

Connectivité et communications

Le premier MCU Azure Sphere fournit une radio Wi-Fi 802,11 b/g/n qui fonctionne à la fois à 2,4 GHz et 5 GHz. Les applications de haut niveau peuvent configurer, utiliser et interroger le sous-système de communications sans fil, mais elles ne peuvent pas le programmer directement. En plus ou au lieu d’utiliser le Wi-Fi, les appareils Azure Sphere correctement équipés peuvent communiquer sur un réseau Ethernet.

E/S multiplexées

La plateforme Azure Sphere prend en charge diverses fonctionnalités d’E/S, ce qui vous permet de configurer des appareils incorporés en fonction des exigences de votre marché et de vos produits. Les périphériques d’E/S peuvent être mappés au cœur d’application de haut niveau ou à un cœur en temps réel.

Pare-feu Microsoft

Les pare-feu matériels sont des contre-mesures en silicium qui fournissent une protection « bac à sable » pour garantir que les périphériques d’E/S sont accessibles uniquement au cœur auquel ils sont mappés. Les pare-feu imposent la compartimentation, empêchant ainsi une menace de sécurité localisée dans le cœur d’application de haut niveau d’affecter l’accès des cœurs en temps réel à leurs périphériques.

MÉMOIRE RAM et flash intégrés

Les MCU Azure Sphere incluent un minimum de 4 Mo de RAM intégrée et 16 Mo de mémoire flash intégrée.

Architecture logicielle et système d’exploitation

La plateforme d’application de haut niveau exécute le système d’exploitation Azure Sphere avec une application de haut niveau spécifique à l’appareil qui peut communiquer à la fois avec Internet et avec des applications prenant en charge le temps réel qui s’exécutent sur les cœurs en temps réel. La figure suivante montre les éléments de cette plateforme.

Les éléments fournis par Microsoft sont affichés en gris.

Plateforme d’applicationPlateforme d’application de haut niveau

Microsoft fournit et gère tous les logiciels autres que vos applications spécifiques à l’appareil. Tous les logiciels qui s’exécutent sur l’appareil, y compris l’application de haut niveau, sont signés par l’autorité de certification Microsoft. Les mises à jour des applications sont fournies via le pipeline Microsoft approuvé, et la compatibilité de chaque mise à jour avec le matériel de l’appareil Azure Sphere est vérifiée avant l’installation.

Runtime d’application

Le runtime d’application fourni par Microsoft est basé sur un sous-ensemble de la norme POSIX. Il se compose de bibliothèques et de services d’exécution qui s’exécutent en mode utilisateur NW. Cet environnement prend en charge les applications générales que vous créez.

Les bibliothèques d’applications prennent en charge les fonctionnalités de mise en réseau, de stockage et de communication requises par les applications de haut niveau, mais qui ne prennent pas en charge l’accès direct aux fichiers génériques ou à l’interpréteur de commandes, entre autres contraintes. Ces restrictions garantissent que la plateforme reste sécurisée et que Microsoft peut fournir des mises à jour de sécurité et de maintenance. En outre, les bibliothèques contraintes fournissent une surface d’API stable à long terme afin que les logiciels système puissent être mis à jour pour améliorer la sécurité tout en conservant la compatibilité binaire pour les applications.

Services de système d’exploitation

Les services de système d’exploitation hébergent le conteneur d’application de haut niveau et sont responsables de la communication avec le service de sécurité Azure Sphere. Ils gèrent l’authentification réseau et le pare-feu réseau pour tout le trafic sortant. Pendant le développement, les services de système d’exploitation communiquent également avec un PC connecté et l’application en cours de débogage.

Noyau Linux personnalisé

Le noyau Linux personnalisé s’exécute en mode superviseur, ainsi qu’un chargeur de démarrage. Le noyau est soigneusement réglé pour l’encombrement flash et RAM du MCU Azure Sphere. Il fournit une surface pour l’exécution préemptable des processus d’espace utilisateur dans des espaces d’adressage virtuels distincts. Le modèle de pilote expose les périphériques MCU aux services et applications du système d’exploitation. Les pilotes Azure Sphere incluent Wi-Fi (qui inclut une pile de mise en réseau TCP/IP), UART, SPI, I2C et GPIO, entre autres.

Moniteur de sécurité

Le Moniteur de sécurité fourni par Microsoft s’exécute dans sw. Il est chargé de protéger le matériel sensible à la sécurité, tel que la mémoire, la mémoire flash et d’autres ressources MCU partagées, et d’exposer en toute sécurité un accès limité à ces ressources. Le Moniteur de sécurité répartit et portes l’accès au sous-système de sécurité Pluton et à la racine matérielle de confiance et agit comme un chien de garde pour l’environnement NW. Il démarre le chargeur de démarrage, expose les services d’exécution à NW et gère les pare-feu matériels et d’autres composants en silicium qui ne sont pas accessibles à NW.

Service de sécurité Azure Sphere

Le service de sécurité Azure Sphere comprend trois composants : l’authentification sans mot de passe, la mise à jour et le rapport d’erreurs.

  • Authentification sans mot de passe. Le composant d’authentification fournit une attestation distante et une authentification sans mot de passe. Le service d’attestation à distance se connecte via un protocole challenge-response qui utilise la fonctionnalité de démarrage mesuré sur le sous-système Pluton. Il vérifie non seulement que l’appareil a démarré avec le logiciel correct, mais avec la version correcte de ce logiciel.

    Une fois l’attestation réussie, le service d’authentification prend le relais. Le service d’authentification communique via une connexion TLS sécurisée et émet un certificat que l’appareil peut présenter à un service web, tel que Microsoft Azure ou le cloud privé d’une entreprise. Le service web valide la chaîne de certificats, vérifiant ainsi que l’appareil est authentique, que son logiciel est à jour et que Microsoft est sa source. L’appareil peut ensuite se connecter en toute sécurité au service en ligne.

  • Mettre à jour. Le service de mise à jour distribue des mises à jour automatiques pour le système d’exploitation Azure Sphere et pour les applications. Le service de mise à jour garantit un fonctionnement continu et permet la maintenance à distance et la mise à jour des logiciels d’application.

  • Rapport d’erreurs. Le service de rapport d’erreurs fournit un rapport d’incident simple pour les logiciels déployés. Pour obtenir des données plus riches, utilisez les fonctionnalités de création de rapports et d’analyse incluses dans un abonnement Microsoft Azure.

Toutes les données stockées avec le service de sécurité Azure Sphere sont chiffrées au repos par défaut. Le service de sécurité stocke les données dans Stockage Azure, Azure Cosmos DB et Azure Key Vault, à l’aide de l’implémentation du chiffrement des données au repos pour chaque service de ce type.