Azure Sphere OS : plusieurs puces et des conteneurs

Par:
francoistonic

jeu, 19/04/2018 - 18:27

Il y a quelques jours nous avons évoqué Azure Sphere et le partenariat avec Mediatek, avant d’autres annonces. Sphere OS doit être vu comme la continuité du travail réalisé sur Azure IoT Hub et certaines briques de ce dernier se retrouve dans l’OS annoncé. Un des freins restent la sécurité et le focus du projet est justement la sécurité. Comme nous l’a précisé Christopher Plieger de Microsoft France, Microsoft ne fabrique pas les puces mais l’architecture a été réalisée par l’éditeur. En réalité la plateforme embarque un SoC complet côté de deux processeurs ARM :

- Cortex A pour exécuter les applications et les services Linux

- Cortex M, deux coeurs, pour les autres tâches et notamment tout ce qui est I/O et le temps réel.

Cette approche est intéressante pour éviter de charger inutilement le processeur. A cela se rajoute un élément essentiel pour la sécurité : le coprocesseur Pluton, désigné par Microsoft. Pluton est une enclave de sécurité embarquée, Ce coprocesseur assure un boot sécurisé et il permet de crypter les communications et l’IoT et les services Azure ainsi que l’authentification. Une clé cryptée est présente dans cette enclave et est unique à chaque SoC.

Une question est de savoir pourquoi un noyau Linux et non pas Windows ? La réponse est claire : Windows n’est pas modulaire, ni assez petit pour pouvoir tenir sur des SoC aussi réduits. Linux, étant à l’aise avec les conteneurs et avec son côté hautement modulaire, a été choisi pour Sphere OS. D’autre part, Linux est très présent dans l’embarqué et les IoT. Il s’agit aussi d’une logique marché.

Sphere OS est un Linux en partie redéveloppé et adapté aux besoins et contraintes des IoT.

Le système propose 4 couches séparées : security monitor, noyau Linux, services de conductivités et le conteneur applicatif et conteneur applicatif temps réel (côté I/O). On peut rajouter une 5e couche, la plus basse : le matériel.

Et tout est compartimenté. Grosso modo, une couche = 1 conteneur. Il est intéressant de constater que Sphere OS propose des mécanismes de mises à jour. Oui il sera possible de mettre à jour le système et les applications embarqués dans l’IoT. Tout sera géré par le security monitor. Ce monitoring servira aussi à remonter les anomalies, les tentatives d’attaques, etc. La télémétrie permettra de suivre le comportement de l’IoT.

Sphere OS et les SoC embarquant l’OS se destinent à l’industrie et aux OEM pas aux utilisateurs ni aux développeurs. Les premiers SDK / kits de développements devraient être disponible durant l’été. Les premiers IoT et le lancement officiel sont prévus vers la fin de l’année. Les tarifs ne sont pas encore connus. On parle de quelques centimes pour les SoC. Le prix est un élément crucial dans l’IoT.

Azure Sphere a l’ambition de simplifier la conception et le déploiement en masse d’IoT, tout en assurant la sécurité et la connectivité.

Côté développement, ce qui est fonctionne sur IoT Hub fonctionnera sur ces SoC. Visual Studio supportera les projets Sphere OS.

François Tonic