Définition
Un processus de démarrage implémenté dans une ECU qui établit une racine de confiance ancrée matériellement et vérifie cryptographiquement chaque étape du code (bootloader, noyau, firmware) avant exécution, empêchant l'exécution de logiciels non autorisés ou altérés lors de l'initialisation.

Principe

Principe
Construire une chaîne de confiance mesurée ou vérifiée : stocker des clés racines immuables dans du matériel ou des éléments sécurisés, exiger des signatures numériques sur les composants de démarrage, vérifier les signatures à chaque transfert et échouer en sécurité (refuser l'exécution) en cas d'échec de vérification.

Démonstration

Démonstration
Une ECU met en œuvre le démarrage sécurisé en utilisant un élément matériel sécurisé contenant la clé racine du constructeur ; le ROM de démarrage valide la signature du bootloader, le bootloader valide la signature du noyau/OS, et l'OS vérifie les signatures des firmwares applicatifs avant d'autoriser mises à jour ou exécution.

Mauvaise application

Mauvaise application
S'appuyer sur un stockage de clés non sécurisé, utiliser des processus de signature faibles ou fournir des modes de récupération fallback non protégés autorisant du code non signé compromet l'efficacité du démarrage sécurisé et engendre une fausse impression de protection.

Conséquence

Conséquence
Un démarrage sécurisé correctement implémenté empêche la falsification persistante du firmware et l'injection de firmware non autorisé, complique la persistance pour un attaquant et fournit une base vérifiable pour des fonctions de sécurité de niveau supérieur telles que le measured boot, les mises à jour sécurisées et l'attestation.

Inversion

Inversion
La condition inverse est un démarrage ouvert ou non vérifié où tout code peut s'exécuter au démarrage ; cela facilite le débogage mais permet les compromissions persistantes, les rootkits non autorisés et sape les contrôles de sécurité ultérieurs.

Limite

Limite
Le démarrage sécurisé protège le chargement initial du code et l'intégrité du démarrage mais ne garantit pas à lui seul l'intégrité du flux de contrôle à l'exécution, la protection contre toutes les classes d'exploits à distance, ni le comportement correct des applications une fois le code vérifié exécuté ; il doit être combiné à des protections à l'exécution et à des pratiques de mise à jour sécurisées.

Tension sémantique

Tension sémantique
Tension entre démarrage sécurisé et facilité de développement : un démarrage non restreint facilite le débogage et le développement itératif, tandis que le démarrage sécurisé exige une signature et une gestion de clés contrôlées ; concilier ces besoins requiert des workflows développeur explicites et audités.

Synthèse

Synthèse
Le Démarrage Sécurisé (ECU) est un mécanisme d'intégrité de démarrage ancré matériellement qui impose une chaîne de confiance cryptographique lors de l'initialisation afin que seuls des composants logiciels authentifiés et non altérés puissent s'exécuter, constituant la base des mises à jour sécurisées et de l'attestation d'exécution.