Aller au contenu
AESTECHNO

28 min de lecture Hugues Orgitello

Sécuriser votre produit IoT : de la conception hardware au déploiement terrain

Sécurité IoT complète : secure boot, KMU, firmware signé, TLS 1.3, OTA sécurisé, Cyber Resilience Act. Guide pratique AESTECHNO Montpellier.

Macro d'une carte Raspberry Pi : socle classique d'un dispositif IoT a securiser.

Sécuriser un produit IoT consiste à empiler quatre chaînes de confiance : Secure Boot (SB) matériel avec Root of Trust (RoT), firmware signé anti-rollback (MCUboot), Transport Layer Security (TLS) 1.3 / AES-256, et stockage de clés hardware en Key Management Unit (KMU) ou Hardware Security Module (HSM). Chez AESTECHNO (Montpellier), nous appliquons cette discipline dès le choix du MCU pour respecter le Cyber Resilience Act (CRA), EU 2024/2847, et l'ETSI EN 303 645.

En résumé

  • Quatre chaînes de confiance à dimensionner ensemble : SB matériel + Over-the-Air (OTA) signé + TLS 1.3 + stockage de clés hardware. L'absence d'un maillon casse toute la pile.
  • Vérification de signature mesurée : ECDSA-P256 sous 10 ms, Ed25519 proche de 3 ms sur Cortex-M4 avec accélérateur hardware cadencé à 64 MHz. Dans notre lab, nous avons mesuré le Secure Boot à 42 ms sur un STM32H5 à 250 MHz pour une image de 256 KB.
  • CRA (EU 2024/2847) impose un Software Bill of Materials (SBOM) au format CycloneDX 1.5 ou SPDX 2.3, une Coordinated Vulnerability Disclosure (CVD) et le signalement sous 24h des Common Vulnerability and Exposures (CVE) activement exploitées à Enisa.
  • Jeu de normes : ETSI EN 303 645 (IoT grand public, 13 provisions), IEC 62443-4-1 et IEC 62443-4-2 (industriel), ISO/IEC 27001, NIST SP 800-63 (identité), NIST SP 800-193 Platform Firmware Resiliency (PFR), FIPS 140-3 pour les modules cryptographiques.
  • Environ 80 % des incidents IoT, selon Enisa, remontent à des valeurs par défaut non sécurisées, des mots de passe faibles ou un firmware non patché, d'où les règles de provisioning unique par device et de SWD verrouillé.
  • En synthèse : greffer la sécurité en pré-compliance est trop tard. Les arbitrages d'architecture au choix du MCU (Trustzone, KMU intégré, compteur anti-rollback) décident si le produit passe l'audit.

Sommaire

Pourquoi faire confiance à AESTECHNO ?

  • 10+ ans d'expertise en conception électronique et logiciel embarqué
  • Secure boot et KMU intégrés dans nos conceptions nRF et STM32
  • TLS 1.3 sur MQTT déployé sur nos produits connectés en production
  • BSP Linux custom avec signature firmware et mise à jour OTA sécurisée
  • Bureau d'études français basé à Montpellier

Article rédigé par Hugues Orgitello, ingénieur en conception électronique et fondateur d'AESTECHNO. Profil LinkedIn.

Secure boot et chaîne de confiance

Le secure boot est un mécanisme matériel qui garantit que seul un firmware authentifié et signé peut s'exécuter sur un microcontrôleur ou un processeur. Il constitue le premier maillon de la chaîne de confiance hardware, empêchant toute modification non autorisée du code au démarrage. Sans secure boot, un attaquant ayant accès au dispositif peut remplacer le firmware par une version malveillante, et le produit l'exécutera sans broncher.

Le principe : au démarrage, la ROM de boot du processeur vérifie la signature cryptographique du firmware avant de l'exécuter. Si la signature est invalide, le dispositif refuse de démarrer. Cette vérification repose sur une clé publique inscrite de manière permanente dans le hardware, c'est le hardware root of trust.

Technologies disponibles :

  • MCUboot : bootloader open source pour Zephyr et Apache Mynewt, supporte Ed25519 et ECDSA-P256, gestion dual-slot (A/B)
  • TF-M (Trusted Firmware-M) : implémentation de référence PSA pour Cortex-M, fournit un Secure Processing Environment isolé
  • ARM TrustZone : séparation matérielle entre monde « secure » et « non-secure » sur Cortex-M33/M55

KMU, Key Management Unit : les MCU modernes comme le nRF5340/nRF9160 (Nordic Semiconductor) et le STM32H5/STM32U5 (STMicroelectronics) intègrent un KMU, un module matériel dédié au stockage et à la gestion des clés cryptographiques. Le KMU stocke les clés dans des registres protégés, inaccessibles par le firmware applicatif en fonctionnement normal. Les clés ne quittent jamais le hardware, elles sont utilisées directement par l'accélérateur cryptographique du MCU.

