Un canale laterale in crittografia è una debolezza di una particolare implementazione di un crittosistema, la quale permette di raccogliere informazioni sulla chiave utilizzata o altrimenti di violare il sistema stesso. Esempio di canali laterali sono il consumo elettrico, il tempo di esecuzione delle operazioni dell'algoritmo, le variazioni del campo magnetico, il rumore elettromagnetico prodotto.
Un attacco condotto mediante canali laterali si applica a una particolare implementazione del crittosistema, e in questo si discosta dalle tecniche classiche di crittanalisi basate solitamente sull'analisi delle proprietà matematiche del sistema. I tentativi di violare un crittosistema ricorrendo all'imbroglio o alle minacce contro le persone che hanno legittimo accesso all'apparato non sono considerati attacchi da canali laterali: in questi casi si parla più propriamente di ingegneria sociale e del metodo del tubo di gomma.
Tipi di attacchi a canale laterale
Alcune categorie generali di attacchi di questo tipo sono:
- Attacco alla cache (Cache attack): un attacco in cui il violatore monitora gli accessi alla memoria cache in un sistema che utilizza risorse condivise, come in un ambiente virtualizzato o in certi servizi in cloud
- Attacco a cronometro (Timing attack): un attacco che si basa sulla misura dei tempi di esecuzione di certi calcoli, come potrebbe essere il confronto dei tempi di criptazione della password ignota con i tempi di criptazione di password note
- Attacco di monitoraggio dei consumi (Power-monitoring attack): attacchi che analizzano il consumo di energia del sistema da violare, per capirne le caratteristiche
- Attacco elettromagnetico (Electromagnetic attack): attacchi basati sul rilevamento dell'energia elettromagnetica irraggiata, che possono rivelare direttamente dati e altre informazioni
- Criptoanalisi acustica (Acoustic cryptanalysis): simili agli attacchi di monitoraggio dei consumi, ma utilizzando il monitoraggio acustico
- Analisi differenziale dei malfunzionamenti (Differential fault analysis): si deducono informazioni sul sistema analizzando malfunzionamenti provocati appositamente
- Ricerca di dati fantasma (Data remanence): ricerca di dati sensibili di cui rimane traccia anche dopo la cancellazione
- Attacchi basati su malfunzionamenti indotti dal software (Software-initiated fault attacks): come ad esempio in Row hammer dove l'accesso ripetuto a certe zone di memoria induce una modifica a zone contigue ma teoricamente isolate.
- Attacchi ottici (Optical attack): l'intercettazione di dati sensibili attraverso fotografia o videoregistrazione ad alta risoluzione
In tutte le categorie, il principio fondante è che un sistema crittografico, durante il suo lavoro, genera effetti collaterali o lascia tracce che possono essere analizzati per rivelare direttamente dati sensibili, o quantomeno restringere il campo delle variabili, e quindi dei tempi necessari a risolvere le incognite.