SHE et HSM : le modèle de clés du cœur de sécurité
La fiche le HSM : le coffre-fort dans le microcontrôleur présente le principe du cœur de sécurité. Celle-ci descend d'un cran : elle décrit le modèle de clés qui structure cette sécurité, à travers la spécification SHE et sa relation au HSM complet. L'objet est de comprendre le fonctionnement et le pourquoi, jamais de le contourner.
SHE et HSM : deux niveaux d'un même besoin
Deux notions se complètent. La SHE (Secure Hardware Extension), spécifiée à l'origine par une initiative de constructeurs allemands et reprise par AUTOSAR, définit un ensemble minimal de fonctions cryptographiques matérielles : un cœur de chiffrement, un stockage de clés protégé, et un service de démarrage sécurisé. Le HSM (Hardware Security Module) est une mise en œuvre plus riche : un véritable processeur de sécurité dédié, avec sa propre mémoire et ses accélérateurs, capable de bien plus que le strict nécessaire SHE. On peut voir SHE comme le socle standardisé, et le HSM comme la version étendue que l'on trouve dans les AURIX récents.
Le chiffrement : AES-128 et CMAC
Le cœur de la SHE tient en deux primitives. Le chiffrement et le déchiffrement reposent sur l'AES-128, l'algorithme symétrique standard. L'authentification des messages, elle, s'appuie sur le CMAC (Cipher-based Message Authentication Code), qui produit une empreinte prouvant qu'un message vient bien du détenteur de la clé et n'a pas été altéré. Ces deux fonctions suffisent à couvrir l'essentiel : garder un secret (chiffrement) et prouver une origine (authentification). Le même socle sert d'ailleurs à l'authentification des trames CAN par SecOC.
Les emplacements de clés
Le point structurant de SHE est son organisation en emplacements de clés (key slots) : une quinzaine d'emplacements, dont un en ROM, plusieurs non volatils, et un en RAM. Les premiers ont un rôle réservé :
| Emplacement | Rôle |
|---|---|
| MASTER_ECU_KEY | clé maîtresse ; elle autorise la mise à jour des autres clés sans les connaître |
| BOOT_MAC_KEY | clé servant à vérifier l'intégrité de l'image au démarrage |
| BOOT_MAC | empreinte attendue de l'image, comparée au démarrage sécurisé |
| KEY_1 à KEY_10 | clés applicatives, à la disposition des fonctions du calculateur |
| clé RAM | clé volatile, pour des opérations temporaires |
Cette hiérarchie a une logique : la clé maîtresse gouverne les autres, et la mise à jour d'une clé suit un protocole strict qui prouve qu'on est autorisé à le faire, sans jamais exposer les secrets.
La règle d'or : une clé ne se relit pas
Le principe fondateur, et le plus important à saisir, est simple : une fois une clé écrite dans un emplacement, on ne peut plus la relire. Le matériel accepte de s'en servir — chiffrer, vérifier une signature — mais jamais de la restituer. Seule la clé RAM peut ressortir, et uniquement sous forme chiffrée. C'est ce qui donne son sens au terme « coffre-fort » : même une analyse complète du logiciel applicatif ne livre pas les clés, puisqu'elles ne transitent jamais en clair. Cette propriété est la raison d'être du dispositif, et elle explique la solidité du démarrage sécurisé.
Le démarrage sécurisé par SHE
La SHE offre une commande de démarrage sécurisé : avant de lancer le système, un chargeur en lecture seule vérifie, à l'aide de BOOT_MAC_KEY et de BOOT_MAC, que l'image à exécuter est bien celle attendue. Si la vérification échoue, le démarrage peut être interrompu, et la SHE peut automatiquement désactiver l'usage de certaines clés tant que le démarrage sécurisé n'a pas réussi. On passe ainsi de la simple vérification d'intégrité à une véritable authentification cryptographique, dans la même logique que la signature RSA et le secure boot.
Ce que le reprogrammateur doit en retenir
L'intérêt de comprendre ce modèle n'est pas d'y toucher — il est conçu pour résister, et c'est très bien ainsi — mais de savoir raisonner juste. Trois constats en découlent. La sécurité d'un calculateur récent ne réside plus dans le logiciel mais dans le silicium, ce qui rend la gestion des clés constructeur centrale. L'identification prime toujours : c'est elle, et non une quelconque manipulation, qui situe un calculateur par rapport à ses protections. Et la restauration repose plus que jamais sur une sauvegarde complète préalable. Le cœur de sécurité est une réalité à intégrer dans la méthode, décrite ici pour ce qu'elle est : un dispositif de protection légitime, à respecter.
Ce qui distingue vraiment un HSM d'une SHE
La différence entre les deux niveaux mérite d'être précisée. Une SHE est un bloc à fonction fixe : il exécute un jeu de commandes cryptographiques défini, sans programmabilité propre. Un HSM complet est un véritable sous-système : il possède son propre cœur d'exécution, sa mémoire et ses accélérateurs, et peut faire tourner un firmware de sécurité que le constructeur adapte à ses besoins. C'est cette programmabilité qui permet au HSM d'aller au-delà du démarrage sécurisé — gérer des certificats, épauler l'authentification des accès de diagnostic, participer à l'authentification des trames réseau. Les échanges d'authentification d'accès, comme le service seed/key ou l'authentification par certificats des normes récentes, s'exécutent d'ailleurs dans ce cœur de sécurité plutôt que dans l'applicatif, précisément pour que les secrets ne quittent jamais le domaine protégé. Pour le reprogrammateur, retenir cette distinction aide à comprendre pourquoi deux calculateurs d'apparence voisine n'offrent pas le même niveau de fermeture : l'un peut se contenter d'une SHE, l'autre embarquer un HSM programmable, et ce détail de silicium pèse plus lourd que le nom de la famille.
Voir aussi le HSM, le démarrage sécurisé et signature RSA, secure boot et calculateurs verrouillés.
Sur ANP Engineering — file service de reprogrammation moteur pour professionnels : file service ECU, correction de checksum, calculateurs pris en charge, tarifs.
