Through the observation and the analysis of the physical characteristics of an electronic device such as power consumption or electromagnetic, acoustic and thermal emissions, it is possible to extract part or all of the data that is handled within it. This practice is referred to as side-channel attack. The extraction of this data is particularly dangerous when it is sensitive and the device observed is used to encrypt and protect it. In the last years several countermeasures have been presented, such as masking, shuffling and morphing, to avoid that the physical behaviour of a cryptographic device depends on what it computes, in particular on the encryption key it employs. This thesis studies and tests the effectiveness of the main countermeasures, taken singularly or combined, whose aim is to make impossible the extraction of the encryption key used by the device under attack. The physical quantity analysed is the power consumption, collected both through an oscilloscope and simulated. The focus is mainly on the morphing countermeasure, which replaces the execution of a vulnerable operation with a random set of operations, called tile, semantically equivalent to it. The analysis of each countermeasure is carried out by means of software written ad hoc and is performed at various noise levels and with four different statistics: Pearson correlation coefficient, mutual information, perceived information and hypothetical information. They highlight the possible correlation between the actual power consumption and the expected power consumption when a specific encryption key is used. Finally, the results of the analysis of each countermeasure are reported. In light of the analysis, morphing proves to be a weak countermeasure when performed alone. When combined with random delays and register random pre-charging, which consists in randomly assigning a value to each register before a morphing tile is executed, it becomes an effective countermeasure. This result gives importance to random pre-charging, which deserves further analysis in future research, since its application leads to a significant improvement in the effectiveness of the countermeasures analysed.

Osservando e analizzando le caratteristiche fisiche di un dispositivo elettronico come consumo di potenza, emissioni elettromagnetiche, sonore e termiche è possibile estrarre in parte o in maniera completa i dati che vengono gestiti al suo interno. Questa pratica viene definita side-channel attack. L'estrazione di questi dati è particolarmente pericolosa quando essi sono sensibili e il dispositivo osservato è adibito alla cifratura e alla protezione degli stessi. Negli ultimi anni sono state presentate diverse contromisure, come il masking, lo shuffling e il morphing, per evitare che il comportamento fisico di un dispositivo crittografico sia dipendente da ciò che esso calcola, in particolare dalla chiave di cifratura che viene adoperata. In questa tesi viene studiata e testata l'efficacia delle principali contromisure, applicate singolarmente o combinate, il cui scopo è quello di rendere impossibile l'estrazione della chiave di cifratura utilizzata dal dispositivo sotto attacco. La grandezza fisica che viene analizzata è il consumo di potenza, raccolta sia tramite un oscilloscopio che simulata. Il focus viene rivolto prevalentemente alla contromisura che prende il nome di morphing, che sostituisce l'esecuzione di un'operazione vulnerabile con un set randomico di operazioni, chiamato tile, semanticamente equivalente ad essa. L'analisi di ogni contromisura viene svolta tramite un software scritto ad hoc e viene effettuata a vari livelli di rumore e con quattro diverse statistiche: coefficiente di correlazione lineare di Pearson, informazione mutua, perceived information ed hypothetical information. Esse mettono in luce la possibile correlazione tra il consumo di potenza effettivo e il consumo di potenza atteso quando una specifica chiave di cifratura viene utilizzata. Infine, vengono riportati i risultati relativi all'analisi di ogni contromisura. Alla luce delle analisi, il morphing si dimostra essere una contromisura poco efficace se eseguito da solo. Se associato a random delays e ad un random pre-charging dei registri, che consiste nell'assegnare un valore randomico ad ogni registro prima che una tile di morphing venga eseguita, diviene una contromisura efficace. Questo risultato dona importanza al random pre-charging, che meriterebbe ulteriori analisi in ricerche future, in quanto la sua applicazione porta ad un miglioramento significativo dell'efficacia delle contromisure analizzate.

On the effectiveness of code morphing side-channel countermeasures : an information theoretic evaluation

FIOZZI, DAVIDE
2020/2021

Abstract

