Démarrage sécurisé dans les systèmes embarqués
Il n’est pas surprenant que le pourcentage d’intrusions concernant les dispositifs destinés à l’utilisateur final ait doublé chaque année, ni que les acteurs malveillants se tournent désormais davantage vers les utilisateurs mobiles et l’Internet des objets (IoT). Un attaquant capable de modifier, d’injecter ou de remplacer du code sur un appareil IoT peut prendre le contrôle du système et, de là, accéder à des données sensibles, provoquer des perturbations par déni de service ou l’utiliser comme point d’appui pour attaquer d’autres systèmes sur le réseau. Il est donc plus que jamais impératif de donner la priorité à la sécurité dans les systèmes embarqués, et le démarrage sécurisé de chaque système embarqué constitue un élément clé de toute stratégie de sécurité.
Qu’est-ce que le démarrage sécurisé pour les systèmes embarqués ?
Lorsque vous allumez un appareil IoT, il lance un processus de démarrage. Le code de démarrage s’exécute sur la puce de l’appareil, puis charge et exécute le code et les applications supplémentaires. Une fois ce processus terminé, l’appareil est prêt à être utilisé.
Avec le démarrage sécurisé, toutefois, le seul code exécuté n’est pas celui qui se trouve sur l’appareil, mais uniquement celui que le fabricant a préalablement signé de façon sécurisée. Une fois que ce code de confiance est lancé, tout code ou application additionnel ne s’exécutera que s’il est signé avec la clé privée correspondante à la clé publique intégrée à cette phase du processus de démarrage. Couche après couche, le code et les applications s’appuient sur ce qu’on appelle une chaîne de confiance, et l’appareil n’exécute que le code certifié par la clé appropriée.
En résumé, le démarrage sécurisé garantit que le seul code pouvant s’exécuter sur un appareil est celui expressément destiné à y tourner.
Avec le démarrage sécurisé, toutefois, le seul code exécuté n’est pas celui qui se trouve sur l’appareil, mais uniquement celui que le fabricant a préalablement signé de façon sécurisée. Une fois que ce code de confiance est lancé, tout code ou application additionnel ne s’exécutera que s’il est signé avec la clé privée correspondante à la clé publique intégrée à cette phase du processus de démarrage. Couche après couche, le code et les applications s’appuient sur ce qu’on appelle une chaîne de confiance, et l’appareil n’exécute que le code certifié par la clé appropriée.
En résumé, le démarrage sécurisé garantit que le seul code pouvant s’exécuter sur un appareil est celui expressément destiné à y tourner.
Les Principaux défis de l'activation du démarrage sécurisé

Le démarrage sécurisé est spécifique au fournisseur
Tandis que certaines plateformes (Intel x86, famille NXP i.MX…) offrent toute la documentation et des exemples prêts à l’emploi pour activer le démarrage sécurisé, d’autres fabricants (Texas Instruments, Qualcomm…) s’appuient généralement sur des accords de confidentialité (NDA) pour rendre ces informations accessibles. Cela crée un risque pour les OEM, qui ne prennent la mesure de la complexité du sujet qu’au moment de démarrer l’implémentation.

Le démarrage sécurisé s’accompagne d’exigences supplémentaires
Le démarrage sécurisé est le processus de création d’une chaîne de démarrage signée depuis le Power-On Reset du système jusqu’à l’exécution de l’application. Mais le démarrage sécurisé à lui seul ne rend pas un système sécurisé. Il implique souvent l’utilisation de mécanismes supplémentaires tels que la protection du système de fichiers racine, des mises à jour sécurisées avec redondance A/B, et le renforcement (hardening) du système d’exploitation, qui demandent temps et expertise pour être mis en place.

Le déploiement des appareils devient plus complexe
Le démarrage sécurisé implique que les signatures du firmware soient programmées dans l’appareil et stockées de manière sécurisée (généralement dans des fusibles programmables une seule fois et verrouillables). Witekio peut aider votre équipe de production à mettre en place l’infrastructure nécessaire pour le provisionnement et le déploiement du démarrage sécurisé.
Éléments clés à prendre en compte lors de l’activation du démarrage sécurisé dans votre système embarqué
Calendrier de mise en œuvre
L’activation du secure boot peut souvent réduire l’efficacité du flux de travail des développeurs, car elle exige des étapes supplémentaires, comme la construction et la signature d’une image système, ou peut interdire certaines approches.
En cas de problème, le débogage est volontairement difficile et offre généralement peu de possibilités d’introspection ou de journaux.
En cas de problème, le débogage est volontairement difficile et offre généralement peu de possibilités d’introspection ou de journaux.
Clés de production et de développement
Il est crucial de disposer de jeux de clés distincts pour les environnements de développement et de production.
Cela permet de distribuer les clés de développement aux équipes, afin qu’elles signent et testent rapidement leur code, sans compromettre les clés et la sécurité du système de production.
Cela permet de distribuer les clés de développement aux équipes, afin qu’elles signent et testent rapidement leur code, sans compromettre les clés et la sécurité du système de production.
Garder les clés privées secrètes
Il est impératif de conserver vos clés privées strictement confidentielles.
Si un tiers accédait à vos clés privées de signature, il pourrait signer un logiciel modifié ou malveillant, qui serait alors authentifié et exécuté par l’appareil sans méfiance.
Si un tiers accédait à vos clés privées de signature, il pourrait signer un logiciel modifié ou malveillant, qui serait alors authentifié et exécuté par l’appareil sans méfiance.

