Capitolo 2
-
Problemi dello standard
802.11
2.0 - Il livello di sicurezza base di 802.11 e i problemi noti
Quando è stato definito IEEE 802.11, la sua sicurezza dipendeva fondamentalmente da due meccanismi: il codice SSID e il protocollo WEP. Alcuni produttori hanno aggiunto ai propri prodotti anche il filtraggio dell'indirizzo MAC.
2.1 - Il codice SSID (Service Set ID)
Il codice SSID è una stringa utilizzata per definire un dominio di roaming comune fra più Access Point. Codici SSID differenti sugli Access Point 802.11 possono consentire l'attivazione di reti wireless sovrapposte. Il codice SSID è stato inizialmente considerato come una password di base, senza la quale il client non si sarebbe potuto collegare alla rete. Tuttavia questa protezione può essere aggirata con facilità, in quanto gli Access Point trasmettono i codici SSID in broadcast più volte al secondo e quindi tali codici possono essere individuati con qualsiasi strumento di
analisi software come Airmagnet, NetStumbler o Wildpackets Airopeek. Poiché gli utenti spesso configurano dei client, questa cosiddetta password è in realtà un' informazione quasi pubblica. Anche se il codice SSID non aggiunge alcun livello di sicurezza, deve essere cambiato per evitare che altri utenti possano accidentalmente entrare nella propria rete.
2.2 - Il protocollo WEP (Wired Equivalent Protocol)
Lo standard IEEE 802.11 definisce anche il metodo di autenticazione e crittografia WEP, che limita i problemi di sicurezza. Generalmente l'autenticazione viene utilizzata per proteggersi contro gli accessi non autorizzati alla rete, mentre la crittografia viene utilizzata per impedire le intercettazioni e la lettura delle trasmissioni catturate. 802.11 utilizza il protocollo WEP sia per la crittografia che per l'autenticazione. Quando si utilizza il protocollo WEP si hanno a disposizione quattro opzioni:
• Non usare WEP
• Usare WEP solo per la crittografia. • Usare WEP solo per l'autenticazione.
• Usare WEP sia per l'autenticazione che per la crittografia.
La crittografia WEP si basa sul protocollo RC4 e per crittografare le trasmissioni wireless dei dati utilizza una chiave a 40 o 104 bit insieme a un vettore di inizializzazione casuale di 24 bit. Questo è il motivo per cui in alcuni sistemi 802.11 si parla di crittografia a 64 o 128 bit. Non si tratta di sistemi differenti da quelli che utilizzano chiavi di crittografia a 40 bit. Quando viene attivata, la stessa chiave WEP deve essere utilizzata su tutti i client e gli Access Point che devono entrare in comunicazione. Per impedire ogni accesso non autorizzato, WEP definisce anche un
protocollo di autenticazione. 802.11 definisce due forme di autenticazione: a sistema aperto e a chiave condivisa. L'autenticazione a sistema aperto consente a qualsiasi client di associarsi con un Access Point e di saltare il processo di autenticazione. Non si verifica alcuna autenticazione dei client o crittografia dei dati. In genere la rete autentica l' utente utilizzando il nome utente e la password trasmessi tramite una pagina Web di login su una connessione sicura. Utilizzando l' autenticazione a chiave condivisa, l'Access Point invia una frase chiamata challenge all'apparecchio radio client che richiede l'autenticazione. L' apparecchio radio esegue la crittografia della frase challenge utilizzando la chiave condivisa e la restituisce all'Access Point. Se l'Access Point è in grado di decrittografare il testo inizialmente trasmesso, significa che il client è in possesso della chiave privata corretta. A questo punto il client può accedere alla connessione di rete. Per l'osservatore casuale, può sembrare che il processo di autenticazione a chiave condivisa sia più sicuro rispetto al processo di autenticazione a chiave aperta. Tuttavia, sia la frase di test (inviata in chiaro) che il risultato possono essere intercettati e quindi un hacker può essere in grado di individuare la chiave WEP. Pertanto, non si possono ritenere sicure né l'autenticazione a sistema aperto né l'autenticazione a chiave condivisa. Poiché per distribuire le chiavi segrete a ciascuna stazione lo standard 802.11 si basa su servizi di gestione esterni e non specifica alcun servizio di distribuzione della chiave, la maggior parte delle schede di accesso client e degli Access Point 802.11 farà affidamento sulla distribuzione manuale della chiave. Un'altra preoccupazione sulla solidità di WEP è il fatto che fornisce al massimo 4 chiavi di crittografia statiche condivise. Questo significa che ogni volta che un client accede alla rete le quattro chiavi di crittografia sono le stesse per tutti i client e gli Access Point. Avendo a disposizione un tempo sufficiente e potendo contare su una prossimità fisica e sull'utilizzo di strumenti prelevabili tramite il Web, gli hacker possono determinare quale chiave di crittografia viene utilizzata e quindi iniziare a decrittografare i dati.
Poiché in un determinato momento l'intera azienda usa lo stesso insieme di chiavi, bastano poche ore per raccogliere i dati necessari per violare una chiave.
2.3 - Un analisi dei problemi del WEP
I protocolli Wireless hanoo un maggior numero di problemi inerenti la sicurezza rispetto alle loro controparti su cavo. Ad esempio vi sono i seguenti tipi di utilizzo fraudolento dei protocolli Wireless:
➢ Se una rete ha una componente Wireless, è possibile che un hacker dall' esterno dell' edificio possa ottenere copia almeno di tutto il traffico wireless, oppure introdursi nella rete ed utilizzarla per connettersi ad internet o come punto di partenza per effettuare attacchi ad altri;
➢ Un malintenzionato potrebbe inserire un Access Point in una rete cablata ed ottenere copia del traffico che vi passa rimanendo nell' edificio di fronte.
Per prevenire il primo problema è necessario:
a) che vi sia un protocollo sicuro di autenticazione ed autorizzazione, per evitare che una stazione possa connettersi alla rete senza avere le necessarie
credenziali;
b) che tutto il traffico tra Stazioni ed AccessPoint sia cifrato, per evitare che qualcuno in ascolto possa fare una copia di ciò che transita.
L'idea dell autenticazione WEP è molto semplice. Su ogni Stazione e Access Point si inserisce una (o più per un AccessPoint) chiave WEP . Nessun protocollo è previsto per l' aggiornamento o manutenzione delle chiavi, che pertanto di solito sono inserite manualmente nelle schede WiFi e negli AccessPoint. Avere la corretta chiave WEP è in pratica l'unica misura di autenticazione WEP di una Stazione. Inoltre un vero protocollo di autorizzazione non è specificato. Questi problemi dovrebbero essere risolti con l'introduzione dell 802.1x e dell' EAP (Exstensible Authentication
Protocol). Come detto, WEP cifra tutto il traffico tra una stazione e l' AccessPoint. L' algoritmo utilizzato è l'RC4 , uno Stream Cipher ideato da Ron Rivest dell' RSA Security. L' algoritmo di per se è sicuro, veloce e abbastanza leggero da implementare. Uno Stream Cipher, data una chiave iniziale segreta di lunghezza fissa, può generare un flusso infinito e pseudo random di bit che formano la chiave di cifratura. In pratica il procedimento di cifratura è il seguente. Alla chiave (segreta) WEP di 40 o 104 bit viene aggiunto un vettore di inizializzazione (IV) di 24 bit in modo da formare una chiave intermedia di 64 o 128 bit. IL IV è un numero che viene generato dall' AccessPoint o dalla Stazione, spesso è un registro che viene incrementato di 1 ogni volta che viene utilizzato. In questo modo si possono generare 224 (quasi 17 milioni) chiavi intermedie. La chiave intermedia è l'input dell'algoritmo
RC4 che genera una Chiave di Cifratura (o Stream) di lunghezza fissa.
Contemporaneamente i dati da cifrare vengono divisi in blocchi di lunghezza fissa, e di ogni blocco viene calcolata una checksum CRC a 32 bit che viene aggiunta in coda al blocco. Il blocco di dati più la checksum forma il Plaintext ed ha la stessa lunghezza della Chiave di Cifratura. Nell' ultimo passaggio si esegue un XOR del Plaintext con la chiave di cifratura per ottenere il Testo cifrato. Ovviamente l' autenticazione di base, SSID e MAC address ad esempio, deve essere valida.
Utilizzeremo anche la seguente notazione matematica: P = D∪CRC , ove P è il Plaintext, D il blocco dati, CRC la checksum CRC 32 e l'operatore è l'unione dei due pacchetti;
dove K è la Chiave di Cifratura, C il Ciphertext e l'operatore e lo XOR.
Lo XOR è una operazione che dati 2 bit, ad esempio uno del Plaintext ed il corrispondente della Chiave di Cifratura, se sono uguali produce il bit 0, se sono diversi il bit 1. Si noti che lo XOR di un numero con se stesso da come risultato tutti 0 e l XOR di zero con un qualsiasi altro numero da sempre di nuovo il secondo numero. Infine si invia sul network un pacchetto composto dall IV più il Ciphertext:
Il procedimento di decrittazione è l'esatto opposto: mettendo insieme la chiave (segreta) WEP presente nel device e l IV ottenuto dal pacchetto stesso, utilizzando
Figura 2.1 IV RC4 Chiave Testo in chiaro CRC-32 II XOR Testo Cifrato
RC4 si genera la stessa Chiave di Cifratura. Facendo lo XOR del Ciphertext con la Chiave di Cifratura, che serve quindi anche per de cifrare, si ottiene il Plaintext
Si controlla se la checksum CRC 32 è corretta e nel caso si accetta il pacchetto. Bisogna notare che il IV è inviato in chiaro nel pacchetto, e non potrebbe essere altrimenti poiché il ricevente in caso contrario non potrebbe calcolarsi la chiave di (de ) Cifratura. D' altronde la sicurezza di RC4 garantisce che un attaccante in possesso solo di un IV e del corrispondente Ciphertext, non è in grado di risalire alla Chiave di Cifratura. Il IV garantisce che ogni pacchetto è crittato con una chiave intermedia diversa, e questo è uno dei punti fondamentali dell' algoritmo. D'altra parte, se lo stesso IV fosse usato più volte con la stessa chiave WEP, l'algoritmo non sarebbe più sicuro. Vediamo come. Supponiamo di crittare due blocchi di dati con lo stesso IV e la stessa chiave WEP, e quindi con la stessa Chiave di Cifratura. Prendiamo ora i due pacchetti cifrati e facciamone lo XOR. Quello che otteniamo è interessante:
ove C1, C2 sono i Ciphertext e P1, P2 i Plaintext. Il risultato è che abbiamo eliminato la Chiave di Cifratura ed ottenuto lo XOR dei Plaintext. Ora se un attaccante fosse in grado di conoscere uno dei due Plaintext, sarebbe in grado di ottenere l' altro con un semplice XOR
Non solo, conoscendo un Plaintext ed il corrispondente Ciphertext, si può ottenere di nuovo con un XOR la Chiave di Cifratura
Conoscendo alcune Chiavi di Cifratura K ed i relativi IV, sfruttando una debolezza dell algoritmo RC4 scoperta da Fluhrer, Mantin e Shamir, si può risalire alla chiave
WEP e così rompere completamente la sicurezza. Purtroppo tutto questo capita in WEP. Infatti come abbiamo detto, il IV è un numero a 24 bit, e quindi permette di creare solo circa 17 milioni di chiavi intermedie. Ipotizzando di inviare pacchetti di 1500 Bytes a 11Mbps, ognuno con un IV diverso, bastano poco più di 5 ore per esaurire gli IV. In pratica però ci vuole molto meno, poiché ad esempio in caso di errori di trasmissione (collisioni ecc.) il protocollo WEP richiede la reinizializzazione degli IV. Se poi i IV fossero dati in modo casuale, ci vorrebbe ancora meno per avere una ripetizione. Inoltre non è necessario conoscere completamente un Plaintext o fare un known plaintext attack, infatti sfruttando gli header dei pacchetti, che sono spesso facilmente indovinabili, ed i pacchetti tipo ARP, IP, SNAP ecc. che spesso si ripetono nella rete, è possibile ottenere sufficienti informazioni per ricostruire la Chiave di Cifratura. Il tutto è così semplice, che esistono programmi come Airsnort e Wepcrack che rendono del tutto automatico l'ottenimento della chiave (non più segreta a questo punto) WEP. Se la chiave WEP è di 40 bit, poche ore di ascolto su di una rete WiFi (con sufficiente traffico) permettono di ottenere la chiave stessa. Se la chiave WEP è invece di 104 bit, molte più coppie (Chiave di Cifratura, IV) e molte più ore sono necessarie per risalire alla chiave WEP. D'altronde, con una corretta
gestione dell IV e delle chiavi, RC4 è ancora un protocollo sicuro. Se sin dall' inizio
il WEP avesse previsto la rigenerazione frequente della chiave segreta iniziale di
crittazione, questo problema non sarebbe sorto.
Un altro problema, che è stato trovato in WEP è nell utilizzo di CRC 32.
CRC, Cyclical Redundacy Check, è un algoritmo di checksum che permette di calcolare un numero di lunghezza fissa, 32 bit in questo caso, caratteristico del pacchetto inviato. La checksum viene calcolata prima dell'invio e della crittazione dei dati, ed inserita nel pacchetto; all'arrivo viene ricalcolata e confrontata con quella presente nel pacchetto. Se vi è una differenza vuol dire che il pacchetto è stato modificato in qualche modo, e quindi viene scartato. Il problema principale con CRC
32 è che è una checksum lineare, ed è stato trovato il modo di modificare un bit nella parte dati del pacchetto ed un bit nella checksum in modo che i nuovi dati corrispondano alla nuova checksum, il tutto all' interno del pacchetto crittato con WEP. Anche se il WEP è stato rotto, utilizzarlo, e con chiavi a 104 bit se possibile, è meglio di nulla. Almeno con il WEP attivo l'attaccante non avrà accesso istantaneo alla rete e molto probabilmente utilizzerà un altra rete non protetta.
2.4 Filtraggio dell'indirizzo MAC
Oltre ai due meccanismi di sicurezza di base forniti da 802.11, molte aziende implementano nei propri prodotti il filtraggio dell'indirizzo MAC. Ma neppure questo meccanismo è esente da difetti. Il filtro dell'indirizzo MAC contiene gli indirizzi MAC delle schede di rete wireless che possono essere associate a un determinato Access Point. Alcuni produttori offrono strumenti in grado di automatizzare i processi di inserimento e aggiornamento; tuttavia si tratta di un processo completamente manuale. Un filtro MAC non rappresenta però una solida difesa, poiché non è difficile individuare gli indirizzi MAC utilizzando uno sniffer. Poi, utilizzando i driver Linux disponibili in Internet per la maggior parte delle schede di accesso client 802.11, si può configurare l'indirizzo MAC individuato specificandolo nella scheda e acquisire così l'accesso alla rete. Anche se non è completamente sicuro, il filtraggio dell'indirizzo MAC rappresenta un ulteriore livello di protezione che complica ogni accesso illecito alla rete. Gli altri due passi menzionati da Wi-Fi Alliance, l'uso delle chiavi di sessione e di un sistema a rete privata virtuale (VPN), rappresentano buone soluzioni per rendere sicuro un sistema Wi-Fi. Per comprendere quanta sicurezza è necessaria per una determinata applicazione, è importante capire quali sono le minacce e quali sono i potenziali attacchi.
2.4 - Il modello di sicurezza per una rete locale wireless
Gli utenti interni possono attaccare il sistema con quattro diverse attività: intercettazione, fabbricazione, modifica e interruzione. Una quinta classe di attacchi (ripudio) riguarda la responsabilità sulle informazioni. Si tratta di un attacco sferrato dall'interno del sistema da parte dell'entità di origine o di destinazione. Ognuna di queste classi di attacchi può essere risolta adottando appropriati meccanismi di sicurezza.
2.4.a - Attacchi a intercettazione
L'intercettazione è un attacco passivo alla segretezza, dove un'entità intrusa è in grado di leggere le informazioni inviate dall'entità di origine all'entità di destinazíone . Lo sniffing è un esempio di attacco a intercettazione.L'intruso tenta di apprendere o di utilizzare le informazioni tratte dal sistema ma senza influenzare le risorse del sistema stesso. L' identità dell'entità di origine può essere intercettata e successivamente utilizzata con un attacco a mascheramento; oppure l'intruso può essere interessato a diffondere i contenuti di messaggi come informazioni di autenticazione, password, numeri di carte di credito, proprietà intellettuale o altre informazioni riservate. L'intruso può anche essere interessato a svolgere un'analisi del traffico sul sistema in modo da trarre informazioni dalle caratteristiche del traffico stesso. I seguenti paragrafi descrivono alcuni esempi di intercettazione.
2.4.b - Intercettazione e sniffing
L'intercettazione prevede l'acquisizione passiva di informazioni da una rete.. Questo metodo di acquisizione delle informazioni sulla rete è sempre più facilitato grazie allo sviluppo di nuovi prodotti. Airopeek, Airsnort, NetStumbler e WEPCrack sono programmi in grado di acquisire informazioni come il codice SSID, l'indirizzo MAC dell'Access Point e informazioni sull'attivazione del protocollo WEP. La natura di una rete a radiofrequenze (RF) la rende aperta all'intercettazione dei pacchetti svolta tramite un apparecchio radio posto nel raggio d' azione di un trasmettitore. L'intercettazione può verificarsi anche a grande distanza dal raggio operativo della rete, tramite l'impiego di antenne a elevato guadagno (disponibili sul mercato). Utilizzando strumenti di facile reperibilità, un intercettatore può raccogliere i pacchetti per analizzarli in un secondo tempo e può anche osservare sessioni interattive con le pagine Web visualizzate da un utente wireless valido. Un intercettatore può anche individuare gli scambi di autenticazione non adeguatamente protetti, per esempio alcune forme di login a siti. Lintercettatore può successivamente replicare le informazioni di login e ottenere l'accesso alla rete.
2.4.c - Attacchi a fabbricazione
La fabbricazione è un attacco attivo all'autenticazione, dove un intruso si sostituisce all'entità di origine. L' invio di pacchetti fasulli o di messaggi di posta elettronica falsi sono esempi di attacchi a fabbricazione. Il protocollo WEP prevede due meccanismi di autenticazione. Con l' autenticazione a sistemi aperti (l'algoritmo standard), il client annuncia semplicemente lo scopo di associarsi a un Access Point, il quale ricerca nel suo database MIB (Management Information Base) se AuthenticationType
= OS. In questo caso l'accesso viene consentito. L'autenticazione a sistema aperto, per sua stessa natura, non svolge l'autenticazione e non offre alcuna sicurezza. Il protocollo WEP ha anche un algoritmo opzionale in cui il client può chiedere di essere autenticato utilizzando l'autenticazione a chiave condivisa.
L' Access Point genera a sua volta un codice a 128 bit che invia al client. Il client risponde al codice, crittografato con la chiave segreta condivisa che viene configurata sia nel client che nell'Access Point. L'Access Point esegue la decrittografia della chiave segreta utilizzando un codice CRC per verificarne l'integrità. Se il frame decrittografato corrisponde a quello originario, la stazione viene considerata autentica. Opzionalmente lo scambio challenge/risposta può essere ripetuto nella direzione opposta, in modo da effettuare una reciproca autenticazione. Un hacker che riuscisse a catturare questi frame sarà in possesso di tutti gli elementi necessari per derivare il flusso di chiavi RC4 e per rispondere a una futura richiesta: il testo in chiaro, il testo cifrato e il vettore di inizializzazione IV L'hacker potrà a questo punto sostituirsi a un client valido della rete WLAN.
Poiché la chiave è condivisa da tutti gli utenti, non esiste alcun meccanismo per l'autenticazione dei singoli utenti e dell'hardware. Se la chiave dovesse essere violata, il sistema potrà essere utilizzato da chiunque conosca la chiave. Inoltre il protocollo WEP non prevede alcun meccanismo che consenta agli utenti o all'hardware di autenticare l'Access Point. Senza un'autenticazione bidirezionale, un hacker potrebbe simulare la rete wireless e poi invitare gli utenti a connettersi e a rivelare ulteriori informazioni utili sulla rete.
2.4.d - Attacchi man-in-the-middle
il computer che si trova fra di loro rappresenta l'altro host. La versione classica di questo attacco prevede che l'hacker intercetti i pacchetti dalla rete, li modifichi e poi li reinserisca nella rete.
2.4.e - Attacchi spoofing
Con spoofing si intende il fatto di sostituirsi a un utente o a un sistema, per esempio utilizzare il nome utente e la password di un altro utente. Lo spoofing DNS (Domain Name Service) viene ottenuto inviando una risposta a un server DNS della rete. Lo spoofing dell'indirizzo IP (Internet Protocol) dipende dal fatto che la maggior parte dei router controlla solo l'indirizzo IP di destinazione e non quello di invio. La convalida dell'indirizzo IP di invio può impedire questo tipo di attacco.
2.4.f - Attacchi a inserimento
Si tratta dell'atto di configurare un dispositivo per ottenere l'accesso a una rete o di inserire dispositivi non autorizzati in una rete per ottenere l' accesso. Installando una scheda di rete wireless in prossimità della rete di destinazione, si può configurare un dispositivo in modo da ottenere l'accesso alla rete. Possono essere installati degli Access Point non autorizzati e poi spingere gli utenti a connettersi all'Access Point dell'hacker e non a quello della rete legittima. Se questi Access Point vengono installati all'interno del firewall aziendale, il rischio di attacco può essere ancora più grave. Questo tipo di attacco può essere svolto anche da dipendenti ignari del reale
scopo dell'attività che gli viene chiesto di svolgere.
2.4.g - Attacchi a sostituzione
Si tratta di un attacco attivo all'integrità, dove un'entità intrusa modifica le informazioni inviate dall'entità di origine all'entità di destinazione . L'inserimento di un cavallo di Troia o di un virus rappresenta un esempio di attacco a sostituzione.Il protocollo WEP è sensibile agli attacchi a modifica poiché il vettore di inizializzazione IV viene incrementato e il codice CRC è una funzione lineare che utilizza solo la somma e la moltiplicazione. Con il controllo dell'integrità CRC-32 è possibile modificare uno o più bit del testo in chiaro originario e prevedere quali bit del codice checksum devono essere modificati per mantenere valido il messaggio. Questo significa che è possibile trarre messaggi dall'entità di origine, modificarli e poi reinserirli nel flusso di dati senza che tale modifica venga rilevata.
2.4.h - Attacchi a ripetizione
Si tratta di attacchi attivi all'integrità, dove un intruso rinvia all'entità di destinazione le informazioni ricevute dall'entità di origine . La sicurezza di base di 802.11 non offre alcuna protezione contro gli attacchi a ripetizione. Questo è dovuto al fatto che i messaggi non contengono numeri di sequenza o codici timestamp. Poiché i vettori di inizializzazione e le chiavi possono essere riutilizzati, è possibile rinviare i messaggi memorizzati utilizzando lo stesso vettore di inizializzazione senza essere rilevati, in modo da inserire messaggi fasulli nel sistema. I singoli pacchetti devono essere
autenticati, non solo crittografati. 1 pacchetti devono essere dotati di numeri di sequenza o timestamp.
2.4.i - Attacchi a interruzione
L' interruzione è un attacco attivo alla disponibilità, dove un'entità intrusa blocca le informazioni inviate dall'entità di origine all'entità di destinazione. Esempi di questo tipo sono gli attacchi DoS (Denial of Service) e Network Flooding.L' intruso può tentare di esaurire l'intera ampiezza di banda della rete utilizzando attacchi come ARP flooding, ping broadcast, TCP (Transmission Control Protocol) SYN flooding, queue flooding, smurf, synk4 e altre utility. L'intruso può bloccare il funzionamento della rete anche utilizzando vari meccanismi fisici, come le interferenze in radiofrequenza. Un attacco correlato è un attacco a degrado del servizio in cui il servizio non viene completamente bloccato ma viene drasticamente ridotta la sua qualità QoS (Quality of Service).
2.5 Architettura di rete con l'aggiunta di una WLAN
La rete locale cablata dovrebbe essere protetta dagli utenti connessi agli Access Point wireless. La Figura 2.2 mostra il tipico aspetto di un'infrastruttura aziendale.
Figura 2.2
Internet si connette a un router sul lato WAN. Sul lato della rete locale del router, si può opzionalmente definire un server che crea una zona smilitarizzata DMZ (Demilitarized Zone) accessibile da Internet per svolgere operazioni di trasferimento di file. Inoltre è previsto un firewall che separa Internet dalla rete aziendale, la LAN. Spesso la funzione del firewall è inclusa nel router. Dal lato della rete locale la rete serve i computer e, sempre più spesso degli Access Point e i relativi portatili wireless. Tuttavia il nuovo Access Point crea accidentalmente un accesso posto dietro il firewall e accessibile tramite semplici onde radio. Come si può vedere nella Figura 2.2, questa situazione lascia la rete aperta a numerosi punti deboli. Una volta che un utente ha acquisito un accesso wireless, potrà con facilità accedere alla rete locale aziendale.
un firewall wireless
L' architettura della rete può essere modificata aggiungendo un firewall di autenticazione wireless che regola l'accesso alla rete locale consentendo il passaggio solo agli utenti che sono stati autenticati, come indicato nella Figura 2.3.
Figura 2.3
Può esistere un server opzionale a zona smilitarizzata DMZ anche sul lato WLAN della rete. Il firewall di autenticazione wireless separa la rete WLAN dalla rete LAN proteggendo quindi la rete aziendale dagli accessi effettuati tramite i dispositivi wireless. In una disposizione 802.1x/EAP (Extensible Authentication Protocol), l'Access Point contiene il firewall e un server RADIUS (Remote Authentication Dial-In Service) che deve essere situato nella rete locale. In una disposizione a rete
privata virtuale VPN (Virtual Private Network), la rete locale ospita un server VPN che rappresenta il punto di terminazione del tunnel VPN. Entrambi i firewall avranno bisogno di un accesso per trasportare il traffico VPN dalla rete WAN e al lato WLAN della rete locale.
2.7 - Politica di sicurezza: le opzioni disponibili
Occorre conoscere esattamente ciò che si deve proteggerere. Occorre anche avere un' idea di chi potrebbe avere interesse a conoscere queste informazioni: hacker, clienti, utenti interni (dipendenti e consulenti) o concorrenti. Partendo da queste informazioni è possibile svolgere un'analisi dei rischi per determinare che cosa è a rischio (i dati o la rete) e il livello di contromisure che sono necessarie per risolvere il problema. Nella gestione dei rischi è possibile ignorare, accettare, difendere o sorvolare un problema. Sfortunatamente non esiste una politica di sicurezza "pronta all'uso" in grado di proteggere contro ogni rischio in quanto ogni situazione prevede requisiti specifici e ogni azienda adotta procedure specifiche che stabiliscono il modo in cui devono essere svolte le implementazioni.
2.7.a - Nessuna sicurezza
In questo modo si lascia in pratica aperta la porta della rete. Chiunque potrà arrivare e accedere alla rete. Sostanzialmente si ignorano tutti i potenziali rischi per la
sicurezza.
2.7.b - Accesso pubblico
L' accesso pubblico consiste nel distribuire le chiavi della rete a tutti coloro di cui ci si fida. Il processo di autenticazione protegge la rete verificando le credenziali di accesso. In alcuni casi l'accesso al sistema è consentito a pagamento. Molte di queste soluzioni non creano un tunnel sicuro per i propri utenti. 1 dati vengono infatti trasmessi in chiaro. Gli utenti devono quindi fornire una propria forma di protezione contro le violazioni alla segretezza, per esempio utilizzando una rete privata virtuale per collegarsi alla rete aziendale.
2.8 - Sicurezza oltre a WEP : Wi-Fi Protected Access
(WPA)
Questi è un protocollo per la sicurezza delle reti Wi-Fi creato per tamponare i problemi di scarsa sicurezza del precedente protocollo di sicurezza, il WEP. Il WPA implementa parte del protocollo IEEE 802.11i e rappresenta un passaggio intermedio per il raggiungimento della piena sicurezza. Questa verrà raggiunta quando i dispositivi implementeranno in toto lo standard IEEE 802.11i.
WPA è progettato per utilizzare lo standard IEEE 802.1x per gestire l'autenticazione e la distribuzione di differenti chiavi per ogni utente, sebbene per questioni di compatibilità supporta la precedente gestione a chiave condivisa . I dati sono cifrati col l'algoritmo di cifratura a blocchi RC4 con chiave a 128 bit e vettore di inizializzazione a 48 bit. Una delle modifiche che introducono maggiore robustezza
all'algoritmo è la definizione del Temporal Key Integrity Protocol (TKIP). Questo protocollo dinamicamente cambia la chiave in uso e questo combinato con il vettore di inizializzazione di dimensione doppia rispetto al WEP rende inefficaci e metodi di attacco utilizzati conto il WEP. In aggiunta all'autenticazione e alla cifratura il WPA introduce notevoli miglioramenti nella gestione dell'integrità. Il CRC utilizzato dal WEP non era sicuro, era possibile modificare il messaggio mantenendo coerente in CRC anche senza conoscere la chiave. Per evitarlo il WPA utilizza un nuovo metodo per verificare l'integrità dei messaggi chiamato "Michael". Questo include un contatore associato al messaggio per impedire all'attaccante di ritrasmettere un messaggio che è già stato trasmesso nella rete.
In sostanza il WPA aumenta la dimensione della chiave, il numero delle chiavi in uso, include un sistema per verificare l'autenticità dei messaggi migliore e quindi incrementa la sicurezza della WLAN rendendola effettivamente analoga a quella di una rete su cavo. La Wi-Fi Alliance (gruppo che gestisce lo standard Wi Fi) ha dichiarato che utilizzarà il termine WPA2 per identificare i dispositivi che avranno il pieno supporto dello standard IEEE 802.11i.Wi-Fi Alliance ha introdotto i termini WPA(2)-Personal e WPA(2)-Enterprise per differenziare due classi di prodotti. i Personal utilizzeranno il metodo PSK a chiave condivisa mentre i WPA(2)-Enterprise utilizzeranno un server di autenticazione. Questo per differenziare le due classi di sicurezza.
2.9 - TKIP
Temporal Key Integrity Protocol (TKIP), come definito nelle specifiche dello standard 802.11i, gestisce la parte di criptaggio. TKIP è stato progettato con un pesante vincolo: deve operare sull' hardware esistente, e perciò non può richiedere un carico computazionale per un criptaggio avanzato. TKIP è un “involucro” intorno al
criptaggio gia esistente del WEP. Comunque, la chiave usata per il criptaggio nel TKIP è lunga 128 bit. Un aspetto importante è che questi cambia la chiave usata per ogni pacchetto. La chiave viene creata mescolando insieme una combinazione di cose, tra cui una chiave base (chiamata Pairwise Transient Key), l'indirizzo MAC della stazione trasmettente, e il numero identificativo del pacchetto. L'operazione di mixing ha lo scopo di porre una minima richiesta alla stazione e all' Access Point, che ha già una sufficente forza crittografica cosi che non può essere facilmente violato. Ogni pacchetto trasmesso usando TKIP ha un unico numero identificativo di 48-bit che è incrementato ogni volta che un nuovo pacchetto viene trasmesso e viene usato sia come vettore di inizializzazione sia come parte della chiave. Mettendo un numero progressivo nella chiave assicura che la chiave è diversa da pacchetto a pacchetto. Questo risolve un altro problema del WEP, l'attacco a collisione, che capita quando la stessa chiave è usata per due diversi pacchetti. Con chiavi diverse non ci sono più collisioni. Usando un numero progressivo come vettore di inizializzazione aiuta a risolvere un altro problema del WEP , quello chiamato attacco a ripetizione. Poiché un numero sequenziale a 48-bit per ripetersi ci vorrebbero mille anni, nessuno può replicare i vecchi pacchetti da una connessione wireless, questi verrebbero considerati come danneggiati poiché il sequence number non sarebbe corretto. L' ultimo, e più importante, tassello che viene aggiunto nella chiave del TKIP è la chiave base. Senza un modo per generare chiavi base uniche, TKIP risolverebbe molti problemi del WEP, ma non il peggiore: il costante riutilizzo di una chiave ben conosciuta da tutti sulla WLAN. Per affrontare ciò, TKIP genera la chiave base che è mischiata nella chiave per pacchetto. Ogni volta che una stazione wireless si associa a un Access Point, una nuova chiave base viene creata. Questa chiave base è generata dal mescolamento di una speciale sessione segreta con alcuni numeri randomici (chiamati nonces) generata dall' Access Point e la stazione cosi come l'indirizzo MAC dell'access point e la stazione. Con l'autenticazione 802.1x, la sessione segreta
è unica ed è trasmessa in modo sicuro alla stazione dal server di autenticazione, quando si usa TKIP con le chiavi precondivise, la sessione segreta è la stessa per tutti e non cambia mai, da cui la vulnerabilità di usare TKIP con chiavi precondivise.
2.10 - Misure di sicurezza di 802.11 oltre WPA
WPA, quando sarà disponibile, rappresenterà un passo in avanti per la sicurezza di una rete WLAN per abitazioni o per piccole imprese. Tuttavia, per le grandi aziende, per rendere sicura una rete WLAN si dovranno utilizzare 802.11 x/EAP e le reti private virtuali VPN. 802.lx/EAP offre una maggiore possibilità di scelta mentre una rete privata virtuale consente agli utenti di accedere alla rete aziendale da qualsiasi posizione.
2.10.a - Autenticazione delle porte per reti 802.1 x
L' autenticazione 802.1x per reti WLAN prevede tre attori principali: il richiedente (normalmente il software client), l'autenticatore (normalmente l'Access Point), il server di autenticazione (normalmente un server RADIUS, anche se 802.1x non richiede in modo specifico RADIUS). L' autenticatore si connette alla rete locale.
Figura 2.4
Normalmente l'autenticazione 802.1x si svolge nel seguente modo: il richiedente (nel client) tenta di connettersi all'Access Point inviando un messaggio di avvio. L' Access Point rileva il richiedente e attiva la relativa porta in modo da consentire l'inoltro solo di messaggi 802. 1 x/EAP. Ogni altro traffico viene bloccato.
Il richiedente invia un messaggio EAP-start. L'Access Point utilizza il messaggio EAP-request per ottenere l'identità del richiedente. Il pacchetto EAP-response contenente l'identità del richiedente viene inoltrato al server di autenticazione (AS).Il server di autenticazione autentica il richiedente o lo rifiuta. Una risposta di autenticazione positiva attiverà la porta mentre una risposta di autenticazione negativa provocherà il blocco della porta.
802.1x definisce una struttura di autenticazione per le reti WLAN che consente di autenticare un utente tramite un'autorità centrale. L' algoritmo utilizzato per determinare se un utente è autentico è lasciato aperto e dunque è possibile utilizzare vari tipi di algoritmi. Fra gli esempi vi sono le soluzioni a certificato come EAP-TLS (EAP-Transport Layer Security), le soluzioni basate su password come EAP-OTP (EAP-One Time Password) e EAP-MD5 (EAP-Message Digest 5), le soluzioni a Smart Card come EAP-SIM (EAP-Subscriber Identification Module) e le soluzioni ibride come EAP-TTLS (EAP-Tunneled TLS Athentication Protocol) che usano sia certificati che password. Alcune aziende offrono una soluzione EAP proprietaria, come nel caso di LEAP (Lightweight EAP) di Cisco.802.1x usa EAP, un protocollo descritto nel documento RFC 2284 che può operare su reti Ethernet, Token Ring o WLAN per lo scambio dei messaggi durante il processo di autenticazione.
2.10.c - EAP (Extensible Authentication Protocol)
Per risolvere i difetti dell'autenticazione tramite il protocollo WEP si stanno elaborando soluzioni basate sulle specifiche 802.lx che a loro volta si basano sul protocollo EAP sviluppato dalla IETF (Intemet Engineering Task Force). EAP è stato progettato per privilegiare la flessibilità ed è stato utilizzato quale base per vari tipi di autenticazione su reti.
802.1x si basa su EAP. Il protocollo EAP è stato specificato formalmente nel documento RFC 2284 ed è stato inizialmente sviluppato per l'utilizzo con il protocollo PPP (Point-to-Point Protocol); quando venne introdotto PPP, erano disponibili due protocolli di autenticazione degli utenti, ognuno dei quali, richiedeva l' uso di un numero di protocollo PPP. L'autenticazione non è un problema che possa essere risolto una volta per tutte per ogni situazione e a quel tempo era un'area di
ricerca avanzata. Invece di inserire i numeri PPP per protocolli di autenticazione che sarebbero diventati obsoleti, IETF ha standardizzato il protocollo EAP. IEEE 802.1 x non è un unico metodo di autenticazione ma utilizza come struttura di autenticazione il protocollo EAP. Questo significa che gli switch 802.1x e gli Access Point possono supportare un'ampia varietà di metodi di autenticazione, compresa l'autenticazione a certificato, a Smart Card, a token card, a password monouso e così via. In ogni caso le specifiche 802.1x non prevedono o richiedono alcun metodo di autenticazione. Poiché gli switch e gli Access Point fungono da punti di passaggio per il protocollo EAP, è possibile utilizzare altri metodi di autenticazione senza aggiornare lo switch o l'Access Point aggiungendo il software semplicemente sull'host e sui server di autenticazione. Poiché, a differenza di PPPOE (Point-to-Point over Ethernet) o VPN, IEEE 802.lx non prevede l'incapsulazione, non aggiunge alcun sovraccarico di pacchetti e può essere implementato su switch e Access Point esistenti senza alcun impatto prestazionale. Questo significa che IEEE 802.1 x può adattarsi a velocità comprese fra 11 Mbit/s (802.11) a oltre 10 Gbit/s e può essere attivato sugli switch esistenti tramite un semplice aggiornamento del firmware senza costringere ad acquistare nuovo hardware. Sugli host, poiché IEEE 802.1 x può essere implementato direttamente nei driver della scheda di interfaccia di rete, il supporto può essere attivato richiedendo nuovi driver al produttore; dunque non sarà necessario installare un nuovo sistema operativo.
IEEE 802.lx si integra bene con gli standard aperti di autenticazione, autorizzazione e accounting (AAA), fra cui RADIUS e LDAP (Light-weight Directory Access Protocol) e dunque si adatta all'infrastruttura esistente per la gestione delle reti ad accesso remoto e alle reti virtuali. Per gestire l'accesso alla rete basato su IEEE 802.x possono essere utilizzati i server RADIUS (fra cui Windows 2000 IAS) che supportano EAP. Queste specifiche descrivono il funzionamento di IEEE 802. 1 x e il modo in cui può essere gestito tramite RADIUS e SNMP. Tramite RADIUS, IEEE
802.1x consente la gestione dell'autorizzazione utente per utente.
Fra i servizi offerti utente per utente vi sono il filtraggio (al livello 2 o 3), i tunnel, le reti locali virtuali dinamiche (VLAN dinamiche), i limiti di velocità di trasmissione dati e così via.
2.10.d - RADIUS (Remote Access Dial-In User Service)
RADIUS è attualmente lo standard di fatto per l'autenticazione remota. Si tratta di un protocollo ampiamente utilizzato per l'autenticazione, l'autorizzazione e l'accounting di accesso alle reti sia nei nuovi sistemi che nei sistemi preesistenti.
I problemi di sicurezza riguardano il protocollo e la scarsa implementazione delle specifiche. Il protocollo non offre la segretezza, l'autenticazione dei messaggi del client e la protezione contro gli attacchi a ripetizione (integrità). Lo schema a segreto condiviso non supporta in modo sufficiente l'entropia delle chiavi e sembra aperto a un attacco off-line a dizionario. RADIUS deve pertanto essere reso sicuro utilizzando un protocollo esterno come IPSec.
RADIUS poggia sul protocollo UDP (User Datagram Protocol) e non prevede alcuna politica di ritrasmissione o di conservazione dei record di accounting; in più non supporta gli acknowledgement a livello dell'applicazione e i messaggi d'errore. La perdita di pacchetti può trasformarsi in una perdita di profitti. Questo rende l'accounting di RADIUS poco affidabile per i servizi a fatturazione, specialmente negli utilizzi interdominio (come nel caso del roaming), dove può verificarsi una sostanziale perdita di pacchetti via Internet. Il pacchetto di protocolli RADIUS è costituito da due specifiche: l'autenticazione e l'accounting. La porzione di autenticazione può essere utilizzata per determinare se un utente può avere accesso alla rete. L'autenticazione può essere svolta localmente o tramite un proxy verso un
altro server RADIUS. Il server remoto può essere scelto sulla base di una parte del nome utente, della rete specificata nel nome utente o di un'altra informazione disponibile nella richiesta. E' anche possibile trarre gli indirizzi IP e le chiavi segrete per il server remoto da una fonte esterna, in modo da gestire con facilità queste destinazioni.
2.11 - Reti private virtuali VPN
Una rete privata virtuale consente a un gruppo di utenti di accedere ai dati e alle risorse di una rete privata in modo sicuro utilizzando Internet o un'altra rete. Le
reti private virtuali sono caratterizzate dall'utilizzo concorrente di un sistema a tunnel, crittografia, autenticazione e controllo degli accessi su una rete pubblica. Le reti private virtuali creano connessioni punto-a-punto virtuali utilizzando una tecnica chiamata tunnel. Come si può immaginare, il tunnel si comporta come una sorta di tubo che percorre una rete per connettere due punti. Normalmente avviato da un utente remoto, il processo di tunnel incapsula i dati e ne esegue la crittografia all'interno di pacchetti TCP/IP standard che possono successivamente viaggiare in modo sicuro su Internet per raggiungere un server VPN posto all'altra estremità, dove i dati vengono decrittografati, decapsulati e poi ammessi nella rete locale privata. Sono disponibili due tipi di reti private virtuali:
➢ Reti private virtuali ad accesso remoto.
Queste reti connettono in modo sicuro gli utenti remoti come per esempio gli utenti mobili dell'azienda. Questo tipo di rete privata virtuale può essere utilizzato dagli utenti 802.11 per avviare una sessione con la rete locale aziendale, per esempio nel caso di venditori dotati di computer portatili o di dipendenti che hanno bisogno di connettersi in modo interrnittente da varie posizioni, per esempio
da alberghi, aeroporti, centri per conferenze e locali pubblici. I problemi principali sono la crittografia e l'autenticazione.
➢ Reti private virtuali LAN-to-LAN
Questi collegamenti consentono di collegare in modo sicuro le sedi locali alla rete aziendale (reti private virtuali intranet). Inoltre connettono in modo sicuro tutti i partner esterni, come clienti, fornitori e partner commerciali (reti private virtuali extranet). Le reti private virtuali intranet o extranet possono essere utilizzate per collegamenti wireless sicuri punto-a-punto. Per esempio, un collegamento wireless può connettere un hotspot a una sede centrale. Questo tipo di rete privata virtuale deve essere crittografato e autenticato e deve rispondere a rigidi requisiti in termini di prestazioni e ampiezza di banda, in quanto questo tipo di connessione deve trasportare il traffico della rete.
2.11.a - Reti private virtuali e 802.11
Per supportare le reti locali wireless (WLAN) 802.11, occorre utilizzare un'applicazione client VPN su tutte le macchine che utilizzeranno la rete WLAN e introdurre nella rete un gateway VPN fra l'Access Point e il segmento della WLAN, come illustrato nella Figura .
Figura 2.5
Viene realizzato un tunnel crittografato dal PC portatile attraverso il gateway wireless che termina nel gateway della rete privata virtuale il quale offre l'accesso alla rete locale cablata tramite l'Access Point wireless. Tutto il traffico che passa attraverso l'Access Point deve attraversare il gateway VPN prima di entrare nella
rete locale. I dati in chiaro che si trovano all'altro lato del tunnel sicuro possono quindi procedere verso la destinazione all'interno della rete locale. Il tunnel VPN fornisce i servizi di autenticazione, segretezza e integrità dei dati. Pertanto non è più necessario utilizzare altri meccanismi di crittografia come WEP.
Una soluzione a rete privata virtuale consente agli utenti mobili di accedere alla propria rete da aree remote in cui non può essere garantita la sicurezza, come illustrato nella Figura 2.6 .Il tunnel sicuro si estende dal computer client attraverso Internet, attraverso il gateway della rete privata virtuale che funge da firewall fino a
raggiungere il server della rete privata virtuale. Da questo server i dati procedono verso la destinazione all'interno della rete aziendale.
Figura 2.6
2.11.b - Punti deboli delle reti private virtuali
Sebbene le reti private virtuali siano considerate soluzioni sicure per le reti locali wireless, le reti private virtuali con autenticazione monodirezionale restano vulnerabilì ad attacchi man-in-the-middle. L' attivazione di reti locali wireless in grandi aziende può rappresentare un incubo, a causa della distribuzione e manutenzione del software client per tutti i client. Quasi tutte le soluzioni VPN attualmente in uso sono di tipo proprietario (ovvero non sono standard IETF) e in
genere non sono interoperabili. Per questo motivo, il software client potrebbe non essere disponibile per tutti i dispositivi. Inoltre spesso, una volta installata una rete privata virtuale, non sarà possibile impiegare sulla stessa macchina un'altra rete privata virtuale. Pertanto la soluzione a rete privata virtuale risulta poco pratica per rendere sicura una rete WLAN ad accesso pubblico.
2.12 - Gli standard per reti private virtuali
Sono stati scritti molti protocolli per reti private virtuali. Questi protocolli tentano di risolvere gli stessi problemi di sicurezza presenti nelle reti private virtuali. Si tratta di protocolli in competizione per poter essere accettati e incompatibili fra loro.
2.12.a - IPsec
Le reti private virtuali basate sul protocollo IPSec rappresentano quasi uno standard per la sicurezza delle trasmissioni IP su reti dati pubbliche condivise, in quanto è stato sviluppato software per reti private virtuali per un'ampia varietà di client. Il protocollo risolve i problemi di autenticazione, segretezza dei dati, integrità e gestione della chiave, oltre a fornire l'accesso a tunnel.
Fondamentalmente IPSec incapsula un pacchetto inbustandolo in un altro pacchetto. Poi esegue la crittografia del pacchetto esterno per poi inbustarlo. Questo flusso di traffico crittografato forma un tunnel sicuro all'interno di una rete altrimenti non
sicura. Esistono comunque problemi di interoperabilità fra le implementazioni dei vari produttori.
2.12.b - PPTP
PPTP è una specifica di protocollo sviluppata da varie società. Quasi tutte le versioni di Windows includono il supporto nativo di questo protocollo. PPTP era il sistema a rete privata virtuale predominante prima che venisse impiegato IPSec. PPTP gestisce il tunnel di dati, esegue la crittografia dei dati dell'utente e autentica gli utenti. PPTP è un protocollo a tunnel che fornisce agli utenti remoti un accesso crittografato e multi-protocollo verso la rete aziendale attraverso Internet. PPTP utilizza l'incapsulazione GRE (Generic Routing Encapsulation). PPTP incorpora i pacchetti IP in pacchetti GRE prima di inviarli nel tunnel. I protocolli del livello di rete come IPX (Internetwork Packet Exchange) e NetBEUI (NetBIOS Enhanced User Interface) vengono incapsulati dal protocollo PPTP per consentime il trasporto via Internet.
2.12.c - L2TP
L2TP è stato sviluppato da Cisco e supporta client non TCP/IP e protocolli come Frame Relay, ATM (Asynchronous Transfer Mode) e SONET (Synchronous Optical Network), ma non riesce a definire uno standard di crittografia. Sebbene L2TP sia compatibile con la maggior parte dei protocolli di rete, non viene ampiamente utilizzato ma è comune in alcune reti di società telefoniche e provider Internet.
L2TP over IPSec offre la gestione del tunnel, l'autenticazione dell'utente, l'autenticazione reciproca dei computer, la crittografia, l'autenticazione dei dati e l'integrità dei dati; inoltre L2TP offre un supporto multiprotocollo.
2.12.e - SSL
SSL, operante solo con i protocolli TCP/IP, è il principale protocollo per connessioni sicure fra browser e server Web, normalmente per connessioni con trasferimento di numeri di carte di credito e altri dati riservati. SSL richiede che il sito abbia un certificato valido emesso da un'autorità di certificazione autorizzata e fornisce i servizi di gestione del tunnel, crittografia dei dati, autenticazione reciproca, integrità e non-ripudio.
2.12.f - Il protocollo di sicurezza SOCKS
SOCKS è un protocollo per reti private virtuali che opera al livello 5 mentre la maggior parte degli altri protocolli opera ai livelli 2 o 3. SOCKS versione 5 è un protocollo proxy a livello di circuito che è stato originariamente progettato per facilitare l'attraversamento di firewall autenticati. Il funzionamento a un livello più elevato significa che SOCKS può operare solo con detertninate applicazioni. SOCKS v5 supporta un'ampia gamma di schemi di autenticazione, crittografia, tunnel e gestione della chiave. In generale è considerato un fallimento di mercato.
Kerberos rappresenta il terzo metodo per rendere sicuro il collegamento radio 802.11. Viene utilizzato principalmente da Symbol Technologies Inc. con le reti WLAN Spectrum24. Kerberos offre un ottimo livello di sicurezza, garantisce una connettività di rete ininterrotta per sistemi voce-dati e risponde alle esigenze di sicurezza tipiche dei gestori della rete.Kerberos fornisce sia l'autenticazione dell'utente sia la gestione della chiave di crittografia e può proteggere le reti dagli attacchi sui dati in trasmissione, fra cui l'interruzione, l'intercettazione, la sostituzione e la fabbricazione. Kerberos è stato votato quale "servizio di sicurezza obbligatorio" per l'autenticazione e la gestione della chiave di crittografia per 802.11e. Kerberos fornisce i servizi di segretezza, autenticazione, integrità, controllo degli accessi e disponibilità e funziona anche piuttosto bene durante le operazioni di trasferimento (handoff) fra un Access Point e un altro, offrendo pertanto una connettività ininterrotta dell'applicazione. Anche la riautenticazione sulla rete è molto rapida. Kerberos si basa sul modello di distribuzione della chiave sviluppato da Needharn e Schroeder L'autenticazione della rete tramite Kerberos prevede quattro fasi: scambio di autenticazione, scambio del servizio di assegnamento ticket, scambio utente/server e comunicazioni sicure fra l'utente e il server. L'utente invia una richiesta a un server di autenticazione richiedendo un ticket al server TGS (Ticket-Granting Server). Il server di autenticazione ricerca l'utente nel proprio database, trova la chiave segreta del client e genera una chiave di sessione (SK1) per gli scambi fra il client e il server TGS. Il server di autenticazione esegue la crittografia della chiave di sessione utilizzando la chiave segreta dell'utente, in modo da formare un messaggio. Inoltre il server di autenticazione usa la chiave segreta del server TGS (nota solo al server di autenticazione e al server TGS) per crittografare la chiave di sessione e il nome dell'utente in modo da formare un ticket TGT (Ticket-Granting Ticket). Questo ticket e il messaggio vengono rinviati all'utente. L'utente esegue la decrittografia del
messaggio ed estrae la chiave di sessione. Poi l'utente crea un autenticatore crittografando il nome dell'utente, l'indirizzo IP e un timestamp con la chiave di sessione. L'utente invia al server TGT questo autenticatore insieme al ticket TGS, richiedendo l'accesso al server di destinazione. Il server TGS esegue la decrittografia del ticket TGT per estrarre la chiave di sessione SK1; poi utilizza la chiave di sessione SK1 all'interno del ticket TGT per decrittografare l'autenticatore. Quindi verifica le informazioni contenute nell'autenticatore, il ticket, l'indirizzo di rete dell'utente e il timestamp. Se tutto corrisponde, consente di procedere. Poi il server TGS crea una nuova chiave di sessione (SK2) per l'utente e il server di destinazione, ne esegue la crittografia con la chiave SK1 e la invia all'utente. Il server TGS invia anche un ticket contenente il nome dell'utente, un indirizzo di rete, un valore timestamp e la data di scadenza del ticket (il tutto crittografato con la chiave segreta del server di destinazione) e il nome del server.
L'utente esegue la decrittografia del messaggio e poi ottiene la chiave di sessione SK2. Finalmente pronto a contattare il server di destinazione, l'utente crea un nuovo autenticatore crittografato con SK2.
Figura 2.7
L' utente invia il ticket di sessione (già crittografato con la chiave segreta del server di destinazione) e l'autenticatore crittografato. Poiché l'autenticatore contiene testo in chiaro crittografato con la chiave SK2, ciò dimostra che l'utente conosce la chiave. Il timestamp crittografato impedisce le intercettazioni che prevedano la registrazione sia del ticket che dell'autenticatore e il loro riutilizzo. Il server di destinazione esegue la decrittografia e il controllo del ticket, dell'autenticatore, dell'indirizzo utente e del timestamp. Per le applicazioni che richiedono un'autenticazione bidirezionale, il server di destinazione restituisce un messaggio costituito dal timestamp più una unità, crittografato con la chiave SK2. Questo dimostra all'utente che il server conosceva la
sua chiave segreta e pertanto può decrittografare il ticket e l'autenticatore.Il server di destinazione sa che l'utente è veramente chi sostiene di essere e ora le due parti condividono una chiave di crittografia che consente di svolgere comunicazioni sicure. Poiché solo l'utente e il server di destinazione condividono questa chiave, possono essere sicuri che un messaggio recente crittografato con questa chiave è stato prodotto dall'altra parte.
2.12.h - I difetti di Kerberos
Ecco alcuni dei difetti del sistema di autenticazione di Kerberos.
• Se sullo stesso computer, contemporaneamente a un utente autorizzato, è connesso un hacker, le chiavi memorizzate nell'area cache del computer risulteranno accessibili anche all'hacker.
• Il sistema Kerberos conta sulla sincronizzazione dei clock su macchine differenti. Se un intruso riesce a modificare l'ora impostata su un host, il ticket di autenticazione sulla rete può essere utilizzato ripetutamente, generando in pratica un timestamp senza scadenza.
• Occorre confidare sul fatto che tutte le tre macchine (il server dei tempi e di autenticazione KDC, il client e il server di rete non siano controllate da un intruso. • Se un ticket viene inoltrato, il sistema deve fidarsi di tutti gli altri sistemi che il
ticket ha attraversato prima di raggiungere il server corrente. Tuttavia, il server in cui arriva il ticket non può sapere da dove proviene, può solo sapere che è stato in altri server sulla base di un fiag, che è stato impostato a l.
crittografia a chiave pubblica.
• Più a lungo è valido un ticket, più è probabile che venga sottratto e utilizzato da un utente non autorizzato.
• In un sistema wireless che utilizza come metodo di autenticazione la registrazione dell'indirizzo MAC, se la scheda di interfaccia di rete venisse rubata, questa conterrà il meccanismo di autenticazione dell'utente e consentirà pertanto l'accesso alla rete."
2.13 - Multipath
Il Multipath ha luogo quando un segnale RF esegue differenti percorsi nel propagarsi dalla sua sorgente verso il nodo destinazione. Mentre il segnale si propaga, muri, sedie, tavoli, e altri oggetti che si trovano sul suo cammino lo fanno deviare in varie direzioni. Una parte del segna le può andare direttamente alla distinazione, un altra può deviare sui vari ostacoli e poi raggiungere la sua destinazione.Il risultato è che una parte del segnale subirà un ritardo e avra un percorso più lungo per raggiungere la sua destinazione. Ritardi per il Multipath causa ai simboli di informazione presenti nel segnale 802.11 di overlap, che confonde il ricevitore. Questo è ciò che viene chiamato ISI ( Intesymbol Interference ). A causa della forma del segnale convesso l'informazione trasmessa, il ricevitore farà errori quando andrà a demodulare i simboli di informazione. Se un ritardo è grande a sufficenza nel pacchetto si avranno errori nei bit. Il ricevitore non sarà in grado di distinguere i simboli e di interpretare correttamente i bit corrispettivi.Quando si ha un multipath di questo tipo, la stazione ricevente rivelerà l'errore con il processo di checking dell' 802.11. Il CRC (cyclic redundancy check) non lavorerà nel modo corretto, indicando che ci sono degli errori nel pacchetto. Di conseguenza agli errori nei bit, la stazione ricevente non spedirà la
sua conferma di avvenuta ricezione alla sorgente. La sorgente eventualmente ritrasmetterà il pacchetto dopo aver atteso per l'accesso al mezzo trasmissivo. A causa delle ritrasmissioni, gli utenti avranno a che fare con un throughput più basso, la cui riduzione dipèenderà dal sito.Paragonando FHSS (frequency hopping spread spectrum), DSSS (direct sequence spread spectrum) and OFDM (orthogonal frequency division multiplexing), la DSSS usata dall 802.11b è quella più sensibile al multipath. Le componenti in frequenza di un segnale a banda più larga varieranno di più in termini di riflettività quando incontrano ostacoli nel cammino.FHSS usa canali relativamente più stretti e cambia spesso la frequenza, e difficilmente si avra la comparsa del multipath. OFDM (usata da 802.11a e da 802.11g) trasmette le informazioni su molti sottocanali a banda più stretta, riducendo cosi l'impatto del multipath.DSSS , comunque, trasmette le informazioni continuamente su un canale relativamente più ampio.Questo lascia più spazio alle componenti del segnale DSSS a frequenze più basse di riflettere gli ostacoli in maniera diversa rispetto alle componenti dello stesso segnale a frequenze più alte. La differenza in riflettività causerà un percorso più lungo al segnale. Se con dei software dati dal gestore della Lan wireless si vede che la rete wireless ritrasmette i pacchetti spesso,quando è sottoposta al degrado del multipath. Per ovviare a ciò la diversità è la migliore soluzione:cioè l' utilizzo di due antenne per ogni apparato con lo scopo di aumentare la probabilità di ricevere un segnale migliore su l'atra antenna. Le antenne in diversità hanno una separazione fisica dall' apparato radio per assicurare che una delle due antenne incontrerà minore effetti di propagazione dovuti al multipath rispetto all'altra.In altre parole, il segnale composito che una antenna riceve potrebbe essere più simile all'originale rispetto a quello ricavato su l'atra antenna. Il ricevitore usa dei software di filtraggio del segnale e di decisione per scegliere il miglior segnale da demodulare.
2.14 - Handover Time
Un problema è causato dalla cosiddetta procedura di Handover. Si tratta della procedura effettuata da una stazione durante il passaggio dalla zona di copertura di un Access Point alla zona di copertura di un altro AP, quindi durante il passaggio da un BSS a un altro. Il problema sta nel fatto che la procedura di handover richiede una serie di operazioni che prevedono un certo tempo per essere completate, questo tempo causa un certo periodo di inattività della rete, nel senso che il trasferimento di dati verso e da quella stazione deve essere interrotto.
I dati che vengono prodotti ai livelli superiori devono quindi essere immagazzinati in buffer e consegnati una volta ripristinato il normale funzionamento della rete. Questo inconveniente viene risentito in maniera drammatica dalle applicazioní real-time che non possono tollerare tempi di ritardo eccessivi. Sperimentalmente è stato provato che con le schede wireless in commercio la procedura di handover richiede da 1,1 a 1,9 secondi. La procedura di handover implica una serie di operazioni tra le quali il cambiamento del canale radio, lo scambio di messaggi di segnalazione, l'associazione al nuovo AP e la configurazione della rete cablata alla quale sono connessi gli AP per indicare che la stazione non sarà più raggiungibile tramite il vecchio AP ma i dati dovranno essere instradati verso il nuovo AP.
La procedura di handover presente nella 802.11b è studiata in modo tale da essere completamente trasparente ai livelli superiori, i quali non si accorgono di aver cambiato Access Point. La procedura prevede che al più i livelli superiori registrino un ritardo nella consegna dei pacchetti, la perdita delle trame viene infatti evitata grazie ai buffer in uplink e in downlink sia alla stazione che al vecchio Access Point. Le nuove trame dovranno essere trasmesse alla stazione wireless tramite il nuovo AP. I pacchetti in coda al vecchio AP dovranno essere ritrasmessi verso il nuovo AP
attraverso la rete cablata. Questo è ottenuto grazie ad una collaborazione tra gli Access Points, tramite il protocollo IAPP. Quest'ultimo problema causa inoltre che i pacchetti in partenza dalla stazione (Upstream) siano affettì da tempi di ritardo differenti rispetto ai pacchetti destinati alla stazione mobile (Downstream). Si presenta quindi una situazione asimmetrica che potrebbe compromettere le applicazioni a livello superiore.
2.15 - Overhead
I dispositivi WLAN 802.11 offrono a livello fisico differenti rate trasmissivi, in particolare per la 802.11b sono previste velocità di 11, 5.5, 2 e 1 Mbps. Queste velocità però sono relative alla trasmissione dei singoli bit della trama e sarebbero sfruttate solo se la stazione trasmettesse di continuo, senza tempi di attesa. Anche nel caso migliore (trasmissione a 11 Mbps), a causa dei meccanismi di accesso al mezzo il goodput effettivo risulta inferiore rispetto alla velocità indicata. Il goodput effettivo è la quantità di dati utente effettivamente trasmessi sulla rete. La degradazione è dovuta ai tempi di attesa DIFS e SIFS, al tempo per trasmettere i bit di preambolo della trama, al tempo di trasmissione degli ACK e all'overhead dato dai bit della trama che non trasportano dati utente (questo trascurando le possibili collisioni e errori sul canale).
Il tempo per trasmettere una trama dati può essere considerato come la somma dei singoli tempi delle varie operazioni di trasmissione, come indicato nelle formule seguenti:
T= ttr + tov
tov = DIFS + tpr + SIFS + ttr +tack
Con ttr, è indicato il tempo necessario per la trasmissione dei bit di preambolo e di
intestazione la cui durata varia a seconda della bitrate in uso, nel caso di 11 Mbps vale 96μs. I parametri DIFS e SIFS valgono rispettivamente 50μs e 10μs e la durata di tack vale 10μs sempre nel caso di 11 Mbps.
Possiamo ottenere il goodput complessivo tenendo conto dei seguenti fattori:
• l'overhead dei bit della trama che vengono utilizzati per le informazioni di controllo e indirizzamento;
• una trama di 1534 byte trasporta 1500 byte di dati utente. Si ottiene il goodput complessivo come segue:
g= 11Mbps x p;
p = ttr/T x 1500/1534=0,7
g = 7.74Mbps
Risulta così evidente come l'overhead riduca il goodput effettivo rispetto al rate ideale di trasmissione.
Fino ad ora, abbiamo considerato che il trasferimento dei dati andasse a buon fine in una sola trasmissione, ma non abbiamo considerato che, nel caso di più stazioni che contendono per l'accesso al mezzo, si possono verificare collisioni e quindi si può verificare la necessità di ritrasmettere la trama, con conseguenti tempi di attesa maggiori. Questo inconveniente è tanto maggiore quanto maggiore è il numero delle stazioni che contendono per l'accesso al mezzo. Considerando N il numero delle stazioni che devono trasmettere, è possibile completare la formula del tempo di trasmissione come segue:
T(N) = ttr + tov + tcount(N)
Ricavare un'espressione per tcount(N) non è semplice, ma è possibile scrivere una sua
approssimazione con l'ipotesi che la probabilità che si verifichi più di una collisione consecutivamente sia molto bassa. La formula è la seguente:
tcountN =SLOT∗1Pc N
2 N ∗
CWmin
2
che dipende dalla proporzione delle collisioni P,(X), calcolata come la probabilità che almeno una delle altre stazioni estragga lo stesso backoff time durante il primo periodo di contention. Tale probabilità è esprimibile come:
Pc N =1−1− 1 CWmin
N −1
A causa delle collisioni il goodput precedentemente calcolato, viene ridotto ulteriormente, questa riduzione è tanto maggiore quanto maggiore è il numero di stazioni contendenti.
2.16 - Unfairness
Il canale wireless è un mezzo condiviso nel quale le varie stazioni cercano di accedere tramite il meccanismo di Collision Avoidance, il quale permette, grazie al backoff esponenziale, di ridurre le collisioni di un valore molto elevato. Tale meccanismo però, legato alla natura del canale wireless, finisce per risultare in un metodo cosiddetto unfair di accesso per le varie stazioni. Si dice che l'accesso è
unfair per indicare che non tutte le stazioni vengono trattate allo stesso modo, nel
senso che non tutte hanno la stessa probabilità di ottenere l'accesso al mezzo e quindi di trasmettere. Alcune stazioni risultano imprevedibilmente privilegiate rispetto ad altre. Nelle reti cablate come l'ethernet le quali utilizzano il metodo di accesso CSMA/CD, si ottiene un accesso uguale per tutte le stazioni. Il problema sta nel
fatto che la principale differenza tra la rete cablata e la rete wireless è che la rete cablata è simmetrica, mentre la rete wireless risulta asimmetrica. Per rete simmetrica si intende che tutte le stazioni godono della stessa qualità del canale e, in caso di collisioni, queste vengono rilevate allo stesso modo da tutte le stazioni. Per rete asimmetrica si intende che le stazioni sono affette da differenti qualità del canale, differenti rapporti segnale rumore e differenti interferenze.
Questo fa si che le stazioni wireless non rilevino le collisioni allo stesso modo. Sono possibili infatti differenti situazioni nelle quali si verificano collisioni:
➢ è possibile che durante due trasmissioni indipendenti le due stazioni trasmittenti interferiscano l'una sull'altra ad entrambi i ricevitori. In questo modo nessuno dei due trasmettitori riceve l'ACK desiderato e la collisione viene rilevata da entrambi;
➢ è possibile che un trasmettitore non riceva l'ACK, non per una collisione, ma perché il ricevitore non può trasmettere, a causa della prenotazione del mezzo da parte di altre stazioni. Il trasmettitore potrebbe essere fuori portata e non aver ricevuto le trame suddette.
➢ è possibile che due stazioni trasmettano verso lo stesso ricevitore e che solo la trasmissione di una delle due venga correttamente ricevuta. Questo avviene nel caso in cui la potenza del segnale di una stazione, al ricevitore, sia molto più elevata di quella dell'altra.
Escluso il primo caso negli altri due solo alcune stazioni rilevano le collisioni e altre no. Questa situazione non si verifica nelle reti cablate ed ha come conseguenza che solo alcune stazioni incrementino la loro CW. A lungo andare nella trasmissione