Wep, Wpa
Wep, Wpa
LEZIONE 2
LA CRITTOGRAFIA E
L’AUTENTICAZIONE NEL WIRELESS
■■ Generalità
Come ogni comunicazione cablata, la trasmissione senza fili presenta da sempre diverse problema-
tiche relative alla sicurezza, soprattutto per il fatto che non necessita di una connessione fisica per
poter accedere alla LAN.
Le reti wireless, trasmettendo dati per mezzo delle onde radio, presentano quindi ulteriori problemi
rispetto alle reti wired, dipendenti proprio dalle caratteristiche del canale di comunicazione che
utilizzano: una trasmissione nell’etere viene facilmente intercettata e chiunque riesce a manipolare
i dati con semplici pacchetti software di pubblico dominio.
Esistono sistemi operativi basati su Ubuntu e progettati per eseguire penetration tests e un hacker,
dopo aver attivato la propria scheda di rete wireless in modalità passiva (monitor mode), avvia
questi sistemi operativi, magari in modalità live CD, in modo da non lasciare nessuna traccia sul
computer utilizzato per il tentativo di intrusione.
In modalità passiva la scheda di rete intercetta tutti i pacchetti emessi da un router o dalla
scheda di rete di altri computer: una volta scoperto l’SSID della rete a cui connettersi, il pirata
attiva uno sniffer per catturare i pacchetti necessari a portare a termine l’attacco mediante
software come aircrack-ng per estrarre le password di accesso alla rete.
È necessario quindi sviluppare un insieme di meccanismi aggiuntivi per la protezione delle comu-
nicazioni.
Sappiamo che i problemi principali che riguardano una WLAN si possono suddividere in tre categorie:
◗■ riservatezza: i dati trasmessi attraverso il canale non devono essere intercettati e interpretati;
◗■ controllo di accesso (Access Control): alla rete possono accedere solo gli host autorizzati;
230
La crittografia e l’autenticazione nel wireless Lezione 2
◗■ integrità dei dati: i messaggi trasmessi non devono essere manomessi, cioè devono giungere inte-
gri a destinazione.
Per la legislatura italiana è illegale procurarsi un accesso a una rete senza averne avuto l’au-
torizzazione e quindi questi attacchi sono configurabili come reati e di seguito sarà descritto
il loro inquadramento ai sensi del Codice Penale.
È un protocollo di sicurezza a livello Data Link della pila ISO-OSI che si avvale di due meccanismi
aggiuntivi:
◗■ l’algoritmo crittografico RC4;
◗■ il sistema di controllo dell’integrità dei dati CRC-32.
La crittografia utilizzata dal protocollo WEP si basa sul modello a chiave simmetrica mediante un
algoritmo che permette di modificare un blocco di testo in chiaro (plaintext) calcolandone lo XOR
bit a bit con una chiave di cifratura pseudocasuale di uguale lunghezza (keystream).
Il processo di codifica/decodifica prevede la presenza di una chiave segreta che costituisce uno degli
input fondamentali dell’algoritmo e questa chiave segreta deve essere condivisa attraverso canali
esterni alla rete wireless: questa necessità si traduce in un primo punto di insicurezza dell’intero
231
UdA 4 Wireless e reti mobili
sistema, poiché bisognerà prevedere delle pratiche adeguate di conservazione e condivisione delle
chiavi, nonché una rigenerazione frequente delle stesse, cosa che raramente accade nella realtà
nonostante la previsione da parte del legislatore di termini brevi per la sostituzione delle password
di accesso ai sistemi informatici su cui risiedono dati personali.
Analizziamo ora nel dettaglio il protocollo nella sua fase di codifica come descritto nello schema
sotto riportato.
Codifica
La modalità con cui la chiave segreta viene scelta e distribuita agli host della rete non è spe-
cificata dal protocollo e dunque la sua gestione è di competenza dell’amministratore di rete
che deve provvedere a comunicarla a tutti gli host che devono connettersi.
Chiave segreta
La chiave di cifratura viene realizzata a partire dalla chiave segreta che viene concatenata con un
initialization vector (IV), che è un numero casuale di 24 bit, producendo l’input (seed) per il ge-
neratore pseudo casuale PRNG (pseudo-random number generator), che è la funzione più impor-
tante svolta dell’algoritmo crittografico RC4 (Rivest Chipher 4); l’RC4 produce in output la stringa
denominata keystream k di lunghezza esattamente uguale a quella del messaggio che deve essere
trasmesso in rete, dato che deve essere eseguito lo XOR bit a bit con esso.
Prima di essere spedito il plaintext viene analizzato e, tramite l’algoritmo CRC-32, viene generata
una stringa per il controllo di parità, denominata Integrity Check Value (ICV), che viene utilizzata
in ricezione per il controllo di integrità: testo e ICV vengono concatenati e sottoposti allo XOR con
il keystream k, originando il testo cifrato denominato ciphertext.
232
La crittografia e l’autenticazione nel wireless Lezione 2
Al messaggio finale viene aggiunto in chiaro l’IV iniziale, necessario per la decodifica da parte del
destinatario.
Decodifica
Per effettuare la decodifica è necessario ricostruire lo stesso keystream k utilizzato in codifica:
a tal fine si prende l’IV in chiaro del messaggio ricevuto, lo si concatena alla chiave segreta in
possesso del destinatario e si ottiene un seed da utilizzare come input dell’algoritmo PRGN:
questo, avendo le stesso input che ha utilizzato il mittente per la codifica, genererà come output
lo stesso keystream k.
Pseudo-Random
Number Generator
c XOR
c Integrity Check Sì Accettato
Plaintext
c Value (ICV)
=?
Integrity Check
Initialization CRC-32 No Rifiutato
Ciphertext Value (ICV)
Vector (IV)
Ora si procede eseguendo l’operazione di XOR con il ciphertext: sfruttando l’invertibilità dell’opera-
zione si ottiene il plaintext che viene sottoposto alla verifica di integrità mediante la ricostruzione
del CRC-32 e confrontandolo col l’ICV contenuto nel messaggio ricevuto.
Soltanto dopo l’immissione sul mercato di migliaia di dispositivi equipaggiati con tale metodo di
protezione si dimostrò che la sua sicurezza offerta non era assolutamente assimilabile a quella delle
reti cablate, e che normali utenti informatici grazie a software “appropriati” avrebbero potuto vio-
lare in pochissimo tempo la crittografia utilizzata dai dispositivi 802.11 e impadronirsi del traffico
circolante sulla rete.
La debolezza consiste nell’uso del Vettore di Inizializzazione IV: l’algoritmo RC4, infatti, risulta
vulnerabile se vengono utilizzate le chiavi per più di una volta ed è quello che accade con il
WEP che ammette uno spazio di sole 224 combinazioni: bastano 5 milioni di frame per riusci-
re a ricavare la chiave WEP.
233
UdA 4 Wireless e reti mobili
Il protocollo che nacque venne chiamato Wireless Protected Access (WPA), rappresenta solo alcune
delle funzioni presenti nello standard IEEE 802.11i, e viene implementato in due diverse configurazioni:
◗■ modalità Personal (WPA-PSK);
◗■ modalità Enterprise (WPA-EAP);
dove la modalità Personal viene pensata per le applicazioni SOHO (Small Office Home Office) e
piccole reti, mentre la modalità Enterprise per soluzioni aziendali e infrastrutture di rete di grandi
dimensioni.
Le principali migliorie introdotte dal WPA rispetto a WEP sono nelle dimensioni della chiave (128
bit) e del vettore di inizializzazione IV (48 bit) per cifrare i dati oltre all’aggiunta di un sistema di
autenticazione reciproco tra client e rete wireless.
WPA utilizza inoltre un nuovo protocollo, il Temporary Key Integrity Protocol (TKIP), che permette
di cambiare le chiavi crittografiche utilizzate dopo un certo numero di dati scambiati.
Al posto del CRC-32 viene utilizzato il Message Integrity Code (MIC) per effettuare il controllo
dell’integrità dei dati, che in WPA prende il nome di “Michael”.
Altra novità del protocollo è la netta suddivisione tra la fase che effettua la crittografia dei dati e la
fase di autenticazione dei client di rete.
Il protocollo che sfrutta completamente le funzionalità dell’IEEE 802.11i nacque nel giugno
2004, venne chiamato Wireless Protected Access 2 (WPA2) e utilizza un diverso meccanismo
di cifratura:
◗■WPA utilizza l’algoritmo RC4;
◗■WPA2 utilizza l’algoritmo AES.
L’RC4 fu utilizzato nel WPA in quanto la Wi-Fi Alliance decise in un primo tempo di riutilizzare
l’hardware dei dispositivi già diffusi sul mercato che implementavano WEP.
WPA (TKIP)
WPA utilizza un sistema software di criptaggio e di sicurezza dei dati chiamato Temporary Key
Integrity Protocol (TKIP) che a tutti gli effetti si comporta da “involucro” attorno al preesistente
meccanismo WEP rendendolo così un sottocomponente del processo.
TKIP
Il sistema TKIP non utilizza mai lo stesso valore di IV più di una volta per ogni chiave di sessione
fino a che non le esaurisce tutte generandole in modo casuale: il destinatario del flusso scarta tutti i
pacchetti il cui valore è già stato utilizzato come IV e criptato con la stessa chiave.
234
La crittografia e l’autenticazione nel wireless Lezione 2
Sia il mittente che il destinatario inizializzano lo spazio di sequenziamento a zero quando si scam-
biano una nuova chiave k, e il mittente incrementa il numero sequenziale a ogni pacchetto inviato
(sequenziamento dei pacchetti).
TKIP trasforma inoltre una chiave temporanea e un contatore sequenziale di pacchetti in una chia-
ve di cifratura utilizzabile per una sola sequenza: quindi l’architettura TGi (Task Group i) per la ge-
nerazione di chiavi dipende da una gerarchia di almeno tre tipi di chiave: chiavi temporanee, chiavi
di cifratura e chiavi “master” (chiave condivisa tra i clients della rete e il server di autenticazione
802:1X).
MIC
Il MIC è un dispositivo crittografico per rilevare la presenza di messaggi falsi nella comunicazione,
cioè un Message Authentication Codes (MAC): include CBC-MAC, costituito da un cipher block e
ampiamente usato nelle applicazioni bancarie, e HMAC utilizzato da Internet Protocol Security
(Ipsec).
Il sistema è composto da tre componenti: una chiave segreta k formata da 64 bit nota solo a mittente
e destinatario, una funzione di etichettatura e un attributo di verifica.
La funzione di etichettatura E prende in input la chiave k e il messaggio M da inviare sulla rete, ge-
nera come output un’etichetta T, chiamata anche “codice di integrità” del messaggio, che viene in-
viata assieme al messaggio: il destinatario ripete lo stesso procedimento per verificarne l’autenticità
e, in caso positivo, restituisce come risultato il valore logico TRUE, altrimenti FALSE presumendo
che il messaggio ricevuto sia stato manipolato.
WPA2 (AES)
La differenza con il WPA è l’adozione di un nuovo algoritmo di sicurezza, il più diffuso al mondo tra
gli algoritmi a chiave simmetrica: l’Advanced Encryption Standard (AES).
Essendo a chiave simmetrica, l’algoritmo utilizza la stessa chiave sia per la codifica che per la deco-
difica dei dati, con lunghezze di chiavi pari a 128, 192 e 256 bits.
AES può avere diverse modalità di utilizzo, chiamate modalità operative: una modalità operativa è
una precisa “ricetta» per utilizzare l’algoritmo e sbagliare qualche passo di tale “ricetta” può com-
promettere la garanzia di sicurezza della cifratura.
Senza entrare nel dettaglio delle singole modalità, quella che viene maggiormente utilizzata è la
CBC alla quale spesso viene aggiunto un controllo di integrità dei dati MIC per offrire maggiori ga-
ranzie sulla trasmissione dei messaggi (la modalità assume il nome di CBC-MAC).
Il sistema AES è stato descritto in questo volume nella lezione 4 dell’unità di apprendimento
2 dedicata alla crittografia.
235