Qu'est-ce que Secure Boot ? C'est là que commence la sécurité de IoT

Internet des objets (IoT)

Les dispositifs connectés IoT sont présents dans tous les aspects de la vie numérique moderne. Des véhicules autonomes et connectés aux appareils médicaux, en passant par les compteurs intelligents et les smartwatches. Les données générées et les processus contrôlés par ces appareils n'ont jamais été aussi nombreux.

En raison de leur importance, il est essentiel de donner la priorité à la sécurité des dispositifs intégrés IoT pour assurer l'intégrité et la fiabilité des données et des services.

La première étape pour assurer la sécurité d'un système embarqué IoT est connue sous le nom de Secure Boot. La sécurité de IoT devrait être basée sur la création d'une racine de confiance, qui fournit une fondation sûre sur laquelle le reste du système peut être construit en toute sécurité. Nous devons nous assurer que cette racine de confiance est effectivement digne de confiance afin de minimiser une attaque potentielle et ses conséquences.

Qu'est-ce que le Secure Boot ?

Secure Boot est le processus par lequel les images et le code de démarrage du système d'exploitation sont authentifiés sur le site hardware avant d'être autorisés à être utilisés dans le processus de démarrage. Le site hardware est préconfiguré pour authentifier le code à l'aide d'identifiants de sécurité fiables.

En d'autres termes, Secure Boot garantit que la technologie de démarrage et le système d'exploitation software sont la version légitime du fabricant et qu'ils n'ont pas été modifiés ou altérés par un acteur ou un processus malveillant.

Pourquoi Secure Boot est-il important ?

Secure Boot est essentiel pour empêcher un adversaire de compromettre un système d'exploitation ou d'installer un chargeur de démarrage différent dans l'appareil IoT .

La prolifération des dispositifs IoT intégrés dans les systèmes critiques des entreprises fait de l'utilisation de Secure Boot un facteur important de la sécurisation de ces dispositifs et de la garantie de leur fonctionnement fiable. Tout code malveillant inséré dans l'appareil peut l'intégrer dans un réseau de zombies ou l'utiliser comme rampe de lancement pour des attaques visant d'autres systèmes plus sensibles.

Par exemple, un adversaire pourrait pénétrer dans un appareil non sécurisé et remplacer un fichier exécutable légitime par un fichier contenant un logiciel malveillant. Si l'appareil n'est pas protégé par Secure Boot, le code malveillant sera exécuté au prochain redémarrage et l'appareil sera compromis.

Par le biais du code malveillant, qui s'exécute maintenant sur l'appareil, l'acteur malveillant peut manipuler les données recueillies par l'appareil ou rendre toute fonction exécutée par l'appareil illégitime ou indigne de confiance. Avec un processus de démarrage sécurisé en place, les contrôles de sécurité pendant le redémarrage identifieraient le fichier exécutable non autorisé, l'empêcheraient de s'exécuter et lanceraient des actions correctives.

Comment cela fonctionne-t-il ?

Le processus de démarrage sécurisé passe par une série d'étapes visant à garantir l'intégrité et l'authenticité de l'installation pour que l'appareil fonctionne correctement et en toute sécurité. Ces étapes sont illustrées dans l'image ci-dessous :

SecureBoot

Figure 1 : Processus de démarrage sécurisé. Source : Electronic Design : Electronic Design.

La vérification de l'authenticité du chargeur de démarrage est essentielle pour garantir et exécuter le reste du processus de démarrage. La vérification du fichier exécutable du chargeur de démarrage s'effectue à l'aide de clés publiques/privées. Lors du développement sécurisé du code du chargeur de démarrage, celui-ci est signé numériquement avec la clé privée du fabricant.

Lorsque le micrologiciel du chargeur de démarrage doit être installé sur l'appareil, il est comparé à la clé publique intégrée à l'appareil pour confirmer son authenticité. Le même processus est répété à chaque fois que l'appareil démarre ou qu'il est nécessaire d'installer une mise à jour.

Une fois que l'authenticité du fichier du chargeur de démarrage a été vérifiée, le processus Secure Boot vérifie la validité du système d'exploitation et des autres applications fonctionnelles. Le code signé de l'application est vérifié par rapport à la clé publique intégrée pour s'assurer de son authenticité. Si le système d'exploitation et les applications sont garantis, ils peuvent commencer à fonctionner.

En résumé, le processus de démarrage de l'appareil est lancé par un fichier d'amorçage fiable et chaque phase n'est exécutée qu'après vérification de l'authenticité de la phase précédente et démarrage réussi.

Défis liés au démarrage sécurisé

Le processus de démarrage sécurisé repose sur les clés racine associées à l'appareil, qui sont utilisées pour créer un certificat d'identité unique pour l'appareil. Lors de l'approvisionnement de l'appareil, une paire de clés doit être créée dans l'appareil à l'aide de la génération de clés sur l'appareil (ODKG). Une demande de signature de certificat (CSR) est ensuite envoyée à l'autorité de certification (CA) pour créer un certificat signé qui est ensuite installé dans l'appareil. . La sécurité de ces clés est le facteur clé du processus de démarrage sécurisé.

