Proteggere i sistemi embedded con l’algoritmo SHA-3

Gli algoritmi di hashing (SHA), secondo l’ultima pubblicazione della National Institute of Standards and Technology (NIST), continuano ad evolversi per fornire livelli sempre più elevati di sicurezza con varie tecniche crittografiche. L’ultima iterazione, SHA-3, ha una nuova struttura computazionale interna rispetto ai precedenti algoritmi di hash NIST, con l’obiettivo di risolvere le vulnerabilità dei suoi predecessori.

Man mano che i sistemi integrati diventano sempre più intelligenti e connessi, è più che mai importante proteggerli dagli attacchi cyber. SHA-3 può aiutare, tuttavia, ad implementare le funzioni hash crittografiche senza un background di conoscenze in crittografia. Questo articolo illustra i meriti di SHA-3 e sottolinea come gli autenticatori sicuri progettati con algoritmi SHA-3 e la tecnologia PUF (Physically Unclonable Function) possano fornire una solida sicurezza integrata senza richiedere competenze importanti nel settore della crittografia.

Salvaguardare i sistemi integrati

All’inizio di questa primavera è stato pubblicato un rapporto che descrive come gli hacker hanno utilizzato un termometro di un acquario collegato in rete, ma non protetto, nella hall di un casinò per accedere ai sistemi e rubare dati. L’incidente evidenzia la vulnerabilità dei sistemi embedded senza una protezione adeguata.

Gli hacker sono sempre più bravi nelle loro tecniche per attaccare i circuiti integrati che implementano la sicurezza all’interno di un sistema embedded. Microprobing, un fascio ionico concentrato (FIB), e reverse-engineering sono solo alcuni esempi di tecniche di attacco invasivo che gli hacker hanno a disposizione. Per questo motivo, è elevato il rischio che la sicurezza implementata nel software su un microcontrollore generico venga interrotta e aggirata. La crittografia, ad esempio, potrebbe essere relativamente facile ed economica da implementare nel software, ma facilmente un hacker estrarrà il firmware per ottenere le chiavi.

Gli IC di sicurezza integrati basati su hardware offrono un livello più elevato di protezione, ma devono anche continuare a evolversi per stare al passo con i cybercriminali. Un esempio di questa evoluzione combina la funzione hash crittografica SHA-3, un algoritmo crittografico di ultima generazione, con la protezione fornita dalla tecnologia PUF. PUF, insieme alla funzione hash crittografica SHA-3, fornisce una potente combinazione per prevenire la contraffazione, gestire in modo sicuro il ciclo di vita di un prodotto finale, archiviare e garantire i parametri di funzionamento dell’integrità di un sensore o strumento, abilitare o disabilitare le caratteristiche del sottosistema e anche salvaguardare questi sistemi embedded da attacchi invasivi. Esaminiamo entrambe le tecnologie nei prossimi paragrafi di questo documento.

SHA-3: un’autenticazione robusta

Challenge-and-Response

Gli algoritmi di hash crittografici trasformano un messaggio digitale di input in un breve messaggio(digest) che può quindi essere utilizzato nelle firme digitali e in altre applicazioni di sicurezza. Un cambiamento nel messaggio originale, anche singolo, determina un significativo cambiamento nel valore del digest; questo è chiamato effetto valanga. Per questo motivo, è abbastanza facile rilevare modifiche accidentali o intenzionali apportate al messaggio originale. Ulteriori proprietà degli algoritmi di hash crittografici includono: 1) sono funzioni a senso unico, quindi non è possibile ottenere l’input dal valore di output; 2) la probabilità che più di un messaggio di input creerà la stessa uscita digest è prossima allo zero (un evento che i crittografi chiamano “collisione”)2,3. In definitiva, i ricercatori crittografici hanno rilevato vulnerabilità con la prima iterazione di SHA, SHA-1, in termini di ricerca di una collisione. A quel punto, il NIST aveva approvato SHA-2 e, mentre SHA-2 condivide un’implementazione matematica simile a SHA-1, è ancora un algoritmo NIST approvato che fornisce una protezione migliore rispetto a SHA-14.

