Capisco che si tratta di un attacco agli algoritmi crittografici implementato su vari processori, ma come funzionano? documenti online sono troppo complessi per me da capire.
Capisco che si tratta di un attacco agli algoritmi crittografici implementato su vari processori, ma come funzionano? documenti online sono troppo complessi per me da capire.
"Gli attacchi di errore" sono qualcosa che fai su qualche hardware:
Esempi di questo tipo di hardware sono smart card . Uno scenario classico sarebbe: hai una smart card per un decoder TV satellitare; hai ottenuto la carta tramite una normale sottoscrizione al broadcaster; desideri creare 3000 copie di quella carta in modo che tu possa rivenderle a persone che vogliono una TV gratuita / economica. Le persone lo fanno.
Un errore di attacco è quando induci l'hardware schermato a sbagliare le cose cambiando il suo ambiente. Ad esempio, si tenta di eseguire la scheda in un forno, a una temperatura che è oltre la temperatura operativa nominale della scheda. La speranza dell'attaccante è che analizzando ciò che la carta restituisce quando ha fallito, può ottenere qualche informazione sui valori segreti memorizzati nella carta (questo è ovviamente molto specifico per ciò che la carta calcola e come vengono implementate le cose in quella carta). Un attacco di guasto a bassa tensione è un attacco di guasto in cui il guasto viene indotto alimentando l'hardware con una tensione inferiore al normale (nel modello "smart card", la scheda ha una propria CPU, RAM e ROM, ma i segnali di corrente e di clock sono forniti esternamente, cioè sono sotto il controllo dell'attaccante). Ad esempio, se la carta si aspetta 3,3 V, la dai solo 2V. Il vero trucco qui è che l'attaccante può abbassare la tensione solo per brevissime durate, alcuni cicli di clock, in modo da indurre un errore in una parte specifica dell'esecuzione dell'algoritmo.
Questo è un attacco locale ed è un attacco all'algoritmo crittografico stesso. Fondamentalmente, si sta facendo uso del fatto che a bassa tensione, è difficile distinguere tra uno 0 e un 1 al fine di confondere gli algoritmi di crittografia per ottenere informazioni sulla chiave.
Questo è di uso limitato poiché richiede un sistema che viene caricato e in esecuzione in modo sicuro con l'archiviazione crittografata, mentre è in grado di alterare i livelli di potenza nel dispositivo, il che è una situazione molto limitata. Sarebbe principalmente utile in un setup di tipo forense o con un dispositivo rubato e connesso in cui è possibile mantenere l'alimentazione. La chiave per l'attacco funziona è che la chiave privata deve essere in uso per le operazioni di decodifica o crittografia, ma non essere accessibile all'attaccante con altri mezzi. Forzando il software di crittografia e decrittografia a un errore in modo controllato, è possibile determinare le informazioni sulla chiave privata.
Funziona perché il controllo del punto di errore finirà per provocare diversi cambiamenti di comportamento in base a se i valori sono 1 o 0. Poiché uno 0 è rappresentato dall'assenza di tensione e un 1 è basato sulla presenza, se abbassare la tensione, alcuni 1 inizieranno a leggere come 0. Ciò si traduce in errori in cui un valore è 1 per una condizione, ma non in luoghi in cui un valore è 0 per una condizione.
Lo schema di tali errori può essere utilizzato per ottenere alcune informazioni limitate sulla chiave utilizzata per i processi crittografici, o in questo caso, il testo in chiaro originale viene crittografato piuttosto che la chiave stessa e rieseguendo la crittografia più volte con errori. Sono stati sperimentalmente in grado di recuperare il testo in chiaro impedendo il corretto svolgimento della crittografia in modo tale da consentire la determinazione del testo normale (che in realtà non richiede la divulgazione della chiave o dei dettagli chiave). Sono stati necessari diversi minuti di ripetere la crittografia migliaia di volte per farlo con un successo ragionevolmente alto, ma sono stati in grado di eseguire l'attacco in modo che il dispositivo funzionasse normalmente dopo l'attacco, quindi potrebbe potenzialmente essere nascosto se vi è un accesso fisico non monitorato al dispositivo.
Leggi altre domande sui tag cryptography attacks