Sicurezza Data Link Layer: WEP, WPA, WPA2

Principali meccanismi di sicurezza al livello data link: WEP, WPA, WPA2.


Clock Icon 2 min Calendar Icon 19-02-2024 Like Icon 14

Quando ci si occupa di reti wireless, si fa generalmente riferimento a un insieme di dispositivi dotati di una scheda di rete wireless e un insieme di access point che agiscono come switch. Data l'ampio utilizzo e data la diffusione brodcast dei segnali wireless, la gestione della sicurezza diventa un aspetto fondamentale. Infatti sono nate varie tecniche per proteggere le reti WiFi, in questo post introduciamo WEP, WPA e WPA2.

WEP

Il meccanismo di sicurezza iniziale per le reti WiFi (protocollo 802.11) è Wired Equivalent Privacy (WEP). WEP fornisce autenticazione e data encryption tra un host e un access point wireless usando un approccio di condivisione della chiave simmetrica, senza avere un algoritmo di key management specifico.

Flusso di esecuzione del protocollo WEP.

WEP usa CRC-32 (Cyclic Redundancy Check) per la correzione degli errori che avvengono sui canali di comunicazione e RC4 usato per la confidenzialità. La decifratura ha bisogno della chiave condivisa e del vettore di inizializzazione IV che viene inserito e poi estratto dall'head del messaggio.

Flusso di cifratura in WEP.

Per eseguire l'autenticazione:

  1. un host wireless richiede l'autenticazione a un access point;
  2. l'access point risponde alla richiesta con un nonce (un valore che viene utilizzato soltanto una sola volta) a 128 byte;
  3. l'host cifra il nonce usando la chiave simmetrica che ha condiviso con l'access point;
  4. l'access point decifra il nonce cifrato dall'host: se il nonce decifrato è uguale al valore del nonce inviato al punto 2 all'host, allora l'host è autenticato.

In base alla versione, WEP ha chiavi a 64, 128 e 256 bit. Tuttavia presenta i seguenti problemi:

  • RC4 è debole se vengono scelte chiavi deboli;
  • un attacante può cambiare il contenuto di un frame WEP e ricalcolare il CRC, quindi produce un frame 802.11 che sarà accettato dal ricevente;
  • per collegarsi alla rete wireless bisogna usare una password, se questa password viene compromessa allora bisogna cambiarla su tutti gli host;
  • le schede di rete (NICs) possono autenticare l'access point ma non c'è modo per l'access point di autenticare le NIC. Questo permette agli hacker di reindirizzare i dati attraverso percorsi alternati e non autorizzati.

WPA

WiFi Protected Access è un miglioramento di WEP con chiavi a 256 bit. WPA lavora in uno dei due modi seguenti:

  1. WPA personal o WPA pre-shared key (WPA-PSK): è facile da configurare, tutti gli utenti devono usare una password. Se un dispositivo viene compromesso allora tutti i dispositivi della rete devono cambiare la loro password.
  2. WPA enterprise: è più difficile da configurare, gli utenti devono dimostrare la propria identità ad un server RADIUS. Se un dispositivo viene hackerato, l'admin può cancellare l'accesso di quel dispositivo indipendentemente dagli altri.
RADIUS (Remote Authentication Dial-In User Service) è un protocollo per l'autenticazione centralizzata, autorizzazione e accounting (AAA) per utenti che si connettono ed usano i servizi di una rete. E' un procollo client-server basato su TCP o UDP. Di solito gli access point hanno un RADIUS client che comunica con il RADIUS server per negare/permettere una richiesta utente.

Per le chiavi, WPA usa il Temporal Key Integrity Protocol (TKIP): il CRC è sostituito da MICHAEL, un protocollo migliore per il MIC (Message Integrity Check) progettato per evitare attacchi iterativi con lo scopo di indovinare la password ed evitare il bit flipping (WEP invece è vulnerabile al bit flipping). Inoltre, si basa sull'intero frame, quindi evita attacchi che sfruttano la frammentazione.

Un segreto condiviso, come una password o una chiave di autenticazione viene trasformata in una chiave pair-wise master di 256 bit. Le chiavi pair-wise transient keys (PTK), per ogni sessione, vengono create usando una funzione pseudo-casuale che agisce sul PMK, indirizzi di sessione e nonces.

Funzionamento di WPA.

Il problema è che la cifratura sottostante è ancora WEP che usa un cipher lineare vulnerabile al bit flipping. Gli attaccanti provano a modificare i frame e ad inviarli, e vedono se i frame modificati vengono scambiati per frame autentici. Molte volte falliscono, infatti, con WEP, i frame non decifrabili vengono buttati, senza alcun danno. Per migliorare la prevenzione a questi attacchi, WPA aggiunge delle contromisure: se due frame con MIC errato vengono ricevuti in un intervallo di 60 secondi, l'access point butta fuori tutti i client e richiede la negoziazione di nuove chiavi.
Questo step però introduce una vulnerabilità DoS in TKIP, ma è necessario perchè in questo modo un avversario non può ottenere informazioni facilmente.

WPA2

WPA2 o 802.11 i è un miglioramento dei meccanismi di sicurezza applicati alla famiglia 802.11. WPA2 usa AES per la cifratura, invece del TKIP di WPA, e usa una cifratura delle chiavi dinamica, con cambi regolari di chiave per rendere difficile l’hackeraggio. Fornisce anche un insieme di meccanismi di autenticazione e distribuzione di chiavi.

CCMP è un protocollo di cifratura progettato per WPA2, basato sul Counter Mode con CBC-MAC di AES, che fornisce sia autenticazione che confidenzialità. Inoltre, WPA2 usa un authentication server (AS) con il quale l'AP (access point) può comunicare. Avere un AS separato da un AP permette di servire più APs.