EO 522

I sistemi in produzione basati su STM32H7S possono essere configurati per seguire un percorso di avvio simile a quello dei sistemi che utilizzano STM32H7R, lasciando il control- lo completo del processo di avvio allo sviluppatore. Con gli MCU STM32H7S, gli sviluppatori possono anche scegliere un percorso altamente sicuro che richiama il firmware iRoT (STiRoT) pre-integrato di STMicroelectronics dalla memo- ria flash di sistema protetta. Nel percorso di boot abilitato da STiRoT, una routine (iLo- ader) nella flash embedded protetta carica il codice per il livello di avvio successivo nella SRAM interna. STiRoT con- trolla quindi l’integrità e l’autenticità del codice prima di consentirne l’esecuzione. Per i percorsi di avvio a fase sin- gola, iLoader carica il codice dell’applicazione nella SRAM. Per i percorsi di avvio a due fasi, iLoader carica OEMuRoT dalla flash esterna alla SRAM. Una volta nella SRAM interna, il codice applicativo (o il fir- mware OEMuRoT) viene controllato per verificarne l’inte- grità e l’autenticità senza il rischio di un attacco durante la verifica del codice che risiede nella memoria esterna. Una volta convalidato, OEMuRoT esegue i controlli di integrità e autenticità sul codice applicativo prima della sua esecuzio- ne. Gli sviluppatori possono facilmente estendere questo percorso di avvio a due fasi per convalidare gli aggiorna- menti del codice applicativo o anche del firmware OEMu- RoT (Fig. 3). Durante il normale funzionamento nei sistemi in produ- zione, la flash embedded nelle MCU STM32H7R/S si trova in uno stato chiuso, in cui viene eseguito il provisioning DIGITAL MCUs Fig. 3 – Le MCU STM32H7S consentono l’aggiornamento e l’avvio sicuri attraverso un processo a più fasi concepito per garantire l’integrità e l’autenticità del codice in ogni fase (Fonte: STMicroelectronics) Dopo il reset del sistema, tutti gli MCU STM32H7R/S ini- ziano la sequenza di avvio eseguendo i servizi RSS (Root Secure Service) fidati residenti nella memoria flash pro- tetta del sistema. Le fasi successive della sequenza di av- vio dipendono dal tipo di MCU e dalla scelta del percorso di avvio da parte dello sviluppatore. Per ogni percorso di av- vio, le MCU STM32H7R/S utilizzano il meccanismo HDPL (Hide Protection Level) per garantire l’isolamento tempo- rale di ogni livello di avvio. Quando la sequenza di boot passa da un livello di avvio al successivo, il contatore di HDPL incrementa e le risorse associate al livello di avvio precedente vengono nascoste dal livello corrente. Mantenimento della RoT durante l’intera sequenza di avvio Nel percorso di boot dei sistemi in produzione basati su STM32H7R, RSS viene eseguito immediatamente al re- set del sistema. RSS esegue il firmware iRoT (Immutable RoT) dell’OEM residente nella memoria flash dell’utente. Poiché l’HDPL viene incrementato a questo livello suc- cessivo, RSS rimane nascosto al firmware OEMiRoT, che gestisce la fase successiva della sequenza di boot. Se l’ap- plicazione è progettata per supportare il firmware uRoT (updatable RoT), OEMiRoT esegue il firmware OEMuRoT dalla memoria esterna. Nella fase finale della sequen- za di avvio, il firmware OEMiRoT (o OEMuRoT opziona- le) esegue il codice applicativo. L’HDPL assicura che RSS, OEMiRoT e l’OEMuRoT opzionale siano tutti nascosti all’applicazione. ELETTRONICA OGGI 522 - NOVEMBRE/DICEMBRE 2024 52

RkJQdWJsaXNoZXIy Mzg4NjYz