Rilasciato dal NIST il 5 agosto 2015, SHA-3 si basa sulla funzione di crittografia KECCAK, che consiste in una struttura che impiega la costruzione di spugne5. La costruzione di spugne rappresenta una classe di algoritmi che prendono (assorbono) un flusso di bit di input di qualsiasi lunghezza per produrne (spremere) uno in uscita di qualsiasi lunghezza desiderata. Le corrispondenti funzioni possono essere utilizzate per modellare o implementare gli hash crittografici, i codici di autenticazione dei messaggi e altre primitive funzioni crittografiche. KECCAK è considerata molto potente a causa della sua intricata permutazione multi-round f: una funzione (f) che trasforma la memoria di stato6 dell’algoritmo di hashing.

SHA-3 è il primo algoritmo di hash crittografico che il NIST ha adottato utilizzando una competizione pubblica e un processo di controllo. Il NIST ha selezionato l’algoritmo KECCAK come base dello standard SHA-3 dopo una competizione dove si sono valutati i candidati sulla base di:

  • Livello di prestazioni, indipendentemente dall’implementazione.
  • Capacità di resistere agli attacchi noti, pur mantenendo un grande fattore di sicurezza.
  • Capacità di essere sottoposti a crittanalisi.
  • Criteri di diversità del codice.

Un ulteriore vantaggio di SHA-3 è l’efficienza di implementazione del silicio. Ciò lo rende economico rispetto ad altri algoritmi e ottimale per la protezione di sottosistemi embedded, sensori, elettronica di consumo, ecc.

La tecnologia PUF per la protezione  dagli attacchi invasivi

I vantaggi di sicurezza della tecnologia PUF derivano dalle complesse e variabili proprietà fisiche ed elettriche dei circuiti integrati. Poiché PUF dipende da fattori fisici casuali imprevedibili, incontrollabili, che vengono introdotti nel processo di produzione dei circuiti integrati, è praticamente impossibile duplicare o clonare il sottosistema. La tecnologia PUF genera nativamente un’impronta digitale per il suo IC associato; questa impronta digitale può essere utilizzata come chiave unica o segreta per supportare algoritmi di autenticazione, identificazione, anti-contraffazione, associazione hardware- software e crittografia/decrittografia.

Il modo in cui viene implementata PUF è diverso da un fornitore all’altro. L’approccio di Maxim Integrated garantisce che il valore binario univoco generato da ciascun circuito PUF sia garantito per temperatura e tensione e con l’invecchiamento del dispositivo. Chiamata tecnologia ChipDNA™, il circuito PUF di Maxim si basa sulle caratteristiche analogiche casuali presenti in natura dei dispositivi MOSFET fondamentali per produrre le chiavi crittografiche. Questa implementazione di PUF offre un elevato livello di sicurezza poiché il valore binario univoco viene generato solo quando necessario dal circuito PUF e non è memorizzato in alcun punto del chip. In quanto tale, qualsiasi tentativo di irrompere invasivamente nell’IC per scoprire la chiave segreta è inutile. Inoltre, se un dispositivo con tecnologia ChipDNA deve affrontare un attacco, l’attacco stesso può causare la modifica delle caratteristiche elettriche del circuito PUF, impedendo ulteriormente l’intrusione.

Una robusta sicurezza senza un background di conoscenze in crittografia

Per chi non ha esperienza in crittografia (cosa non rara nel mondo della progettazione di sistemi embedded), l’implementazione delle funzioni di hash e l’autenticazione simmetrica basata su determinate chiavi hanno un livello di complessità non indifferente. L’utilizzo di un IC di sicurezza integrato con funzioni SHA-3 e la tecnologia PUF integrata risolve le sfide di design, fornendo una solida sicurezza integrata senza richiedere competenze nel settore della crittografia.

Figura 1 – Diagramma funzionale del DS28E50.

 

Il nuovo autenticatore sicuro di Maxim è il primo dispositivo sul mercato con un motore crittografico SHA3-256. L’autenticatore di sicurezza DeepCover® DS28E50 è inoltre dotato della tecnologia PUF ChipDNA. Grazie a questa combinazione di funzioni di sicurezza, il dispositivo può essere integrato in un sistema embedded per prevenire la contraffazione, la clonazione aftermarket, l’utilizzo non autorizzato e gli attacchi invasivi.