Hardware root of trust vs software-only : une approche logicielle pure stocke les clés en flash, accessible à toute personne ayant un débugueur SWD. Le hardware Root of Trust (RoT) ancre la confiance dans le silicium, bien plus difficile à compromettre. C'est la différence entre un verrou logiciel et un coffre-fort physique. Ce principe est également rappelé, comme le souligne Nist dans SP 800-193 sur Platform Firmware Resiliency (PFR) : protection, détection et récupération doivent être ancrées dans un matériel immuable vis-à-vis du firmware principal.

Sur un projet récent nous avons mesuré une chaîne Secure Boot end-to-end à 42 ms sur un STM32H5 à 250 MHz, pour vérifier une image de 256 KB en ECDSA-P256 contre une clé fusée en OTP. Le passage à Ed25519 nous a ramené la même vérification sous 12 ms, hash SHA-512 sur l'image inclus, mesuré avec le compteur de cycles DWT et une sonde logique Saleae branchée sur la GPIO boot-done. Dans notre lab, un Trusted Exécution Environment (TEE) bâti sur Arm Trustzone a ajouté 8 à 15 ms de changement de contexte lors de l'attestation, acceptable dans la majorité des budgets de démarrage IoT industriel. Contrairement à l'idée que la crypto domine le temps de boot, nous avons constaté que la latence flash XIP et le housekeeping de la BootROM dépassent souvent la vérification de signature elle-même.

Chaîne de certificats : dans un déploiement de production, chaque dispositif possède un certificat unique signé par le fabricant, lui-même rattaché à une autorité de certification (CA) racine. La chaîne complète, dispositif → fabricant → cloud, permet une authentification mutuelle à chaque niveau.

Chaîne de confiance Secure Boot avec branche fail-closed La ROM vérifié le bootloader signe, qui vérifié l'application signée, qui vérifié sa configuration. Toute signature invalide bloque le boot et journalise l'événement. Secure Boot - Chaîne de confiance ancrée en silicium Cle publique racine en OTP / fuse, vérifiée par la BootROM immuable BootROM immuable cle publique OTP Bootloader MCUboot signe ECDSA-P256 Application firmware signe slot A actif Config / TEE manifest signe TF-M attest RUN attestation RFC 8366 verif verif verif OK signature KO signature KO signature KO FAIL-CLOSED : boot bloque rollback slot B si dispo, sinon halt + log événement signe PFR NIST SP 800-193 : protect / detect / recover Mesures observées en lab : STM32H5 a 250 MHz, image 256 KB - ECDSA-P256 : 42 ms - Ed25519 : sous 12 ms (SHA-512 inclus) - TEE TrustZone-M : +8 a 15 ms Outils : DWT cycle counter, sonde Saleae sur GPIO boot-done
Figure 2 — Chaîne Secure Boot ancrée en BootROM : chaque maillon vérifié le suivant ; toute signature invalide bascule en fail-closed conforme a NIST SP 800-193 PFR.

Firmware signing et mise à jour sécurisée (OTA)

La signature du firmware et la mise à jour Over-the-Air (OTA) sécurisée sont la chaîne d'approvisionnement logicielle de tout produit IoT déployé en production. Elles garantissent que seul un firmware authentique, non altéré et d'une version autorisée peut être installé sur un dispositif, que ce soit en usine ou à distance, sur un parc de milliers d'appareils.

Algorithmes de signature et ordres de grandeur :

  • ECDSA-P256 : clé publique 64 octets, signature 64 octets. Vérification sur Cortex-M4 avec accélérateur : typiquement sous 10 ms. Standard NIST FIPS 186-4.
  • Ed25519 : clé 32 octets, signature 64 octets. Vérification encore plus rapide (~3 ms sur Cortex-M4 avec accélérateur dédié), résistant aux attaques par canaux auxiliaires sur l'implémentation.
  • SHA-256 : hash de 256 bits (32 octets), calcul sous 1 ms sur un firmware de 256 KB avec accélérateur hardware cadencé à 64 MHz. SHA-256 reste la baseline d'intégrité de signature pour le firmware IoT, d'après Nist FIPS 180-4.

Les mécanismes de mise à jour firmware non sécurisés restent la deuxième classe de vulnérabilité critique IoT la plus fréquente, selon Owasp IoT Top 10, derrière les credentials par défaut faibles. Nous observons le même schéma dans chaque audit : cryptographie correcte sur le papier, intégration cassée dans le pipeline usine. Notre procédure test pour toute nouvelle pile OTA est simple : simuler une coupure d'alimentation en milieu de flash du slot secondaire, mesuré avec une alimentation programmable, et vérifier que le bootloader fait retour propre.

