Priorità alla sicurezza

IC SICUREZZA –

La crescente pervasività dei sistemi embedded in ambito industriale e consumer ha fatto crescere esponenzialmente le esigenze di sicurezza, sia dei sistemi informatici che in vario modo si interfacciano con i sistemi embedded, sia i sistemi embedded stessi

Il rischio sicurezza, dal 2010 in avanti, sta aumentando in maniera vertiginosa. È stato stimato che un'elevatissima percentuale di persone hanno subito il furto delle credenziali o delle informazioni di identità. La lista dei rischi della sicurezza è in continua crescità con nuove tecniche di attacco oltre gli ormai ben noti hacking, phishing, malware e virus (vedi riquadro 2). La sicurezza dei sistemi è quindi sempre più importante se si considerano i danni economici che gli attacchi ai sistemi e la loro violazione producono. Nel 2011 il primo ministro inglese, David Cameron riportò nella conferenza sul Ciberspazio, che i costi dei danni prodotto dalla criminalità cibernetica nel Regno Unito erano stati stimati in 27 miliardi di sterline e che comunque a livello mondiale si stimavano oltre mille miliardi di dollari di perdita economica. Con tal dati non si può ignorare il problema della sicurezza, soprattutto quando questo riguarda i sistemi elettronici e informatici alla base del funzionamento sia della vita industriale, sia della vita civile. La sicurezza ha diversi livelli di attuazione, individuale, ambientale, strutturale e globale. Il livello di sicurezza individuale riguarda la sicurezza dei dati e dei beni personali, come quelli cntenuti nei dispositivi di comunicazione e di computing personali oppure i luoghi fisici di vita delle persone, per esempio l'abitazione, l'automobile, ecc. Il livello di sicurezza ambientale concerne invece quello con cui l'individuo interagisce direttamente o attraverso altri dispositivi, per esempio le smart card oppure lo smart phone, per accedere a servizi o altri luoghi. Il livello di sicurezza strutturale concerne invece le infrastrutture come quella di comunicazione, di metering e di smart grid, con una problematica di sicurezza sia interna, sia esterna. Il livello di sicurezza globale è invece legato alle infrastrutture informatiche e di comunicazione globale di natura particolarmente pervasive come per esempio Internet, Internet of Things e Internet of Everythings. Questi livelli di sicurezza hanno in comune tra loro il punto critico, l'elettronica di acccesso ai sistemi, che nella maggior parte dei casi è un microcontrollore e il relativo software che ne consente l'operatività.

Smart grid e smart metering

Gli attacchi ai sistemi basati sui computer avvengono tramite virus, worms, root kits, ecc. Il fatto che i sistemi di controllo e i sistemi di acquisizione dati sono collegati alla rete rende questi particolarmente vulnerabili agli attacchi per la perdita di servizio e anche per veri e propri danni fisici alle apparecchiature. Gli smart meter sono dispositivi che comunicano in entrambe le direzioni con la rete nello smart grid, quindi rappresentano un elemento debole relativamente alla sicurezza. I punti critici sono il lato della rete utente, la home area network e la building area network, le interfacce verso il personale operativo dotati di computer portatili e le interfacce tra i sistemi di misura. I requisiti tecnici per la sicurezza riguardano l'identificazione e l'autenticazione dell'utente e del dispositivo, l'isolamento delle funzioni di sicurezza, la protezione del servizio e l'integrità del software e dei dati. I circuiti integrati per la sicurezza in questo caso devono offrire un suppoto crittografico, una chiave di sicurezza, un generatore di numeri casuali, un clock sicuro, in firewall hardware, la rivelazione di tentativi di manomissione. Un altro punto di debolezza sono i concentratori di dati, cioè i sistemi che raccolgono le informazioni di misura e le trasmettono verso l'azienda che gestisce il servizio. In questo caso la problematica di sicurezza è tra il concentratore e il dispositivo di misura e quindi comporta operatività sicura relativamente all'esecuzionesicura e autenticazione di tutti i comandi e la cifratura Aes128 per proteggere l'aspetto confidenziale dei dati. In questo caso le chiavi di crittografia devono essere hardware e non modificabili all'interno del dispositivo di misura. Freescale ha implementato un'architettura computazionale per la sicurezza che implementa le funzionalità di elaborazione necessarie a sodisfare i requisiti di sicurezza. Il single-core QorLQ è un processore orientato alle applicazioni sicure che permette di creare le protezioni necessarie per evitare le intrusioni software e la clonazione. Questo processore dispone funzionalità di end-to-end code signing e di prevenzione delle intrusioni. Il QorLQ P1010 è basato sul core processor e500 e dispone di diversi livelli di protezione come la memoria interna di boot e l'hardware di rilevazione delle manomissioni esterne. Il dispositivo è un vero e proprio security on-chip in quanto implementa in un solo chip tutto quello che serve per la sicurezza, tra cui quanto serve a rendere impossibile la modifica del software Oem senza autorizzazione, il mantenimento del segreto relativamente al codice confidenziale, le chiavi di sessione protette durante la negoziazione, le partizioni separate da barriere in modo che da una partizione non si possa accedere alle risorse di un'altra partizione, la prevenzione e il controllo di modifiche run time del codice eseguibile e anche del codice non eseguibile (dati).
Il processo di boot del codice è un aspetto delicatissimo del sistema di sicurezza. Quando il codice viene caricato dalla memoria di boot per essere eseguito, la Cpu del QorLQ utilizza una chiave pubblica RSA per decriptare l'hash firmato e simultaneamente ricalcolare l'hash SHA-256 sul codice di sistema. Solo se l'hash originale decriptato corrisponde a quello calcolato, allora il codice è autenticato e messo in esecuzione.

