In thesis I introduce a method to analyse and improve the security of symmetric ciphers software implementations against various classes of side-channel attacks. These are attacks that exploit weaknesses in the internal structure and, more commonly, in the implementation of the algorithms. A large fraction of these weaknesses can be revealed and automatically eliminated by my solution. The analysis can locate the weak spots at single instruction level, and selectively apply countermeasures, resulting in a minimum run time overhead while preserving the soundness of the results. The tool here presented is also able to produce heatmap visualisations of the security properties at bit level, offering a solid insight into the properties of the examined algorithms. These visualisations confirmed some well-known flaws, such as in the case of Misty1, and revealed interesting properties of others – like in the case of Serpent, which has been found to have very good diffusion properties, resulting in highly efficient protected implementations. All the ciphers in the ISO/IEC 18033-3 portfolio have been implemented, including AES (Rijndael), DES/TDEA and Camellia, and then some other less common choices that cater to low-capacity devices, e.g. in the realm of Internet of Things, such as XTEA, Speck and Simon. Alongside with the description of the analysis and countermeasure application algorithms and tools, I also provide a survey of the main side-channel attack strategies and relative countermeasures, evaluating the best options in each scenario that was considered.

In questa tesi introduco un metodo per valutare la sicurezza di un'implementazione software di un cifrario simmetrico contro varie tipologie di attacchi a side-channel e predisporre appropriate contromisure senza intervento umano. Gli attacchi a side-channel sfruttano debolezze nella struttura interna e, più comunemente, nell'implementazione di un algoritmo di cifratura. Lo strumento di analisi qui descritto è in grado di localizzare queste debolezze a livello di singole istruzioni ed applicare contromisure laddove necessarie, consentendo di proteggere l'implementazione in esame da una vasta gamma di attacchi. L'applicazione selettiva delle contromisure consente inoltre di contenere l'inevitabile calo di performance senza compromettere la solidità del prodotto finale. Lo strumento di analisi è altresì in grado di produrre visualizzazioni delle proprietà di sicurezza a livello di singolo bit, offrendo dunque una accurata rappresentazione delle caratteristiche dei vari algoritmi presi in considerazione. I grafici prodotti hanno confermato alcune debolezze ben note, come nel caso di Misty1, e messo in evidenza proprietà interessanti, come nel caso di Serpent. Sono stati analizzati tutti gli algoritmi nel portfolio ISO/IEC 18033-3, inclusi AES (Rjindael), DES/TDEA e Camellia, assieme ad altri meno noti ma comunque interessanti come XTEA, Speck e Simon – tutti algoritmi che puntano alle piattaforme meno potenti, come quelle embedded che si stanno sempre più diffondendo nelle applicazioni Internet of Things. Assieme alla descrizione dello strumento di analisi e dei metodi di protezione adottati, ho anche composto una vista generale sulle tipologie note di attacchi a side-channel, sulla loro formalizzazione e sulle relative contromisure, valutando le opzioni disponibili in ciascuno scenario considerato.

A compiler-based technique for automated analysis and protection against side-channel attacks

SANFILIPPO, STEFANO
2015/2016

Abstract

In thesis I introduce a method to analyse and improve the security of symmetric ciphers software implementations against various classes of side-channel attacks. These are attacks that exploit weaknesses in the internal structure and, more commonly, in the implementation of the algorithms. A large fraction of these weaknesses can be revealed and automatically eliminated by my solution. The analysis can locate the weak spots at single instruction level, and selectively apply countermeasures, resulting in a minimum run time overhead while preserving the soundness of the results. The tool here presented is also able to produce heatmap visualisations of the security properties at bit level, offering a solid insight into the properties of the examined algorithms. These visualisations confirmed some well-known flaws, such as in the case of Misty1, and revealed interesting properties of others – like in the case of Serpent, which has been found to have very good diffusion properties, resulting in highly efficient protected implementations. All the ciphers in the ISO/IEC 18033-3 portfolio have been implemented, including AES (Rijndael), DES/TDEA and Camellia, and then some other less common choices that cater to low-capacity devices, e.g. in the realm of Internet of Things, such as XTEA, Speck and Simon. Alongside with the description of the analysis and countermeasure application algorithms and tools, I also provide a survey of the main side-channel attack strategies and relative countermeasures, evaluating the best options in each scenario that was considered.
PELOSI, GERARDO
ING - Scuola di Ingegneria Industriale e dell'Informazione
28-set-2016
2015/2016
In questa tesi introduco un metodo per valutare la sicurezza di un'implementazione software di un cifrario simmetrico contro varie tipologie di attacchi a side-channel e predisporre appropriate contromisure senza intervento umano. Gli attacchi a side-channel sfruttano debolezze nella struttura interna e, più comunemente, nell'implementazione di un algoritmo di cifratura. Lo strumento di analisi qui descritto è in grado di localizzare queste debolezze a livello di singole istruzioni ed applicare contromisure laddove necessarie, consentendo di proteggere l'implementazione in esame da una vasta gamma di attacchi. L'applicazione selettiva delle contromisure consente inoltre di contenere l'inevitabile calo di performance senza compromettere la solidità del prodotto finale. Lo strumento di analisi è altresì in grado di produrre visualizzazioni delle proprietà di sicurezza a livello di singolo bit, offrendo dunque una accurata rappresentazione delle caratteristiche dei vari algoritmi presi in considerazione. I grafici prodotti hanno confermato alcune debolezze ben note, come nel caso di Misty1, e messo in evidenza proprietà interessanti, come nel caso di Serpent. Sono stati analizzati tutti gli algoritmi nel portfolio ISO/IEC 18033-3, inclusi AES (Rjindael), DES/TDEA e Camellia, assieme ad altri meno noti ma comunque interessanti come XTEA, Speck e Simon – tutti algoritmi che puntano alle piattaforme meno potenti, come quelle embedded che si stanno sempre più diffondendo nelle applicazioni Internet of Things. Assieme alla descrizione dello strumento di analisi e dei metodi di protezione adottati, ho anche composto una vista generale sulle tipologie note di attacchi a side-channel, sulla loro formalizzazione e sulle relative contromisure, valutando le opzioni disponibili in ciascuno scenario considerato.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
manuscript.pdf

Open Access dal 15/09/2019

Descrizione: Testo della tesi
Dimensione 1.62 MB
Formato Adobe PDF
1.62 MB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/126206