Nomenclature des composants matériels (HBOM) et CRA

Votre SBOM recense les bibliothèques et paquets logiciels, mais qu'en est-il du firmware gravé dans votre puce Bluetooth ou du microcontrôleur au coeur de votre appareil ? Une nomenclature des composants matériels (HBOM) étend l'inventaire des composants aux puces physiques, aux modules et au firmware qui les anime. Le CRA n'emploie pas le terme « HBOM », mais les produits matériels, les composants matériels commercialisés séparément, la diligence sur les composants tiers et l'inventaire SBOM conduisent au même besoin pratique : savoir quels matériels et quels firmwares se trouvent dans le produit.

Résumé

  • Une HBOM est un inventaire structuré des composants physiques de votre produit, y compris le firmware porté par chaque composant
  • Le CRA n'impose pas d'HBOM sous ce nom. Traitez-la comme le versant matériel de l'inventaire des composants déjà nécessaire pour un produit comportant des éléments numériques
  • Le firmware est un logiciel pour le travail CRA pratique : c'est du code informatique exécuté dans un système électronique et il doit figurer dans la SBOM aux côtés des composants matériels
  • CycloneDX est le format unifié pratique : type: device couvre le matériel physique, type: firmware couvre le logiciel embarqué, et les deux peuvent coexister dans un document CycloneDX 1.6 ou ultérieur
  • BSI TR-03183 ne couvre pas actuellement l'HBOM comme concept ; les trois parties portent sur les nomenclatures logicielles et les rapports de vulnérabilités
  • La Commission peut encore préciser le format et les éléments SBOM par actes d'exécution, mais le texte du CRA ne crée pas de mandat distinct pour un format HBOM
Champ matériel
Champ du CRA
Couvre les produits matériels
Obligatoire
Diligence requise
Tous les composants tiers
Format recommandé
Types device + firmware
Déc. 2027
Application intégrale
Marquage CE obligatoire

Pourquoi l'HBOM est important au titre du CRA

Le champ du CRA dépasse les produits purement logiciels. Les produits matériels, les composants matériels commercialisés séparément et le firmware à l'intérieur de ces composants relèvent tous du problème d'inventaire du produit.

C'est important pour les fabricants, car la diligence sur les composants ne se limite pas aux bibliothèques open source. Un processeur sur votre PCB, un module radio sur votre carte de développement ou un élément sécurisé dans votre passerelle IoT peut porter du firmware et des versions pertinentes pour la sécurité. Vous ne pouvez pas gérer ces risques sans les inventorier.

L'obligation SBOM est le support juridique de ce travail : elle demande les composants contenus dans les produits comportant des éléments numériques. Un module ESP32 fait donc entrer à la fois le module physique et sa pile firmware dans l'enregistrement des composants. L'HBOM est l'outil pratique pour capturer cet inventaire.

L'HBOM n'est pas un artefact juridique séparé

Le CRA n'exige pas de document appelé HBOM. Traitez les entrées HBOM comme le versant matériel de l'inventaire unifié des composants que vous maintenez pour le produit, surtout pour les produits à forte composante matérielle.

HBOM et SBOM : comparaison rapide

Dimension SBOM HBOM
Périmètre principal Bibliothèques logicielles, paquets, frameworks Composants physiques : puces, modules, éléments sécurisés
Couverture firmware Peut inclure des entrées type: firmware Firmware listé aux côtés de son composant matériel parent
Rôle conformité Exigence explicite d'inventaire des composants Extension pratique du même inventaire pour les produits matériels
Couverture BSI TR-03183 Oui, TR-03183-2 (v2.1.0, 2025) Non, aucune des trois parties de TR-03183 ne couvre l'HBOM
Prise en charge CycloneDX Toutes versions type: device depuis v1.1 ; type: firmware depuis v1.2 (mai 2020)
Outil de génération typique Syft, Trivy, cdxgen Manuel ou fiches techniques des fournisseurs matériels ; pas d'outillage d'auto-génération mature à ce stade
Place dans le dossier technique Dossier technique, section inventaire des composants Même emplacement, dans le cadre de l'inventaire unifié des composants

Pour l'obligation SBOM complète, voir Exigences SBOM CRA. Pour la comparaison des formats, voir CycloneDX vs SPDX.

Ce qu'un HBOM doit contenir

Les catégories suivantes relèvent du jugement technique pratique, non d’une liste réglementaire. Le CRA n’énumère pas de catégories de composants matériels. Incluez tout composant physique qui traite, stocke ou transmet des données numériques, car ces composants peuvent affecter la cybersécurité.

