EO_487

DIGITAL TRUSTZONE TECHNOLOGY 55 - ELETTRONICA OGGI 487 - GIUGNO-LUGLIO 2020 ne del registro di backup in diverse aree di memoria configurabili come segue: un’area sicura per le opera- zioni da lettura a scrittura, un’area sicura per le ope- razioni da scrittura a lettura, un’area non sicura per le operazioni da lettura a scrittura e un contatore mono- tono. L’opzione TrustZone nella memoria flash integrata L’opzione TrustZone nella memoria flash integrata del chip (Embedded Flash Memory) include 512kByte per la memorizzazione dei programmi e dei dati e abilita gli stati operativi “a banco singolo/su due banchi” o la modalità di lettura durante la scrittura “Read-While- Write” (o RWW) in modalità a due banchi. Per la memoria flash sono disponibili quattro livelli di protezione: • Il livello 0.5 è disponibile solo quando si abilita l’op- zione TrustZone. Qui sono possibili tutte le operazioni di lettura/scrittura da o verso l’area di memoria flash non sicura, a condizione che venga attivata l’opzione “TrustZone” e che non sia impostata alcuna protezio- ne da scrittura. L’accesso all’area protetta per debug è escluso, ma è comunque possibile accedere alle aree non sicure. • Livello 0: nessuna protezione in lettura. • Livello 1: protezione in lettura della memoria: la me- moria flash non può essere letta o scritta quando le funzioni di debug sono connesse, ossia quando sono attivate le funzioni di “avvio in RAM” o di bootloader. Se l’opzione TrustZone è attivata, è possibile effettuare il “non-secure debug”, ossia il debug non protetto, ma viene escluso l’avvio nella SRAM. Livello 2: protezione dell’IC dalla lettura. Modalità operativa TrustZone di Sicurezza Quando è attivata la funzionalità di protezione “Tru- stZone di Sicurezza”, l’intera memoria flash è sicura dopo il ripristino e sono disponibili le seguenti pro- tezioni: Area di memoria flash non volatile e sicura con ve- rifica integrata (contrassegno di verifica): In questo caso, l’accesso all’area sicura viene effettuato unica- mente in “modalità sicura”. In termini di indirizzabilità, è possibile indirizzare un banco di memoria a banco singolo con un’ampiezza di salto di 1 kByte oppure è possibile suddividere l’intero banco di memoria in blocchi da 4 kByte. Protezione dalla lettura del codice proprietario (PCROP): come parte dell’area sicura della memoria Flash, fornisce protezione contro le operazioni non autorizzate di lettura e di scrittura da parte di terzi. L’area protetta è considerata “a sola esecuzione” ed è accessibile solo dalla CPU STM32 tramite un codice di comando. Tutti gli altri tipi di accesso (DMA o ac- cesso diretto alla memoria, debug, lettura dati su CPU, scrittura e cancellazione) sono esclusi. In modalità a singolo banco, è possibile selezionare due aree dotate entrambe di aree di sicurezza. In modalità a doppio banco, è possibile utilizzare l’area di sicurezza per se- lezionare un’area per ogni banco di memoria. La “secure hide protection area” fa parte dell’area si- cura della memoria Flash e può essere protetta per impedirne l’accesso con operazioni di lettura, scrittu- ra e recupero dati. In un’area sicura basata su blocchi all’interno della memoria flash volatile (“volatile block-based secure Flash area”), è possibile programmare ogni pagina in tempo reale come sicura o non sicura. Autorizzazione di attivazione e di accesso L’architettura per la sicurezza è basata su tecnologia ARM TrustZone con estensione principale ARMv8-M. L’opzione di sicurezza con TrustZone è abilitata dal bit di opzione TZEN (Trust zone Enable) all’interno del registro FLASH_OPTR. In questo caso, le unità di mappatura SAU (Security Attribution Unit) e IDAU (Im- plementation Defined Attribution Unit) definiscono le autorizzazioni di accesso nell’ambito degli stati sicuri e non sicuri. SAU rappresenta un’unità di mappatura per la sicu- rezza e serve per la gestione degli attributi di sicu- rezza hardware. Sono disponibili fino a otto aree SAU configurabili per le istruzioni di sicurezza. IDAU è un’unità di mappatura che fa riferimento alle autorizzazioni di accesso. Essa include una prima partizione di memoria per gli attributi rispettivamente non sicuri o non utilizzabili in modalità sicura, in cui è possibile archiviare il codice o i dati. Questi vengono quindi combinati con i risultati delle istruzioni di sicurezza delle aree SAU e viene selezio- nato lo stato di sicurezza più elevato. L’unità IDAU raddoppia lo spazio di archiviazione per le memorie Flash, per le SRAM di sistema e per le pe- riferiche, allo scopo di garantire uno stato operativo sicuro e non sicuro. Tuttavia, questa operazione non viene eseguita per lo spazio di memoria esterno. Oltre a quelle sopracitate, l’opzione TrustZone ha ef- fetto anche su altre aree del microcontrollore, in ter- mini di soluzioni hardware. Informazioni Maggiori informazioni sulla sicurezza (manipolazio- ne, attacchi) nei microcontrollori sono riassunte nel white paper di Rutronik “Security Aspects” (p. 74/75) disponibile all’indirizzo: www.rutronik.com/security- aspects

RkJQdWJsaXNoZXIy MTg0NzE=