Per avere un’idea della portata del problema relativo alla sicurezza Renesas ha chiesto ai propri clienti qual è la maggiore minaccia che potrebbe derivare dal mercato IoT. Dopo avere analizzato le risposte sono stati identificati sei tipi principali di minacce. Per i progettisti della piattaforma Renesas Synergy una cosa è stata chiara sin dall’inizio, la necessità che per assicurare che i prodotti sviluppati attorno alla piattaforma fossero veramente sicuri e affidabili essi dovessero trovare una soluzione affidabile per contrastare ognuna di queste minacce. Hanno quindi sviluppato per l’intera piattaforma una serie di caratteristiche di sicurezza in grado di assicurare la protezione durante ogni fase della vita del prodotto, integrando hardware e software in grado di offrire un livello di sicurezza senza precedenti. Molte di queste funzioni sono implementate via hardware in modo da essere meno soggette ad attacchi dall’esterno. Ad esempio a ogni singolo Mcu della famiglia Renesas Synergy viene assegnato un ID unico a 128 bit che può essere utilizzato per generare una chiave unica per la protezione dell’applicazione e per supportare l’aggiornamento sul campo. Grazie al miglioramento rispetto ai tradizionali sistemi di generazione di numeri pseudo casuali il generatore di numeri casuali True Random Number Generator a bordo dei dispositivi Synergy è in grado di rispondere alle più stringenti richieste della normativa Nist SP 800-90. Per aumentare ulteriormente il grado di sicurezza del sistema il generatore di numeri casuali Trng è integrato all’interno dell’IP di sicurezza assieme al circuito di generazione delle chiavi e al circuito di accelerazione della codifica e decodifica criptografica. Tutti i micro della famiglia Synergy incorporano gli acceleratori hardware per la crittografia simmetrica, Hash, il generatore di numeri casuali e la possibilità di limitare l’accesso attraverso l’interfaccia Jtag. Le serie a più alte prestazioni, la S5 e la S7, aggiungono gli acceleratori per la crittografia asimmetrica la generazione delle chiavi asimmetriche e la memoria di sicurezza. Per assicurare che si possa accedere a certe aree di memoria solo se in possesso dei diritti di accesso, a bordo dei dispositivi Synergy troviamo la periferica Secure Memory Protection Units. La piattaforma Synergy gioca un ruolo chiave nell’assicurare l’integrità e la disponibilità del sistema, ad esempio la separazione dei vari attori della scena è un elemento cruciale che consente di aumentare l’integrità quando molti sistemi sono interconnessi tra loro. Separando le chiavi delle sessioni e i dati dell’utente dai dati dell’apparato e consentendo al sistema di creare una sandbox separata per i dati di configurazione la Mpu, disponibile nei micro Synergy, l’utente può eseguire diverse operazione allo stesso tempo mantenendole completamente separate tra di loro.
Protezione attraverso l’intera vita del prodotto
Il rischio di venire derubati delle proprie proprietà intellettuali inizia al momento del processo di produzione, cioè non appena il microcontrollore lascia le mani del gruppo di ricerca e sviluppo. Analizziamo l’esempio in cui il gruppo di ricerca e sviluppo abbia sviluppato un misuratore di glicemia del sangue, un terzista, non propriamente corretto, potrebbe eseguire un reverse engineering dell’algoritmo brevettato per produrre un misuratore di glucosio quasi identico da rivendere ai concorrenti. Prodotti clonati come questi possono minacciare gli affari e ridurre le entrate. Possono anche danneggiare la reputazione del produttore originale nel caso in cui dispositivi di bassa qualità e con scarsa affidabilità raggiungono il mercato creando problemi di supporto per i partner che hanno acquistato a loro insaputa prodotti clonati illegalmente. Per aumentare la protezione contro queste minacce i progettisti della piattaforma Synergy hanno integrato due caratteristiche innovative all’interno di ogni microcontrollore allo scopo di supportare l’autenticazione di ogni singolo dispositivo e di minimizzare la minaccia di clonazione. Già all’inizio del processo di produzione i progettisti che utilizzano i microcontrollori Synergy possono scegliere se utilizzare i servizi di generazione e di memorizzazione delle chiavi di Renesas o di terze parti. La generazione e la memorizzazione sicura delle chiavi assegnano un identificatore unico, o un certificato di nascita, a ogni singolo microcontrollore. La “iniezione” della chiave unica sarà eseguita prima dell’inizio del processo di produzione, da questo punto in poi la checksum calcolata sul codice dovrà avere un valore noto per potere essere accettata. Più presto, durante il processo di produzione, questo identificatore unico viene assegnato più difficile è per chiunque rubare l’identità del microcontrollore. Attualmente la serie S7 della piattaforma Synergy è una delle pochissime in grado di offrire la memorizzazione sicura delle chiavi e la loro generazione all’ interno del microcontrollore stesso. La seconda caratteristica offerta da Renesas nella piattaforma Synergy per affrontare il problema della clonazione dei prodotti è la catena di affidabilità certificabile. La catena di affidabilità viene utilizzata come base per la sicurezza sulla quale vengono installati i componenti aggiuntivi. Questa include i componenti chiave che il sistema operativo deve considerare affidabili e che deve eseguire immediatamente dopo il reset. Questi includono il firmware di sicurezza, i dati, la gestione degli accessi, il modulo crittografico e l’identificatore unico per ogni singolo microcontrollore. La catena di affidabilità supporta le tre funzioni principali. La prima controlla e verifica il software della catena di boot. Questo richiede che essa esista separatamente e al di fuori di qualsiasi catena di boot del sistema. La seconda è la protezione delle chiavi crittografiche, questo significa che le chiavi principali devono essere fornite in anticipo e in modo sicuro. Il sistema di iniezione anticipata delle chiavi, la memorizzazione sicura e l’accesso protetto alla linea Jtag della piattaforma Synergy incontra completamente queste richieste. La terza è la gestione della catena di affidabilità che deve necessariamente eseguire l’autenticazione del dispositivo. La piattaforma Synergy esegue questa funzione grazie agli acceleratori hardware posizionati in una zona estremamente sicura del silicio del dispositivo quali il generatore delle chiavi asimmetriche, l’acceleratore della crittografia asimmetrica, il generatore di numeri casuali e il motore di codifica e decodifica simmetrica. Una volta che un dispositivo IoT viene distribuito sul campo ogni correzione sul campo, ogni aggiornamento software e ogni ciclo di manutenzione durante la vita del prodotto offre il fianco ad una potenziale minaccia di attacco. Ognuna di queste funzioni deve essere eseguita da remoto e in modo sicuro. Per aumentare il livello di protezione contro le scritture non autorizzate la piattaforma offre la funzione di boot autenticato che posiziona il codice e la sua chiave in un’area protetta della Flash a bordo del microcontrollore. Nella Fig. 3 un microcontrollore tradizionale sulla sinistra posiziona semplicemente il codice autenticato nella Flash utente. Il codice è quindi soggetto alla minaccia di essere riscritto. La contromisura della piattaforma Synergy sulla destra del diagramma rende molto più difficile l’attacco grazie all’accesso limitato all’interfaccia Jtag e alla protezione del codice di autenticazione in una zona di Flash resa sicura grazie alla periferica Memory Protection Unit. Il resto della Flash utente rimane inalterata. In questo esempio il payload Blob sembra ancora essere un aggiornamento con autenticazione Hash che viene fornito da una sorgente affidabile e la dimensione prevista viene utilizzata per assicurarsi che nulla non autorizzato venga aggiunto. La caratteristica del boot autenticato caratteristico della piattaforma può incrementare la vita del prodotto assicurando che esso possa continuare a essere protetto da attacchi esterni. Una volta che un attacco viene identificato il boot autenticato autorizzerà solo il proprietario identificato correttamente, consentirà solo gli aggiornamenti con firma autenticata e verificata provenienti dal server, inoltre esso impedirà il roll-back per il ritorno indesiderato alle versioni precedenti del software di controllo del sistema. In un ambiente in cui il prodotto è stato distribuito in modo massivo sul campo gli utenti devono affrontare il rischio di attacchi da parte di hacker. Gli hacker tentano di attaccare le smart home collegate in rete e possono impossessarsi di dati privati sensibili e modificare le prestazioni e le funzioni degli apparati in rete. Allo stesso modo gli hacker possono attaccare le smart factories rallentandone la rete e bloccandone la produzione o generando guasti. Per attuare la protezione del dispositivo contro l’attacco degli hacker Synergy aggiunge tre caratteristiche di sicurezza: le librerie di codice affidabili, la sandbox e il sistema operativo in tempo reale ThreadX. Le librerie di codice affidabile evitano l’overflow dei buffers e l’iniezione del codice malevolo modificando le prestazioni degli ingressi e delle comunicazioni. Ad esempio la crittografia e i componenti per il boot sicuro sono solo alcuni degli elementi che contribuiscono a creare una "regione protetta dal possibile contagio". La gestione delle sandbox consente il corretto funzionamento del sistema anche in caso di attacco in corso. Consente di separare i differenti aspetti del sistema operativo e dell’applicazione. Funziona utilizzando la Memory Protection Unit integrata per separare la memoria interna in aree a cui si può accedere solo da parte delle applicazioni che hanno un accesso privilegiato e che sono invece aperte alla comunicazione. Questa segmentazione consente al progettista di creare modalità supervisore e modalità utente assicurando che qualsiasi tipo di problema della sezione utente non influenzerà mai la modalità supervisore. Inoltre, utilizzando la sandbox, il progettista può creare aree di memoria che possono essere non leggibili oppure non stampabili. Una volta che questo sezionamento è programmato, quando una applicazione esce dai confini, come capita durante un attacco esterno, il microcontrollore alza un flag hardware che forza l’esecuzione di un reset del sistema. Questo consente di proteggere il sistema da ogni attacco. Infine la piattaforma Synergy utilizza un sistema operativo in tempo reale riconosciuto come uno tra i più affidabili nel campo delle applicazioni industriali di sicurezza, Express Logic ThreadX offre un livello significativo di vantaggi in termini di sicurezza.
La protezione del firmware compresa
Durante le fasi di sviluppo e di produzione i sistemi embedded sono vulnerabili dal punto di vista del firmware. Uno dei vantaggi dei dispositivi connessi è la possibilità di aggiornare il firmware in remoto, purtroppo questa funzione rende il sistema vulnerabile. Synergy è in grado di proteggere queste funzioni da attacchi grazie al programma di autenticazione del firmware diviso in cinque fasi. Il processo inizia con la verifica del certificato digitale e dell’identità del servizio di aggiornamento del firmware. La piattaforma autentica i sui canali di comunicazione utilizzando molte tecnologie tra le quali l’identificatore unico, la memorizzazione sicura delle chiavi, la crittografia asimmetrica e la generazione delle chiavi asimmetriche. Successivamente, per proteggere il file binario da attacchi e intercettazioni durante il download, Synergy utilizza un sistema di comunicazione sicuro o Tls (Transport layer security) che impiega il generatore di numeri casuali e il motore di crittografia con Hash. Ciò che rende unica la piattaforma Synergy, in questa classe di dispositivi, è la capacità di eseguire in modo sicuro e veloce le funzioni di crittografia. Il sistema Secure Crypto Engine integra alcune funzioni cruciali tra le quali il generatore di numeri casuali, un acceleratore hardware per la gestione della crittografia con chiavi simmetriche, un acceleratore hardware per la gestione della crittografia con chiavi asimmetriche, un acceleratore Hash, uno stream cipher accelerator e un metodo hardware di memorizzazione delle chiavi in modo sicuro. Il generatore di numeri casuali risiede all’interno del modulo Secure Crypto Engine, all’interno della catena di affidabilità, non è abilitato dal software e può supportare chiavi anche per la gestione di sessioni brevi, grazie a queste caratteristiche la periferica Trng è meno soggetta al pericolo di attacchi esterni. Nel terzo passo la piattaforma Synergy verifica che il file binario ricevuto sia lo stesso presente sul server utilizzando la tecnologia Hash integrata. Nel passo successivo la piattaforma Synergy scrive il file binario autenticato in memoria utilizzando il Secure Crypto Engine. Infine, allo scopo di proteggere il file binario scritto in Flash, il sistema crea una zona sicura utilizzando il modulo Memory Protection Unit e limitando o impedendo l’accesso via interfaccia Jtag.