• Non ci sono risultati.

2.3 Livello MAC

2.3.6 IEEE 802.11 MAC Management Sublayer

Il sottolivello di gestione dello strato MAC include una serie di funzioni necessarie all’attività di un terminale 802.11; esso in particolare si occupa di:

• Power Management • Network Synchronization • Scanning

• Network Association e Reassociation • Authentication

• Encryption Power Management

Il consumo di energia occupa un ruolo importantissimo in uno standard di wireless networking concepito per essere prevalentemente alimentato a batterie. Per questo motivo le specifiche 802.11 prevedono un meccanismo complesso di power saving che, se attivato, consente alle stazioni di entrare in Power Save mode (PS) per lunghi periodi senza perdere informazioni. La procedura implementata è diversa a seconda che la rete sia in modalità ad hoc o infrastructure. In questo paragrafo sarà descritta soltanto quella relativa alla seconda configurazione essendo la più diffusa.

Se una stazione necessita di entrare in modalità PS, in una rete infrastructure in modalità DCF, deve avvisare l’AP settando i bit di Power Management nel campo Control di un pacchetto trasmesso. L’AP ricevuto l’avviso, aggiunge l’identificativo della stazione in un apposito registro in cui sono elencate tutte

quelle stazioni facenti parte del BSS che si trovano in quella stessa modalità. Tutti i pacchetti destinati a quest’ultime, non sono trasmessi immediatamente dall’AP, ma sono bufferizzati per essere recapitati ai rispettivi destinatari in un secondo tempo. Per informare i terminali l’AP trasmette ad intervalli prefissati dei messaggi di beacon contenenti la lista delle stazioni che hanno pacchetti in attesa. Queste liste sono dette (TIM (Traffic Indication Map)). Le stazioni in modalità PS sono progettate per riattivarsi ad intervalli regolari (Listen Interval) in corrispondenza della trasmissione di un beacon.

Se una stazione, leggendo un TIM, capisce che ci sono dei pacchetti ad essa destinati in coda all’AP, inizia subito la procedura di contesa del canale e trasmette all’AP un PS-poll frame. Quando esso lo riceve, invia al terminale in questione i pacchetti in attesa. Ad intervalli prefissati i beacon trasportano un particolare tipo di TIM detto DTIM DTIM (Delivery Traffic Information Map). Se l’AP ha dei frame multicast o broadcast da trasmettere, lo fa immediatamente dopo l’invio di un DTIM. Le stazioni voglio- no ricevere questo tipo di pacchetti possono riattivarsi in corrispondenza dei beacon DTIM e ricevere gli eventuali datagrammi multicast/broadcast.

In una rete infrastructure in modalità PCF la procedura di Power Saving è uguale a quella descritta con la differenza che le stazioni in modalità PS si riattivano ad ogni DTIM e restano attive se c’è del traf- fico multicast/broadcast da ricevere o se sono identificate nel TIM. Le stazioni possono infine ritornare in modalità PS quando vengono informate dall’AP che il traffico a loro destinato è terminato.

Figura 2.28: Procedure di Power Saving in modalità DCF e PCF

Network Synchronization

Per il corretto funzionamento della rete, molto importante è la sincronizzazione di tutti i terminali appartenenti ad un BSS: questa è gestita dalla procedura di Timing Synchronization Function (TSF).

In una rete in modalità infrastracture, la procedura TSF è coordinata dall’AP. Esso decide l’intervallo di trasmissione dei beacon (Beacon Period) e ogni quanti beacon trasmettere un DTIM per la consegna di multicast o broadcast. Se si utilizza lo schema PCF, l’AP, svolgendo il ruolo di Point Coordinator, indica inoltre i parametri necessari a definire gli intervalli di tempo gestiti a contesa e quelli gestiti tramite polling.

In una rete in modalità ad hoc, la procedura TSF è così impostata. Il primo nodo che viene attivato specifica alcuni parametri chiave per la gestione della sincronizzazione come ad esempio il Beacon Period. Ad intervalli regolari pari al Beacon Period, tutte le stazioni bloccano le operazioni di contesa per la trasmissione di pacchetti dati e iniziano a contendere il canale per l’invio di un beacon. Se uno di questi è inviato correttamente, tutti i terminali interrompono i propri tentativi e confrontano il timestamp memorizzato nel beacon con il proprio timer di stato. Se esso mostra un tempo successivo a quello del timer locale, la stazione aggiorna il proprio timer con il valore ricevuto, dopodiché riprende la normale attività secondo lo schema DCF.

Scanning

Le stazioni che hanno intenzione di connettersi ad un determinato BSS devono rilevare (Scanning) le altre stazioni appartenenti a quel BSS mettendosi in ascolto nel canale appropriato e sincronizzando i propri timers con il resto del BSS.

2.3. Livello MAC

Se la stazione ha individuato un esistente BSS e vuole accedervi, ha la necessità di acquisire la sincronizzazione relativa alle informazioni dall’AP.

La stazione può procurarsi questa informazione in uno dei seguenti modi:

• PASSIVE SCANNING: la stazione aspetta di ricevere un Beacon Frame dall’AP;

• ACTIVE SCANNING: la stazione tenta di localizzare un AP attraverso la trasmissione di una Probe Request Frame e attende che un AP risponda con frame Probe Response.

Lo Scanning Passivo è utilizzabile solo quando il numero dei canali da indagare è ristretto oppure è breve il Beacon Interval relativo a ciascun canale. Entrambi i metodi sono comunque molto validi e la scelta di uno dei due viene effettuata in funzione di esigenze di consumo o di incremento delle prestazioni.

Association

Identificato un AP, per accedere alla rete la stazione mobile deve associarsi ad esso. Le comunicazioni tra l’AP e la stazione sono le seguenti:

1. la stazione invia una serie di probe (scanning attivo);

2. uno o più AP inviano una risposta con le informazioni relative al proprio BSS;

3. dopo aver selezionato il migliore AP la stazione mobile invia ad esso una richiesta di associazione (association request);

4. l’AP interpellato invia alla stazione una risposta (association response). Authentication

La sicurezza delle reti WLAN è uno degli argomenti di maggiore importanza che deve essere affrontato dalle case costruttrici e dagli stessi enti di standardizzazione. A differenza delle reti cablate, una WLAN è potenzialmente accessibile da chiunque si trovi nel raggio di copertura dell’AP. Questo crea dei limiti non marginali alla possibilità di questa tecnologia di diffondersi su ampia scala.

Lo standard 802.11 contempla due tipi di autenticazione: open system o shared key. La prima da la possibilità a qualsiasi client di poter accedere alla WLAN; tutti i pacchetti scambiati tra la stazione e l’AP per effettuare l’operazione di autenticazione e associazione avvengono in chiaro, senza cifratura.

La modalità di autenticazione shared key da invece un maggiore grado di sicurezza grazie al pro- tocollo WEP (Wired Equivalent Privacy). Affinché la stazione possa accedere alla WLAN, occorre che essa abbia delle stesse chiavi condivise dall’AP. Lo standard presume che queste chiavi siano state consegnate alla stazione attraverso un canale sicuro. La procedura di autenticazione è illustrata in figura:

Il client che desidera accedere alla WLAN invia un richiesta di autenticazione all’AP, il quale rispon- de con una stringa generata casualmente di 128 byte detta “challenge". Il client utilizza quindi questa, insieme alla chiave da lui posseduta e all’algoritmo WEP, per ricavare una sequenza criptata che recapita all’AP. Quest’ultimo, che nel frattempo ha effettuato la stessa operazione in parallelo alla stazione, con- trolla quindi che la stringa ricevuta corrisponda a quella da lui ottenuta e, in caso affermativo, autorizza l’accesso. Segue a questo punto la procedura di associazione.

Riservatezza dei dati e la crittografia - Encryption

Le tecniche utilizzate per prevenire il monitoraggio del traffico e l’intercettazione delle comunicazioni in ambito wireless si basano sull’utilizzo della crittografia.

Prima della crittografia i dati appaiono sotto forma di testo semplice, facile da decodificare mediante strumenti di intercettazione. L’utilizzo di tecniche crittografiche converte il testo semplice in testo cifrato, per la cui decodifica è necessario utilizzare la chiave appropriata.

Il Service Set Identifier (SSID) è l’identificatore configurabile che permette ai client di comunicare con l’AP appropriato. E’ una stringa di caratteri unica, costituita da una sequenza di venti caratteri alfanumerica definita e configurata dall’amministratore della rete.

Con una configurazione corretta, solo i client con il SSID corretto possono comunicare con lui cioè, SSID lavora come una password condivisa tra AP e client e viceversa, e viene, anche usato per segmen- tare la rete wireless in molteplici reti servite da uno o più AP. SSID, comunque, può essere facilmente sniffato in quanto viene trasmesso come testo in chiaro anche quando il WEP è abilitato. Infatti viene inserito nell’header dei pacchetti che non vengono usualmente criptati.

Access Control List

Un sistema di autenticazione aggiuntivo, che prevede una procedura manuale ad opera degli ammini- stratori di rete, è quello che si basa sul filtraggio dei MAC Address dei dispositivi wireless. Quando si utilizza tale metodo, l’AP esamina l’origine dell’indirizzo MAC di ogni frame in entrata, rifiutando i frame provenienti da un indirizzo MAC che non corrisponda ad un elenco specifico programmato ed inserito manualmente in precedenza dall’amministratore. Di conseguenza, il filtraggio dei MAC Address fornisce una forma piuttosto rudimentale di autenticazione. Purtroppo, anche questo metodo di autenti- cazione presenta alcuni punti deboli:la crittografia WEP non codifica il campo dell’indirizzo MAC del frame.

Il filtraggio MAC può inoltre risultare difficile da gestire in presenza di numerosi utenti. Un ammini- stratore deve immettere in una tabella l’indirizzo fisico della scheda di ciascun utente, nonché effettuare delle modifiche nel caso vi siano defezioni o ingresso di nuovi utenti. Per tale motivo, questo metodo può risultare adatto ad applicazioni domestiche o relative a piccoli uffici, ma la natura pratica di un simile approccio non è generalmente indicata per gli amministratori di reti wireless di grandi dimensioni, quali quelle aziendali ed universitarie.

WEP

WEP è lo standard di crittografia, nonché di autenticazione, implementato da tutti i dispositivi 802.11. Come si può evincere dal nome stesso scelto per questo metodo di cifratura - “Wired Equivalent Privacy” - l’obiettivo dei suoi creatori era quello di rendere le reti wireless sicure almeno quanto le normali reti cablate. Il protocollo WEP utilizza un algoritmo di cifratura a chiave simmetrica statica condivisa (RC4, 64 o 128bit). La chiave è formata da un vettore di inizializzazione (IV) di 24 bit e da una chiave vera e propria di 40 o 104 bit. Il vettore di inizializzazione ha il compito di inizializzare il stream chyper e viene trasmesso in chiaro.

Per assicurare l’integrità dei dati nel frame vengono aggiunti i campi ICV e FCS che si basano sul controllo a ridondanza ciclica. Il campo FCS serve per prevenire le alterazioni del frame dovute al mezzo di trasporto. Questo però non basta a garantire l’integrità dei dati, quindi è stato aggiunto l’integrity check value (ICV), che venendo trasmesso criptato non può essere ricalcolato. Essendo l’IV di soli 24 bit, esistono solo 224 combinazioni e queste si ripetono dopo 17 milioni di pacchetti, rendendo il

2.3. Livello MAC

Figura 2.30: WEP frame

protocollo più vulnerabile. La scelta della chiave pre-condivisa rappresenta un elemento di vulnerabilità in quanto la chiave deve essere scambiata via radio fra WT e AP.

Un altro elemento di vulnerabilità della sicurezza discende dall’unidirezionalità della tecnica di au- tenticazione dello standard IEEE 802.11g: il punto d’accesso, infatti, può autenticare il terminale ma quest’ultimo, in nessun modo, può autenticare il primo. Pertanto, un nodo di rete intruso può spacciarsi per AP senza che il terminale possa verificarne l’autenticità. Si noti che questa eventualità non è remota, in quanto la semplicità della connessione in rete degli AP è considerato proprio uno dei punti di forza del Wi-Fi.

WPA

Il WPA (Wi-Fi Protected Access) ha lo scopo di fornire una migliore crittografia dei dati rispetto al WEP e offre anche un meccanismo per l’autenticazione dell’utente, funzione quest’ultima assente nel WEP. Per migliorare le tecniche di criptazione, WPA utilizza il TKIP. Inoltre esso supporta due differenti configurazioni, Personal e Enterprise. Il metodo Personal o PSK è maggiormente appropriato per reti private che non hanno autonome infrastrutture di autenticazione. Il metodo Enterprise è stato ideato invece per soddisfare le esigenze di tutti quei soggetti quali gli operatori della Pubblica Amministrazione, della Sanità e le aziende del settore terziario, i quali, trovandosi a detenere e manipolare dati personali e sensibili, devono affrontare l’obbligo, non solo legislativo, di implementare misure di sicurezza più imponenti e robuste a difesa dei propri sistemi informatici e telematici e della privacy dei titolari dei dati in essi contenuti. E’ stata inoltre rilasciata un’ulteriore versione del protocollo WPA, denominata WPA2, la quale assicura un livello di protezione dei dati e un accesso alla rete ristretto agli utenti autorizzati, ancora più evoluto rispetto alla versione precedente.

La differenza sostanziale con WPA è che il WPA2 fornisce un più forte meccanismo di criptaggio attraverso l’AES (Advanced Encryption Standard) piuttosto che il TKIP. AES è un block cipher, nel senso che la crittografia viene fatta su blocchi di dati invece che bit a bit (come in RC4).

IEEE 802.11iè uno standard che è stato sviluppato da IEEE per sostituire i protocolli attuali per le reti wireless al fine di migliorare la sicurezza. In particolare 802.11i vuole risolvere le debolezze mostrate dal WEP nell’autenticare i client e nel criptare i dati. Esso è formato dai seguenti componenti:

• 802.1x framework (autenticazione basata su porte) • TKIP (Temporal key Integry protocol)

• AES (Advance Encryption standard) • Gestione e gerarchia delle chiavi

• Cypher e Negoziazione dell’autenticazione

Per risolvere gli attuali problemi di sicurezza delle reti 802.11b/g lo standard (WPA) è basato par- zialmente su 802.11i e compatibile dal punto di vista hardware con i dispositivi in commercio (richiede un upgrade software).

Autenticazione 802.1x

Lo standard 802.1x specifica una forma di autenticazione generica e estendibile basata sull’utilizzo di porte applicabile sia alle reti wireless che alle reti wired. Il protocollo WPA sfrutta tutti i suoi compo- nenti. Lo standard 802.1x è supportato dalla maggior parte dei sistemi operativi e AP in commercio.

Esso specifica diversi tipi di autenticazione: • Login e password

• Certificati • Smart cart

Figura 2.31: Schema di funzionamento di una Wlan 802.1x

802.1x non richiede un particolare protocollo di autenticazione, infatti, esso usa EAP (Extensible Authentication Protocol). Quest’ultimo è un protocollo di incapsulazione che permette di usare diversi protocolli di autenticazione. Esistono quattro protocolli di autenticazione principali:

• MD5: protocollo unidirezionale basato su password; • LEAP: protocollo proprietario di Cisco basato su username; • EAP-TLS: protocollo bidirezionale basato su certificati;

• EAP-TTLS: sono protocolli di alto livello che non richiedono certificati. L’approccio 802.1x offre i seguenti vantaggi:

• basato su standard;

• autenticazione flessibile: l’amministratore può scegliere il metodo di autenticazione; • gestito centralmente;

• scalabile, se si vuole allargare la rete basta aggiungere gli AP ed i server di autenticazione; • le chiavi dei client sono generate dinamicamente e propagate;

• il roaming tra più AP è più trasparente in quanto l’autenticazione è gestita centralmente.

Nelle reti aziendali, il processo di autenticazione sarà gestito da un server specifico (Radius server), che sarà in grado di gestire gli utenti meglio dell’attuale WEP e in maniera molto più semplice.

2.3. Livello MAC

Figura 2.32: Struttura di una wlan con server Radius

Il server ha il compito di gestire e controllare gli accessi alla rete. Questo include la gestione delle credenziali degli utenti, l’autorizzazione delle richieste di accesso alla rete degli utenti e la generazione delle sessioni.

Per le reti domestiche, con minori esigenze in termini di sicurezza, è prevista una modalità a chiave precondivisa, il che ha il vantaggio di non richiedere l’uso di un server, anche se il livello di sicurezza è certamente inferiore. Questo approccio offre la facilità di installazione del WEP insieme ad un metodo di cripting più robusto (TKIP). Il WPA a chiave precondivisa differisce sostanzialmente dal WEP, infatti sotto WPA la chiave precondivisa è usata solo all’inizio dello scambio delle chiavi dinamiche TKIP e non partecipa direttamente al cripting dei dati.

TKIP

E’ un protocollo che permette un metodo di distribuzione delle chiavi dinamico. Esso aumenta significa- tivamente la sicurezza della rete, diminuendo il tempo a disposizione di eventuali aggressori per vincere l’algoritmo prima dell’immissione di una nuova chiave. Fornisce inoltre importanti miglioramenti per quanto riguarda la crittografia dei dati: genera periodicamente e automaticamente una nuova chiave per ogni dispositivo connesso alla rete e quindi per ciascun utente, TKIP si occupa della generazione dina- mica delle chiavi e del loro scambio in modo sicuro. TKIP continua ad usare l’algoritmo di cripting RC4 usato dal WEP, ma lavora principalmente sui punti deboli del WEP, risolvendo anche il grave problema del riutilizzo delle key.

Il processo inizia con una chiave temporanea di 28 bit condivisa unicamente fra client ed AP. Il TKIP combina questa chiave temporanea con il MAC address della macchina client ed aggiunge un vettore di inizializzazione di 16 ottetti, producendo in questo modo la chiave che verrà usata per crittografare i dati. Questa procedura assicura che ogni stazione usi un differente key stream per crittografare i dati.

CAPITOLO

3

Dispositivi e Software

3.1

Dispositivi

I dispositivi utilizzati nei test effettuati in questa tesi sono:

• Notebook con scheda Wireless-N 1030 b/g/n: è una scheda di rete PCIe embedded conforme agli standard 802.11b/g/n che opera nello spettro da 2,4 GHz;

• Notebook con scheda PRO/Wireless 3945 a/b/g: è una scheda di rete PCIe embedded consona agli standard 802.11a/b/g che opera nello spettro da 2,4 GHz e 5 GHz;

• Scheda WI-FI USB TL-WN722N, Fig. 3.1a: essa permette di collegare un computer desktop o notebook a una rete wireless e l’accesso ad una connessione Internet ad velocità. Conforme allo standard IEEE 802.11g/n consente velocità di trasferimento fino a 54 Mbps nel caso di IEEE 802.11g e 150 Mbps nel caso di IEEE 802.11n. TL-WN422N è dotata inoltre di un antenna esterna ad alto guadagno da 4 dBi che può essere regolata o routata in varie direzioni per adattarsi ai diversi ambienti operativi. Per le applicazioni più impegnative l’antenna può essere sostituita con una altra con maggiore guadagno.

• Router Atlantis A02-RA142, Fig. 3.1b: è un dispositivo Wireless Router ADSL2+ facile da con- figurare e da usare, che permette di gestire tutte le possibilità delle reti tramite interfaccia web. In riferimento all’utilizzo delle connessioni wireless, il dispositivo risulta conforme allo standard IEEE 802.11b/g e permette un flusso di dati sino ad una distanza di 25 metri (in ambiente indoor) e 80 metri (in ambiente outdoor).

• Raspberry Pi 1, Fig. 3.1c: è un single-board computer, progettato per ospitare sistemi operativi basati sul kernel Linux, costituito da un system-on-a-chip, che incorpora un processore ARM, una GPU VideoCore IV, e 256 o 512 Mb o 1 GPU di memoria. Non possiede né hard disk né una unità a stato solido, affidandosi invece a una scheda SD per il boot e per la memoria non volatile. Esso inoltre presenta quattro porte USB 2.0, un controller Ethernet 10/100 Mbps, un connettore RCA per il video composito, una porta HDMI ed infine per l’alimentazione una porta MicroUSB da 5 V.

(a) Scheda USB TL-WN722N (b) Router Atlantis A02-RA142 (c) Rasberry Pi 1

Figura 3.1: Dispositivi

3.2

Software

I principali software utilizzato sono iPerf [2] e Wireshark [3].

3.2.1

iPerf

Esso è un software ampiamente usato per misurare e testare le prestazioni di una rete. Ha funzionalità client/server e può creare flussi di dati per misurare il throughput tra le due estremità di una rete in una o in entrambe le direzioni. L’output tipico di Iperf contiene un rapporto temporizzato della quantità di dati trasferiti e del throughput misurato. I flussi di dati possono essere di tipo TCP (Transmission Control Protocol) o UDP (User Datagram Protocol): quando viene utilizzato per verificare la capacità UDP, Iperf consente all’utente di specificare la dimensione del datagramma e fornisce risultati sul throughput del datagramma e sulla perdita di eventuali pacchetti; quando invece viene utilizzato per la capacità TCP, esso misura il throughput del payload. Esso inoltre è un software open source scritto in C e funziona su diverse piattaforme, tra cui Linux, Unix e Windows.

Esso consente la realizzazione delle seguenti attività: • misure di larghezza di banda;

• in una rete di tipo client–server, il client (stazione emittente) genera un flusso TCP/UDP con specifica larghezza di banda (BW);

• misure di perdita di pacchetti; • misure di jitter;

• lavoro in ambiente multicast.

Iperf genera, nel caso di una connessione UDP che è quella utilizzata in tutti i test effettuati, un flusso dati con bit rate costante.

E’ possibile variare la dimensione dei datagrammi a seconda dell’applicazione per la quale si vuole

Documenti correlati