Architecture MCUboot dual-slot (A/B) : le firmware est stocké dans deux slots. Le slot actif exécute la version courante. La mise à jour est téléchargée dans le slot secondaire, vérifiée (signature + intégrité), puis activée au prochain redémarrage. En cas d'échec, crash au boot, watchdog timeout, le bootloader revient automatiquement sur la version précédente (rollback). Aucune intervention humaine nécessaire.

Chiffrement des images firmware : au-delà de la signature (qui garantit l'authenticité), le chiffrement de l'image firmware empêche le reverse engineering. Un concurrent ou un attaquant qui intercepte un fichier OTA ne peut pas analyser le code. MCUboot supporte le chiffrement AES avec échange de clé ECIES.

Anti-rollback : un compteur monotone inscrit en hardware (ou dans une zone protégée de la flash) empêche l'installation d'une version antérieure du firmware. Sans cette protection, un attaquant pourrait forcer l'installation d'une version vulnérable connue pour l'exploiter.

OTA sécurisé, la chaîne complète :

  1. Transport chiffré : TLS 1.3 entre le dispositif et le serveur de mise à jour
  2. Payload signé : l'image firmware est signée avec la clé privée du fabricant
  3. Vérification avant exécution : le bootloader vérifie la signature avant de basculer sur le nouveau slot
  4. Rollback automatique : en cas d'échec, retour sur la version précédente
Flux OTA dual-slot avec rollback et déploiement progressif Le serveur signe un manifeste, le dispositif vérifié, écrit dans le slot B, redémarre, et revient sur le slot A si le watchdog déclenché. Déploiement par vagues 1 puis 10 puis 100 pourcent. OTA MCUboot dual-slot - signature, swap, rollback Déploiement progressif : 1 pourcent canary, puis 10 pourcent, puis 100 pourcent Serveur OTA manifest CycloneDX cle privée en HSM TLS 1.3 + mTLS image signée + delta forward secrecy Verif signature ECDSA-P256 / Ed25519 + compteur monotone Écriture slot B + swap flag pending, reboot test-then-confirm Slot A (active) v1.4.2 - en service image + hash trailer signature Slot B (pending) v1.4.3 - en test test-then-confirm watchdog 30 s swap rollback Boot KO ? crash / WDG timeout retour automatique slot A réactivé Vague 1 : 1 pourcent canary 12 a 24h - télémétrie crash rollback flotte si seuil Vague 2 : 10 pourcent 48 a 72h - KPI batterie / radio go / no-go automatise Vague 3 : 100 pourcent déploiement complet CVE patch sous 24h CRA
Figure 3 — Cycle OTA MCUboot dual-slot : signature manifeste cote serveur, swap test-then-confirm, rollback automatique sous watchdog, déploiement par vagues 1 / 10 / 100 pourcent.

Communications chiffrées

Le chiffrement des communications est la protection en transit qui couvre les données entre le dispositif IoT, la passerelle et le cloud. Tout échange non chiffré, télémétrie MQTT, commandes CoAP, flux BLE, peut être intercepté, modifié ou rejoué par un attaquant positionné sur le réseau. Le chiffrement en transit est aujourd'hui un minimum absolu pour tout produit connecté professionnel.

TLS 1.3 pour MQTT et HTTPS : TLS 1.3 est le standard actuel pour sécuriser les communications TCP. Par rapport à TLS 1.2, il élimine les cipher suites obsolètes, réduit le handshake à un seul aller-retour (1-RTT), et impose le forward secrecy. Pour les produits IoT communiquant en MQTT vers un broker cloud (AWS IoT Core, Azure IoT Hub, mosquitto), TLS 1.3 est le choix par défaut. Nous le déployons systématiquement sur nos conceptions connectées.

DTLS pour CoAP et UDP : pour les protocoles basés sur UDP, CoAP en particulier, DTLS (Datagram TLS) fournit un niveau de sécurité équivalent. DTLS 1.3 apporte les mêmes améliorations que TLS 1.3 au monde UDP, important pour les dispositifs à faible consommation utilisant LwM2M ou CoAP.

BLE, modes d'appairage : la sécurité Bluetooth Low Energy dépend fortement du mode d'appairage choisi :

  • Just Works : aucune authentification, vulnérable aux attaques MITM. Acceptable uniquement pour des données non sensibles
  • Passkey Entry : authentification par code PIN, protection MITM
  • OOB (Out-of-Band) : échange de clés via NFC ou QR code, le plus sécurisé
  • LE Secure Connections (BLE 4.2+) : utilise ECDH pour l'échange de clés, remplace le legacy pairing

Certificate pinning vs CA trust : le certificate pinning ancre la confiance dans un certificat spécifique plutôt que dans une chaîne de CA. Plus strict, mais complique la rotation de certificats. Le choix dépend de la durée de vie du produit et de votre infrastructure PKI.

Mutual TLS (mTLS) : dans un schéma TLS classique, seul le serveur s'authentifie. Avec mTLS, le dispositif présente aussi son certificat, le serveur vérifie que le device est bien légitime. Indispensable pour empêcher un dispositif contrefait de se connecter à votre infrastructure cloud.

Stockage sécurisé

Le stockage sécurisé est la protection au repos qui couvre les clés cryptographiques, certificats, tokens d'authentification, données de calibration, et éventuellement les données utilisateur. Une clé stockée en clair dans la flash d'un microcontrôleur est récupérable en quelques minutes par un attaquant disposant d'un débugueur standard. La protection des données au repos est indissociable de la sécurité globale du produit.

Flash chiffrée : certains MCU offrent un chiffrement transparent de la flash (XIP, exécuté In Place, avec déchiffrement hardware). Le STM32H5, par exemple, propose l'OTFDEC (On-The-Fly Decryption). Le code est stocké chiffré et déchiffré à la volée par le hardware lors de l'exécution, sans impact sur les performances.

Stockage des clés, hiérarchie matérielle :

  • KMU (nRF5340, nRF9160) : registres hardware dédiés, clés accessibles uniquement par le moteur cryptographique
  • UICR (User Information Configuration Registers) : zone mémoire protégée, mais moins isolée que le KMU
  • Secure éléments (ATECC608B, Infineon OPTIGA) : composants cryptographiques dédiés sur I²C, avec génération de clés internes, signature, et stockage certifié Common Criteria
  • Trusted Platform Module (TPM) sur les passerelles Linux (fTPM en firmware ou dTPM sur SPI), couplé à une Physical Unclonable Function (PUF) pour dériver une identité unique au device sans injection de clé explicite

Les identifiants doivent être stockés de manière sécurisée au sein des services et sur les dispositifs, ce qui exclut les clés hardcodées dans les images firmware, selon Etsi EN 303 645 provision 5.4. Chaque device déployé doit porter une identité unique, non clonable, ancrée dans le matériel, comme le souligne Bsi dans ses recommandations IoT.

Règle absolue : ne jamais stocker de clés dans le code source, ni en flash en clair. C'est la faille la plus courante que nous observons dans les audits de sécurité. Un grep -r "private_key" dans le repo devrait ne rien retourner.

Provisioning de production : chaque dispositif doit recevoir des clés et certificats uniques lors de la programmation en usine. Le provisioning injecte un couple clé privée/certificat propre à chaque unité, permettant l'identification individuelle et limitant l'impact d'une compromission à un seul appareil. Notre bureau d'études électronique intègre cette étape dans nos processus de production.

Cycle de vie des clés cryptographiques IoT, de l'usine a la révocation Injection en usine via HSM, dérivation par device dans le secure élément, rotation a chaud par OTA signe, révocation par CRL ou OCSP. Le KMU et le secure élément ancrent l'identité matérielle. Cycle de vie des clés - de la fab a la révocation Ancrage matériel KMU / secure élément - une identité unique par device USINE HSM FIPS 140-3 CA racine cle privée scellée CA fabricant signe les devices Microchip Trust Platform / NXP EdgeLock DEVICE silicon root of trust KMU intégré nRF5340 / STM32U5 Secure élément ATECC608 / SE05x / OPTIGA DICE / PUF identity CLOUD PKI - mTLS broker Verif Chaîne device - fab - root Révocation CRL / OCSP RFC 8366 voucher BRSKI bootstrap CYCLE DE VIE 1. injection usine 2. attestation boot 3. usage opérationnel 4. rotation OTA 5. révocation 6. decom / wipe inject mTLS Règle absolue : la cle privée ne quitte jamais le silicium - signature et dérivation s'effectuent dans le KMU ou le secure élément. ETSI EN 303 645 prov. 5.1 (no default password) + 5.4 (key storage) + 5.7 (secure update) - PSA Certified L2/L3 cible Cortex-M. Erreurs fréquentes en audit : cle de groupe partagée par lot, certificat racine en flash claire, secrets dans le repo Git.
Figure 4 — Cycle de vie des clés : injection en usine via HSM, ancrage en KMU ou secure élément, attestation boot, rotation par OTA signe, révocation cote cloud (CRL / OCSP). La cle privée ne quitte jamais le silicium.

Sécurité physique

La sécurité physique est la défense contre les attaques matérielles directes sur le dispositif : extraction de firmware, lecture de flash par sonde, analyse des signaux électriques. Un produit IoT déployé sur le terrain est physiquement accessible, contrairement à un serveur en datacenter. Verrouiller les interfaces de debug et activer les protections matérielles est indispensable avant toute mise en production.

Ports de debug, SWD/JTAG : en développement, les ports SWD (Serial Wire Debug) et JTAG permettent de programmer, débuguer et lire la mémoire du MCU. En production, ces ports doivent être verrouillés. Un port SWD ouvert en production, c'est une porte grande ouverte : lecture de la flash, extraction des clés, injection de firmware modifié.

Readback protection :

  • nRF APPROTECT : protection contre l'accès au port debug, configurable via UICR. Sur nRF5340, APPROTECT est activé par défaut, il faut le désactiver explicitement en développement
  • STM32 RDP (Read-out Protection) : trois niveaux, Level 0 (pas de protection), Level 1 (lecture flash interdite via debug, réversible par effacement total), Level 2 (irréversible, debug définitivement désactivé)

Attaques par canaux auxiliaires : les attaques par analyse de courant (DPA, Differential Power Analysis) ou de timing mesurent les variations de consommation ou de temps d'exécution pour extraire des clés cryptographiques. Les accélérateurs hardware des MCU modernes incluent des contre-mesures (masking, blinding), mais les implémentations logicielles pures restent vulnérables.

Détection de tampering : pour les applications à haute sécurité (paiement, médical, défense), des mécanismes de détection d'ouverture du boîtier ou de manipulation physique peuvent déclencher l'effacement automatique des clés. Les secure éléments comme l'ATECC608B intègrent des détecteurs de tampering matériels.

Cadre réglementaire : ce qui est obligatoire

Le cadre réglementaire européen pour la cybersécurité des produits connectés est en durcissement significatif entre 2025 et 2027. Plusieurs textes convergent pour imposer des exigences de sécurité dès la conception, la maintenance des mises à jour, et la gestion des vulnérabilités sur toute la durée de vie du produit. Ignorer ces réglementations expose à des amendes, des interdictions de mise sur le marché, et une responsabilité juridique en cas d'incident.

  • Cyber Resilience Act (CRA), EU 2024/2847, règlement européen entrant en application entre 2026 et 2027. Concerne tous les produits numériques (hardware et software) vendus dans l'UE. Exige : sécurité dès la conception, gestion des vulnérabilités, mises à jour de sécurité pendant toute la durée de vie, SBOM (Software Bill of Materials) au format CycloneDX 1.5 ou SPDX 2.3, Coordinated Vulnerability Disclosure (CVD), signalement des Common Vulnerability and Exposures (CVE) activement exploitées sous 24h à Enisa. Le CRA couvre environ 90 % des produits connectés mis sur le marché de l'UE, d'après Commission européenne (étude d'impact CRA)
  • Directive NIS2, étend les obligations de cybersécurité aux chaînes d'approvisionnement des secteurs essentiels et importants. Si vos clients sont dans l'énergie, les transports, la santé ou l'industrie, ils vous demanderont des garanties de sécurité
  • RED Article 3.3 (d)(e)(f), la directive sur les équipements radioélectriques ajoute des exigences de cybersécurité pour tout appareil communicant sans fil. Protection du réseau, protection des données personnelles, protection contre la fraude. S'applique à tous les produits certifiés CE avec composant radio
  • ETSI EN 303 645, norme de référence pour la sécurité des objets connectés grand public. 13 provisions de base : pas de mot de passe par défaut, gestion des vulnérabilités, communications sécurisées, minimisation des données, etc.
  • IEC 62443-4-1 et IEC 62443-4-2, norme de cybersécurité pour l'automatisation industrielle et les systèmes de contrôle publiée par Iec. Définit des niveaux de sécurité (SL1 à SL4) et des exigences par composant, système et organisation. Souvent combinée avec ISO/IEC 27001 pour la couche Système de Management de la Sécurité de l'Information
  • NIST SP 800-63 (lignes directrices identité numérique) et NIST SP 800-193 Platform Firmware Resiliency (PFR), référencés par les équipes achat nord-américaines et de plus en plus par les intégrateurs européens
  • FIPS 140-3 pour la validation des modules cryptographiques, requis pour les déploiements fédéraux américains et utile comme proxy de qualité crypto hardware ailleurs