Through the observation and the analysis of the physical characteristics of an electronic device such as power consumption or electromagnetic, acoustic and thermal emissions, it is possible to extract part or all of the data that is handled within it. This practice is referred to as side-channel attack. The extraction of this data is particularly dangerous when it is sensitive and the device observed is used to encrypt and protect it. In the last years several countermeasures have been presented, such as masking, shuffling and morphing, to avoid that the physical behaviour of a cryptographic device depends on what it computes, in particular on the encryption key it employs. This thesis studies and tests the effectiveness of the main countermeasures, taken singularly or combined, whose aim is to make impossible the extraction of the encryption key used by the device under attack. The physical quantity analysed is the power consumption, collected both through an oscilloscope and simulated. The focus is mainly on the morphing countermeasure, which replaces the execution of a vulnerable operation with a random set of operations, called tile, semantically equivalent to it. The analysis of each countermeasure is carried out by means of software written ad hoc and is performed at various noise levels and with four different statistics: Pearson correlation coefficient, mutual information, perceived information and hypothetical information. They highlight the possible correlation between the actual power consumption and the expected power consumption when a specific encryption key is used. Finally, the results of the analysis of each countermeasure are reported. In light of the analysis, morphing proves to be a weak countermeasure when performed alone. When combined with random delays and register random pre-charging, which consists in randomly assigning a value to each register before a morphing tile is executed, it becomes an effective countermeasure. This result gives importance to random pre-charging, which deserves further analysis in future research, since its application leads to a significant improvement in the effectiveness of the countermeasures analysed.
PELOSI, GERARDO
ING - Scuola di Ingegneria Industriale e dell'Informazione
7-ott-2021
2020/2021
Osservando e analizzando le caratteristiche fisiche di un dispositivo elettronico come consumo di potenza, emissioni elettromagnetiche, sonore e termiche è possibile estrarre in parte o in maniera completa i dati che vengono gestiti al suo interno. Questa pratica viene definita side-channel attack. L'estrazione di questi dati è particolarmente pericolosa quando essi sono sensibili e il dispositivo osservato è adibito alla cifratura e alla protezione degli stessi. Negli ultimi anni sono state presentate diverse contromisure, come il masking, lo shuffling e il morphing, per evitare che il comportamento fisico di un dispositivo crittografico sia dipendente da ciò che esso calcola, in particolare dalla chiave di cifratura che viene adoperata. In questa tesi viene studiata e testata l'efficacia delle principali contromisure, applicate singolarmente o combinate, il cui scopo è quello di rendere impossibile l'estrazione della chiave di cifratura utilizzata dal dispositivo sotto attacco. La grandezza fisica che viene analizzata è il consumo di potenza, raccolta sia tramite un oscilloscopio che simulata. Il focus viene rivolto prevalentemente alla contromisura che prende il nome di morphing, che sostituisce l'esecuzione di un'operazione vulnerabile con un set randomico di operazioni, chiamato tile, semanticamente equivalente ad essa. L'analisi di ogni contromisura viene svolta tramite un software scritto ad hoc e viene effettuata a vari livelli di rumore e con quattro diverse statistiche: coefficiente di correlazione lineare di Pearson, informazione mutua, perceived information ed hypothetical information. Esse mettono in luce la possibile correlazione tra il consumo di potenza effettivo e il consumo di potenza atteso quando una specifica chiave di cifratura viene utilizzata. Infine, vengono riportati i risultati relativi all'analisi di ogni contromisura. Alla luce delle analisi, il morphing si dimostra essere una contromisura poco efficace se eseguito da solo. Se associato a random delays e ad un random pre-charging dei registri, che consiste nell'assegnare un valore randomico ad ogni registro prima che una tile di morphing venga eseguita, diviene una contromisura efficace. Questo risultato dona importanza al random pre-charging, che meriterebbe ulteriori analisi in ricerche future, in quanto la sua applicazione porta ad un miglioramento significativo dell'efficacia delle contromisure analizzate.
File allegati
File Dimensione Formato  
2021_10_Fiozzi.pdf

embargo fino al 14/09/2024

Descrizione: Manoscritto di tesi
Dimensione 14.99 MB
Formato Adobe PDF
14.99 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/180139