Sicurezza nelle transazioni elettroniche
La sicurezza è un aspetto critico nei sistemi di transazione elettronica come le smart card e quelli basati sull'uso dei telefoni mobili Gsm e Umts. Nel caso dei telefoni mobili è stata adottata la modalità Nfc (Near Fied Communication) Uicc (Universal Integrated Circuits Cards) che consente di gestire i pagamenti tramite Sim del telefono. Un'altra modalità è quella basata su eSE (embedded Secure Element). Entrambe queste modalità sono previste in fortissima espansione. STMicroelectronics ha svluppato una famiglia di microcontrollori avanzati per implementare i requisiti di sicurezza per l'implementazione dei servizi tramite telefoni mobili e applicazioni consumer sicure. L'STM33G1M2 è un microcontrollore ad accesso seriale per applicazioni sicure su dispositivi mobili. Incorpora la recente architettura Arm Cortex M3 per i sistemi sicuri. Il SecureCore SC300 (Risc a 32 bit) è stato costruito sul core Cortex M3 aggiungendo una serie di funzionalità orientate alla sicurezza per consentire di implementare le necessarie strategie di protezione contro gli attacchi. In tal modo garantisce l'implementazione delle strategie di sicurezza e allo stesso è molto performante e compatto nel codice.
Il microcontrollore di STMicroelectronics integra un acceleratore hardware per le funzioni di cifratura Des (Data encrition standard).

La firma digitale

La firma digitale è un processo matematico che consente di dimostrare l'autenticità di un messaggio o di un documento o di un oggetto digitale. La conferma della veridicità della firma digitale è garanzia di genuinità del messaggio, quindi che questo non è stato alterato nei vari passaggi che l'hanno portato al recipiente. Si tratta quindi di un meccanismo di sicurezza che si applica alla distribuzione del software, alle transazioni finanziarie, e in generale a tutti quei casi in cui è possibile una manipolazione esterna dell'oggetto digitale. Analog Devices ha sviluppato Lockbox Secure Technology che utilizza algoritmi standard di firma digitale. Si tratta di una combinazione di meccanismi hardware e software che permettono di implementare le misure che permettono di garantitre informazioni segrete e riservate come la proprietà intellettuale, di verificare l'identità dei dispositivi e delle persone in contesti come il commercio elettronico. Si tratta di una combinazione tra memoria Otp (One-time programmable) e modalità di elaborazione sicura (Blackfin Secure Mode). La parte pubblica, non sicura, programmabile dall'utente della memoria Otp è idonea per tenere memorizzata la chiave pubblica per autenticare il sistema in una maniera controllabile e configurabile dallo sviluppatore. La parte privata, sicura, programmabile dall'utente della memoria Otp consente consente allo sviluppatore di programmare la sua chiave privata e di mantenere la confidenzialità e l'integrità di tale configurazione. Inoltre, utilizzando la modalità sicura di Blackfin, è possibile implementare il sistema in modo che solo il codice autenticato è abilitato ad essere eseguito sul processore in un contesto di elaborazione sicura. Lockbox Secure Technology utilizza algoritmi di crittografia standard. L'autenticazione digitale della firma sui due dispositivi Blackfin ADSP-BF54x e ADSP-BF52x utilizza la cifratura asimmetrica ECC (Elliptic Curve Cryptography) e SHA-1 Secure One-Way HASH2.

Sicurezza nell'embedded