Cartographie des normes IoT par segment de marche Matrice qui croise CRA, ETSI EN 303 645, IEC 62443-4-2, RED Article 3.3, NIS2, NIST SP 800-193 et FIPS 140-3 avec les segments grand public, industriel, medical et Fédéral. Quelle norme s'applique a quel produit IoT Plein = obligatoire ; hachure = recommande / contractuel ; vide = hors scope Grand public consumer IoT Industriel ICS / OT Medical MDR / FDA Fédéral US gov procurement Automobile UNECE R155 CRA UE 2024/2847 ETSI EN 303 645 IEC 62443-4-2 RED Art. 3.3 (d)(e)(f) NIS2 (opérateur) NIST SP 800-193 PFR FIPS 140-3 modules obligatoire recommande / contractuel hors scope direct Une mise sur le marche UE doit empiler CRA + RED 3.3 + ETSI EN 303 645 / IEC 62443-4-2 selon segment ; NIS2 contraint l'opérateur, pas le produit.
Figure 5 — Cartographie obligation / segment : le CRA et le RED Article 3.3 frappent tous les produits connectes UE ; ETSI EN 303 645 cible le grand public, IEC 62443-4-2 l'industriel, FIPS 140-3 les marches fédéraux.

Checklist sécurité IoT pour CTO et CISO