Composants de traitement et de connectivité

Ce sont les entrées prioritaires, car leur firmware est le vecteur de vulnérabilités le plus probable :

  • Processeur applicatif principal ou SoC (nom, fabricant, version/stepping, version firmware)
  • Modules sans fil : Wi-Fi, Bluetooth, Zigbee, LoRa, cellulaire (chacun avec sa version firmware)
  • Microcontrôleurs secondaires gérant des sous-systèmes spécifiques

Composants de sécurité

Le matériel de sécurité mérite ses propres entrées, car les vulnérabilités à ce niveau ont le plus fort impact :

  • Puces Trusted Platform Module (TPM)
  • Éléments sécurisés et modules de sécurité matériels
  • Accélérateurs cryptographiques
  • Tout composant qui stocke des clés, certificats ou identifiants au repos

Composants de stockage

Le stockage est pertinent lorsqu'il contient du code, une configuration ou des données sensibles :

  • Mémoire flash contenant le bootloader ou le firmware
  • Modules eMMC ou SD utilisés pour le stockage persistant
  • EEPROM contenant la configuration de l'appareil

Pour chaque entrée, enregistrez au minimum : le nom du composant, le fabricant, la version matérielle ou le stepping, et la version firmware le cas échéant. Liez chaque entrée matérielle à son entrée firmware correspondante via les relations de dépendance CycloneDX.

Le firmware obsolète est la vulnérabilité matérielle la plus fréquente

Une part significative des vulnérabilités IoT concerne des firmwares jamais mis à jour après la livraison. Documenter les versions firmware dans votre HBOM est le prérequis au suivi et à la remédiation. Vous ne pouvez pas surveiller ce que vous n'avez pas listé. Voir les erreurs SBOM courantes pour le schéma général.

Comment le firmware s'inscrit dans la définition CRA du logiciel

Le firmware est parfois traité comme une catégorie spéciale, distincte du matériel comme du logiciel. Pour le travail CRA, traitez le firmware comme un logiciel, car il s'agit de code informatique exécuté dans un système d'information électronique.

La conséquence pratique est simple. Le firmware exécuté sur une puce de votre produit est un composant logiciel de votre produit comportant des éléments numériques. Il doit figurer dans votre inventaire des composants. S'il contient une vulnérabilité, cette vulnérabilité suit le même flux de traitement et de notification que toute autre vulnérabilité logicielle.

CycloneDX comme format unifié SBOM et HBOM

CycloneDX prend en charge à la fois les composants matériels et logiciels dans un document unique. Vous n'avez pas besoin d'un format de fichier distinct pour votre HBOM.

Historique des types de composants (pertinent pour le matériel)

Version CycloneDX Date de publication Ajout pertinent
1.1 ou antérieure 2018 Introduction de type: device
1.2 2020-05-26 Ajout de type: firmware
1.5 2023-06-26 Ajout de type: device-driver
1.6 2024 Socle cible CRA
1.7 octobre 2025 Dernière version stable

À noter qu'il n'existe pas de type: hardware dans aucune version de CycloneDX. Le type correct pour une puce ou un module physique est type: device.

La spécification CycloneDX v1.2 précise, concernant la modélisation du matériel avec firmware :

« Un dispositif matériel tel qu'un processeur ou un jeu de puces. Un dispositif matériel contenant un firmware DEVRAIT inclure un composant pour le matériel physique lui-même, et un autre composant de type 'firmware' ou 'operating-system' (selon le cas), décrivant les informations relatives au logiciel s'exécutant sur le dispositif. »

Cette préconisation correspond directement au traitement CRA : le dispositif physique et son firmware sont des composants liés mais distincts, chacun avec sa propre identité et sa version.

Ciblez CycloneDX 1.6 ou ultérieur pour tout nouveau travail HBOM. BSI TR-03183-2 v2.1.0 (2025-08-20) a relevé son exigence minimale CycloneDX à 1.6. S'aligner sur 1.6 ou ultérieur permet de regrouper votre SBOM et votre HBOM dans le même document et de satisfaire TR-03183.

Exemple : dispositif ESP32 avec pile firmware

L'exemple ci-dessous présente un composant matériel réaliste (ESP32-WROOM-32E), son firmware (ESP-IDF) et une bibliothèque au sein du firmware (mbedtls), le tout dans un unique document CycloneDX 1.6 avec des relations de dépendance :

