Table of Contents Table of Contents
Previous Page  27 / 86 Next Page
Information
Show Menu
Previous Page 27 / 86 Next Page
Page Background

27

- ELETTRONICA OGGI 465 - OTTOBRE 2017

PUBBLIREDAZIONALE

MENTOR

Endpoint IoT: pochi semplici passaggi

per garantire la sicurezza degli apparati

L

a sicurezza nell’ambito della IoT deve partire dal

basso – dai terminali. Per chi sviluppa software

per gli apparati della cosiddetta Internet of Things

(IoT) è fondamentale realizzare come sia necessario ga-

rantire non solo la sicurezza di tutti gli aspetti dell’appa-

rato relativi alle comunicazioni, ma anche quella dell’ap-

parato stesso. Chiaramente, quello della sicurezza è un

tema estremamente ampio, che inizia già dalla fase di

modellizzazione concettuale dell’appa-

rato per poi abbracciare tutti gli aspetti

relativi alla pianificazione, ai processi,

alle attività e alla tecnologia. Questo arti-

colo esamina alcuni elementi tecnologici

chiave che si rivelano utili, se non addirittura critici, per

la realizzazione di infrastrutture IoT sicure.

Autenticazione del codice

L’autenticazione del codice (Fig. 1) si basa sull’utilizzo di

una coppia di chiavi crittografiche, una pubblica e una

privata. La chiave pubblica viene resa nota e messa a

disposizione di chiunque. La chiave privata deve inve-

ce essere accessibile solo al rispettivo proprietario. Le

chiavi di ogni coppia sono tra loro matematicamente

correlate, in modo tale che qualsiasi cosa venga critto-

grafata mediante la chiave pubblica possa essere de-

criptata solo utilizzando la corrispondente chiave priva-

ta, e viceversa. Questo tipo di autenticazione garantisce

un elevato livello di riservatezza.

Secure-boot con autenticazione

L’avvio in sicurezza dell’apparato, o secure-boot, avvie-

ne (Fig. 2) mediante l’esecuzione iniziale di un primo sta-

dio del boot loader, memorizzato all’interno di un’area

protetta della memoria, in modo da non poter essere

manomesso da eventuali hacker. All’interno della me-

moria protetta sono inoltre custodite anche la firma e la

chiave crittografica del secondo stadio del boot loader.

Il primo stadio del boot loader può quindi calcolare la

firma del codice di secondo stadio, utilizzando le fun-

zioni hardware di crittografia e la chiave crittografica

appena menzionata. Se la firma del secondo stadio così

calcolata corrisponde a quella presente nella memoria,

si ha la certezza che anche il codice del secondo stadio

sia integro e possa quindi essere eseguito.

La chain of trust

Il processo che garantisce l’integrità del codice inizia

dunque assicurandosi che l’hardware provveda ad

autenticare la ROM di boot. Successivamente, la ROM

di boot autenticherà il sistema operati-

vo (OS), e infine l’OS potrà autenticare

il codice degli strati applicativi. Questa

strategia consente di garantire ottimi li-

velli di sicurezza, che vanno anche oltre

il dispositivo terminale. Consideriamo, ad esempio, le li-

brerie di codice necessarie per la connessione al cloud,

come il codice binario compilato del SDK di Microsoft

Azure – che Mentor ha integrato con i sistemi operativi

Nucleus

®

RTOS e Mentor

®

Embedded Linux

®

. Se il codi-

ce binario di tali librerie non venisse protetto, l’integri-

tà delle funzionalità di integrazione dell’apparato con il

cloud potrebbe essere messa a repentaglio.

Separazione dei processi

Gli odierni SoC a elevate prestazioni rendono disponibili

avanzate funzionalità di sistema. Tuttavia, la necessità di

ridurre le dimensioni, i consumi e i costi costringe gli

sviluppatori ad affrontare difficili sfide per riuscire a

eseguire applicazioni complesse con limitate risorse di

memoria. In situazioni di questo tipo, può rivelarsi uti-

le la separazione dei processi. La separazione dei pro-

cessi, sebbene non garantisca di per sé la sicurezza,

è senz’altro utile per contenere gli effetti dannosi che

applicazioni non corrette potrebbero avere sui processi

di altre applicazioni o addirittura del kernel. Il Process

Model implementato da Nucleus

®

partiziona la memoria

in modo da creare al suo interno delle regioni protette, il

che si rivela estremamente importante in quelle situazio-

ni caratterizzate da forti limitazioni di spazio, laddove sia

richiesta una impronta di memoria minimale.

Per maggiori informazioni su Nucleus

®

RTOS e Mentor

®

Embedded Linux

®

consultare:

www.mentor.com

Fig. 1 – Autenticazione del codice

Fig. 2 – Autenticazione del secure-boot