La connettività dei dispositivi tramite rete è sempre più diffusa e il paradigma di Internet of Things è l'emblema di questa tendenza. I dispositivi embedded, dagli smartphone ai dispositivi più semplici come i sistemi di misura, i termostati, i sistemi Hvac, i misuratori di glucosio, sono già in rete Internet. Chi progetta questi dispositivi, oltre alla specificità dell'applicazione deve far fronte alla problematica della sicurezza del livello di comunicazione. La sicurezza nei sistemi embedded è strettamente legato al livello di interconnettività di cui questi dispongono, quindi le funzionalità che garantiscono la sicurezza sono ormai parte integrante del sistema embedded stesso. Di conseguenza particolare attenzione viene posta da parte dello sviluppatore all'integrazione delle funzionalità che garantiscono la sicurezza.
La sicurezza non è riconducibile a un'unica strategia, quindi a un solo componente che la implementa. La sicurezza è il risultato della combinazione di varie soluzioni che, combinate insieme realizzano un elevato livello di protezione del sistema e di sicurezza delle informazioni. Microchip ha sviluppato diverse tecnologie per la sicurezza da integrare nei sistemi embedded tra cui KeeLoq, BodyCom ed Hardware Crypto Engine. KeeLoq è una soluzione basata su timer che utilizza lo standard di cifratura AES-128, un numero seriale programmabile a 32 bit, una chiave di cifratura a 128 bit e il KeeLoq Secure Learn Mode (128-bit Seed). Incorpora un contatore di messaggi timer driven che si incrementa continuamente indipendentemente dagli eventi. La funzionalità time-keeping rende possibile la protezione contro la cattura e la replica degli attacchi. Il tutto è disponibile nel MCS3142 Dual KeeLoq Encoder. Applicazioni come i sistemi di sicurezza (keypad, sensori remoti e controllo di accesso), i sistemi di accesso senza chiavi (automotive) e quelli di autenticazione (identità e proprietà) sono le principali aree applicative di questa tecnologia della sicurezza on-chip. Il kit di sviluppo Wireless Security Remote Control è la piattaforma diimostrativa e di sviluppo per le applicazioni sicure wireless basate su Ultimete KeeLoq di Microchip. Il kit dimostra due protocolli sicuri, il protocolluo Ultimate KeeLoq e il protocollo classico KeeLoq. Il kit contiene un trasmettitore a quattro bottoni basati su MCS3142 Dual KeeLoq Encoder, una daugtherboard ricevitore PICtail e una scheda di sviluppo embedded.
La tecnologia BodyCom di Microchip è una soluzione a corto raggio per la comunicazione sicura di dati in modalità wireless. Viene attivata per accoppiamento capacitivo del corpo umano, funziona in modo bidirezionale tra un controller centralizzato e una o più unità mobili wireless. La comunicazione all'interno del corpo avviene utilizzando il corpo umano come mezzo trasmissivo. Il vantaggio di questa soluzione relativamente alla sicurezza sta nel processo di autenticazione bidirezionale, basato su un canale di comunicazione sicura come il corpo umano. Questa soluzione previene anche i “Relay Attack” tipici delle soluzioni Pke. Adotta la cifratura Aes-128. Non utilizza antenne e trasceiver wireless. L'hardware Crypto Engine di Microchip basato su PIC32MZ è un acceleratore di applicazioni che utilizzano funzioni di cifratura. Eseguendo tali funzioni su un modulo hardware, l'applicazione software risulta enormemente alleggerita e le stesse funzioni a supporto della sicurezza come la cifratura e la decifratura e l'autenticazione risultano molto veloci. Il Crypto Engine utilizza un Dma interno basato su descrittore per rendere più efficente la programmazione dei processi di sicurezza relativamente ai dati ed ai puntatori (permette lo scatter/gather data fetching). Una macchina a stati esegue lo scheduling dei motori di cifratura sulla base di un protocollo di selezione e pacchetizzazione limitata. Le operazioni di autenticazione e di cifratura possono essere eseguite sia in serie che in parallelo.

Criptografia su Arm

