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.

Les Principaux défis de l'activation du démarrage sécurisé

hardware board blue

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.
secure development blue

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.
scalability blue

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é

Secure boot infrastructure

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.

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.

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.
Nicolas Legrand Fresenius
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. 

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.
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.
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 :
  • 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é

Buildroot

osmigration

Android

Witekio The Embedded Kit teams

Votre partenaire de confiance en logiciel embarqué, applications et connectivité

flag_line

4 Pays

4 Pays

iso_27001_02-1024x704

Certifies ISO 27001

Certifies ISO 27001

Avnet_logo

Fortune 500

Fortune 500