Qu’est-ce qu’Azure Sphere ?

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

Le MCU Azure Sphere intègre des capacités de traitement en temps réel à la possibilité d’exécuter un système d’exploitation de haut niveau. Une MCU Azure Sphere (qui comprend son système d’exploitation et sa plateforme d’application) permet la création d’appareils sécurisés connectés à Internet, qui peuvent être mis à jour, contrôlés, supervisés et gérés à distance. Un appareil connecté doté d'un microcontrôleur Azure Sphere, avec ou à la place de microcontrôleurs existants, permet de gagner en sécurité, en productivité et en opportunité. Par exemple :

  • Un environnement d’application sécurisé, les connexions authentifiées et l’utilisation de périphériques avec abonnement limitent les risques de sécurité en raison des usurpations, des logiciels malveillants ou des attaques par déni de service, entre autres.
  • Les mises à jour logicielles peuvent être automatiquement déployées à 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, ce qui améliore la productivité du support technique.
  • Les données d’utilisation des produits peuvent être envoyées dans le cloud via une connexion sécurisée pour vous aider à diagnostiquer des problèmes et à concevoir de nouveaux produits, ce qui augmente les chances d’obtenir un meilleur usage des produits, des interactions positives avec les clients et un développement futur.

Le service de sécurité Azure Sphere fait partie intégrante d’Azure Sphere. À l’aide de ce service, les microcontrôleurs Azure Sphere se connectent de manière sécurisée au cloud et au web. Le service garantit le démarrage de l’appareil avec uniquement une version autorisée du logiciel approuvé authentique. De plus, il fournit un canal sécurisé par le biais duquel Microsoft peut automatiquement télécharger et installer 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é. Aucune intervention du fabricant ou de l’utilisateur final n’est nécessaire, ce qui comble une brèche de sécurité fréquente.

Scénario Azure Sphere

Pour comprendre comment Azure Sphere fonctionne dans une configuration concrète, examinez le scénario suivant.

Contoso, Ltd., est un fabricant de produits électroménagers qui incorpore un microcontrôleur Azure Sphere dans ses lave-vaisselle. Le lave-vaisselle DW100 associe le microcontrôleur à plusieurs capteurs et à une application générale intégrée qui s’exécute sur le microcontrôleur 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 à IoT, au service de sécurité et au locataire cloud du fabricant

Lave-vaisselle connectés au réseau Contoso

En partant du haut à gauche, et dans le sens des aiguilles d’une montre :

  • Microsoft publie des mises à jour pour le système d'exploitation Azure Sphere par le biais du service de sécurité Azure Sphere.

  • Les ingénieurs produit Contoso publient des mises à jour pour leur application DW100 par le biais du service de sécurité Azure Sphere.

  • Le service de sécurité Azure Sphere déploie de manière sécurisée le système d'exploitation mis à jour et le logiciel d’application Contoso DW100 sur les lave-vaisselle où se trouvent les utilisateurs finaux.

  • Le support des 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 être exécutée sur chaque appareil de l’utilisateur final et collecter toutes les données de rapport d’erreurs qui ont été signalées au service. Le support des lave-vaisselle Contoso communique également avec le service cloud Contoso pour obtenir des informations supplémentaires.

  • Les services cloud Contoso prennent en charge des applications pour la résolution des problèmes, l’analyse de 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 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 sur le lave-vaisselle peuvent surveiller la température de l’eau, le séchage et le rinçage et charger ces données sur les services Cloud de contoso, où une application de service Cloud l’analyse pour identifier les problèmes potentiels. Si la température de séchage semble anormalement élevée ou basse (ce qui peut indiquer une pièce défectueuse), Contoso exécute des diagnostics à distance et informe 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 rechange, réduisant ainsi les visites de maintenance et les besoins d’inventaire. De même, si le niveau de produit de rinçage est faible, le lave-vaisselle peut signaler au client de racheter du produit de rinçage directement auprès du fabricant.

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

À l’aide des outils de déploiement Azure Sphere, Contoso cible chaque mise à jour de logiciel d’application sur le modèle de lave-vaisselle adéquat, tandis que le service de sécurité Azure Sphere distribue les mises à jour du logiciel aux appareils appropriés. Seules les mises à jour de logiciel 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

