EO_487
DIGITAL TRUSTZONE TECHNOLOGY 53 - ELETTRONICA OGGI 487 - GIUGNO-LUGLIO 2020 La tecnologia TrustZone nei microcontrollori Cortex-M L’architettura ARMv8-M estende la tecnologia TrustZo- ne ai sistemi basati su core Cortex-M e offre una pro- tezione robusta a un costo inferiore rispetto a un ap- proccio che preveda il ricorso a un circuito integrato dedicato. Essa riduce in modo significativo i costi e gli sforzi di sviluppo per implementare la sicurezza basata su processore, diminuendo in tal modo l’impatto dei costi legati all’hardware di sicurezza. I processori Cortex-M e Cortex-A si basano in linea di principio sugli stessi concetti di sicurezza, tuttavia sussistono importanti differenze: il vantaggio principale del pro- cessore Cortex-M è rappresentato dal fatto che la commutazione di contesto (context switching) tra aree sicure e non sicure avviene a livello hardware. Ciò consente non solo commutazioni più veloci, ma anche una maggiore efficienza energetica. A differenza del core Cortex-A, non è richiesto alcun software di monitoraggio sicuro. In ogni caso, il livello di sicurezza raggiunto nei processori Cortex-A è molto più elevato. L’autorizzazione in tecnologia TrustZone si basa sul principio del minimo assoluto. Ciò significa che i moduli di sistema come i dri- ver e le applicazioni avranno ac- cesso a una risorsa solo se necessario. Il software vie- ne in genere eseguito sia in un ambiente sicuro sia in un ambiente non sicuro. Il contenuto viene trasmesso tra le due aree attraverso una routine, indicata come “logica di base” (per i processori Cortex-M) o “monitor sicuro” (per i processori Cortex-A). L’opzione TrustZone per core ARMv8-M è una tecno- logia ideale per un’architettura PSA (Platform Securi- ty Architecture), perché l’hardware tra il codice nor- male e la base di codice (code base) fidata (trusted) viene isolato. Essa fornisce una base flessibile, da cui i progettisti SoC possono selezionare funzionalità specifiche all’interno dell’ambiente di sicurezza per sviluppare soluzioni convenienti e a basso consumo energetico. L’opzione TrustZone include procedure che forniscono hardware attendibile per l’archiviazio- ne sicura basata su hardware, generatori di numeri ca- suali (Random Number Generators, RNG) e un clock di riferimento per una configurazione temporale sicura. Il microcontrollore a basso consumo Cortex-M23 è il microcontrollore più piccolo e potente in questa cate- goria sul quale è implementata la tecnologia TrustZo- ne. La serie Cortex-M33 è ottimizzata in termini di costi e di consumi energetici. Il core Cortex M-33 è proget- tato per applicazioni di tipo mixed-signal, in partico- lare quelle che richiedono una sicurezza efficiente ed eventualmente il controllo digitale del segnale. Norme standardizzate per la definizione dei programmi software Tuttavia, è possibile sfruttare al massimo tutte le po- tenzialità dell’opzione TrustZone solo se vengono rispettate le re- gole riconosciute per la sicurez- za dei dati durante il processo di sviluppo del software. Qui entra in gioco lo standard C CERT che, oltre a prescrivere il “buon stile di programmazione”, serve tra l’altro ad assicurare che: • sia mantenuta la durata delle va- riabili (locali, globali, automatiche e così via); • le istruzioni del preprocessore siano uniche, ad esempio attra- verso le direttive Include-Guards; • l’intervallo di valori delle varia- bili venga rispettato; • i limiti di memoria (ad esem- pio sull’array) siano controllati e mantenuti. L’esecuzione avviene attraverso l’integrazione di un tool nell’ambiente di sviluppo, il quale, a ogni compi- lazione, controlla la conformità alle regole in fase di generazione dei programmi. Una successiva esecuzio- ne nel codice esistente diventa complicata, analoga- mente a quanto accade con MISRA-C (lo standard di programmazione in linguaggio C proveniente dall’in- dustria automotive), perché in caso di violazioni dello standard, ampie parti del programma devono essere riprogettate e riprogrammate. Sia lo standard C CERT sia MISRA-C analizzano il codi- ce in modo statico e lo confrontano in base ad alcune regole di codifica specifiche. La differenza consiste nel fatto che le regole dello standard MISRA-C serbono per fornire la sicurezza funzionale dei dispositivi men- tre, per contro, quelle dello standard C CERT si riferi- scono alla protezione e alla sicurezza dei dati. La famiglia di microcontrollori STM32L5, che succe- de alla serie STM32L4 con core Cortex-M, è la prima L’architettura ARMv8-M estende la tecnologia TrustZone ai sistemi basati su core Cortex-M
Made with FlippingBook
RkJQdWJsaXNoZXIy MTg0NzE=