Cette checklist est le socle minimal de mesures de sécurité à valider avant toute mise en production d'un produit IoT. Elle couvre la chaîne complète, du hardware au processus organisationnel, et constitue un socle minimal de conformité face aux exigences du Cyber Resilience Act et de la directive NIS2. Chaque point correspond à un risque concret et mesurable.

Mesure Couche Risque si absent
Secure boot activéHardwareExécution de firmware malveillant
Port debug verrouillé en productionHardwareExtraction firmware et clés
Firmware signé (ECDSA / Ed25519)SoftwareInjection de code non autorisé
OTA avec rollback automatiqueSoftwareDispositifs brickés à distance
TLS 1.3 sur toutes les communicationsRéseauInterception et modification des données
Credentials uniques par dispositifProvisioningCompromission de la flotte entière
Clés stockées en hardware (KMU / secure élément)HardwareExtraction de clés par dump flash
Processus de divulgation des vulnérabilitésOrganisationNon-conformité CRA, risque juridique

Cas concrets rencontrés en lab

Ces trois cas de lab sont issus de nos audits et projets IoT, et ils illustrent combien la sécurité terrain diverge des hypothèses de spécification.

  • Cas 1, projet récent client : secure boot actif, JTAG oublié. Sur un audit, nous avons constaté qu'un produit en production embarquait bien un secure boot fonctionnel, mais le port JTAG/SWD avait été laissé actif sur la version de série. Contrairement à l'intuition, activer le secure boot sans verrouiller le debug est une protection illusoire : un attaquant lit directement la flash, extrait les clés et contourne la chaîne de confiance. Nous préconisons de verrouiller APPROTECT (nRF) ou RDP Level 1/2 (STM32) dans le process de production, vérifié en sortie de ligne.
  • Cas 2 : signature firmware contournée par rollback. Un client avait implémenté la signature ECDSA-P256 correctement, mais sans compteur anti-rollback. Un attaquant pouvait réinjecter une version ancienne, signée, vulnérable à une CVE connue. Nous préconisons systématiquement un compteur monotone hardware (KMU ou UICR protégé) couplé à la signature, et non l'un sans l'autre.
  • Cas 3, retour d'expérience d'un projet récent client : clés TLS dans le repo Git. Sur une revue de code, un grep -r BEGIN dans le dépôt a remonté la clé privée TLS du broker MQTT, versionnée par erreur. Contrairement à la croyance que la sécurité IoT est un problème firmware, la majorité des vulnérabilités que nous observons proviennent de la couche hardware et des pratiques de provisioning, debug laissé ouvert, clés en flash claire, secrets dans Git. À l'inverse d'une crypto serveur, le côté device n'a pas d'opérateur pour repérer la compromission. Nous imposons à nos pipelines une détection de secrets obligatoire (git-secrets, trufflehog) en pré-commit.