Un des principaux objectifs de la plateforme Azure Sphere consiste à fournir une grande sécurité à moindre coût afin que les appareils alimentés par microcontrôleur à bas prix puissent se connecter à Internet de manière sécurisée et fiable. Alors que les jouets, les appliances et autres appareils connectés au réseau se généralisent, la sécurité est de toute première importance. Non seulement le matériel de l’appareil lui-même doit être sécurisé, mais aussi ses logiciels et ses connexions cloud. Un manquement à la sécurité n’importe où dans l’environnement d’exploitation menace l’ensemble du produit et, potentiellement, tout élément ou toute personne à proximité.

Basée sur les dizaines d’années 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 matérielle de l’approbation. Une racine matérielle de confiance garantit que l’appareil et son identité ne peuvent pas être séparés, ce qui empêche l’usurpation d’identité et la falsification d’appareil. Chaque microcontrôleur Azure Sphere est identifié par une clé de chiffrement non falsifiable 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 de confiance inviolable et sécurisée depuis l’usine jusqu’à l’utilisateur final.

Défense en profondeur. La défense en profondeur offre plusieurs couches de sécurité et, par conséquent, plusieurs méthodes d’atténuation contre chaque menace. Chaque couche logicielle dans la plateforme Azure Sphere vérifie que la couche située au-dessus d’elle est sécurisée.

Petite base TCB (Trusted Computing Base). La plupart des logiciels de l’appareil restent en dehors de la base informatique approuvée, ce qui réduit la surface d’exposition aux attaques. Seuls le Moniteur de sécurité sécurisé, le runtime Pluton et le sous-système de Pluton (tous fournis par Microsoft) s’exécutent sur la base TCB.

Compartiments dynamiques. Les compartiments dynamiques limitent la portée d’une seule erreur. Les microcontrôleurs Azure Sphere contiennent des contre-mesures de silicium, notamment des pare-feu matériels, pour éviter qu’une violation de sécurité dans un composant se propage à d’autres composants. Un environnement d’exécution « Sandboxed » restreint 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 non falsifiable, fournit une authentification bien plus forte que les mots de passe. La plateforme Azure Sphere exige que chaque élément logiciel soit signé. Les communications appareil-à-Cloud et Cloud-à-appareil requièrent une authentification supplémentaire, qui est effectuée avec des certificats.

Rapport d’erreurs. Les erreurs dans les logiciels ou le matériel des appareils sont typiques dans les attaques de sécurité émergentes. les erreurs qui provoquent une défaillance de l’appareil constituent une attaque par déni de service. La communication appareil-à-Cloud fournit un avertissement anticipé des erreurs potentielles. Les appareils Azure Sphere peuvent automatiquement signaler des données opérationnelles et des erreurs à un système d’analyse basé sur le 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é, ne nécessitant 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

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

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

De même, l’architecture logicielle, avec un noyau de système d’exploitation personnalisé sécurisé s’exécutant sur le Moniteur de sécurité écrit par Microsoft, vous permet de concentrer vos efforts en matière de logiciels sur les fonctionnalités IoT à valeur ajoutée et autres fonctionnalités spécifiques aux appareils.

Le service de sécurité Azure Sphere prend en charge l’authentification, les mises à jour logicielles et les rapports d’erreurs sur les canaux Cloud-à-appareil et appareil-à-Cloud sécurisés. Le résultat est une infrastructure de communications sécurisée qui garantit que vos produits exécutent le système d’exploitation Azure Sphere le plus récent.

Architecture matérielle

Un microcontrôleur transversal Azure Sphere se compose de plusieurs cœurs sur un seul dé, comme le montre l’illustration suivante.

Architecture matérielle

Architecture matérielle de MCU Azure Sphere

Chaque cœur et le sous-système qui lui est associé se trouvent dans un domaine de confiance différent. La racine de confiance se trouve dans le sous-système de sécurité Pluton. Chaque couche de l’architecture suppose que la couche située au-dessus d’elle 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 au niveau matériel (en silicium) pour Azure Sphere. Il inclut un cœur de processeur de sécurité, des moteurs de chiffrement, un générateur de nombres aléatoires matériel, la génération de clés publiques/privées, le chiffrement symétrique et asymétrique, la prise en charge de la vérification de l’algorithme ECDSA pour un démarrage sécurisé et le démarrage mesuré en silicium pour prendre en charge l’attestation distante avec un service cloud, ainsi que diverses contre-mesures d’altération, dont une unité de détection d’entropie.

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

