FreeRTOS boosté par des accords avec ST, NXP, Espressif

FreeRTOS boosté par des accords avec ST, NXP, Espressif
Actualités économiques |
Faisant suite à un accord avec STMicroelectronics, Amazon a également développé des intégrations cloud pour son système d'exploitation en temps réel FreeRTOS avec des microcontrôleurs sécurisés de NXP utilisant ARM et Espressif utilisant RISC-V.
Par Andre Rousselot

Partager:

Les intégrations FreeRTOS IoT avec le cloud Amazon Web Services (AWS) sont conçues pour améliorer la sécurité à l’aide d’une combinaison de logiciels FreeRTOS et d’une carte fournie par un partenaire avec des fonctionnalités de sécurité matérielles.

Les intégrations pour le NXP i.MX RT1060 et l’Espressif ESP-C3 (ci-dessus) n’exécutent que des logiciels approuvés par le fabricant d’équipement d’origine (OEM) avec une identité vérifiable par appareil lors de l’authentification auprès des services cloud. Cela permet de sécuriser les données réseau à l’aide de la cryptographie et du protocole Transport Layer Security (TLS) et permet au logiciel de rester à jour avec les derniers correctifs de sécurité disponibles publiquement pendant toute la durée de vie de l’appareil.

Chaque intégration FreeRTOS IoT implémente une application de démonstration IoT de base qui se connecte au courtier AWS IoT Core MQTT pour échanger des messages avec le cloud. L’application peut également télécharger des mises à jour de sa propre image à partir du cloud. Le code source illustre les meilleures pratiques de sécurité dans les logiciels et montre comment intégrer des fonctionnalités de sécurité matérielles pour obtenir une assurance de sécurité encore plus forte.

Chacune de ces intégrations comprend du code qui montre comment utiliser les fonctionnalités matérielles qui prennent en charge un fonctionnement sécurisé. Chaque carte possède deux fonctionnalités clés implémentées dans son matériel : garder le code critique inchangé et garder les clés cryptographiques cachées. Cette fonctionnalité de base est conçue pour créer une racine de confiance basée sur le matériel, une fondation qui prend en charge les fonctions de sécurité logicielles. Le logiciel d’intégration FreeRTOS IoT crée un processus de démarrage plus sécurisé, une identité de périphérique vérifiable et un système de mise à jour du micrologiciel.

Le démarrage sécurisé garantit que lorsqu’un appareil démarre, l’authenticité du logiciel d’application est vérifiée avant de commencer à s’exécuter. Chaque carte d’intégration FreeRTOS IoT intègre un système de démarrage immuable directement dans le matériel. Ce système de démarrage est le premier code qui s’exécute au démarrage de l’appareil, et on peut lui faire confiance car il ne peut pas être modifié même en cas d’une vulnérabilité de sécurité ou d’une erreur opérationnelle. Le seul travail du système de démarrage consiste à valider l’authenticité de l’image du micrologiciel fournie par l’OEM, puis à l’exécuter si l’image est authentique.

L’étape de validation utilise une paire de clés cryptographiques pour mettre en œuvre un système de signature de code. Les détails du processus de signature de code varient d’une carte à l’autre, mais chaque implémentation accomplit la même chose : l’OEM peut s’assurer que seul son propre micrologiciel fonctionnera sur la carte. Un OEM signe cryptographiquement ses images de micrologiciel à l’aide d’une clé de signature de code privée, et le système de démarrage utilise la clé publique correspondante pour vérifier la signature. La clé de signature de code privée est secrète et connue uniquement de l’OEM. Par conséquent, seul l’OEM peut signer de nouvelles images de firmware avec cette clé. La clé publique n’est pas secrète et peut être stockée sur chaque appareil. Les cartes de référence fournissent chacune un moyen de programmer la clé publique de signature de code, puis de geler définitivement sa valeur.

Démarrage sécurisé

La documentation spécifique à la carte fournie par le fabricant comprend une description d’un processus de démarrage simplifié avec un seul système de démarrage. Les intégrations ajoutent un système de démarrage de deuxième étape dans le processus, entre le système de démarrage de première étape dans le matériel et le micrologiciel OEM. Les principes fondamentaux du processus en deux étapes sont les mêmes. Le système de démarrage de premier étage vérifie une signature sur le système de démarrage de deuxième étage, et le système de deuxième étage vérifie la signature du micrologiciel OEM. Ce démarrage en deux étapes permet au premier système de démarrage d’être extrêmement petit, ce qui réduit les coûts et les risques de créer un bogue irréparable dans le matériel. Étant donné que la deuxième étape est une image logicielle, elle peut être plus grande et peut implémenter plus de fonctionnalités. Par exemple, les systèmes de démarrage de deuxième étape peuvent prendre en charge deux emplacements de micrologiciel OEM, un pour le micrologiciel actuel et un pour une image de mise à jour.

Identité sécurisée par appareil et TLS

Tous les appareils qui se connectent à AWS IoT sont identifiés de manière unique par un certificat client TLS. Le certificat client indique au cloud à quel appareil il communique. Chaque appareil stocke une clé privée TLS unique. À l’aide d’une fonctionnalité du protocole TLS appelée Mutual Authentication, l’appareil utilise sa clé privée pour prouver qu’il est le propriétaire de son certificat client. (L’authentification est mutuelle car TLS vérifie toujours l’identité du serveur avec un autre certificat.) Pour que ce système soit sécurisé, chaque appareil doit avoir son propre certificat unique et la clé privée ne doit pas fuir à l’extérieur de l’appareil. Chacune des cartes de référence fournit un magasin sécurisé qui contient la clé privée et ne permet jamais sa lecture, même par un logiciel exécuté sur la même carte ! Le logiciel d’intégration FreeRTOS IoT montre comment faire fonctionner TLS sans accès direct à la clé privée.

Mises à jour par téléchargement (OTA)

Les applications de démonstration utilisent la bibliothèque AWS IoT OTA pour recevoir des mises à jour du service AWS IoT OTA pour FreeRTOS. Le logiciel client OTA s’exécute en tâche de fond, attendant les messages de mise à jour du cloud. Lorsqu’une notification de mise à jour arrive, le client OTA télécharge la nouvelle image depuis le cloud et valide la signature de signature de code sur l’image. Si la signature est valide, la nouvelle image du micrologiciel est marquée comme image active et la carte est redémarrée.

 

www.freertos.org

 

 

 

Linked Articles
Electronique-ECI
10s