Ripristino delle chiavi RSA utilizzando il suono: come funziona?

17

È stato rilasciato ieri un Debian advisory sulla sicurezza molto interessante.

Genkin, Shamir and Tromer discovered that RSA key material could be extracted by using the sound generated by the computer during the decryption of some chosen ciphertexts.

Come funziona questo attacco? Quali sono alcune possibili attenuazioni?

    
posta Ayrx 19.12.2013 - 13:04
fonte

2 risposte

7

L'impatto pratico è nullo ... per ora. L'attacco è di un tipo noto come canale laterale in quanto sfrutta una perdita di informazioni, qui l'emissione sonora che dipende dall'elaborazione dati, inclusa la chiave privata. In determinate condizioni , la perdita potrebbe essere sfruttata in un recupero completo della chiave, ma le condizioni non sono facilmente ottenibili nella pratica. Come dicono gli autori:

To apply the attack to GnuPG, we found a way to cause GnuPG to automatically decrypt ciphertexts chosen by the attacker. The idea is to use encrypted e-mail messages following the OpenPGP and PGP/MIME protocols. For example, Enigmail (a popular plugin to the Thunderbird e-mail client) automatically decrypts incoming e-mail (for notification purposes) using GnuPG. An attacker can e-mail suitably-crafted messages to the victims, wait until they reach the target computer, and observe the acoustic signature of their decryption (as shown above), thereby closing the adaptive attack loop.

In altre parole, l'attacco richiede un contesto piuttosto specifico per fare un danno reale e non sarà discreto.

La protezione contro le perdite viene effettuata alterando il software in modo che non si verifichino più perdite o, più precisamente, non produca più informazioni utilizzabili. Nel caso di RSA, per modulo n , esponente pubblico e e esponente privato d , accecante è efficace:

  • Prima di utilizzare la chiave privata sull'input m , genera un r modulo n casuale
  • Calcola m '= m * r e mod n .
  • Applicare l'esponenziale core su m ', fornendo t' ( t '= m' d mod n ).
  • Calcola t = t '/ r mod n . Questo valore t è il risultato effettivo: t = m d mod n .

Perché l'accecamento è efficace contro la maggior parte delle fughe di canali laterali nella RSA è una questione di sottigliezza; ma, in un modo che agita la mano, diciamo che la casualità aggiunta del valore r (chiamato "maschera") nasconde i dati impedendo alla malintenzionata di modellarla: l'attaccante non sa più cosa entra in esponenziazione. È importante che venga creata una nuova maschera r per ogni esponenziazione (in una certa misura, possono esistere scorciatoie per produrre sequenze di maschere a un costo inferiore, ma è complicato e di solito non vale la pena). L'overhead implicato dall'accecamento rimane piccolo, perché l'esponente pubblico e è piccolo.

L'accecamento non è l'unica contromisura; per evitare perdite, si dovrebbe anche fare attenzione a mantenere la sequenza di operazioni il più possibile fissa, indipendentemente dai dati (ad esempio in un classico algoritmo di moltiplicazione e esponenziazione multipla, non moltiplicare condizionalmente ; invece, moltiplicare sempre, ma condizionalmente mantenere il risultato o scartarlo).

    
risposta data 21.01.2014 - 16:39
fonte
10

Questo attacco è una forma di attacco side-channel contro RSA. I dettagli completi possono essere trovati in un articolo pubblicato da Adi Shamir (uno di tre autori) di fama RSA.

L'attacco funziona essenzialmente perché un computer emette suoni diversi durante l'esecuzione di compiti diversi. Utilizzando queste informazioni, è possibile recuperare informazioni sulla chiave RSA durante il processo di crittografia o decrittografia. Quando lo stesso testo in chiaro è crittografato con diverse chiavi RSA, i ricercatori sono stati in grado di discernere quale chiave è stata utilizzata nel processo di crittografia. Questa è una forma di attacco di distinzione chiave .

La parte interessante di questo è che i ricercatori sono stati in grado di tirare fuori l'attacco usando i telefoni cellulari. Questo è preoccupante perché questo attacco non richiede l'uso di attrezzature specializzate.

Sebbene questo attacco sia strettamente teorico al momento, è comunque interessante visto che gli attacchi a canali laterali sono stati responsabili di molti degli attacchi contro RSA in passato.

Mitigazione

Come menzionato nella consulenza di Debian, questo attacco è stato risolto nelle versioni più recenti di GPG.

For the oldstable distribution (squeeze), this problem has been fixed in version 1.4.10-4+squeeze4.

For the stable distribution (wheezy), this problem has been fixed in version 1.4.12-7+deb7u3.

For the unstable distribution (sid), this problem has been fixed in version 1.4.15-2.

Ancora meglio, usa il ramo GPG 2.x che già impiega accecamento RSA che dovrebbe proteggere contro attacchi di canale laterale.

    
risposta data 19.12.2013 - 13:04
fonte

Leggi altre domande sui tag