Timing Attack ad RSA
|
Il presente progetto tratterà l'argomento del Timing Attack, applicato in particolare all'algoritmo di firme RSA. IntroduzioneGli algoritmi crittografici, spesso, eseguono dei calcoli in tempi non costanti, a causa di ottimizzazioni sulle prestazioni. Nel caso in cui tali operazioni manipolano dei parametri segreti, queste variazioni sui tempi possono divulgare alcune informazioni, ed un’attenta analisi statistica potrebbe condurre al loro totale recupero. Lo schema di figura 1 rappresenta il principio che sta alla base del timing attack, nel quale l’implementazione che usa i dati segreti potrebbe essere un protocollo, una smart card, etc., e l’attaccante misura il tempo impiegato da tale implementazione per rispondere ad una sua richiesta.
Fig.1 Il principio del timing attack Nel Novembre del 1995, Paul Kocher [3] è stato il primo a discutere la tecnica del timing attack, infatti Kocher presentò il suo risultato preliminare, attirando l'attenzione dei crittografi di tutto il mondo, inclusi gli inventori del crittosistema RSA. I timing attack sono una forma di "Side Channel Analysis" o analisi del canale collaterale, dove un attaccante prende informazioni dall'implementazione di un crittosistema, piuttosto che da debolezze presenti nelle proprietà matematiche del sistema. "Side Channel Analysis" espone informazioni sui tempi, consumo di alimentazione, emissione elettromagnetiche per recuperare delle informazioni su un crittosistema [8]. Il timing attack analizza le variazioni dei tempi durante le operazioni crittografiche, poichè le ottimizzazioni sulle prestazioni agiscono sulle operazioni eseguite da un algoritmo crittografico e spesso sono eseguite con un differente ammontare di tempo, dipendente dall'input e dal valore dei parametri segreti. Se le operazioni riguardanti la chiave privata di RSA possono essere determinate in un tempo accuratamente ragionevole, in alcuni casi l'analisi statistica può essere applicata per recuperare la chiave segreta usata nei calcoli. I prossimi paragrafi descriveranno l'algoritmo crittografico, nonchè l'algoritmo di firme RSA su cui si concentrerà la discussione, e la tecnica della timing analysis. In particolare sarà illustrata l'idea che sta alla base del timing attack per poi essere approfondita, applicandola ad una specifica libreria RSAREF 2.0, rilasciata dalla RSA Data Security per il calcolo della firma RSA. Un'analisi più dettagliata, basata su calcoli probabilistici, spiegherà come determinare i bit segreti, e la probabilità di successo ottenuta sui bit segreti che sono stati trovati. Il Capitolo 3 e 4 forniscono le conclusioni ed in particolare informazioni riguardo alcune tecniche di contromisura. |
|