Nicolas Legrand
Project lead
Travailler avec Witekio a été déterminant pour transformer nos systèmes de pompes à perfusion. Leur expertise en conformité logicielle et en conseil technique nous a non seulement permis d’améliorer nos dispositifs, mais a également établi une base solide pour les développements futurs. Nous n’aurions pas pu y parvenir sans leur soutien et leur collaboration.
Pourquoi le démarrage sécurisé est-il important dans les systèmes embarqués ?
Lorsque le démarrage sécurisé est activé, les systèmes embarqués des objets connectés (IoT) sont plus sûrs et garantis sans code injecté ou non officiel. Pour les fabricants et les fournisseurs d’appareils IoT, cela signifie que le démarrage sécurisé protège leur investissement, leur marque et les réseaux de leurs utilisateurs finaux.
Protéger un investissement
Les fabricants et les fournisseurs investissent des capitaux importants dans le développement, la commercialisation et le support des appareils IoT. Si un appareil était piraté ou qu’un code malveillant y était injecté, une grande partie de cet investissement pourrait être compromise, voire perdue. Le démarrage sécurisé assure la protection de ces investissements contre les acteurs malveillants.
Protéger une marque
Le coût d’une attaque se mesure non seulement aux dépenses immédiates liées à la réparation (développement de correctifs, déploiement de mises à jour OTA), mais aussi à l’impact sur la réputation du fournisseur en tant que créateur de dispositifs IoT fiables et de qualité. Les conséquences sur l’image de marque peuvent être lourdes : perte de clients existants, refus d’achat par de futurs clients, interruptions d’activité, et coûts marketing et stratégiques pour restaurer la confiance.
Protéger un réseau
Nombreux sont les appareils IoT qui communiquent entre eux et avec un cloud privé ou public. Si un code non autorisé s’exécute sur un seul appareil, il peut compromettre l’ensemble des dispositifs du réseau, ainsi que toutes les données collectées, transmises, partagées et stockées. Dans un monde où les données ont une valeur inestimable, les enjeux d’un processus de démarrage non sécurisé sont considérables.
Witekio peut accompagner l’activation du secure boot
Witekio possède une expertise approfondie du secure boot dans les systèmes embarqués. Fort de deux décennies d’expérience auprès de fournisseurs de tous secteurs pour sécuriser leurs appareils IoT, les ingénieurs Witekio savent précisément ce qui est nécessaire et comment le mettre en œuvre, afin de garantir que chaque démarrage de chaque appareil soit sécurisé à chaque fois.
Parmi les façons dont Witekio apporte de la valeur aux fabricants et fournisseurs IoT :
Les ingénieurs de Witekio ont l’expérience de la configuration du secure boot sur des SoC tels que NXP i.MX 6/7/8/9, STMicro STM32MP1, Rockchip RK36xx et Nvidia Jetson. Ils maîtrisent également le développement et la personnalisation des composants logiciels de secure boot pour des appareils IoT dans des secteurs variés : technologie médicale, distributeurs automatiques, équipements de cuisine grand public, etc.
Parmi les façons dont Witekio apporte de la valeur aux fabricants et fournisseurs IoT :
- Consultant expert pour le client et le fabricant
- Conseils sur les meilleures pratiques de gestion des clés de sécurité
- Optimisation de la transition du prototype à la production en usine
Les ingénieurs de Witekio ont l’expérience de la configuration du secure boot sur des SoC tels que NXP i.MX 6/7/8/9, STMicro STM32MP1, Rockchip RK36xx et Nvidia Jetson. Ils maîtrisent également le développement et la personnalisation des composants logiciels de secure boot pour des appareils IoT dans des secteurs variés : technologie médicale, distributeurs automatiques, équipements de cuisine grand public, etc.
Notre expertise en logiciel embarqué

Votre partenaire de confiance en logiciel embarqué, applications et connectivité
4 Pays
4 Pays
Certifies ISO 27001
Certifies ISO 27001