Normes, outils et référentiels de sécurité IoT

La sécurité d'un produit connecté est un maillage de normes, d'outils matériels et logiciels. Voici les briques avec lesquelles nous travaillons au quotidien :

  • Normes et référentiels : ETSI EN 303 645 (objets connectés grand public, 13 provisions), IEC 62443-4-1 / 62443-4-2 (processus et composants industriels), NIST IR 8259 (baseline IoT), NIST SP 800-82 (ICS), RED Article 3.3 (d)(e)(f) pour la certification CE radio, Cyber Resilience Act (CRA) 2026-2027
  • Briques matérielles : HSM (Hardware Security Module) côté serveur pour la PKI, ARM TrustZone sur Cortex-M33/M55 pour l'isolation secure/non-secure, secure élément Microchip ATECC608B ou Infineon OPTIGA Trust pour le stockage de clés certifié, KMU intégré sur nRF5340/nRF9160 et STM32H5/U5
  • Outils de validation : statique (Coverity, Polyspace) pour la chaîne firmware, SBOM au format CycloneDX 1.5 ou SPDX 2.3 (exigé par le CRA), bases Common Vulnerability and Exposures (CVE) et Common Vulnerability Scoring System (CVSS) pour le suivi de vulnérabilités. D'après Owasp, un SBOM signé attaché à chaque release est désormais le minimum requis en matière de transparence supply chain