Un bus 1-Wire a contatto singolo semplifica la comunicazione con l’applicazione finale. DS28E50 può essere utilizzato con un coprocessore che consente di alleggerire il lavoro del processore host dall’esecuzione dell’algoritmo SHA-3 e di memorizzare in modo sicuro la chiave di sistema. Per le implementazioni senza coprocessore, Maxim Integrated offre un software che può essere integrato nel progetto per gestire queste funzioni. Il dispositivo è disponibile in un package TDFN da 3mm x 3mm. In Figura 1 è visualizzato il suo diagramma funzionale.

Dove possono essere usati gli autenticatori sicuri?

Oltre alle funzioni di anti-contraffazione, anti-clonazione e controllo dell’utilizzo, gli autenticatori sicuri forniscono molte altre applicazioni. Ad esempio, possono essere utilizzati per proteggere gli aggiornamenti funzionali del cliente finale oltre a quelli di boot/software, e gestire i fornitori di terze parti. Questi dispositivi eseguono tali operazioni tramite varie funzionalità come l’autenticazione bidirezionale, la memoria protetta, l’archiviazione dei dati del sistema crittografato, il conteggio degli usi sicuro, la generazione delle chiavi di sessione di sistema, I/O sicuri generici, numeri casuali conformi NIST e l’integrazione degli algoritmi a chiave pubblica o segreta.

Figura 2 – Applicazione elettrochirurgica.

 

I casi d’uso per gli autenticatori sicuri sono molteplici; eccone alcuni che illustrano il loro valore:

In un’applicazione elettrochirurgica, rappresentata dal diagramma di Figura 2, è fondamentale garantire che il dispositivo medico sia autentico, non sia stato utilizzato oltre i limiti definiti e, inoltre, non sia stato utilizzato in modo non autorizzato. Un autenticatore sicuro consente ai produttori di dispositivi di dimostrare crittograficamente l’autenticità del sensore nel loro dispositivo, di imporre limiti di controllo dell’utilizzo e di garantire che il loro dispositivo sia utilizzato come previsto.

Figura 3 – Autenticazione della cartuccia per la stampante 3D.

 

La clonazione delle cartucce della stampante può essere costosa sia per i produttori originali sia, se la qualità è compromessa, per i consumatori. Come illustrato nella Figura 3, gli autenticatori sicuri incorporati nella stampante 3D e le relative cartucce di accompagnamento possono garantire l’autenticità e proteggere l’IP dalla contraffazione e dalla copia illegale tramite un approccio SHA-3 challenge-and-response.

Come illustrato nella Figura 4, un autenticatore sicuro può essere utilizzato per l’avvio o il download sicuro di un file di dati, verificando le firme al fine di garantire che i dati condivisi tra l’host e il dispositivo remoto siano validi prima di attivare l’esecuzione (o un reset o uno shutdown nel caso di errore nella firma).

 

Figura 4 – Avvio/Download sicuro.

Conclusione

Che si tratti di beni medicali, industriali, di consumo o di una serie di altre applicazioni, i sistemi embedded continuano a essere vulnerabili alla portata dei criminali informatici sempre più preparati. Gli IC di sicurezza integrati possono proteggere questi prodotti da contraffazione, clonazione, uso non autorizzato, attacchi invasivi e altre minacce alla sicurezza. Molti di questi dispositivi possono essere integrati senza un background di conoscenze in crittografia, consentendo così ai progettisti di concentrarsi sulle proprie competenze chiave. Prevenendo gli attacchi alla sicurezza dal più basso livello applicativo, è possibile incrementare la fiducia dei consumatori che è fondamentale per il successo di qualsiasi prodotto.

Per maggiori informazioni

Ulteriori informazioni sulla tecnologia PUF ChipDNA, casi d’uso applicativi, un video, un webinar e vari documenti tecnici: https://www.maximintegrated.com/en/design/partners-and-technology/design-technology/chipdna-puf-technology.html

 

 

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Menu