La criptografia è un requisito fondamentale per la sicurezza dei sistemi, ma la sua implementazione richiede notevoli risorse computazionali. L'esecuzione dei processi di criptografia e decriptografia spesso devono essere eseguiti durante l'esecuzione di applicazioni i cui tempi di risposta possono essere critici rispetto ai requisiti. L'esecuzione hardware dei processi criptografici è dunque fondamentale per garantire l'efficenza dei sistemi, soprattutto quando questi sono di natura embedded. Molti di questi sistemi sono basati su processori ad architettura Arm, un'architettura di computing molto efficente, che però viene penalizzata da un'intensa attività computazionale embedded come quella criptografica. Il supporto hardware all'esecuzione dei processi di sicurezza è quindi un passaggio fondamentale per preservare le prestazioni del processore. Quindi la soluzione del coprocessore criptografico per i processori diventa un importante elemento di innovazione. Questo supporto hardware ovviamente è più efficente ed efficace se è integrato nell'architettura stessa del processore, piuttosto che come periferica computazionale esterna, soprattutto se si tratta di sistemi embedded.
Texas Instruments, relativamente alla sua architettura di computing ad alte prestazioni Sitara Arm basato su core Cortex A8, ha integrato su AM37x, AM35x e AM335x un coprocessore Security Crypto Accelerator che esegue in hardware gli algoritmi e le procedure richieste dalle applicazioni di sicurezza, senza penalizzare l'esecuzione del codice applicativo da parte della Cpu. Il security framework OpenSSL e gli algoritmi di criptografia, prima dell'integrazione del supporto hardware alla sicurezza, venivano eseguiti in modalità software dal core processor, mentre ora su AM37x, AM35x e AM335x gli stessi possono essere eseguiti in hardware. Poichè l'acceleratore harware lavora separatamente dal core Arm, quando un processo di sicurezza viene attivato durante un'applicazione, questa non viene rallentata in quanto il security accelerator non sottrae cicli istruzioni al core impegnato in attività altrettanto computazionalmente intensive come la gestione dell'interfaccia grafica, la gestione dello stack della comunicazione WI-FI, l'interfaccia utente, ecc. Un aspetto interessante della soluzione del supporto hardware alla sicurezza sta nel fatto che lo sviluppatore non deve considerarla come una parte da sviluppare e integrare nella sua applicazione, ma come una funzionalità del processore che lui deve solo decidere di utilizzare o non utilizzare, come se si trattasse di una periferica, limitandosi solo a programmare i modi di funzionamento, non il funzionamento. Una serie di test hanno dimostrato che l'esecuzione hardware dei processi criptografici del framework OpenSSL può scaricare la Cpu di almeno il 50%, con ovvie ricadute sulle applicazioni che, oltre ad essere più veloci, possono essere più complesse pur mantenendo alto il livello di sicurezza.

Proteggere le chiavi

Proteggere le chiavi di criptografia in maniera sicura è fondamentale ai fini di garantire la sicurezza e la stessa efficacia degli algoritmi di cifratura. Maxim Integrated ha introdotto una serie di dispositivi, i DeepCover, che consentono di proteggere i dati in modo da garantire il massimo livello di protezione possibile per le chiavi necessarie ai processi crittografici. Il DeepCover Security Manager Max3605 è un dispositivo dotato di un'interfaccia a 4 fili e di una memoria interna a 128 kbyte. Il dispositivo è stato studiato appositamente per le applicazioni che richiedono di monitorare le condizioni di temperatura e tensione delle carte di pagamento e di altri sistemi dove la protezione dei dati e la sicurezza è critica, come per esempio i giochi, i terminali delle lotterie, le memorie Usb sicure, ecc. Il Max3605 è dotato di una memoria interna non clonabile di 128 byte con capacità di cancellazione ad altissima velocità. E' dotato anche di due comparatori capaci di rilevare manomissioni e di generare interruzione relativamente agli eventi di manomissione. Quando si manifesta un evento di malfunzionamento dell'alimentazione primaria, il dispositivo attiva una fonte di alimentazione a batteria esterna che mantiene attiva la circuiteria che rileva le manomissioni.
Un altro dispositivo della famiglia DeepCover per applicazioni sicure che devono proteggere il sistema dai tentativi di manomissione della memoria con tecniche di cloaking è Max36025, il DeepCover Security Manager per il controllo di nodi criptografici capaci di reagire alle manomissioni e con codifica Aes. Si tratta di un dispositivo ad elevata integrazione per sistemi crittografici di fascia alta e di archiviazione di dati che implementa un motore ciriptographic tamper-reactive dual Aes che riduce enormemente i costi implementativi. Dispone di una doppia interfaccia Spi e di una interfaccia Serial Flash per garantire la comunicazione sicura verso i nodi esterni. La memoria non clonabile incorpora una funzione di ccancellazione direct-wired ad alta velocità ed è costantemente complementata in background per prevenire la clonatura dei dati. La cancellazione dei dati viene effettuata a banchi in modo da poter gestire i singoli eventi di manomissione. Quando si verifica uno specifico evento di manomissione, il banco di memoria desiderato viene rapidamente cancellato e può essere applicato un bias negativo per cancellare la memoria esterna.

Pubblica i tuoi commenti