Discipline CI/CD orientée sécurité. Nous imposons sur nos pipelines : détection de secrets automatisée à chaque push, signature obligatoire des binaires avec clé en HSM (jamais sur un poste développeur), génération SBOM à chaque build, et auto-déploiement conditionné aux tests. Aucun binaire n'atteint la production sans être passé par la chaîne complète, c'est le seul rempart efficace contre un attaquant qui cible la supply chain logicielle.

Notre approche chez AESTECHNO

Notre approche AESTECHNO consiste à intégrer la sécurité IoT à chaque étape de nos projets de conception, du choix des composants à la programmation en usine. Notre approche est pragmatique : chaque mesure de sécurité est dimensionnée en fonction du niveau de risque réel du produit, de son contexte d'utilisation, et des exigences réglementaires applicables.

  • Secure boot et KMU : nous intégrons le secure boot et le Key Management Unit dans nos conceptions embarquées sur nRF5340, nRF9160 et STM32. La chaîne de confiance est configurée dès le premier prototype
  • TLS 1.3 sur MQTT : nous déployons TLS 1.3 sur MQTT pour nos produits connectés, avec authentification mutuelle (mTLS) et certificate pinning quand le contexte l'exige
  • BSP Linux sécurisé : nos BSP Linux custom (Yocto) incluent la signature firmware, la mise à jour OTA sécurisée avec rollback, et le verrouillage des interfaces de debug
  • Choix RTOS sécurisé : sur microcontrôleurs, nous utilisons Zephyr RTOS avec MCUboot, TF-M et PSA Certified, ou FreeRTOS avec les bibliothèques AWS IoT pour les déploiements cloud
  • Accompagnement certification : nous préparons la conformité CE/RED incluant les exigences cybersécurité de l'Article 3.3

Pipeline CI/CD : le seul chemin vers la production

Chez AESTECHNO, nous avons mis en place sur plusieurs projets clients des pipelines CI/CD orientés sécurité : détection de secrets, analyse statique, signature de code et auto-déploiement conditionné aux tests. Objectif double : régression minimale et durcissement de la chaîne de livraison. Notre principe opérationnel est sans ambiguïté, le pipeline est le seul chemin vers la production. Backend serveurs et applications mobiles (Play Store) ne reçoivent un nouveau build qu'après passage intégral de la suite de tests ; aucune intervention manuelle ne peut contourner la chaîne de signature ou la revue automatisée.

Couche données IoT : cluster HA top-tier

Nous avons conçu et déployé un cluster de base de données HA de classe top-tier pour l'ingestion sensorielle à grande échelle. Cette couverture end-to-end, hardware, firmware et cloud/data sur un même projet, reste rare sur le marché. Dans notre pratique, ce n'est pas la latence d'écriture qui tue un projet IoT : c'est ce qui se passe quand un nœud tombe à 3h du matin avec 50 000 capteurs qui émettent. Réplication multi-nœuds, failover automatique et logs d'audit immuables ferment la chaîne de confiance initiée par le secure boot.

Secure éléments : ATECC608B vs SE050 vs OPTIGA Trust M, comment choisir ?

Le choix du secure élément est le levier qui conditionne le niveau de certification atteignable et le coût BOM. Les quatre références dominantes en 2026 :

Référence Fabricant Interface Algorithmes Certification
ATECC608B Microchip I²C 1 MHz ECDSA-P256, AES-128, SHA-256 CC EAL4+ (JIL High)
SE050 NXP I²C 1 MHz ECDSA P-256/P-384/P-521, RSA-4096, AES-256 CC EAL6+
OPTIGA Trust M Infineon I²C 1 MHz ECDSA-P256/P-384, AES-128/256, SHA-256 CC EAL6+
STSAFE-A110 STMicroelectronics I²C 400 kHz ECDSA P-256/P-384, AES-128 CC EAL5+

Recommandations pratiques : l'ATECC608B reste le choix le plus économique pour un IoT grand public sous ETSI EN 303 645, capacité à stocker jusqu'à 16 clés, provisioning en usine via Microchip Trust Platform. Le SE050 de NXP est indiqué pour les produits IEC 62443-4-2 (industriel) et les applications exigeant RSA ou des courbes au-delà de P-256 (paiement, identité). L'OPTIGA Trust M Infineon se distingue par un toolkit de provisioning maîtrisé pour l'automobile (ISO/SAE 21434). Le STSAFE-A110 de ST est naturellement intégré dans les écosystèmes STM32 et simplifie la BOM si vous utilisez déjà un STM32U5/H5.

ATECC608B vs KMU intégré (nRF5340, STM32U5) : un KMU intégré suffit pour la majorité des cas d'usage ETSI EN 303 645. Le secure élément externe devient pertinent dès que l'on vise une certification Common Criteria EAL5+ ou supérieure, ou lorsque le produit embarque plusieurs MCU partageant la même identité cryptographique. Ressources complémentaires : ENISA (recommandations cybersécurité IoT européennes), NIST (SP 800-213 séries IoT), et l'OWASP IoT Top 10 pour les patterns d'attaque à tester en pré-compliance sécurité.