{
  "bomFormat": "CycloneDX",
  "specVersion": "1.6",
  "components": [
    {
      "type": "device",
      "name": "ESP32-WROOM-32E",
      "version": "Rev 3",
      "manufacturer": { "name": "Espressif Systems" },
      "description": "WiFi+BT SoC Module",
      "properties": [
        { "name": "firmware-version", "value": "4.4.1" },
        { "name": "secure-boot", "value": "supported" }
      ]
    },
    {
      "type": "firmware",
      "name": "ESP-IDF",
      "version": "4.4.1",
      "description": "Firmware on ESP32"
    },
    {
      "type": "library",
      "name": "mbedtls",
      "version": "2.28.0",
      "description": "TLS library in firmware"
    }
  ],
  "dependencies": [
    { "ref": "ESP32-WROOM-32E", "dependsOn": ["ESP-IDF"] },
    { "ref": "ESP-IDF", "dependsOn": ["mbedtls"] }
  ]
}

Le tableau dependencies rend explicite la relation entre matériel et firmware. Lorsque mbedtls publie un correctif pour un CVE, vous pouvez retracer quel dispositif est affecté et quelle version firmware mettre à jour.

Pour la comparaison des formats et les choix d'outillage, voir CycloneDX vs SPDX.

Questions fréquentes

Le CRA impose-t-il explicitement un HBOM ?

Non. Le CRA n'utilise pas le terme « HBOM ». Le besoin d'inventaire matériel est indirect : les produits matériels sont dans le champ, les fabricants doivent exercer une diligence sur les composants, et l'inventaire des composants du produit doit couvrir ce qu'il contient. L'HBOM est l'approche pratique pour les produits matériels, pas un artefact réglementaire nommé.

Le firmware d'une puce Bluetooth est-il considéré comme un logiciel au titre du CRA ?

Oui. Le firmware consiste en du code informatique exécuté dans un système d'information électronique ; traitez-le donc comme un logiciel pour l'inventaire des composants CRA. Tout firmware exécuté sur un composant de votre produit doit figurer dans votre inventaire des composants.

BSI TR-03183 couvre-t-il l'HBOM ?

Non. BSI TR-03183 comporte trois parties : Partie 1 (Exigences générales), Partie 2 (SBOM) et Partie 3 (Rapports de vulnérabilités). Aucune d'elles ne couvre l'HBOM en tant que concept structurel. TR-03183-2 ne mentionne le firmware que comme un type de fichier de composant au sein d'une nomenclature logicielle, via le champ software_additionalPurpose: firmware. Pour documenter les composants matériels aux fins de conformité CRA, vous devez recourir au jugement d'ingénierie et aux types matériels natifs de CycloneDX, sans vous appuyer sur TR-03183 pour cette partie de votre inventaire.

Quelle version de CycloneDX prend en charge à la fois les composants logiciels et matériels ?

type: device est présent dans CycloneDX depuis la v1.1 (2018 ou antérieure). type: firmware a été ajouté en v1.2, publiée en mai 2020. Les deux sont donc disponibles dans toute version récente de CycloneDX. Pour les travaux CRA, ciblez la v1.6 ou ultérieure : BSI TR-03183-2 v2.1.0 (août 2025) a relevé son exigence minimale CycloneDX à 1.6, et la dernière version stable est la 1.7 (octobre 2025). Il n'existe pas de type: hardware dans aucune version de CycloneDX ; utilisez type: device pour les composants physiques.

Pour aller plus loin

  1. Inventoriez vos composants matériels selon les trois catégories ci-dessus : traitement et connectivité, sécurité, et stockage. Collectez les noms de fabricants, versions matérielles ou steppings, et versions firmware actuelles pour chacun.
  2. Créez un document CycloneDX 1.6 ou ultérieur avec une entrée type: device par composant matériel et une entrée type: firmware par image firmware. Liez-les avec des relations dependencies.
  3. Ajoutez les entrées HBOM à votre SBOM existante au lieu de créer un fichier séparé. CycloneDX prend en charge plusieurs types de composants dans un même document. Voir les exigences SBOM CRA pour les obligations complètes d'inventaire unifié des composants et de dossier technique que votre document doit satisfaire.
  4. Consultez les avis de sécurité publiés par vos fournisseurs matériels et les bases CVE pour chaque composant. La diligence sur les composants exige de connaître l'état de vulnérabilité des composants tiers que vous intégrez, y compris matériels.
  5. Placez la SBOM unifiée, y compris les entrées matérielles, dans votre dossier technique, où elle doit être prête pour les autorités de surveillance du marché sur demande. Si vous préférez ne pas gérer manuellement l'ingestion SBOM et HBOM au fil des versions produit, CRA Evidence gère l'ingestion CycloneDX et le suivi des composants sur votre portefeuille de produits.