Par conséquent, le défi le plus important est de maintenir la sécurité de ces clés. Le processeur de l'appareil vérifie l'image d'amorçage par rapport à la clé stockée. Si les deux correspondent, l'image d'amorçage est exécutée. Les correspondances avec la clé racine dans le processeur constituent la chaîne de racine qui déclenche le fonctionnement du dispositif IoT . Si les clés sont compromises, l'ensemble du processus de démarrage sécurisé est compromis.

Des clés privées uniques sont créées pour chaque appareil et ne quittent jamais l'appareil périphérique. Ces clés privées sont recréées lorsque le certificat de l'appareil expire, et le processus peut être répété pendant toute la durée de vie de l'appareil IoT .

Les utilisateurs de l'appareil IoT doivent également savoir que le processus de démarrage sécurisé ne verrouille pas l'ensemble du système. Il ne sécurise que le système d'exploitation software. C'est très important, car si quelqu'un insère un logiciel malveillant qui s'exécute au-dessus du système d'exploitation, il est toujours en mesure de compromettre l'appareil.

Meilleures pratiques pour la mise en œuvre de Secure Boot

Pour sécuriser votre processus de démarrage sécurisé et donc vos appareils, il est conseillé de suivre les meilleures pratiques suivantes

Sécuriser le processus

Pour sécuriser le processus d'amorçage sécurisé, vous devrez sécuriser tous les processus associés. Pour ce faire, il est essentiel d'utiliser une capacité de génération de clés sur l'appareil, de sorte que la clé privée reste toujours dans l'appareil qui est sécurisé. La compromission de ces clés entraînerait la compromission de l'ensemble du processus, c'est pourquoi la protection de la clé privée de l'appareil est essentielle.

Utiliser un cryptage fort

Le chiffrement est le fondement de Secure Boot. Assurez-vous que vos algorithmes de chiffrement sont à jour et adaptés à l'objectif visé. Réfléchissez également à la manière dont vous pouvez mettre à jour vos algorithmes de chiffrement dans vos appareils périphériques, car la cryptographie évolue au fil du temps.

Sécurisez votre code

Pour que Secure Boot soit efficace, le code utilisé dans le chargeur de démarrage, le système d'exploitation et les autres applications fonctionnelles doit être développé en toute sécurité et vérifié minutieusement pour détecter toute faille de sécurité. Le code doit toujours être signé avec un certificat de signature de code, et l'accès à ce certificat doit être contrôlé et surveillé dans le cadre du processus de développement software .

Sécurisez votre code

Pour sécuriser le processus d'amorçage sécurisé, vous devrez sécuriser tous les processus associés. Pour ce faire, il est essentiel d'utiliser une capacité de génération de clés sur l'appareil, de sorte que la clé privée reste toujours dans l'appareil qui est sécurisé. La compromission de ces clés entraînerait la compromission de l'ensemble du processus, c'est pourquoi la protection de la clé privée de l'appareil est essentielle.

Utiliser une authentification forte

Pour renforcer la sécurité de l'appareil IoT , le code chargé doit toujours être authentifié. Secure Boot vérifie la signature du code, et toute image signée est considérée comme sûre par le processeur. En outre, vous devez vous assurer que chaque composant du code est appelé dans la bibliothèque Secure Boot du processeur.

Confirmer la procédure d'authentification

Enfin, il est essentiel de veiller à ce que le processus d'authentification ne soit pas perturbé et que chaque phase du processus d'amorçage du code soit correctement authentifiée avant de passer à la suivante.

La plateforme d'identité Keyfactor IoT

Keyfactor Control fournit une solution complète et évolutive pour l'identité IoT - d'une racine de confiance sécurisée à des API et des intégrations flexibles. Notre plateforme offre une gamme de fonctions de sécurité, notamment :

  • Approvisionnement et cycle de vie de l'identité : Déployez, gérez et mettez à jour les certificats numériques de vos appareils connectés, depuis l'approvisionnement et la mise en service sur le terrain jusqu'au renouvellement et à la révocation.
  • Une racine de confiance sécurisée : Exécutez votre PKI sur site, dans le nuage ou en tant que service avec un PKI dédié, hébergé dans le nuage, spécialement conçu pour votre déploiement IoT et géré par notre équipe d'experts.
  • Signature sécurisée des microprogrammes : Obtenez un outil centralisé pour sécuriser les opérations de signature de code à grande échelle et permettre des mises à jour OTA sécurisées des microprogrammes et mettre en œuvre le démarrage sécurisé.
  • IoT SDK : Offrez aux développeurs un SDK et un C-Agent flexibles ( open-source ) pour mettre en œuvre des fonctionnalités personnalisées dans les appareils, telles que la génération de clés, le stockage de clés et la vérification de signatures numériques.

 

Vous pouvez approfondir la sécurisation de vos appareils IoT en lisant ce livre blanc qui explique pourquoi PKI est la solution idéale pour sécuriser les appareils IoT .