In crittografia un attacco delle chiavi correlate è una forma di crittanalisi in cui l'attaccante può osservare l'operato di un cifrario con svariate chiavi diverse i cui valori sono inizialmente ignoti ma legate da alcune relazioni matematiche che egli conosce. Ad esempio, l'attaccante potrebbe sapere che gli ultimi 80 bit delle chiavi sono sempre identici anche se egli non conosce inizialmente il valore di questi bit.
A prima vista appare come un modello irrealistico: sembra infatti improbabile che un attaccante possa persuadere un crittografo umano a cifrare dei testi in chiaro utilizzando numerose chiavi segrete legate tra di loro in una qualche maniera. Però la crittografia moderna è implementata utilizzando protocolli informatici molto complessi, spesso non controllati dai crittografi: ecco perché, in molti casi, un attacco correlato alla chiave è facilmente attuabile.
WEP
[modifica | modifica wikitesto]Un esempio molto noto di un protocollo crittografico caduto sotto un attacco delle chiavi correlate è il Wired Equivalent Privacy, meglio noto come WEP, utilizzato nelle reti senza fili WiFi. In una rete protetta dal WEP ogni scheda WiFi ed ogni access point condividono la stessa chiave WEP e la cifratura utilizza l'algoritmo RC4, un cifrario a flusso: in questo tipo di cifrari è essenziale che la stessa chiave non sia mai usata più di una volta. Per evitare che ciò accada, il WEP include in ogni pacchetto del messaggio un vettore di inizializzazione (VI) di 24 bit: la chiave RC4 per quel pacchetto è il VI concatenato alla chiave WEP. Le chiavi WEP devono essere cambiate manualmente e questo in genere accade di rado: un attaccante può quindi assumere che tutte le chiavi utilizzate per cifrare i pacchetti siano correlate da un VI noto. Questo fatto ha esposto il WEP ad una serie di attacchi che si sono rivelati devastanti: il più semplice di essi si basa sul fatto che un VI di 24 bit permette meno di 17 milioni di combinazioni differenti. A causa del paradosso del compleanno ci si può attendere che ogni 4096 pacchetti due di essi condividano lo stesso VI e, quindi, la stessa chiave RC4, permettendo ai pacchetti di essere attaccati.
Attacchi più potenti approfittano di certe chiavi deboli dell'RC4 che permettono alla stessa chiave WEP di essere scoperta. Nel 2005 agenti dell'FBI hanno dimostrato questa possibilità utilizzando strumenti software ampiamente diffusi [1].
Prevenzione degli attacchi delle chiavi correlate
[modifica | modifica wikitesto]Per prevenire questi attacchi, è stato introdotto un sostituto del WEP denominato Wi-Fi Protected Access (WPA), che utilizza 3 livelli di chiave: una chiave primaria, una chiave operativa ed una chiave RC4. La chiave primaria è condivisa con ogni client ed access point ed è utilizzata in un protocollo denominato TKIP il quale cambia le chiavi operative molto frequentemente: questo serve a contrastare i metodi di attacco noti. Le chiavi operative sono poi combinate con un VI più lungo, 48 bit, per formare la chiave RC4 per ogni pacchetto. Questo processo è simile a quello del WEP quel tanto che basta per poter essere utilizzato nelle schede Wi-Fi di prima generazione, alcune delle quali implementano porzioni del WEP in hardware. Comunque non tutti gli access point di prima generazione possono eseguire il WPA.
Un altro approccio, più conservativo, è quello di impiegare un cifrario progettato per resistere agli attacchi correlati alla chiave, come ad esempio quelli che incorporano un robusto algoritmo di schedulazione della chiave: una nuova versione del protocollo denominata WPA2 utilizza, anche per questo motivo, il cifrario a blocchi AES al posto dell'RC4. Molte delle schede di rete più vecchie non possono però usare il WPA2.
Un approccio più aggressivo è quello di utilizzare un generatore di numeri casuali per generare veri numeri casuali oppure, come fanno molti sistemi, usare nuove chiavi per ogni sessione.