Blog

Secure Boot i.MX8 semplificato - firma del codice usando Yocto

Wednesday, 06 Apr 2022  |  Nathan Drude

La maggior parte degli ingegneri ha ormai sentito parlare di Secure Boot e dei vantaggi derivanti dal suo utilizzo. Tuttavia, dopo aver esaminato brevemente la documentazione, Secure Boot sembra troppo complicato e dispendioso (in termini di tempo) e, pertanto, viene messo da parte come “utile in futuro”. Vi suona familiare questo?

Con l’integrazione di Variscite di Secure Boot e Yocto, non è mai stato così facile abilitare Secure Boot sul vostro prodotto basato su i.MX8 di Variscite. Sebbene la creazione e la firma manuale delle immagini al di fuori del sistema di compilazione Yocto richieda numerosi step e renda possibili eventuali errori umani, l’utilizzo di Yocto per automatizzare la firma delle immagini consente di risparmiare tempo, è facilmente replicabile, può essere condiviso con molti developer e richiede solo una breve configurazione in local.conf.

Cos’è Secure Boot e perché dovreste usarlo?

Secure Boot è il processo di autenticazione delle immagini di avvio e del sistema operativo nel vostro prodotto. Vi consente di accertarvi che il software in esecuzione nel vostro prodotto sia autentico e non sia stato modificato o sostituito da terzi. Tra le altre cose, impedisce che il vostro prodotto venga riproposto o infettato da software di avvio o da sistemi operativi dannosi.

Come funziona?

Per abilitare Secure Boot, le famiglie di SoC i.MX8 (i.MX8Q e iMX8X) e i.MX8M (i.MX8M, i.MX8M Mini, i.MX8M Nano e iMX8M Plus) sono dotate di una funzione hardware opzionale. La famiglia i.MX8M è dotata di High Assurance Boot (HAB), mentre la famiglia i.MX8 è dotata di Advanced High Assurance Boot (AHAB). Sebbene l’architettura di ciascuna famiglia sia leggermente diversa dall’altra, entrambe conseguono il medesimo risultato finale.

L’autenticazione HAB/AHAB si basa sulla crittografia a chiave pubblica. L’autenticazione si ottiene utilizzando una Super Root Key (SRK), la quale consiste in una coppia di chiavi RSA. Le immagini di avvio vengono firmate offline utilizzando la chiave privata. Le immagini firmate risultanti vengono quindi verificate sul processore i.MX utilizzando la chiave pubblica corrispondente. La chiave pubblica è inclusa nel binario finale e un hash della chiave pubblica viene programmato nel SoC, in e-fuse programmabili una tantum, per stabilire la root of trust.

La prima immagine di avvio viene autenticata dal bootloader ROM i.MX. Ogni immagine chiama quindi l’API HAB/AHAB per l’autenticazione dell’immagine successiva, al fine di stabilire una chain of trust.

 

DART-MX8M
DART-MX8M SoM

 

Come si inizia?

Il layer Yocto di Variscite, meta-variscite-hab, semplifica l’utilizzo di Secure Boot sul vostro prodotto. La procedura generale è la seguente:

  1. seguire la wiki guide di Variscite “Build Yocto from Source Code” per configurare il proprio ambiente Yocto Build;
  2. scaricare lo strumento di firma del codice (CST) di NXP;
  3. utilizzare CST per generare un albero PKI (Public Key Infrastructure). Questo deve essere effettuato solo una volta;
  4. configurare meta-variscite-hab in conf/local.conf inserendo i dati specifici del cliente;
  5. usare bitbake per creare l’immagine della scheda SD firmata;
  6. U-Boot: programmare gli e-fuse di SoC i.MX con l’hash della chiave pubblica SRK;
  7. U-Boot: verificare l’immagine firmata eseguendo hab_status o ahab_status;
  8. U-Boot: chiudere il dispositivo scrivendo a un e-fuse SoC dedicato.

Per visualizzare una procedura dettagliata e completa, visitare la sezione wiki del software Variscite relativa al vostro SoM Variscite:

Ultimi post
Software releases
July software updates
Rimani aggiornato con gli aggiornamenti software: mantieni i tuoi SoM Variscite sempre al massimo delle loro prestazioni con le nostre ultime versioni software.

Debian Bookworm 6.6.y_24.12-v1.1 per moduli i.MX 8M: DART-MX8M
21.07.2026
Newsroom
Variscite and CELUS Bring AI-Assisted Design to Engineers
Variscite sta integrando la sua gamma di System on Module (SoM) nella piattaforma di progettazione CELUS, offrendo agli ingegneri un modo più rapido per passare dall’idea iniziale al progetto pronto per la produzione, automatizzando gran parte del lavoro manuale di selezione dei componenti. L’integrazione combina l’hardware di Variscite con l’Assistente AI alla Progettazione di CELUS, con l’obiettivo di ridurre i tempi nelle gravose fasi iniziali della progettazione hardware.
04.08.2026
Blog
VAR-SOM-MX93
Pierluigi Passaro, esperto di ricerca e sviluppo a Variscite, illustra il DART-MX91 e il DART-MX93 – i moduli di fascia base della famiglia i.MX 9 di NXP. Questi System on Module offrono ai team di prodotto un punto di partenza scalabile ed economico per la progettazione di sistemi embedded connessi.