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
VAR+NRG. Built for MedTech. Ready for Compliance
Per immettere sul mercato un prodotto medico soggetto a regolamentazione non basta avere un ottimo hardware. I team di ingegneri devono gestire contemporaneamente il software embedded, la sicurezza informatica, la documentazione relativa al sistema di gestione della qualità e il collaudo, calibrando tutto su un unico prodotto che sia certificato e affidabile nel lungo periodo. È proprio questa la sfida che la nuova collaborazione tra Variscite e NRG si propone di affrontare.
Variscite, azienda leader nella produzione di System on Module con comprovata esperienza nel settore delle applicazioni mediche, ha avviato una collaborazione con NRG, società di ingegneria specializzata in sistemi medtech regolamentati, per fornire una soluzione integrata hardware-software alle aziende che realizzano prodotti medici embedded. La partnership offre ai team di sviluppo l’accesso a una piattaforma hardware collaudata e alle competenze software e ingegneristiche necessarie per centrare gli obiettivi di sviluppo e garantire l’adeguatezza dei prodotti soggetti a regolamentazione.
22.07.2026
Blog
supply-chain-resilience-website-size.png
La crisi globale dei componenti sta costringendo chi lavora nell’embedded a fare i conti con una realtà scomoda: non tutti i fornitori di SoM sono ugualmente preparati. Nell’ultima puntata del podcast “Embedded Executive”, Ohad Yaniv, amministratore delegato di Variscite, parla con Rich Nass di Embedded Computing Design di come garantire ai clienti il rispetto delle scadenze in un contesto in cui l’approvvigionamento è sottoposto a dure pressioni e ci spiega perché la risposta dipende innanzitutto dal controllo della produzione. A differenza dei fornitori che si avvalgono di subappaltatori, Variscite progetta e produce internamente l’intera gamma dei suoi System on Module, con una produzione certificata secondo gli standard ISO 9001, 13485 e 27001.