Rafforzare la sicurezza con il provisioning sicuro

Le chiavi di sicurezza sono alla base della sicurezza di un sistema e la protezione delle chiavi private e di altre informazioni segrete è uno dei requisiti più importanti per qualsiasi dispositivo connesso. Purtroppo, anche se nei progetti vengono protette a più livelli, quando alla fine si caricano le chiavi e il firmware durante la produzione una sicurezza non troppo stretta può minare anche le predisposizioni più attente.

Attacchi ben documentati su sistemi e infrastrutture connesse hanno messo in evidenza le vulnerabilità sottostanti della sicurezza che possono sorgere quando si creano soluzioni di tecnologia operativa (OT) complesse. In applicazioni critiche come quelle che riguardano la sanità, l'industria, i trasporti e l'energia, la violazione delle misure di sicurezza non solo espone i dati sensibili, ma compromette anche l'esecuzione sicura dell'applicazione stessa.

Via via che i consumatori riempiono case e uffici di dispositivi Internet delle cose (IoT), i problemi di sicurezza che li riguardano diventano più personali. Non sorprende che i progettisti di dispositivi continuino a mettere l'implementazione della sicurezza tra le loro principali preoccupazioni di sviluppo.

La buona notizia è che ora sono disponibili delle soluzioni.

Dispositivi e kit sicuri

La disponibilità di chip di sicurezza specializzati e di processori abilitati alla sicurezza ha semplificato notevolmente l'implementazione della sicurezza dei dispositivi. Inoltre, e questa è una notizia ancora più confortante, la loro esecuzione di algoritmi crittografici basati sull'hardware previene gli attacchi ai meccanismi di sicurezza basati sul software, cosa che affligge i sistemi più tradizionali. La maggior parte di questi chip e processori incorpora la memorizzazione sicura delle chiavi basata sull'hardware e si basa su quelle chiavi protette per offrire una radice di attendibilità hardware necessaria per garantire la sicurezza end-to-end. Tuttavia, il processo di caricamento (o "provisioning") delle chiavi in quei dispositivi hardware spesso richiede un intervento umano che, in modo casuale o intenzionale, può esporre informazioni segrete e lasciare un ingresso che gli hacker possono sfruttare usando il tipo di attacchi di ingegneria sociale tutt'ora molto efficaci.

Molti produttori e distributori di semiconduttori forniscono un servizio di provisioning sicuro che esegue questo passaggio cruciale utilizzando moduli di sicurezza hardware (HSM) progettati con salvaguardie per proteggere da intrusioni fisiche o elettroniche. Ma il provisioning di fabbrica non è sempre disponibile oppure a causa di requisiti interni non è idoneo e gli sviluppatori di dispositivi IoT devono affrontare la sfida aggiuntiva di caricare in modo sicuro firmware affidabile nei loro dispositivi. Per fortunata, sono disponibili delle soluzioni alternative.

Una di quelle più dirette esclude completamente il provisioning delle chiavi. Dispositivi come DS28E38 della famiglia DeepCover di Maxim Integrated sono costruiti con la tecnologia ChipDNA di Maxim Integrated basata sull'hardware di funzione non clonabile fisicamente (PUF). Questi dispositivi basati su PUF generano un'identità univoca utilizzata per creare chiavi private inaccessibili dai pin esterni del dispositivo.

Sistemi di sviluppo come Zero Touch Secure Provisioning Kit (AT88CKECC-AWS-XSTK-B-ND) di Microchip Technology includono il chip di autenticazione ECC508 di Microchip, preconfigurato per il provisioning con le credenziali necessarie per collegare un dispositivo IoT ad Amazon Web Services (AWS).

Ma che dire del provisioning delle chiavi private e del firmware affidabile per microcontroller (MCU) in progetti personalizzati che non possono usare identità autogenerate basate su PUF?

Provisioning sicuro

In alcuni casi, gli sviluppatori possono utilizzare gli ambienti di sviluppo dei produttori di MCU per generare e fornire queste risorse sugli MCU supportati. Ad esempio, il tool MCUXpresso Secure Provisioning di NXP Semiconductors consente agli sviluppatori di accedere al kit di sviluppo software (SDK) di provisioning sicuro open-source dell'azienda attraverso un'interfaccia grafica o script dalla riga di comando (Figura 1).

Figura 1: Il tool MCUXpresso Secure Provisioning di NXP Semiconductors offre interfacce al suo SDK di provisioning sicuro open-source. (Immagine per gentile concessione di NXP Semiconductors)

STMicroelectronics offre una soluzione studiata per aiutare gli sviluppatori a proteggere il codice e i dati nei progetti costruiti con i processori STM32 dell'azienda quando si utilizzano produttori conto terzi. In questo caso, gli sviluppatori generano un'immagine criptata con lo strumento software STM32 Trusted Package Creator e memorizzano una chiave segreta nella smartcard HSM STM32HSM di STMicroelectronics. Dopo aver ricevuto l'immagine criptata e la smartcard HSM, il produttore conto terzi utilizza STM32 Cube Programmer per fornire in modo sicuro le chiavi e il firmware su dispositivi STM32 come x e y che supportano SFI (Figura 2).

Figura 2: Gli sviluppatori possono utilizzare il software STM32 Trusted Package Creator di STMicroelectronics e una smartcard STM32HSM HSM per trasferire in sicurezza le risorse sicure a produttori terzi. (Immagine per gentile concessione di STMicroelectronics)

Per sviluppare con altri dispositivi, IAR Systems offre il suo Secure Desktop Provisioner integrato con il suo IAR Embedded Workbench. Sviluppato con la sua business unit Secure Thingz, Secure Desktop Provisioner fa parte di un flusso di sviluppo che va dallo sviluppo sicuro alla prototipazione, produzione e agli aggiornamenti successivi (Figura 3).

Figura 3: Il flusso di sviluppo di IAR Systems permette ai progetti di fornire chiavi di sviluppo e firmware ai prototipi e poi trasferire in sicurezza le risorse alla produzione, dove le chiavi di sviluppo vengono sostituite da quelle di produzione. (Immagine per gentile concessione di Renesas)

Lavorando in IAR Embedded Workbench, gli sviluppatori usano lo strumento software Secure Desktop Provisioner per fornire chiavi e firmware durante le fasi preliminari di prototipazione. Quando il progetto è pronto per la produzione iniziale e la produzione di serie, le risorse firmware vengono trasferite ai partner di produzione e le chiavi di sviluppo vengono sostituite con chiavi di produzione sicure fornite tramite un dispositivo sicuro.

Conclusione

Per implementare sistemi connessi sicuri come i dispositivi IoT, gli sviluppatori hanno bisogno non solo di chip e processori di sicurezza specializzati, ma anche di proteggere le chiavi segrete sottostanti e il firmware affidabile. Per fortunata, esistono numerose soluzioni per proteggere queste risorse durante la fase cruciale del provisioning della produzione.

Informazioni su questo autore

Image of Stephen Evanczuk

Stephen Evanczuk ha più di 20 anni di esperienza come autore sull'industria elettronica e ha scritto su una vasta gamma di argomenti tra cui hardware, software, sistemi e applicazioni, incluso l'IoT. Ha ricevuto un Ph.D. in neuroscienze sulle reti neuronali e ha lavorato nel settore aerospaziale su sistemi di sicurezza ampiamente distribuiti e sui metodi di accelerazione algoritmica. Attualmente, quando non scrive articoli su tecnologia e ingegneria, lavora su applicazioni di deep learning per i sistemi di riconoscimento e di raccomandazione.

More posts by Stephen Evanczuk
 TechForum

Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.

Visit TechForum