🛠 Sécurité industrielle : élément sécurisé SE050C2 (EAL6+), PSA Certified et Parsec

Arduino Portenta X8 · avance · Schéma : IMG-portenta-x8-avance-3-portenta-x8-securite-se050-parsec.svg — chaîne de confiance de la Portenta X8 en maillons : puce NXP SE050C2 blindée au centre avec ses clés, bus dédié vers l'i.MX 8M Mini, badges PSA Certified et Arm SystemReady IR, conteneur Docker demandant une signature via le service Parsec, mise à jour OTA signée entrant par le réseau, bouclier Common Criteria EAL6+ en arrière-plan

Objetivos

La X8 se vende como «uno de los primeros productos Cassini» del mercado: una cadena de seguridad completa integrada. Mapeo: NXP SE050C2 en un bus dedicado (I²C esclavo hasta 3,4 MHz) — Common Criteria EAL 6+ (hasta el nivel de SO), generación de claves, criptografía acelerada, almacenamiento seguro, «protege la memoria flash de usuario hasta 50 kB»; plataforma PSA Certified y Arm SystemReady IR certificadas; servicios Parsec integrados para exponer la raíz de confianza a los contenedores; OTA firmada en fábrica. Este tutorial: entender dónde residen las claves, cómo un contenedor delega la seguridad sin tocarlas y cómo la OTA firmada protege el despliegue.

Material

Código completo

# 1. Verifier la presence des services de securite dans l'image
adb shell
fio@portenta-x8:~$ sudo -i
fio@portenta-x8:~$ ls /sys/class/misc/ | grep -i se050   # trace du SE ?
fio@portenta-x8:~$ systemctl list-units | grep -iE "parsec|m4-proxy"

# 2. Un conteneur consigne Parsec (racine de confiance) sans jamais
#    voir les cles : montage du socket dans l'app conteneurisee.
#    > 
#    d'usine — verifie avec systemctl status parsec sur ta carte.
docker run -d --name app-securisee \
  -v /run/parsec:/run/parsec \
  -p 5002-5020:5002-5020 \
  --device /dev/ttyGS0 \
  arduino/python-rpc-serial

# 3. Principes a respecter (pas de code magic) :
#    - les cles privees sont generees et restent DANS le SE050C2 ;
#    - l'OTA de la factory est signee : une image falsifiee n'est
#      pas installee ; les cles de provisioning sont par appareil ;
#    - le M4 (Arduino) n'a pas besoin des secrets reseau : garde
#      l'authentification MQTT/TLS dans le conteneur, adossee au SE.

Verificación esperada

La tarjeta expone las trazas de los componentes de seguridad (servicio Parsec, acceso al SE) y un contenedor puede delegar el servicio sin que ninguna clave aparezca en su sistema de archivos — ese es todo el interés del modelo: el SE050C2 firma/descifra para la aplicación, los secretos nunca atraviesan el contenedor. En cuanto al despliegue, solo pasa una imagen firmada por tu fábrica — una imagen falsificada en tránsito es rechazada.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales