🛠 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

Objetivos

Es por eso que compramos una Portenta en el taller: toda la cadena de confianza está integrada. El bootloader MCUboot verifica la firma del firmware antes de la ejecución (secure boot), un chip dedicado NXP SE050C2 almacena claves y certificados fuera del alcance del firmware, el SoC añade TrustZone-M, MPU y RNG de hardware, y las actualizaciones OTA están firmadas. Este tutorial cartografía la cadena y establece la base: actualización del bootloader, seguida de una estrategia de despliegue firmada. Fuentes: tutoriales oficiales updating-the-bootloader, secure-boot y over-the-air-update en docs.arduino.cc.

Material

Código completo

// secure_boot_check.ino — squelette de principe
// > 
// interroger l'etat de la verification — suis pas a pas le tuto officiel
// docs.arduino.cc/tutorials/portenta-h7/secure-boot pour la procedure
// 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 verifier 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 telecharge un firmware signe ; refuse sinon

Verificación esperada

Tras el procedimiento del tutorial updating-the-bootloader, el bootloader está actualizado y es actualizable; con el secure boot activado, un firmware no firmado se niega a arrancar — prueba flasheando intencionadamente un binario no firmado para ver cómo la tarjeta lo rechaza (y luego vuelve a flashear un binario firmado). La OTA firmada (tutorial over-the-air-update) aplica el mismo control de forma remota: una imagen falsificada en tránsito nunca se instala.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales