• Orange, via le projet TinyPART, propose des outils pour aider les acteurs à surmonter les défis de flexibilité, coût et ressources, tout en gérant les menaces émergentes.
Qu’est-ce que le Far Far Edge ?
L’informatique de périphérie (ou Edge computing) vise principalement à héberger des applications sur des nœuds de calcul généralement classés en fonction de leur distance par rapport à leurs clients. Ainsi, on distingue les nœuds Cloud situés dans des datacenters centralisés (Cloud), les nœuds Edge situés dans les infrastructures du réseau d’accès des opérateurs, les nœuds Far Edge à la périphérie d’un réseau comme par exemple les box internet et finalement les nœuds Far Far Edge qui se trouvent directement sur les objets connectés, typiquement sur des microcontrôleurs (Un microcontrôleur est un petit ordinateur intégré dans un circuit qui contrôle des dispositifs électroniques. Il exécute des tâches spécifiques, comme gérer des capteurs ou des moteurs, et est souvent utilisé dans des applications comme les appareils électroménagers, les jouets ou les systèmes de sécurité.).
Le paradigme Far Far Edge se caractérise par la capacité à déployer du code directement sur des microcontrôleurs, souvent sous la forme de conteneurs. Cette approche permet une flexibilité accrue, car plusieurs applications peuvent coexister sur un même dispositif, facilitant ainsi l’intégration de différentes fonctionnalités et de nouveaux acteurs utilisant ces fonctionnalités. Cependant, cette flexibilité accrue présente des défis significatifs, notamment en matière de sécurité, de gestion des ressources et de protection de la propriété intellectuelle.
Imaginons qu’une entreprise qui produit des conteneurs standardisés pour le fret maritime, ferroviaire ou routier décide de créer un nouveau produit « SmartDroneBox », une boîte spécifiquement adaptée pour la livraison par drones qui embarque une logique permettant de s’assurer que son contenu n’est pas altéré. Le fournisseur de SmartDroneBox décide d’ajouter de la valeur à celui-ci en permettant à des tiers d’exécuter du code dessus. Il pourrait par exemple s’agir d’un code spécifique à la société de livraison lui permettant d’afficher l’adresse du destinataire et de recueillir sa signature ou alors de contrôler et d’attester le respect de certaines conditions de livraison telles que l’orientation, la température, l’hygrométrie. Il pourrait également s’agir du code déployé par un tiers ne prenant pas part à la prestation de livraison et qui souhaite établir une cartographie de la couverture radio d’une ville.
![](https://hellofuture.orange.com/app/uploads/2025/01/1-780x439.jpg)
Figure 1. Exemple illustratif de Far Far Edge – SmartDroneBox
Exécuter des conteneurs sur des microcontrôleurs, c’est possible…
Grâce à Docker, il est déjà possible d’étendre le Cloud jusqu’à la bordure de réseau puisque Docker nécessite 4 GigaOctets de RAM, ce qui correspond à un Raspberry Pi4. Cependant, pour aller plus loin, il faut pouvoir déployer des conteneurs sur des objets connectés plus contraints qui disposent typiquement de microcontrôleurs avec seulement quelques dizaines ou centaines de kiloOctets de RAM.
![](https://hellofuture.orange.com/app/uploads/2025/01/2-e1738324794313-780x535.jpg)
Figure 2. Panorama des capacités des objets connectés et des solutions de conteneurisation
Plusieurs solutions permettent de créer des environnements d’exécution isolés pour conteneurs sur des microcontrôleurs. Elles se répartissent en quatre grandes familles caractérisées par la méthode d’isolation, logicielle ou matérielle, et le type d’instructions transmises, compréhensibles par des humains ou du code machine précompilé. Parmi ces solutions, Orange a plus particulièrement investigué les solutions Pip-MPU (un noyau open source formellement prouvé conçu à travers une collaboration entre Orange et l’Université de Lille), WebAssembly (abrégé wasm, un standard W3C qui définit un format d’instructions pour un environnement d’exécution isolé) et rBPF, une version légère et adaptée aux microcontrôleurs de eBPF, une technologie qui permet d’exécuter du code en mode noyau dans le système d’exploitation Linux.
![](https://hellofuture.orange.com/app/uploads/2025/01/4-e1738323476474-780x801.jpg)
Figure 3. Quelques solutions qui permettent d’exécuter des conteneurs sur des microcontrôleurs.
… mais il reste encore quelques défis…
Bien qu’il soit possible d’exécuter des conteneurs sur des systèmes embarqués, il existe peu de solutions pour déployer et gérer leur cycle de vie sur des microcontrôleurs, les options comme Kubernetes et WASMCloud étant inadaptées aux contraintes mémoire de ces équipements. A notre connaissance, la seule solution existant avant le projet TinyPART se limite au développement de conteneurs non standardisés sur des microcontrôleurs ESP32, sans possibilité de créer des services composés de plusieurs conteneurs. Par ailleurs, la flexibilité offerte par les conteneurs pourrait potentiellement exposer les ressources à des attaques, permettant à des attaquants d’exploiter des vulnérabilités pour réaliser des attaques telles que le déni de soutenabilité (augmentation de la consommation électrique), le déni de qualité (modification de paramètres techniques de robots industriels), et le « Deadman PLC » (contrôle d’équipements via des réseaux clandestins avec demande de rançon).
![](https://hellofuture.orange.com/app/uploads/2025/01/Capture-decran-2025-01-31-125622-780x355.png)
Figure 4.Nouvelles menaces posées par la conteneurisation
…auxquels le projet TinyPART répond
Le projet TinyPART répond aux objectifs de sécurité et de protection de de la vie privée avec des contributions sur deux dimensions. La première vise à renforcer l’isolation tout en conservant les propriétés de flexibilité. La seconde concerne la gestion du cycle de vie des conteneurs et un contrôle fin des accès aux ressources.
Renforcement de l’isolation avec Pip-MPU
L’Université de Lille et Orange ont collaboré pour créer Pip-MPU, un noyau qui se base sur un composant matériel de protection de la mémoire (Memory Protection Unit, abrégé MPU) pour assurer de manière forte une séparation stricte en termes de confidentialité et d’intégrité entre différents composants exécutables organisés sous la forme d’arbres de partitions.
Renforcement de la sécurité des mises à jour avec SUIT
Afin de permettre la mise à jour sécurisée de portions de codes provenant d’acteurs différents de l’éditeur de firmware, ce qui est le cas le cas lors de mise à jour ou de déploiement de conteneurs, l’INRIA a implémenté et adapté le protocole IETF SUIT dans RIOT.
Gestion du cycle de vie et de l’accès aux ressources avec TinyContainer-as-a-Service
TinyContainer-as-a-Service est composé de trois niveaux d’outils développés par Orange. Le premier est l’agent TinyContainer, un module open source intégré dans les objets connectés, qui gère le cycle de vie des conteneurs et l’accès aux ressources locales et distantes, tout en appliquant une politique de contrôle d’accès via des manifests. Le deuxième niveau est la passerelle TinyContainer Edge, qui relie les protocoles optimisés pour les systèmes connectés aux protocoles web traditionnels. Enfin, la plateforme TinyContainer-as-a-Service permet aux différentes parties prenantes d’administrer les objets connectés et les conteneurs.
![](https://hellofuture.orange.com/app/uploads/2025/01/7-e1738324484680-780x241.jpg)
Figure 5. Composants de TinyContainer-as-a-Service
Ces résultats constituent un pas vers le paradigme de l’Internet des objets défini par logiciel (SD-IoT), permettant une programmation à distance des objets connectés, facilitant ainsi l’adaptation rapide aux besoins des utilisateurs.
![](https://hellofuture.orange.com/app/uploads/2025/01/3-780x439.jpg)
Figure 6. Paradigme SD-IOT
Quelle valeur ajoutée ?
Le principal avantage pour les clients est la flexibilité de déployer du code sur des équipements connectés sans modifier l’intégralité du firmware ni redémarrer l’appareil. Trois familles de cas d’usage sont identifiées :
- Personnalisation de masse : Permet aux utilisateurs de personnaliser des produits, comme configurer une session sportive sur un équipement connecté dans une ville intelligente ou personnaliser l’interface d’un micro-onde pour afficher les commandes les plus utilisées.
- Maîtrise des variations de firmware : Dans des secteurs comme l’industrie 4.0, il est essentiel d’adapter le fonctionnement des équipements à des contextes spécifiques. Au lieu de gérer plusieurs versions de firmwares en parallèles, il sera possible de créer un firmware de base contenant les fonctions stables et de mettre dans des conteneurs les fonctions dépendantes d’un contexte. Ainsi, la conteneurisation permettra de réduire le temps, le coût de développement, la complexité de maintenance et la complexité du suivi de conformité avec la réglementation CRA.
- Déploiement de code de tiers : Les utilisateurs peuvent choisir des applications tierces sur une place de marché pour modifier leurs objets connectés. Un autre exemple consiste à permettre à un sous-traitant de déployer des logiques de maintenance sur des équipements industriels. Il est aussi possible pour des propriétaires d’objets connectés de générer du revenu supplémentaire en louant les ressources de ces équipements à des acteurs, comme illustré dans l’exemple SmartDroneBox présenté en introduction. Les conteneurs facilitent cette flexibilité tout en assurant l’isolation et la sécurité entre différents acteurs.
![](https://hellofuture.orange.com/app/uploads/2025/01/5-e1738324356244-780x448.jpg)
Figure 7. Familles de cas d’usage des conteneurs pour microcontrôleurs
Conclusion et perspectives
En conclusion, les travaux autour du paradigme Far Far Edge et du projet TinyPART ouvrent des perspectives prometteuses pour l’avenir des systèmes embarqués et de l’Edge Computing. L’un des enjeux majeurs réside dans la création d’un nouveau modèle d’opérateurs d’infrastructures, où, contrairement aux solutions Cloud traditionnelles, nous pourrions opérer des ressources de tiers. Ce modèle innovant permettrait de mettre en relation des acteurs souhaitant exécuter du code sur les ressources de ces tiers, favorisant ainsi une collaboration dynamique et une utilisation optimale des capacités disponibles. En facilitant l’accès à des ressources variées et en garantissant la sécurité et la flexibilité, nous pourrions transformer la manière dont les applications sont déployées et gérées, tout en répondant aux besoins spécifiques des utilisateurs dans un écosystème de plus en plus connecté. Cette approche pourrait non seulement améliorer l’efficacité opérationnelle, mais aussi stimuler l’innovation dans divers secteurs, rendant les technologies de l’Edge Computing plus accessibles et pertinentes.
Les travaux de recherche menant à ces résultats ont été partiellement financés par les conventions ANRT Cifre N°2020/0380, n°2024/0426, le programme de recherche sur la cybersécurité sous les accords de financement n°ANR-20-CYAL-0005 et 16KIS1395K. Cet article reflète uniquement les vues des auteurs. MESRI et BMBF ne sont pas responsables de tout usage qui peut être fait des informations qu’il contient.
En savoir plus :
Le projet TinyPART est un projet collaboratif franco-allemand qui a impliqué cinq partenaires industriels et académiques Orange, INRIA, Université de Lille, PHYSEC et Freie Universität Berlin.
Site web projet TinyPART: https://tinypart.github.io/TinyPART/
Séminaire du projet TinyPART (2024) organisé par le PIP User Club : https://pip.univ-lille.fr/pcm2024.html
Podcast TechCyberCNI (2024) : https://talk.cybercni.fr/2024/10/28/t40-software-multi-tenancy-on-micro-controllers-enhancing-security-with-tinypart-toolkit-chrystel-gaber-orange-gilles-grimaud-u-lille-emmanuel-baccelli-inria/
Présentation de TinyContainer au RIOT Summit 2023 : https://youtu.be/b3436VhisUU
Présentation de Pip-MPU au RIOT Summit 2023 : https://youtu.be/1mvKq7coJ98?
WebAssembly MicroRuntime : https://github.com/bytecodealliance/wasm-micro-runtime
Pip-MPU: https://github.com/2xs/pipcore-mpu
RIOT : https://www.riot-os.org/