MICROELETTRONICA
approfondimenti
Luglio/Agosto 2015
n
Automazione e Strumentazione
tuata in un preboot loader contenuto interamente
nella Rom interna. Questa implementazione forni-
sce una chiave di autenticazione non riutilizzabile
e programmabile dall’utente che può essere usata
nel preboot loader, creando quindi il grado di
fiducia necessario per impedire la manipolazione
del sistema da parte di codice o utenti
non autorizzati. La funzionalità “nodo
fidato” viene abilitata scrivendo le
chiavi di autenticazione e un “enable
bit”, elementi non riutilizzabili e pro-
grammabili dall’utente. Dopo l’abili-
tazione del modo Trust, l’immagine
o le immagini esterne del codice di
avvio (boot loader, kernel OS o addi-
rittura linguaggio macchina) sarà o
saranno eseguite esclusivamente pre-
via decrittazione e autenticazione da
parte delle chiavi del preboot loader.
Questo codice diventa la fonte di fiducia succes-
siva. Nel codice decrittato/autenticato possono
essere incluse chiavi simili a dati da utilizzare nei
link di comunicazione fidati. L’affidabilità risulta
ulteriormente incrementata dal supporto di imma-
gini di codice firmato primarie e secondarie. L’im-
magine esterna del codice è cifrata utilizzando la
stessa chiave o chiavi immesse nell’area KEY del
processore QorIQ LS1021A dal team di sviluppo
dell’utente con la tool
chain fornita per pro-
grammare il disposi-
tivo. In questo modo
viene garantita la
sicurezza dell’imma-
gine del codice pro-
veniente dal gruppo
di sviluppo. Dopo
che l’immagine del
codice è stata auten-
ticata dal dispositivo,
quest’ultimo funziona
nello stato “sicuro”. Per mantenere tale stato sono
disponibili ulteriori funzionalità di sicurezza al
fine di
rilevare e impedire manomissioni o
manipolazioni non autorizzate del codice o dati
nella memoria esterna.
Il debug controller sicuro gestisce l’accesso al
sistema attraverso l’interfaccia Jtag che può essere
chiusa incondizionatamente oppure aperta in
vari modi di accesso attraverso una sequenza di
domande/risposte. Il Run-Time integrity checker
effettua controlli periodici di zone predefinite
della memoria alla ricerca di eventuali modifiche
da parte di codice dannoso o difettoso calcolando
e confrontando ininterrottamente hash delle zone
di memoria in questione. È possibile utilizzare
un pin esterno di rilevamento manomissioni
per individuare eventuali attacchi fisici contro
l’apparato. Infine, la Arm TrustZone supporta la
suddivisione del sistema in zone protette e non
protette e controlla i privilegi di accesso tra le
diverse zone. Tutti i problemi nel campo della
sicurezza vengono rilevati e valutati quanto a
livello di gravità dal monitor di sicurezza, il quale
fa parte dell’unità di memoria non volatile sicura,
che successivamente effettua i necessari interventi
come, per esempio, la cancellazione automatica di
dati sensibili quali le chiavi o la segnalazione al
sistema della violazione avvenuta.
Il secondo blocco relativo alla sicurezza è il blocco
del motore crittografico che riguarda l’accelera-
zione degli algoritmi crittografico e di sicurezza
da implementare. Viene utilizzato dal preboot
loader per accelerare il processo di avvio della
decrittazione/autenticazione. Questo blocco prov-
vede all’accelerazione hardware degli algoritmi
collegati a IPSec, SSL/TLS, WiMax e vari altri
standard, molti dei quali utilizzano l’elaborazione
single-pass quando i dati in ambito IoT devono
essere scambiati e trasportati fuori dal disposi-
tivo. Si tratta di un motore di sicurezza modu-
lare e scalabile, ottimizzato per elaborare quanto
possibile ed eseguire operazioni multialgoritmo
(per esempio 3DESHMAC-SHA-1) in un singolo
passaggio di dati. Tra gli algoritmi implementati
nell’hardware figurano Xor, Des, Aes e un gene-
ratore di numeri casuali certificato dal Nist.
Conclusioni
Per garantire prestazioni elevate e una connetti-
vità di rete al
massimo livello di sicurezza
alle
applicazioni di controllo industriale, M2M e IoT
è necessario soddisfare alcuni requisiti di base:
affidabilità elevatissima, garanzia di sicurezza dei
dati, elaborazione efficiente dei pacchetti e sup-
porto avanzato della connettività.
Il processore QorIQ LS1021A è stato studiato
per soddisfare i suddetti requisiti, garantendo una
straordinaria efficienza prestazionale abbinata a
un mix ottimizzato di funzioni di connettività e
sicurezza.
n
58
Esempio di applicazione di Network
Attached Storage (NAS) cifrato con
il processore QorIQ LS1021A
Un esempio di PLC realizzato con il processore QorIQ LS1021A di Freeescale