🛠 Sécurité industrielle : bootloader MCUboot, secure boot, SE050 et OTA signé

Arduino Portenta H7 · avance · Schéma : IMG-portenta-h7-avance-3-portenta-h7-securite-boot-ota.svg — chaîne de confiance de la Portenta H7 en maillons : bootloader MCUboot, secure boot vérifiant la signature, élément sécurisé NXP SE050C2, mise à jour OTA signée entrant par le Wi-Fi, TrustZone-M en arrière-plan du SoC

Objectifs

C'est pour ça qu'on achète une Portenta en atelier : toute la chaîne de confiance est embarquée. Le bootloader MCUboot vérifie la signature du firmware avant exécution (secure boot), une puce dédiée NXP SE050C2 stocke clés et certificats hors de portée du firmware, le SoC ajoute TrustZone-M, MPU et RNG matériel, et les mises à jour OTA sont signées. Ce tuto cartographie la chaîne et met en place le socle : mise à jour du bootloader, puis stratégie de déploiement signée. Sources : tutos officiels updating-the-bootloader, secure-boot et over-the-air-update sur docs.arduino.cc.

Matériel

Code complet

// secure_boot_check.ino — squelette de principe
// > 
// interroger l'état de la vérification — suis pas a pas le tuto officiel
// docs.arduino.cc/tutorials/portenta-h7/secure-boot pour la procédure
// complete (generation de cles, signature, activation).
#include "Arduino.h"

void setup {
  Serial.begin(115200);
  while (!Serial) {}
  // Le firmware ne tourne ICI que si le bootloader MCUboot a valide
  // sa signature : ce code est deja la preuve d'un boot de confiance.
  Serial.println("Boot valide par MCUboot (secure boot actif)");

  // L'element sur NXP SE050C2 (cles/certificats inaccessibles au
  // firmware) sert notamment a vérifier la signature des mises a
  // jour OTA recues par le Wi-Fi (tuto over-the-air-update).
  // > 
}

void loop { }
// Chaine de confiance complete :
// 1. MCUboot (updatable) verifie la signature du firmware au boot
// 2. TrustZone-M + MPU isolent les zones critiques
// 3. SE050C2 garde les cles hors de la flash attaquable
// 4. L'OTA télécharge un firmware signe ; refuse sinon

Vérification attendue

Après la procédure du tuto updating-the-bootloader, le bootloader est à jour et updatable ; avec le secure boot activé, un firmware non signé refuse de démarrer — teste en flashant volontairement un binaire non signé pour voir la carte le rejeter (puis reviens en flashant un binaire signé). L'OTA signé (tuto over-the-air-update) applique le même contrôle à distance : une image falsifiée en transit n'est jamais installée.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels