back to top

Il protocollo WEP – Guida Wi-Fi

WEP è l’acronimo di Wired Equivalance Protocol che racchiude l’obiettivo primo dello standard Wi-Fi ovvero quello di garantire una sicurezza e una confidenzilità dei messaggi scambiati pari a quelle di una rete LAN cabalata.

Nel punto n. 3 del processo di autenticazione che abbiamo visto nella lezione precedente viene detto che il messaggio viene cifrato e poi inviato all’Acess point. Il processo di cifratura del pacchetto è un’operazione abbastanza complessa che può essere suddivisa in più sotto-fasi che spiegheremo di seguito.

Crezione del CheckSum

Ogni messaggio che deve essere cifrato, prima dell’invio, viene frammentato in pezzi più piccoli e di lunghezza stabilita.

Per ogni frammento si crea il Campo CRC (cui abbiamo accennato nella lezione sulla struttura dei frame a livello MAC). Questo CRC è un campo di lunghezza prefissata in cui viene inserito il risultato di un CheckSum (questo algoritmo prende un blocco di dati, che può chiaramente avere lunghezza variabile, ed il risultato che produce è un blocco di lunghezza 32 bit). Il campo CRC viene messo in coda al testo contenente l’informazione da cifrare formando il così detto plaintext. Questo paccheto, una volta giunto a destinazione insieme al blocco dati vero e proprio, servirà per capire se il pacchetto trasmesso ha subito alterazioni. Infatti, ricevuto il pacchetto, viene rieseguito il checksum sul blocco dati e viene poi confrontato con quello ricevuto nel pacchetto. Se i due checksum non corrispondono bit a bit, si assume ci sia stato un errore di trasmissione e il pacchetto viene scartato.

Cifratura del messaggio

Prima di cifrare il messaggio, viene scelto – in maniera casuale – un vettore di inizializzazione che chiameremo vettore di inizializzazione IV. Il vettore appena scelto viene concatenato con la chiave WEP; il blocco così formato viene dato in input all’algoritmo RC4 creando così il keystream.

Prima di spiegare come avviene la cifratura vera e propria del messaggio è necessario spiegare l’operazione di XOR tra bit. Lo XOR è uno dei connettivi logici utilizzati dai calcolatori per compiere certe operazioni; in particolare lo XOR tra due bit darà come risultato 1 se e solo se uno dei due bit è 1. Possiamo riassumerà la tabella della verità per il connettivo logico XOR nello schema sottostante:

Bit ABit BXOR(A,B)
101
011
110
000

Il testo cifrato viene ottenuto effettuando lo XOR tra il plaintext ed il keystream ricavato al passo precedente.

Invio del testo cifrato

Prima di trasmettere il messaggio è necessario compiere un’altra operazione, ovvero quella di aggiungere in testa al messaggio cifrato il vettore di inizializzazione IV che era stato scelto in precedenza. Questo nuovo pacchetto è quello che realmente viene trasmesso verso la destinazione.

Decifratura del messaggio

Arrivato il messaggio a destinazione, l’access point esegue l’operazione inversa ovvero la decifratura del messaggio. Come prima operazione viene separato il testo cifrato dal vettore di inizializzaione IV e si esegue la concatenatura con la Wep Key conosciuta dopodichè il blocco viene mandato in input all’algoritmo RC4. In questo modo viene creato, come accadeva prima, il keystream relativo e si esegue lo XOR tra il keystream e il testo cifrato. Eseguendo nuovamente lo XOR in questo modo si ottiene il plaintext.

Parleremo dell’algoritmo RC4 e il vettore di inizializzazione IV più approfonditamente nelle prossime due lezioni.

PubblicitÃ