Prenons l'exemple d'une unité de commande électronique (ECU) utilisant un logiciel statique intégré traditionnel. Le chargeur de démarrage est un composant logiciel utilisé à la fois pour démarrer le logiciel principal de l'ECU, y compris pour le copier dans la RAM, et pour vérifier le logiciel avant le démarrage. Le chargeur de démarrage est également responsable des mises à jour logicielles. Il reçoit, vérifie et écrit les mises à jour en mémoire, généralement sur la mémoire Flash. C'est pourquoi le terme Flash Bootloader est également couramment utilisé.
Les mêmes bootloaders sont-ils utilisés en développement et en production ?
Généralement, le même chargeur de démarrage peut être utilisé pour le développement de véhicules et des calculateurs associés, ainsi que dans le cadre de la production normale, avec des protections garantissant que les ECU de production ont de nombreuses capacités de développement ou que les chargeurs de démarrage techniques sont désactivés. Pendant le développement des véhicules, il est souvent souhaitable de supprimer les mécanismes de sécurité des chargeurs de démarrage de production afin de permettre un déploiement rapide des logiciels de développement.
Bootloader sécurisé
De plus en plus, tous les bootloaders sont tenus d'être sécurisés. Cependant, il s'agit traditionnellement d'une distinction, généralement mise en œuvre pour protéger les fonctionnalités liées à la sécurité, à la sûreté et parfois aux performances.
Les chargeurs de démarrage vérifient généralement la mémoire logicielle de l'ECU au démarrage. Ils ont reçu le logiciel avant une mise à jour logicielle et sa mémoire après.
Les mécanismes incluent généralement :
- Authentification du logiciel reçu et/ou présent en mémoire au démarrage, souvent à l'aide d'un hachage du binaire du logiciel pour vérifier son exactitude, généré à partir d'un processus de compilation sécurisé des versions officielles du logiciel.
- Authentification de l'expéditeur à l'aide d'une graine et d'une clé, protection des données sécurisées dans l'ECU à l'aide d'une mémoire sécurisée et de cartes de mémoire pour définir les zones accessibles/réinscriptibles.
Double chargeur de démarrage
Certaines implémentations des chargeurs de démarrage se font en deux parties, d'où le terme double chargeur de démarrage. Dans ce cas, le chargeur de démarrage principal ne peut pas être mis à jour, dans le cadre de la sécurisation du chargeur de démarrage. Cela concerne le démarrage du module et la mise à jour du chargeur de démarrage secondaire. Le chargeur de démarrage secondaire peut être mis à jour, via un processus sécurisé, permettant de modifier le processus de mise à jour logicielle, par exemple, la carte mémoire, afin de les verrouiller normalement. Ce type de chargeur de démarrage est moins courant aujourd'hui grâce aux nouvelles méthodes de sécurisation du processus de mise à jour à l'aide de matériel sécurisé intégré, par exemple le HSM (Hardware Secure Module).
Remarque, ce terme est similaire au double démarrage, où deux blocs de démarrage, c'est-à-dire des mémoires complètes, sont disponibles, ce qui permet de mettre à jour la version non utilisée alors qu'une version est active. Cela nécessite de la mémoire supplémentaire dans chaque calculateur prenant en charge cette méthode de mise à jour.
Capital Embedded Bootloader
Capital Embedded Bootloader prend en charge des mises à jour fiables de l'ECU pendant le développement, la production des véhicules et pendant la durée de vie du véhicule, via des outils de diagnostic connectés ou des méthodologies en direct. Le protocole normalisé ISO 14229 UDS est utilisé sur une gamme de bus réseau de véhicules courants, Ethernet, CAN/CAN-FD, LIN, FlexRay, et il est également possible d'utiliser d'autres méthodes telles que les protocoles d'étalonnage ASAM. Cybersecurity est un aspect clé du flux des mises à jour logicielles et les fonctionnalités permettant l'authentification logicielle, et les options de démarrage sécurisé font partie de la solution. Pour répondre aux exigences spécifiques des OEM (fabricants d'équipements d'origine) et des microcontrôleurs, une assistance étendue est disponible pour un large éventail de projets d'ECU.
Quelle est la différence entre OTA et FOTA ?
La mise à jour OTA (en direct), ou FOTA (firmware en direct), est une méthode qui permet de recevoir de nouveaux logiciels pour un appareil intégré, par exemple un calculateur automobile, à distance, et non via un outil de service connecté directement dans un atelier. Cela peut nécessiter un testeur de diagnostic intégré dans un calculateur de coordination et/ou des capacités de restauration et d'autotest dans le chargeur de démarrage lui-même.