Cœur d'application générale

Le cœur d’application générale comprend un sous-système ARM Cortex-A qui possède une unité MMU (Memory Management Unit) complète. Il permet le cloisonnement au niveau matériel de processus en utilisant la fonctionnalité de zone de confiance et est chargé de l’exécution du système d’exploitation, des applications générales 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 générales s’exécutent en mode utilisateur NW.

Cœurs en temps réel

Les cœurs en temps réel comportent un sous-système d’E/S ARM Cortex-M qui exécute des applications en temps réel en tant que code complet ou un système d’exploitation en temps réel (RTOS). De telles applications peuvent mapper des périphériques et communiquer avec des applications générales, mais ne peuvent pas accéder directement à Internet.

Connectivité et communications

Le premier microcontrôleur Azure Sphere fournit une radio Wi-Fi 802.11 b/g/n qui fonctionne à 2,4 GHz et à 5 GHz. Les applications générales peuvent configurer, utiliser et interroger le sous-système de communication sans fil, mais elles ne peuvent pas le programmer directement. En plus ou à la place du 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 différentes fonctionnalités d’E/S pour vous permettre de configurer des appareils intégrés afin qu’ils correspondent aux besoins de votre produit et de votre marché. Les périphériques d’E/S peuvent être mappés avec l'application générale ou un cœur en temps réel.

Pare-feux Microsoft

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

Mémoires RAM et flash intégrées

Les microcontrôleurs Azure Sphere présentent un minimum de 4 Mo de mémoire RAM intégrée et de 16 Mo de mémoire flash intégrée.

Architecture logicielle et système d'exploitation

La plateforme d’application générale exécute le système d’exploitation Azure Sphere ainsi qu'une application générale spécifique à l’appareil capable de communiquer avec Internet et les applications en temps réel qui s’exécutent sur des 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’application

Plateforme d'application générale

Microsoft fournit et gère tous les logiciels autres que les applications spécifiques à votre appareil. Tous les logiciels qui s’exécutent sur l’appareil, notamment l’application générale, sont signés par l’autorité de certification Microsoft. Les mises à jour d’application sont fournies par le biais du 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 de runtime 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 générales, mais pas les E/S du fichier générique ni l'accès au shell, en autres contraintes. Ces restrictions garantissent que la plateforme reste sécurisée et que Microsoft peut fournir des mises à jour de maintenance et de sécurité. De plus, les bibliothèques avec contraintes fournissent une surface d’API stable à long terme afin que le système puisse ê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 générale et sont en charge 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. Lors du 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’avec un chargeur de démarrage. Le noyau est soigneusement réglé pour l’empreinte mémoire flash et RAM du microcontrôleur Azure Sphere. Il fournit une surface pour l’exécution prioritaire de processus d’espace utilisateur dans des espaces d’adressage virtuels distincts. Le modèle de pilote expose les périphériques MCU aux applications et services de système d’exploitation. Les pilotes Azure Sphere incluent Wi-Fi (qui comprend 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 l’environnement SW. Il est chargé de protéger le matériel sensible en matière de sécurité, comme la mémoire, la mémoire flash et d’autres ressources MCU partagées et d’exposer de manière sécurisée un accès limité à ces ressources. Le Moniteur de sécurité répartit et contrôle l’accès au sous-système de sécurité Pluton et à la racine matérielle de confiance. Il fait également office de chien de garde pour l’environnement NW. Il démarre le chargeur de démarrage, expose des services de runtime à l’environnement NW, et gère les pare-feu matériels ainsi que d’autres composants de 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 signalement 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 distante se connecte via un protocole de stimulation/réponse qui utilise la fonctionnalité de démarrage mesuré sur le sous-système Pluton. Il vérifie que l’appareil a démarré non seulement avec le logiciel correct, mais aussi 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 tels 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 en est la source. L’appareil peut ensuite se connecter de manière sécurisée avec le service en ligne.

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

  • Rapport d’erreurs. Le service de rapport d’erreurs fournit un rapport d’incidents simple pour les logiciels déployés. Pour obtenir des données plus riches, utilisez les fonctionnalités de génération de rapports et d’analyse qui sont 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, Cosmos DBet Azure Key Vault, à l’aide de l’implémentation du chiffrement des données au repos pour chaque Service de ce type.