The mathematical correctness of a cryptosystem is not sufficient to achieve confidentiality. This is because an implementation could be vulnerable to side-channel attacks: a set of techniques - already known in literature - to obtain information regarding the encryption key by exploiting information leaks during the algorithm execution. First attacks were made more than twenty years ago and allowed to recover keys stored in smartcards and microcontrollers. More advanced techniques were developed during these years, which allowed, for example, to obtain a GPG private key by analyzing the electro-magnetic emissions of a x86 CPU while performing a digital signature. The countermeasures developed to avoid these attacks were effective, but at the same time a new kind of side-channel attack called Differential Power Analysis (DPA) started claiming victims. Modern DPA techniques allow key-recovery attacks to cryptosystems by observing the power consumption of a CPU as long as it has a correlation with one of the values that are currently processed. The first part of this work shows an innovative method to identify which spectral components allow DPA attacks. Using this information, we demonstrate the feasibility of a DPA attack using exclusively a Software Defined Radio (SDR). Writing side-channel aware code is difficult and target-dependent. To do that, an execution model of the code as seen from an Instruction Set Architecture (ISA) point of view is needed and this task recently gained traction in the community. The second part of this work shows how to automate an existing technique to perform reverse-engineering of the architecture of a CPU without using an oscilloscope. In this context, we have developed a technique to minimize UART jittering to the point that it becomes negligible and it does not interfere with the analysis.

La correttezza matematica degli algoritmi crittografici non è sufficiente ad assicurarne le proprietà garantite. Infatti, la loro implementazione può essere vulnerabile ad attacchi side-channel, ossia metodi noti in letteratura per ottenere informazioni riguardanti la chiave di cifratura sfruttando informazioni esfiltrate durante l'esecuzione dell'algoritmo. I primi attacchi - effettuati più di venti anni fa - hanno permesso il recupero di chiavi private situate in smart card e microcontrollori. Nel tempo sono state sviluppate tecniche più sofisticate, arrivando a permettere il recupero di chiavi private GPG effettuando una singola firma digitale su piattaforma x86. Mentre le contromisure sviluppate per evitare questo tipo di attacchi sono state efficaci, una variante chiamata Differential Power Analysis (DPA) ha iniziato - e continua tutt'oggi - a mietere vittime. Quest'ultima tipologia permette di attaccare sistemi di cifratura richiedendo solamente che nel consumo di corrente della CPU vi sia una componente correlata ai valori in elaborazione al momento. La prima parte di questo lavoro mostra un metodo innovativo per identificare quali componenti spettrali permettano attacchi DPA. Dimostriamo che, con l'ausilio di questi dati, è possibile effettuare il recupero di una chiave di cifratura AES misurando le emissioni elettromagnetiche della CPU con una Software Defined Radio (SDR). Implementare sistemi di crittografia sicuri da attacchi side-channel, ad oggi, risulta arduo e l'implementazione ottenuta è strettamente dipendente dall'architettura del processore su cui verrà eseguito l'algoritmo. È necessario ottenere un modello di esecuzione delle istruzioni nella CPU, quando le specifiche pubbliche di questa non sono disponibili. Nella seconda parte di questo lavoro mostriamo come è possibile modificare una tecnica per effettuare la ricostruzione dell'architettura della CPU in modo che sia completamente automatizzata ed eseguibile utilizzando unicamente una linea seriale di comunicazione invece di oscilloscopi da laboratorio. Mostriamo inoltre come affrontare i problemi generati dalla latenza del protocollo, la quale è elevata e molto variabile.

Achieving low-cost side channel attacks via quantitative information leakage analysis

CARLUCCI, ALAIN FEDERICO
2017/2018

Abstract

The mathematical correctness of a cryptosystem is not sufficient to achieve confidentiality. This is because an implementation could be vulnerable to side-channel attacks: a set of techniques - already known in literature - to obtain information regarding the encryption key by exploiting information leaks during the algorithm execution. First attacks were made more than twenty years ago and allowed to recover keys stored in smartcards and microcontrollers. More advanced techniques were developed during these years, which allowed, for example, to obtain a GPG private key by analyzing the electro-magnetic emissions of a x86 CPU while performing a digital signature. The countermeasures developed to avoid these attacks were effective, but at the same time a new kind of side-channel attack called Differential Power Analysis (DPA) started claiming victims. Modern DPA techniques allow key-recovery attacks to cryptosystems by observing the power consumption of a CPU as long as it has a correlation with one of the values that are currently processed. The first part of this work shows an innovative method to identify which spectral components allow DPA attacks. Using this information, we demonstrate the feasibility of a DPA attack using exclusively a Software Defined Radio (SDR). Writing side-channel aware code is difficult and target-dependent. To do that, an execution model of the code as seen from an Instruction Set Architecture (ISA) point of view is needed and this task recently gained traction in the community. The second part of this work shows how to automate an existing technique to perform reverse-engineering of the architecture of a CPU without using an oscilloscope. In this context, we have developed a technique to minimize UART jittering to the point that it becomes negligible and it does not interfere with the analysis.
ING - Scuola di Ingegneria Industriale e dell'Informazione
20-dic-2018
2017/2018
La correttezza matematica degli algoritmi crittografici non è sufficiente ad assicurarne le proprietà garantite. Infatti, la loro implementazione può essere vulnerabile ad attacchi side-channel, ossia metodi noti in letteratura per ottenere informazioni riguardanti la chiave di cifratura sfruttando informazioni esfiltrate durante l'esecuzione dell'algoritmo. I primi attacchi - effettuati più di venti anni fa - hanno permesso il recupero di chiavi private situate in smart card e microcontrollori. Nel tempo sono state sviluppate tecniche più sofisticate, arrivando a permettere il recupero di chiavi private GPG effettuando una singola firma digitale su piattaforma x86. Mentre le contromisure sviluppate per evitare questo tipo di attacchi sono state efficaci, una variante chiamata Differential Power Analysis (DPA) ha iniziato - e continua tutt'oggi - a mietere vittime. Quest'ultima tipologia permette di attaccare sistemi di cifratura richiedendo solamente che nel consumo di corrente della CPU vi sia una componente correlata ai valori in elaborazione al momento. La prima parte di questo lavoro mostra un metodo innovativo per identificare quali componenti spettrali permettano attacchi DPA. Dimostriamo che, con l'ausilio di questi dati, è possibile effettuare il recupero di una chiave di cifratura AES misurando le emissioni elettromagnetiche della CPU con una Software Defined Radio (SDR). Implementare sistemi di crittografia sicuri da attacchi side-channel, ad oggi, risulta arduo e l'implementazione ottenuta è strettamente dipendente dall'architettura del processore su cui verrà eseguito l'algoritmo. È necessario ottenere un modello di esecuzione delle istruzioni nella CPU, quando le specifiche pubbliche di questa non sono disponibili. Nella seconda parte di questo lavoro mostriamo come è possibile modificare una tecnica per effettuare la ricostruzione dell'architettura della CPU in modo che sia completamente automatizzata ed eseguibile utilizzando unicamente una linea seriale di comunicazione invece di oscilloscopi da laboratorio. Mostriamo inoltre come affrontare i problemi generati dalla latenza del protocollo, la quale è elevata e molto variabile.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
build_20181204.pdf

Open Access dal 05/12/2021

Descrizione: Thesis
Dimensione 14.59 MB
Formato Adobe PDF
14.59 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/144751