En résumé : une sécurité IoT qui tient face au CRA

Un produit IoT sécurisé de référence empile des choix concrets et mesurables : secure boot ROM+MCUboot avec signature ECDSA-P256 (vérification sous 10 ms) ou Ed25519 (sous 3 ms), stockage des clés en KMU intégré ou secure élément certifié Common Criteria EAL4+ minimum, TLS 1.3 + mTLS sur MQTT/CoAP avec forward secrecy obligatoire, OTA dual-slot avec rollback automatique et compteur anti-downgrade matériel, port SWD verrouillé en production (APPROTECT nRF, RDP Level 2 STM32). Chez AESTECHNO, nous appliquons cette pile sur Zephyr+MCUboot+TF-M sur nRF5340/nRF9160 et STM32H5/U5, avec pipeline CI/CD générant SBOM CycloneDX signé à chaque release, conformité Cyber Resilience Act (UE 2024/2847), ETSI EN 303 645, IEC 62443-4-2 et RED Article 3.3. Le produit IoT qui tient en audit n'est pas celui qui a empilé des mesures en fin de cycle, mais celui dont l'architecture a été arbitrée au choix du MCU.

Audit sécurité IoT gratuit, 30 minutes

Vous concevez un produit connecté et vous interrogez sur sa sécurité ? Nos ingénieurs analysent votre architecture et identifient les failles potentielles :

  • Revue de l'architecture sécurité (hardware + firmware + communication)
  • Vérification conformité CRA / NIS2 / RED Article 3.3
  • Recommandations concrètes : secure boot, KMU, OTA, TLS
  • Feuille de route sécurité adaptée à votre planning projet

Réserver votre audit sécurité IoT →

contact@aestechno.com, Réponse sous 24h

Articles connexes

Approfondissez chaque dimension de la sécurité IoT avec ces ressources complémentaires :

FAQ : Sécurité IoT de la conception au déploiement

Qu'est-ce que le secure boot et pourquoi est-il indispensable pour un produit IoT ?
Le secure boot est un mécanisme matériel qui vérifie la signature cryptographique du firmware au démarrage. Si la signature est invalide, le dispositif refuse de s'exécuter. Sans secure boot, un attaquant peut remplacer le firmware par une version malveillante. Cette protection est désormais requise par le Cyber Resilience Act pour tous les produits numériques vendus dans l'UE.

Comment fonctionne une mise à jour OTA sécurisée ?
Une mise à jour OTA sécurisée repose sur quatre mécanismes : transport chiffré (TLS 1.3), firmware signé par le fabricant, vérification de la signature avant exécution par le bootloader, et rollback automatique en cas d'échec. L'architecture dual-slot (A/B) de MCUboot garantit qu'un dispositif ne se retrouve jamais dans un état non fonctionnel après une mise à jour.

Quelle est la différence entre KMU et secure élément ?
Le KMU (Key Management Unit) est intégré directement dans le microcontrôleur, c'est un module interne qui protège les clés sans composant supplémentaire. Un secure élément (ATECC608B, OPTIGA) est un composant externe dédié, connecté en I²C, avec sa propre certification Common Criteria. Le KMU suffit pour la plupart des applications IoT. Le secure élément est recommandé pour les applications à très haute sécurité (paiement, identité).

Le Cyber Resilience Act s'applique-t-il à mon produit ?
Si votre produit contient un composant numérique (logiciel ou hardware communicant) et est vendu dans l'Union européenne, le CRA s'applique. Cela inclut les objets connectés, les passerelles, les capteurs avec firmware, et les logiciels embarqués. Les obligations incluent la sécurité dès la conception, la fourniture de mises à jour de sécurité, un SBOM (Software Bill of Materials), et le signalement des vulnérabilités sous 24h.

Faut-il verrouiller les ports SWD/JTAG en production ?
Oui, systématiquement. Un port SWD ouvert en production permet à toute personne disposant d'un débugueur de lire l'intégralité de la flash, firmware, clés, certificats. Sur nRF, activez APPROTECT. Sur STM32, configurez RDP Level 1 minimum (Level 2 pour les applications critiques). Cette mesure est l'une des plus simples et des plus efficaces en sécurité IoT.

Comment gérer le provisioning de clés uniques par dispositif en production ?
Le provisioning s'intègre dans la chaîne de programmation en usine. Chaque dispositif reçoit un couple clé privée/certificat unique, généré soit sur le dispositif lui-même (via le KMU ou le secure élément), soit sur un serveur de provisioning sécurisé. Les clés sont injectées via SWD avant le verrouillage du port debug. Ce processus nécessite une infrastructure PKI et des scripts de production automatisés.