il post serve a me come muletto e quindi al lettore con mezzi normali sarà visibile solo la parte non crittografata ed è esente da virus
NORTH BY NORTHWESTERN UNIVERSITY
Daley – Diddler School of Engineering
FACOLTÀ DI INGEGNERIA
DIPARTIMENTO DI INGEGNERIA BIOFISICA ED
ELETTRONICA
Tesi di Laurea Specialistica in
Ingegneria Elettronica
“ Metodi e
sperimentazione per la validazione della sicurezza di reti Wireless in ambito ferroviario metropolitano ”
Relatore: Chiar.mo Prof. Ing. I.Curry Favor
Correlatori: Ing. Les N. Toomy.Jr
Ing. Andrea Garibaldi
Ing. Nicolò Fresca
Candidato: Carluccio Bonzi
15 July 1968
ANNO ACCADEMICO 1966-1967
Methods and experiments to validate the security
of Wireless networks in railway and subway
applications.
The innovative signalling systems
born in recent years, especially in
the metropolitan area, are based
on using radio frequency
technology for bi-directional and
continuous communications
between the ground and train. This
type of communication is the basis
of the standard CBTC
(Communication Based Train
Control) that Ansaldo STS
implements on various plants such
as the metro in Naples and also in
Ankara, in Turkey. Several studies
will be carried out on this
background; we start from test on
the vulnerability of networks with
various types of encryption in
orderto see the degree of their
robustness and reliability and to be
able to estimate the possible risks
arising from attacks by malicious
people. Both attacks on the
confidentiality and on the
availability of communication will
be analyzed. We will finally
consider the issue of using different
types of 802.1X authentication
making a comparison between
solutions based on digital
certificates and passwords. Then
there will be a discussion on the
timing of radio resource
unavailability during the handover
process, according to CBTC
specification standard that require
rapid re-association, and the
possibility of implementing a
strong authentication method, such
as EAP-TLS, based on digital
certificates, both client and server
side. A comprehensive description
of the testing stages in the
laboratory will follow the
theoretical part
Alla Commissione Tirocini e Tesi
Sottopongo la tesi redatta dallo studente Carluccio Bonzi impiegato presso l’Azienda Sponsor OM di Milano Italia, per il programma Focus International Human Resource Management dal titolo: “Metodi e sperimentazione per la validazione della sicurezza di reti Wireless in ambito ferroviario e metropolitano”.
Ho esaminato, nella forma e nel contenuto, la versione finale di questo elaborato scritto, e propongo che la tesi sia valutata positivamente assegnando i corrispondenti crediti formativi.
Il Relatore Accademico
Prof. Rodolfo Zunino
Simboli e abbreviazioni
AAA Authetication Authorization Accounting
ACU Aironet Client Utility
AES Advanced Encryption Standard
AP Access Point
ARP Address Resolution Protocol
AS Authentication Server
ATO Automatic Train Operations ATP Automatic Train Protection ATS Automatic Train Supervision BSS Basic Service Set
BTK Base Transient Key
BT4 BackTrack 4
CBTC Communication Based Train Control
CCKM Cisco Centralized Key Management
CCMP Counter-Mode CBC Message Authentication Code Protocol
CA Certification Authority CRC Cyclic
Redundancy Check CTS Clear to Send
CUDA Compute Unified Device Architecture DHCP Dynamic Host Configuration Protocol DNS Domain Name System
DoS Denial of Service
DS Distribution System
EAP Extensible Authentication Protocol
EAPOL EAP Over LAN
ESS Extended Service Set
FAST Flexible Authentication via Secure Tunneling
FCS Frame Check Sequence GEK Group Encryption Key GIK Group Integrity Key GMK Group Master Key
GTK Group Transient Key
IBSS Indipendent Basic Service Set ICMP Internet Control Message Protocol ICV Integrity Check Value
IEEE Institute of Electrical and Electronics Engineers
IETF Internet Engineering Task Force
IGTK Integrity Group temporal Key
IE Information Element
IP Internet Protocol
ISM Industrial Scientific Medical
ISO International Organization for Standardization
ITU International Telecommunications Union
IV Initialization Vector KCK Key Confirmation Key KDC Key Distribution Center KEK Key Encryption Key KRI Key Renewal interval KRK Key Request Key
KSA Key Scheduling Algorithm
LAN Local Area Network
LWAPP Lightweight Access Point Protocol
LEAP Lightweight Extensible Authentication Protocol
LLC Logical Link Control MAC Medium Access Control MANET Mobile Ad hoc Network
MFP Management Frame Protection MIC Message Integrity Check MIMO Multiple Input Multiple Output MITM Man In The Middle
MK Master Key
MPDU MAC Protocol Data Unit
MS-CHAP Microsoft Challenge
Handshake Authentication Protocol
MSDU MAC Service Data Unit NAS Network Access Server NIC Network Interface Card
OFDM Orthogonal Frequency-Division Multiplexing
OSI Open System Interconnection PAC Protected Access Credential PC Personal Computer
PCMCIA Personal Computer memory Card International Association
PDA Personal Digital Assistant
PEAP Protected Extensible Authentication Protocol
PN Packet Number
PKC Proactive Key Caching PKI Public Key Infrastructure PMK Pairwise Master Key
PSK Pre-Shared Key
PTK Pairwise Transient Key
QoS Quality of Service
RA Registration Authority
RADIUS Remote Access Dial-In User Service
RC4 Rivest Cipher4
RK Rekey Number
RSN Robust Security Network
RSN IE Robust Security Network Information Element
RSNA Robust Security Network Association RSSI Received Signal Strength Indication RTS Request to Send
SNAP Sub Network Access Protocol
SSID Service Set Identifier
SSL Secure Sockets Layer
TCP Transmission Control Protocol
TK Temporary Key
TKIP Temporal Key Integrity Protocol
TLS Transport Layer Security
TMK Temporary MIC Key
TTAK TKIP Mixed Transmit Address and Key
TTLS Tunneled Transport Layer Security
UDP User Datagram Protocol WCS Wireless Control System WEP Wired Equivalent Privacy Wi-Fi Wireless Fidelity
WLC Wireless LAN Controller
WT Wireless Terminal
WLAN Wireless Local Area Network WPA Wi-Fi Protected Access WPA2 Wi-Fi Protected Access 2
Prefazione
Gli innovativi sistemi di segnalamento nati in questi ultimi anni, soprattutto in ambito metropolitano, si basano sull’utilizzo di una tecnologia a radio frequenza per la trasmissione bidirezionale e continua tra terra e treno. Questo tipo di comunicazione è alla base dello standard CBTC (Communication Based Train Control) che Ansaldo STS implementa su vari impianti come una linea della metropolitana di Napoli e la metropolitana di Ankara, in Turchia.
Questa tesi nasce appunto dalla collaborazione tra Università degli Studi di Northwestern e la società Italiana Ansaldo STS, uno dei principali operatori mondiali nella gestione di sistemi di trasporto ferroviari e metropolitani avente specifiche competenze di sistemista/integratore tecnologico nel settore del segnalamento “chiavi in mano” ferroviario e metropolitano.
Su questo sfondo saranno eseguiti vari studi, a partire dai test sulla vulnerabilità delle reti con diverse tipologie di crittografia, per poterne stimare il grado di robustezza e affidabilità e per poter avere un’idea degli eventuali rischi derivanti da possibili attacchi informatici da parte di persone malintenzionate. Verranno analizzati sia attacchi alla confidenzialità che alla disponibilità della comunicazione. Infine, sarà affrontato il problema dell’utilizzo di diversi tipi di autenticazione 802.1X. Si effettuerà un confronto tra soluzioni basate sull’utilizzo dei certificati digitali e soluzioni basate su password in un’architettura di autenticazione centralizzata mediante RADIUS. Saranno analizzati i tempi di indisponibilità della risorsa radio durante il processo di handover, in virtù delle specifiche del CBTC che richiedono tempi brevi di riassociazione, e la possibilità di implementazione di un metodo di autenticazione robusta, come l’EAP-TLS, basata sull’utilizzo di certificati digitali, sia lato client che server. Alla parte puramente teorica seguirà un’ampia descrizione delle fasi di test in laboratorio. La presente tesi è redatta in Italiano secondo le modalità formative indicate in Socrates quale programma d’azione comunitario per la cooperazione europea in materia di istruzione per rispondere adeguatamente alle maggiori sfide del nuovo secolo, in conformità dell’articolo 149 del Trattato di Amsterdam indicato come Tempus quale programma transeuropeo di cooperazione nell’istruzione superiore indicato dall’Istituto bilingue “Vilfredo Pareto” di Meis CH con la concessione del Console Generale Dott. Stefano Mausi.
Indice
Sommario
Introduzione ........................................................................................................................... 1
Capitolo 1. WLAN (Wireless Local Area
Network)............................................................. 2
Introduzione ................................................................................................................. 3
1.2 Il protocollo IEEE 802.11 ............................................................................................ 9
1.2.1 Formato di un generico frame 802.11 ..................................................................... 12
1.2.2 Analisi dell'header di un frame 802.11 .................... 15
1.3 Il Protocollo WEP .................................................................................................. 20
1.3.1 Autenticazione .................................................................................................... 22
1.3.2 Debolezze del WEP ............................................................................................ 24
1.3.3 Debolezza
CRC................................................................................................... 25
1.3.4 Attacchi recenti a WEP ....................................................................................... 27
Capitolo 2. Il concetto di RSNA .......................................................................................... 32
2.1 Introduzione ............................................................................................................... 31
2.2 Accordo sulla politica di sicurezza ............................................................................ 34
2.3 Fase di autenticazione 802.1X ................................................................................... 35
2.4 Derivazione e distribuzione chiavi ............................................................................ 36
2.4.1 Il 4-Way
Handshake............................................................................................ 38
2.4.2 Derivazione delle chiavi per il traffico multicast (GMK e
GTK)....................... 40
2.4.3 Il Group Key Handshake .................................................................................... 41
2.5 Segretezza e integrità dei dati .................................................................................... 43
2.6 Il protocollo WPA ...................................................................................................... 45
2.6.1TKIP..................................................................................................................... 45
2.6.2 MIC ..................................................................................................................... 47
2.6.3 Trasmissione ....................................................................................................... 48
2.6.4 Ricezione ............................................................................................................ 49
2.6.5 Conclusioni ......................................................................................................... 50
2.6.6 Attacchi recenti a WPA ....................................................................................... 52
2.7 Il protocollo WPA2 (o 802.11i): Stato dell’arte ......................................................... 58
2.7.1 AES ..................................................................................................................... 59
2.7.2 CCMP ................................................................................................................. 60
2.7.3 Trasmissione ....................................................................................................... 61
2.7.4 Ricezione ............................................................................................................ 65
Capitolo 3. Metodi di autenticazione 802.1X/EAP ............................................................. 66
3.1 Il Protocollo IEEE 802.1X ......................................................................................... 67
3.2 Metodi EAP ............................................................................................................... 73
3.2.1 EAP-TLS (Transport Layer Security)................................................................. 74
3.2.2 EAP-TTLS (Tunneled Transport Layer Security) .............................................. 75
3.2.3 PEAP (Protected Extensible Authentication Protocol) .... 76
3.2.4 EAP-FAST (Flexible Authentication via Secure Tunneling) ... 78
3.2.5 EAP-LEAP (Lightweight Extensible Authentication Protocol) .. 83
3.3 Certificati digitali ....................................................................................................... 85
Capitolo 4.
Scenario............................................................................................................. 93
4.1 Ansaldo STS S.p.A. ................................................................................................... 92
4.2 Introduzione ai sistemi di segnalamento... 94
4.2.1 Il sistema CBTC (Communication Based Train Control)...... 95
4.3 Principali problematiche in ambito metropolitano .......... 98
4.4
Handover..........................................................99
4.4.1 Architettura e funzionamento...............................100
4.4.2 Fast Secure Roaming (CCKM+PKC) ......... 102
4.4.3 Impatto sull’infrastruttura e roam latency ......... 106
4.5 Attacchi Informatici ................................................ 108
4.5.1 Deauthentication/Disassociation Attack ............. 110
4.5.2 802.11 RTS/CTS Flood Attack ......................................................................... 112
4.5.3 Authentication/Association flood Attack ........... 114
4.5.4 Forged 802.1X Frame Flood Attack .............................. 114
4.5.5 Lo Standard 802.11w e il Management Frame Protocol (MFP).. 118
Capitolo 5. Test di Laboratorio .......................................................................................... 123
5.1 Obiettivi ................................................................................................................... 124
5.2 Descrizione piattaforme hardware ........................................................................... 125
5.3 Descrizione Software ............................................................................................... 130
5.3.1 Backtrack Live CD ........................................................................................... 130
5.3.2 Suite Aircrack-ng .............................................................................................. 130
5.3.3 Sniffer di rete .................................................................................................... 134
5.3.4 Software per il pilotaggio degli attenuatori: ZXPilot ..... 137
5.4 Test effettuati........................................................... 139
5.5 Test sulla vulnerabilità delle reti ......................... 140
5.5.1 Fase Preliminare ............................................................................................... 141
5.5.2 Attacco a WEP .................................................................................................. 145
5.5.3 Attacco a WPA/WPA2-PSK................................................ 148
5.5.3.1 Attacco a dizionario ....................................................................................... 152
5.5.3.2 Attacco Brute force ........................................................................................ 155
5.5.4 Attacchi Denial of Service ................................................................................ 158
5.5.4.1 Attacchi DoS - Deauthentication attack .......................... 159
5.5.4.2 Attacchi DoS - Deauthentication attack + MFP ATTVATO .. 162
5.5.4.3 Ulteriori attacchi Denial of Service ...................... 164
5.6 Test di verifica del tempo di indisponibilità del canale radio ... 168
5.6.1 Settings........................................................................... 168
5.6.2 TEST 1: Confronto protocollo EAP-FAST e EAP-TLS 177
5.6.3 TEST 2: Confronto protocollo EAP-FAST e EAP-TLS (con
CCKM)....... 179
5.6.4 TEST 3: Confronto protocollo EAP-FAST e EAP-TLS (con
PKC)................. 180
5.6.5 Ulteriori test e analisi complessiva ................................................................... 182
6. Conclusioni e Sviluppi Futuri ........................................................................................ 185
Bibliografia ........................................................................................................................ 188
Introduzione
La WLAN, il cui acronimo significa Wireless Local Area Network, è un sistema di comunicazione flessibile che permette la trasmissione dati tra dispositivi elettronici tramite una tecnologia a radio frequenza, senza la necessità di cablare l’edificio o in generale l’ambiente in cui opera, potendo così sfruttare appieno la caratteristica della mobilità. Grazie a tale tecnologia è possibile creare delle reti locali senza fili ad alta capacità di banda, a patto che il calcolatore da connettere non sia troppo distante dal punto di accesso. E’ possibile quindi collegare PC portatili, PC desktop, PDA o qualsiasi altro tipo di periferica a un collegamento ad alta capacità di banda (fino a 300 Mbps). Oggigiorno assistiamo sempre più al proliferare di tali tipi di reti, soprattutto in ambito domestico, in uffici e locali pubblici, ma anche in ambito industriale. Un esempio di tale applicazione è l’utilizzo di WLAN da parte di Ansaldo STS per l’implementazione di un innovativo sistema di radio segnalamento, basato sullo standard CBTC (Communication Based Train Control), su alcune tratte metropolitane, come quella di Napoli e di Ankara.
L’attività di tesi verterà proprio su questa casistica, anche se saranno fatti accenni anche a reti più semplici. Dal punto di vista di una rete di comunicazione per un impianto di segnalamento in ambito metropolitano, l’obbiettivo primario è senz’altro quello della sicurezza, sia dal punto di vista dell’incolumità fisica delle persone, sia di quella informatica (per prevenire attacchi da parte di persone malintenzionate), e dell’affidabilità (in termini di prestazioni). Il fatto che i dati non siano trasmessi all’interno di cavi ma siano diffusi nell’etere, rappresenta un evidente problema: chiunque sotto il raggio di copertura della WLAN è in grado di “sniffare” tutto il traffico di rete, intercettando i dati senza difficoltà, e di sferrare attacchi informatici. Oltre a verificare potenziali intrusi nelle vicinanze e limitare il raggio di copertura solo alle aree di interesse, è necessario prendere contromisure di carattere crittografico per garantirne la riservatezza. Per questo motivo sarà analizzato il protocollo 802.11 per studiarne le debolezze e i possibili attacchi ai suoi danni. Nel corso di questi anni si è passati dall’utilizzo di algoritmi di cifratura come il WEP (a 40 o 104 bit), che fu ben presto ritenuto un protocollo debole, all’utilizzo di una sua variante che si prefiggeva l’obiettivo di rimuoverne le principali debolezze (WPA). Nel
1964 invece fu ratificato il WPA2 (o 802.11i) basato sull’utilizzo di un algoritmo di cifratura a blocchi, AES, che garantisce un più elevato grado di sicurezza rispetto a RC4
ma risulta non compatibile con le apparecchiature meno recenti. L’infrastruttura di comunicazione dati utilizzata nell’implementazione di Ansaldo STS del CBTC, include sia dispositivi situati nelle posizioni centrali e lungo il percorso, sia quelli a bordo dei treni, per sostenere entrambe le comunicazioni di dati treno-terra e terra-treno. Il client wireless, quindi, posto a bordo della motrice del treno, comunica con una stazione centrale tramite gli Access Point, posti lungo la linea. Questo processo deve poter avvenire limitando le interferenze, nel più veloce tempo possibile e con le contromisure di sicurezza necessarie a rendere riservate le comunicazioni. Si vedrà, infatti, come anche un possibile attacco Denial of Service può avere importanti conseguenze in questo ambito. La tesi è articolata in cinque capitoli: nel primo capitolo vi è l’introduzione alle WLANs, allo standard IEEE
802.11 e al protocollo di cifratura originale dello standard, il WEP. Dopo aver analizzato le debolezze di tale protocollo, si analizzerà nel secondo capitolo il concetto di RSNA (Robust Security Network Association) e dei miglioramenti effettuati tramite l’introduzione del WPA prima e del WPA2 (o 802.11i) poi. Il terzo capitolo affronta, invece, il meccanismo di autenticazione 802.1X, descrivendo i vari metodi EAP più utilizzati: EAP- TLS, EAP-TTLS, EAP-FAST, PEAP, con particolare riguardo all’autenticazione tramite certificati digitali. Il quarto capitolo descrive lo scenario che ci induce a eseguire i vari test condotti nel capitolo 5, affrontando una rapida panoramica dell’Ansaldo STS e di alcuni problemi rilevanti in ambito metropolitano con l’implementazione del CBTC. Il capitolo 5 descrive le tipologie di test condotti ed è divisa sostanzialmente in 2 sezioni. La prima riguarda le vulnerabilità delle reti; è dedicata sia all’implementazione di attacchi alla confidenzialità delle trasmissioni ai danni di reti WEP e WPA/WPA2 sia ad attacchi Denial of Service, possibili anche in un contesto dove si utilizzi un meccanismo di autenticazione centralizzata tramite RADIUS. L’utilizzo di management frame non protetti permette, infatti, la possibilità di contraffarli richiedendo così servizi per conto di un AP o di un client legittimo. Si testerà il meccanismo di Management Frame Protection di Cisco analizzando se permetta o meno di mitigare tale tipologia di attacchi. La seconda parte, infine, verterà su diversi test effettuati per la verifica dei tempi di indisponibilità del canale radio durante il processo di handover, al fine di stimare l’effetto di differenti livelli di sicurezza implementabili su reti Wi-Fi.
Capitolo 1. WLAN (Wireless Local Area
Network)
1.1 Introduzione
Una rete locale Wireless può essere un’estensione di una normale rete cablata supportando, tramite un Access Point, la connessione a dispositivi mobili e fissi. La WLAN, comunque, deve rispondere agli stessi requisiti di una LAN o di una qualsiasi rete locale, in termini di elevata capacità, possibilità di coprire brevi distanze, piena connettività tra le stazioni connesse e una funzionalità di broadcast. L’utilizzo di una WLAN nel proprio ufficio, abitazione, azienda che sia, permette di trarne diversi vantaggi, dati innanzitutto dalla facilità di installazione e dal risparmio di tempo rispetto a quello necessario a una rete cablata per stendere i cavi, farli passare all’interno di canaline,etc.
Per questo motivo in molte fiere, convegni o per altre manifestazioni della durata di pochi giorni, l’organizzatore preferisce sempre di più adottare tale tecnologia per offrire la connettività a un numero di clienti maggiore risparmiando in termine di tempo e dei costi. Poi, la libertà di movimento che permette ai client della rete di muoversi entro il raggio di copertura dell’AP e la scalabilità che consente di costruire reti wireless in infiniti modi diversi in poco tempo in funzione delle necessità e delle disponibilità. Anche per quanto riguarda lo standard CBTC in fase d’implementazione da parte di Ansaldo STS su varie tratte metropolitane, come a Napoli sulla linea Alifana, e presto anche ad Ankara. Tale nuova tipologia di radio segnalamento tramite WLAN permetterebbe di ottenere performance migliori rispetto ai precedenti meccanismi di segnalamento, oltre alla riduzione dei costi.
A tali vantaggi si contrappongono, però, anche una serie di problematiche. Infatti, gli ostacoli alle onde radio e velocità di trasmissione effettiva, ne costituiscono i principali problemi. Elementi quali pareti, metalli, rumore ambientale e mancanza di visibilità comportano un problema al corretto funzionamento della rete wireless. Infatti, la velocità di trasmissione teorica si discosta da quella effettiva, proprio e soprattutto per questi motivi, a seconda dell’intensità del segnale e del traffico di rete. Inoltre l’inquinamento elettromagnetico e il problema delle interferenze con altri dispositivi sono inevitabili. La banda di frequenze nell’intorno di 2,4 GHz è molto affollata per cui l’utilizzo di ulteriori apparecchi all’interno o vicino alla rete potrebbe degradare le prestazioni (apparecchiature in ambito medico/scientifico, forni a microonde, telefoni cordless, terminali bluetooth).
La sicurezza rappresenta un elemento molto importante. Le WLAN possono, infatti,
risultare vulnerabili ad intrusioni non autorizzate nel caso non vengano adottate le opportune precauzioni. Devono essere prese delle contromisure sia sotto il profilo crittografico sia sotto quello di autenticazione per definire i seguenti tre requisiti per una rete sicura:
- Confidenzialità:
L’informazione trasmessa attraverso la rete è immune dall’intercettazione da parte di soggetti non autorizzati.
- Integrità:
L’informazione trasmessa non viene modificata lungo il suo percorso.
- Autenticazione:
L’utente che utilizza la rete è realmente chi egli sostiene di essere.
Le architetture per sistemi wireless locali in generale sono basate su due tipologie di dispositivi:
- L’ Access Point (AP), ossia la stazione base che permette la connessione tra WLAN e dispositivi wireless. Sono bridge che collegano la sottorete wireless con quella cablata.
- Il Wireless Terminal (WT), ovvero un’apparecchiatura mobile dotata di scheda di rete wireless, ad esempio un palmare, notebook, PDA, telefono cellulare.
Lo standard 802.11 è stato progettato per essere eseguito su tre diversi mezzi
fisici, due basati su segnali radio a spettro disperso (spread spectrum) e uno su
segnali infrarossi diffusi. A seconda del metodo di trasmissione utilizzato,
parliamo di WLAN ad infrarossi (IR) o ad onde radio.
Ci concentreremo su questa seconda soluzione poiché l’utilizzo della
trasmissione a infrarosso, fin dal primo sviluppo dello standard IEEE 802.11,
riscosse scarso successo.
Lo spettro delle onde radiocomprende le onde elettromagnetiche aventi
frequenza compresa tra 3 kHz e 300 GHz.
La tecnologia a onde radio è la più
diffusa in ambiente wireless e consente, per ogni cella, di implementare la
modalità ad hoc o quella ad infrastruttura. In Europa le frequenze portanti per
WLAN
a
onde
radio
sono
2,4
GHz
e 5GHz
Le reti che si basano su questo tipo di tecnologia sono suddivise in due
categorie, a seconda dell’utilizzo o meno, rispettivamente, delle tecniche Spread Spectrum: a dispersione dello spettro e a banda stretta.
Le versioni successive dello standard iniziale IEEE 802.11 utilizzano solamente tecnologie ad onde radio, in particolare a dispersione dello spettro.
La banda ISM (Industrial Scientific Medical), è il nome assegnato a un insieme di porzioni dello spettro elettromagnetico riservate alle applicazioni radio non commerciali, per uso industriale, scientifico e medico. La banda a 2,4 GHz è senz’altro più utilizzata rispetto a quella a 5 GHz. Questo è dovuto al fatto che al crescere della frequenza aumentano gli effetti di riflessione e assorbimento delle onde elettromagnetiche, l’attenuazione dello spazio libero e il livello di rumore.
Il decreto Landolfi dell’ottobre del 1966 ha esteso la regolamentazione dello standard IEEE 802.11 a tutto il territorio nazionale, liberalizzando la creazione di reti wireless anche per comuni e associazioni di cittadini, fino ad allora possibile solo ad aree pubbliche quali stazioni ed aeroporti. E’ stato così ampliato il precedente decreto in vigore dal Maggio
1965, il decreto Furlani, che autorizzava sostanzialmente l’utilizzo del Wi-Fi esclusivamente in locali pubblici e in aree confinate a frequentazione pubblica.
La tecnologia Wi-Fi è sempre più utilizzata da vari hardware, computer, PDA, console e anche stampanti. Secondo le esigenze, tali appartati possono comunicare in una rete WI-FI secondo diversi modi[1]:
Ad Hoc Mode (IBSS - Independent Basic Servic
Set)
Non è necessario un punto di accesso per la gestione della rete ed è quindi possibile collegare diversi terminali direttamente tra loro, ovviamente dotati di schede di rete wireless. Tali tipi di reti definite anche mediante l’acronimo MANET (Mobile Ad hoc Network), permettono una riduzione dei costi evitando l’acquisto di ulteriori apparecchi, (es. AP) e fanno si che ogni elemento all’interno della rete sia attivo e passivo.
(Fig.1.1) Modalità Ad-Hoc
Infrastructure Mode (BSS - Basic Service
Set)
La comunicazione è gestita da un punto di accesso, un Access Point, con la funzione di stazione base e di bridge tra terminali wireless, in modo che i dati di un host siano trasmessi a lui che poi si incaricherà di inoltrarli agli altri membri della rete che si trovano nel suo range di copertura.
(Fig.1.2) Modalità a Infrastruttura
L’Access Point è un dispositivo che permette all’utente mobile di collegarsi ad una rete wireless. La topologia BSS (Fig. 1.2a) rappresenta in sostanza una rete locale wireless monocella, dal momento che tutti i terminali sono sotto la copertura di un singolo Access Point. La copertura di una cella radio varia solitamente da 20 a oltre 300 metri, in relazione alla tipologia degli ambienti e quindi alla presenza di eventuali ostacoli. Una configurazione a infrastruttura può anche supportare il servizio di roaming/handover per gli utenti che hanno bisogno di lavorare in movimento. Due o più BSS possono essere configurate formando un’unica grande area denominata Extended Service Set (ESS). Gli utenti all’interno di una ESS possono tranquillamente muoversi tramite handover tra le varie BSS senza interruzioni di rete (Fig.1.2b). In questo caso il provider che permette la connessione è lo stesso nei due AP (si parla quindi di Handover) ma nel caso fosse diverso, a quel punto, si parlerebbe di vero e proprio Roaming (come nel caso della telefonia mobile).
Il metodo di accesso CSMA/CA
Al livello Link Layer viene gestito il protocollo MAC che controlla l’accesso al mezzo[2]. Il protocollo principale a questo livello è il CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance). Questo è derivato dal CSMA/CD (Carrier Sense Multiple Access
with Collision Detect) che sta alla base dell’Ethernet. La differenza fra i due meccanismi è che nel caso dell’Ethernet è possibile effettuare la Collision Detection (CD), dal momento che sul cavo una stazione ha la possibilità di ascoltare mentre trasmette e quindi di rendersi conto se due stazioni stanno trasmettendo nello stesso istante. Nelle reti Wireless questo non è possibile perché un’antenna può solo trasmettere o ricevere in un dato momento e la transizione tra le due fasi richiede un pò di tempo. Pertanto il protocollo Wireless introduce la Collision Avoidance (CA). Il principio è il seguente: prima di trasmettere bisogna ascoltare per vedere se qualcuno sta trasmettendo. Questo meccanismo non previene, però, in maniera assoluta le collisioni. Sono stati quindi aggiunti altri meccanismi per prevenirle e gestire in modo più efficace le trasmissioni: prima di tutto vi sono il Positive Acknowledgment e il MAC Level Retransmission. Finito di ricevere un pacchetto, la stazione invia un ACK per confermarne la ricezione. Se la stazione che ha inviato il pacchetto non ricevesse l’ACK, significherebbe la presenza di un’interferenza e il pacchetto sarebbe immediatamente ritrasmesso. Questo è necessario perché la probabilità di errori è molto più alta nelle trasmissioni Wireless che in quelle su cavo. Inoltre, in presenza di un mezzo con molti errori, è conveniente trasmettere (e ritrasmettere) pacchetti piccoli, frammentando quindi i pacchetti di maggior dimensione. Questo porta due vantaggi: se il pacchetto è piccolo, è più facile che arrivi a destinazione intatto, e se non arriva, la ritrasmissione è più veloce. Frammentare i pacchetti richiede ripetere gli headers MAC su ognuno e quindi si riduce il throughput.
Un ulteriore problema è quello dei nodi nascosti (Hidden
Nodes).
(Fig. 1.3) Il problema dei nodi nascosti
Si supponga di avere tre stazioni disposte in linea una dopo l’altra in modo tale che la stazione centrale (AP) riesca a parlare con la prima e la terza, ma che a causa dell’attenuazione del segnale la prima non riesca a parlare direttamente con la terza. Supponiamo che non ci interessi far parlare direttamente la prima con l’ultima stazione poiché la stazione centrale è il nostro Access Point e le due stazioni laterali devono parlare
solo con esso. Il problema è che le due stazioni laterali non sono in grado di sentire se vi è una trasmissione in corso da parte dell’altra stazione laterale, e quindi la probabilità di collisioni aumenta di molto.
(Fig. 1.4) RTS/CTS
E’ possibile risolvere il problema facendo in modo che la stazione che intenda trasmettere invii prima di tutto un piccolo pacchetto RTS (Request To Send) e attenda che il ricevente risponda con un CTS (Clear To Send) prima di inviare il proprio pacchetto. Si noti che quando la stazione centrale (l’AP) invia un CTS, lo sentono tutte le stazioni nel suo raggio di copertura e quelle che non hanno inviato il RTS capiscono che un’altra stazione sta trasmettendo non trasmettono nulla per evitare collisioni (i pacchetti RTS/CTS contengono al loro interno anche la lunghezza del pacchetto da trasmettere, il che fornisce alle altre stazioni una stima del tempo di attesa). Teoricamente le collisioni possono avvenire solo per pacchetti RTS, che sono molto piccoli; d’altra parte l’overhead del meccanismo RTS/CTS è parecchio, e di nuovo diminuisce il throughput totale.
1.2 Il protocollo IEEE 802.11
Il gruppo 11 dell’IEEE 802[3] (nel 1963) ha sviluppato la prima versione dello
standard 802.11 per le reti WLANs che venne chiamato “802.1y”.
Questo termine viene utilizzato solitamente per definire la prima serie di apparecchiature 802.11, sebbene si debba preferire il termine “802.11 legacy”. Quella versione 802.11 specificava velocità di trasferimento comprese tra 1 e 2 Mbps e utilizzava i raggi infrarossi o le onde radio nella frequenza di 2,4 GHz per trasmettere il segnale. Il simbolo Wi-Fi, termine con cui si identificano in generale i dispositivi 802.11, indica l’appartenenza dei dispositivi alla Wi-Fi Alliance, che raccoglie numerosi costruttori di hardware (Cisco, Nokia, Intel, Broadcom, Philips, Asus, etc.).
(Fig.1.5) Logo Wi-Fi Alliance
Tale organizzazione è nata con l’idea di certificare l’interoperabilità di prodotti 802.11, portando a una comune (o comunque interoperabile) implementazione di quelle parti dello standard lasciate libere al costruttore. La famiglia 802.11 include vari protocolli dedicati alla trasmissione delle informazioni (a, b, g, n); la sicurezza è stata inclusa in uno standard a parte, l’802.11i. Gli altri standard della famiglia riguardano estensioni dei servizi di base e miglioramenti dei servizi già disponibili. Il primo protocollo largamente diffuso è stato il b; in seguito si sono diffusi il protocollo a e soprattutto il protocollo g. Da qualche tempo si sta diffondendo, invece, il protocollo n.
IEEE 802.11b
Riconoscendo la necessità di supportare velocità di trasmissione dati più elevate, l’IEEE ratifico nel 1959 questo standard, anche conosciuto con il termine di “802.11 High Rate”. Consente una velocità di trasmissione massima pari a 11 Mbps utilizzando ancora le frequenze nell’intorno di 2,4 GHz. Per quanto riguarda la copertura, il range di trasmissione previsto è pari a 300 metri outdoor e 30 metri indoor. Si sottolinea che, al diminuire della velocità, cresce la dimensione fisica di una rete locale wireless, nel senso che aumenta il raggio di copertura dell’Access Point. Comunque si tenga presente che i
valori (sia di velocità di trasmissione sia di range di copertura) indicati in precedenza sono solamente teorici. Poiché il mezzo è unico e condiviso tra gli utenti, la banda disponibile per ciascuno di questi diminuisce al crescere del loro numero complessivo all’interno di una BSS. I vantaggi di IEEE 802.11b sono legati soprattutto alla grande diffusione dei prodotti su scala mondiale. Sono state inoltre sviluppate estensioni proprietarie (es.
802.11b+) che utilizzano più canali accoppiati consentendo di incrementare la velocità di trasmissione (fino a 44 Mb/s) a scapito della compatibilità con periferiche prodotte dagli altri produttori.
IEEE 802.11a
Approvato nel 1962 e ratificato nel 1963, utilizza lo spazio di frequenze
nell’intorno dei 5GHz e opera con una velocità di trasmissione massima pari a 54 Mbps.
Il range di copertura è inferiore, a parità di potenza, rispetto a quello precedente a causa della maggiore frequenza di lavoro. Un altro vantaggio di 802.11a, oltre alla maggiore banda (ottenibile grazie alla modulazione OFDM) e alla possibilità di numerosi valori di data rate scalabili, riguarda l’utilizzo di bande libere ma meno affollate di quelle a 2,4 GHz, con la conseguenza di presentare minori interferenze. Lo standard definisce, infatti, 12 canali non sovrapposti. Il protocollo 802.11a non ha riscosso i favori del pubblico a causa del limitato raggio d’azione e d’incompatibilità con le specifiche 802.11b/g, i cui prodotti sono di gran lunga più diffusi.
IEEE 802.11g
Ratificato nel giugno 1964, questo standard utilizza la banda a 2,4 GHz e fornisce una velocità massima teorica di 54 Mbps grazie alla modulazione OFDM (Orthogonal Frequency-Division Multiplexing), come avviene per l’802.11a.
È totalmente compatibile con lo standard 802.11b, ma, quando si trova ad operare con periferiche del “vecchio” Wi-Fi, deve ovviamente ridurre la sua velocità massima a quella dello standard b (11 Mbps). Alcuni produttori introdussero delle ulteriori varianti chiamate g+ o Super G nei loro prodotti che utilizzavano l’accoppiata di due canali per raddoppiare la banda disponibile anche se questo non era supportato da tutte le schede. 802.11b e
802.11g dividono lo spettro in 14 sottocanali da 22 MHz l’uno. I canali sono parzialmente sovrapposti tra loro in frequenza, quindi tra due canali consecutivi esiste una forte interferenza. I due gruppi di canali (1,6,11 e 2,7,12) non si sovrappongono tra loro e vengono utilizzati negli ambienti con altre reti wireless. Gli unici canali utilizzabili in tutto il mondo sono il 10 e l’11 dato che la Spagna non ha concesso i canali dall’1 al 9 e molte nazioni si limitano ai primi 11 sottocanali, come risulta dalla seguente immagine:
(Fig. 1.6) Canali e frequenze
IEEE 802.11n
Nel gennaio 1962, IEEE annunciò di aver avviato lo studio di un nuovo standard per realizzare reti wireless di dimensioni metropolitane. La velocità teorica permessa da questo standard è di 300 Mbps, quindi ben più performante dei precedenti standard. La versione definitiva dello standard è stata approvata l’11 settembre 1963 e la pubblicazione è prevista a inizio 1969. 802.11n include anche la possibilità di utilizzare la tecnologia MIMO (Multiple-input multiple-output) per utilizzare più antenne per la trasmissione e la ricezione incrementando così la banda a disposizione.
IEEE 802.11i
Poiché, in una WLAN, i dati non viaggiano all’interno di cavi ma nell’etere e sono potenzialmente intercettabili anche con una certa facilità, si è dovuto affrontare il problema della sicurezza. Ritenuto ben presto debole il protocollo WEP (Wired Equivalent Privacy), la Wi-Fi Alliance ne introdusse (1965) una versione migliorata: il WPA (Wi-Fi protected
Access), che utilizza TKIP sempre basato sull’algoritmo RC4 utilizzato nel WEP. Nel giugno 1963 fu approvato, invece, il nuovo standard 802.11i (anche noto in campo commerciale con il termine WPA2) che utilizza il CCMP basato sul ben più sicuro AES e introduce il concetto di RSNA (Robust Security Network Association).
20
1.2.1 Formato di un generico frame
802.11
L’IEEE 802.11[1] (conosciuto anche con il nome di WI-FI) è lo standard per le reti WLANs che specifica le modalità di comunicazione a livello fisico e data link (MAC) del modello ISO/OSI. Per quanto riguarda la sicurezza, la maggior parte delle analisi sono incentrate sul livello MAC. Saper riconoscere i diversi tipi di frame 802.11 è necessario per capire cosa sta accadendo nella rete.
(Fig.1.7) Modello ISO/OSI
Lo standard 802.11 definisce varie tipologie di frame che saranno utilizzate nelle trasmissioni dati, per esempio per gestire e controllare le comunicazioni wireless. Ciascun frame è costituito da:
- MAC Header.
- Frame Body
- FCS (Frame Check Sequence)
Il formato del frame comprende diversi campi, che ricadono sempre nello stesso ordine per ciascuna tipologia. Il generico frame è rappresentato nell’immagine seguente.
(Fig. 1.8) Frame 802.11
I primi 3 campi (Frame Control, Duration/ID e Address 1) e l’ultimo (FCS) costituiscono il formato del frame minimo e sono quindi presenti in tutti i frame.
I campi invece come Address 2, Address 3, Sequence Control, Address 4 e frame
Body
sono presenti solo in alcuni frame type e
subtype.
Il meccanismo utilizzato per incapsulare le informazioni all’interno dell’header 802.11 viene definito nella specifica IEEE 802.11-1964[1], il quale classifica i frame 802.11 in tre principali categorie:
• MANAGEMENT FRAME
Sono utilizzati per diversi meccanismi di gestione e include i
seguenti frame:
- Beacon:
L’Access Point invia periodicamente tale frame annunciando la sua presenza con informazioni che lo riguardano. Le stazioni rimangono in ascolto di tali Beacons per scegliere quale sia l’AP “migliore” con il quale associarsi.
- Probe request:
Una stazione invia una Probe request in cerca di un determinato AP o in broadcast e rimane in ascolto di un’eventuale risposta da parte di un AP cui associarsi.
- Probe response:
E’ la risposta dell’AP alla Probe Request della stazione wireless. E’ spedito questa volta in modalità unicast e contiene le proprie specifiche (data rate, etc.).
- Authentication :
Un processo con cui l’Access Point accetta o rifiuta l’identità di una stazione wireless.
- Association/reassociation request :
Una stazione wireless inizia il processo di associazione inviando tale tipo di frame all’Access Point con all’interno varie informazioni (tra le quali l’SSID al quale intende associarsi). L’Access Point invece, una volta ricevuta la richiesta, considera se farlo associare (riservandogli dello spazio di memoria) o meno.
- Association/reassociation response :
Questo frame è inviato dall’Access Point. In caso positivo la stazione può comunicare con le altre stazioni all’interno della rete.
- Deauthentication :
Una stazione invia un frame di deautenticazione a un altra quando vuole interrompere la comunicazione.
- Disassociation:
Una stazione invia tale tipo di frame quando vuole terminare l’associazione.
• DATA FRAME:
Sono frame nei quali sono contenuti i dati TCP/IP che l’host intende scambiare con il suo end-point remoto per mezzo dell’AP e includono un payload criptato.
• CONTROL FRAME:
Tale tipologia di frame riguarda la trasmissione dei data frame tra
stazioni:
- Acknowledgement (ACK)
- Request to Send (RTS)
- Clear to Send (CTS)
- Power Save (PS)
1.2.2 Analisi dell'header di un frame
802.11
I primi due byte del MAC Header[1] costituiscono il Frame control che fornisce informazioni importanti sul frame; una sua analisi risulta molto importante nell’audit; ha funzioni sul controllo e la natura del frame stesso. Il formato del Frame Control è il seguente:
(Fig.1.9) Dettaglio Frame Control
Analizzando i diversi campi del Frame Control,
troviamo:
Protocol Version : indica la versione del protocollo. Per questo standard la versione del protocollo è la 00.
Type: indica la tipologia del frame:
- control (01)
- management (00)
- data (10)
Subtype: di lunghezza 4bit; specifica la funzione del tipo di frame. Abbiamo già detto che esistono tre tipi di frame: control, data e management.
Ciascun tipo di frame ha diversi subtypes definiti. Nella seguente immagine sono riportate le possibili combinazioni dei campi type e subtype:
(Fig.1.10) Campo Type/Subtype
Gli altri sono campi di lunghezza pari a 1 bit e funzionano in pratica da flag:
To DS/From DS : indica se il frame è destinato al sistema di distribuzione o
meno
-
To DS
From DS
Significato
0
0
Il frame è generato in una rete Ad hoc (IBSS)
0
1
È generato da un AP
1
0
E’ generato da un client WIFI verso l’AP
1
1
Il frame è generato da un WDS (pacchetti
scambiati tra gli AP)
(Fig.1.11) Campo To DS/From DS
L’assegnazione degli indirizzi nei campi Address (1-4) dei frame 802.11 è complicato. Questo perché gli indirizzi potrebbero essere anche 3 o 4 e l’ordine potrebbe cambiare a seconda dei flag TO DS e From DS nel campo frame control.
More fragments : se è impostato al valore 1, seguono altri frammenti appartenenti allo stesso frame. Altrimenti è impostato al valore 0.
Retry: se è impostato a 1, questo frame/frammento è la ripetizione del frame/frammento (data o management type) precedentemente trasmesso. Aiuta il ricevitore a eliminare le copie dei frame duplicati.
Power Management: se impostato al valore 1, al termine del frame l’interfaccia della stazione entrerà in modalità risparmio energetico. Questo campo è sempre impostato a 0 nei frame che vengono trasmessi dall’Access Point.
More Data: se impostato al valore 1, il trasmettitore ha altri frame (almeno 1) per il ricevitore.
WEP : se impostato al valore 1, il campo frame Body (Dati) è stato processato da un algoritmo crittografico. Inizieremo ad affrontarli nella sezione 1.3.
Order: se impostato al valore 1, il frammento appartiene alla classe di servizio
Strictly Ordered (i pacchetti non possono essere riordinati in
ricezione).
Conclusa l’analisi del frame Control con i suoi sottocampi, analizziamo ora i
campi restanti
dell’Header di un frame 802.11:
Il campo Duration & ID è composto da 2 bytes. Riguarda la modalità di accesso dei dati al mezzo fisico in modo da regolare il tempo durante il quale il mezzo risulta essere busy per una trasmissione dati. Questo campo indica il Network Access Vector (NAV), il CFP (Contention Free Announcement) e il Power Save.
I campi Address sono quattro e vengono utilizzati per indicare:
- il Basic Service Set Identification (BSSID), identificativo di
48 bit:
- Nel caso di Infrastructure Mode, BSSID = MAC dell’Access Point.
- Nel caso di Ad-Hoc Mode è generato in maniera random.
- il Source Address (SA), ossia la stazione che ha generato il
pacchetto
- il Destination Address (DA), indica la destinazione finale del
pacchetto
- il Transmitting STA Address (TA), l’indirizzo di chi ha trasmesso il
pacchetto
- il Receiving STA Address (RA), l’indirizzo della stazione che riceve il
pacchetto
Alcuni frame potrebbero non contenere alcuni di questi campi. Il contenuto di questi campi dipende dal valore dei campi To DS/ From DS che abbiamo incontrato all’interno del campo Frame Control. Se nella tabella è presente la dicitura N/A vuol dire che il contenuto di quel campo non è applicabile.
(Fig.1.12) Dettaglio campo To DS/From
DS
Il campo Sequence Control è costituito da 16 bit ed è composto da due sottocampi, il Fragment Number (4 bit) e il Sequence Number (12 bit) che definiscono il frame e il frammento del frame.
(Fig.1.13) Dettaglio Sequence Control
Viene usato per ricostruire l’ordine dei frammenti appartenenti allo stesso frame e per riconoscere l’eventuale duplicazione dei pacchetti.
Il campo Frame Body all’interno del frame può essere al massimo 2312 byte. Nel caso avesse una dimensione più grande, si passerebbe alla frammentazione in più parti. Il Fragment Number indica il numero di ciascun frammento.
E’ settato a 0 (si ricorda che è di 4 bit, quindi 0000) nel caso fosse il primo frammento o fosse un frame non frammentato. Se un frammento venisse ritrasmesso, avrebbe lo stesso Fragment Number. A ogni frammento è assegnato un unico Fragment Number mentre il Sequence Number resta lo stesso per i frammenti appartenenti ad un unico frame.
Il Sequence Number inizia da 0 e incrementa di 1 per ogni frame non frammentato; ci sono 2^12 (4096) iterazioni. Dopo le 4096 sequenze, il Sequence Number ritorna a 0.
Il campo Frame Body è di lunghezza variabile e contiene informazioni specifiche per frame types/subtypes individuali.
Il campo FCS (Frame Check Sequence) di lunghezza pari a 32 bit offre una basilare funzione d’integrità dei messaggi (copre, infatti, tutti i campi precedenti) mediante l’algoritmo CRC32.
Si è potuto vedere come, analizzando un generico frame 802.11, il campo Frame Control (facente parte del MAC Header) sia composto da altri campi. Uno di questi in particolare ci avvisa se il frame body sia stato cifrato o meno con eventuali algoritmi di crittografia (es.WEP). Nella prossima sezione incominceremo l’analisi dei vari protocolli di cifratura disponibili, partendo proprio dal protocollo WEP.
1.3 Il Protocollo WEP
Dopo aver visto nella sezione precedente come sia costituito un generico frame 802.11, incominciamo in questo paragrafo ad affrontare i protocolli di cifratura.
Per porre rimedio al problema di confidenzialità relativo al traffico all’interno delle reti wireless, lo standard 802.11 integra un semplice meccanismo di codifica chiamato WEP (Wired Equivalent Privacy). WEP è un protocollo che opera a livello data link (sottolivello MAC, Medium Access Control) dello stack ISO/OSI e il suo obiettivo è di codificare i frame 802.11 utilizzando l’algoritmo simmetrico RC4. E’ stato progettato per fornire una sicurezza comparabile a quello delle normali LAN basate su cavo ma furono ben presto riscontrate una serie di vulnerabilità. Per questo motivo verranno adottate diverse contromisure per migliorare la sicurezza mediante, in un primo tempo, l’introduzione del Wi-Fi Protected Access (WPA) rilasciato nel 1965 e facente parte del futuro standard WPA2 (o IEEE 802.11i) del giugno 1966 Il WEP[1] è un sistema di cifratura a chiave fissa simmetrica condivisa che utilizza l’algoritmo di cifratura RC4 per la sicurezza e il CRC-32 per la verifica dell’integrità dei dati.
RC4 fu sviluppato da Ron Rivest della RSA Security nel 1966. La sigla RC sta per Rivest Cipher o alternativamente Ron’ s Code. Grazie alla semplicità e alla sua velocità dal punto di vista computazionale è facilmente implementabile sia a livello software sia hardware. Il suo utilizzo si diffuse ben presto e l’RC4 divenne ben presto l’algoritmo base di importanti protocolli quali WEP ed WPA per la cifratura delle comunicazioni in ambito wireless. L'algoritmo restò inizialmente segreto da RSA Security ma, nel settembre del 1964, alcuni hacker diffusero il codice di un algoritmo crittografico i cui risultati erano identici a quelli generati dai programmi che implementavano l’RC4 ufficiale.
La chiave WEP può essere composta da 40 o 104 bit e deve essere impostata su tutte le stazioni wireless compreso l’Access Point.
Questa viene poi concatenata a un Initialization Vector (IV) di 24 bit in modo da formare una stringa di 64 bit o 128 bit (detta Per-packet Key) che poi viene fornita in ingresso all’algoritmo RC4. Tale algoritmo genera un flusso di bit pseudo casuali (keystream o PRGA data stream);
Allo stesso tempo il testo in chiaro, che deve essere criptato, è scomposto in blocchi e questi vengono concatenati con 32 bit di checksum (ICV – Integrity Check Value) in modo
da pareggiare la lunghezza della chiave RC4. Il CRC32 dovrebbe teoricamente assicurarci l’integrità dei dati che si vogliono trasmettere.
A questo punto è eseguita un’operazione di XOR tra il flusso pseudo casuale (o keystream) e i blocchi per ottenere il testo cifrato. Infine, al testo cifrato cosi ottenuto, viene aggiunto il vettore di inizializzazione, questa volta però in chiaro.
(Fig.1.14) Cifratura WEP
Per decifrare il frame, protetto dal protocollo WEP, è possibile effettuare il processo inverso: consiste nel generare l’identico keystream, RC4(v,k), basato sull’IV appena ricevuto e la chiave WEP segreta (che anche il ricevitore conosce) e poi nell’effettuare lo XOR di questo con il cyphertext per poter trovare il plaintext.
P’ = C ⊕ RC4(v,k) = ( P ⊕ RC4(v,k)) ⊕
RC4(v,k) = P
Successivamente viene verificato il checksum sul plaintext decriptato P’
dividendolo in
<M’,c’>; viene ricalcolato il checsum c(M’) e controllato se sia effettivamente identico al checsum c. In questo modo solo i frame con checksum valido saranno accettati dal ricevitore.
(Fig.1.15) Decifratura WEP
1.3.1 Autenticazione
Prima che la stazione possa comunicare all’interno della rete, ha bisogno di autenticarsi per diventare associata a un determinato Access Point. WEP supporta due tipi di autenticazione:
L’Open System authentication è un cosiddetto “null authentication algorithm”, nel senso che qualsiasi stazione che voglia autenticarsi con un determinato AP (sul quale è stato impostato questo tipo di autenticazione) può effettuarlo senza problemi. Il protocollo è costituito semplicemente da un frame di Authentication Request e uno di Authentication Response.
(Fig.1.16) Autenticazione a sistema aperto
Consiste semplicemente nello scambio delle reciproche identità tra Access Point e stazione e non offre alcun aiuto dal punto di vista della sicurezza. Se è attiva la crittografia WEP, la stazione può terminare l’autenticazione con l’Access Point ma può inviare/ricevere dati solo se possiede la chiave WEP corretta.
La Shared Key authentication fornisce, al contrario della mutua autenticazione, una one- way authentication. E’ la stazione ad autenticarsi con l’Access Point e non il contrario. Solamente le stazioni che conoscono la chiave segreta sono capaci di autenticarsi con l’AP.
(Fig.1.17) Autenticazione a chiave condivisa
Questo protocollo consiste in un 4-Way Handshake e inizia con un’Authentication Request (#1) da parte della stazione. L’Access Point a sua volta risponde con un challenge (#2) che contiene un messaggio di 128 Byte fornito dal generatore di numeri pseudo casuali. Ricevuto il challenge di 128 byte, questo è cifrato usando WEP con la chiave segreta condivisa e quindi inviato (#3) di nuovo all’Access Point. L’Access Point, ricevuto questo messaggio, lo decapsula e ne controlla l’ICV. Se il controllo va a buon fine, il contenuto decifrato è confrontato con il challenge precedentemente inviato. Se sono identici, l’AP sa che la stazione conosce la chiave condivisa e così invia un’authentication success message (#4) alla stazione. Questo metodo di autenticazione non è considerato molto sicuro o comunque lo è meno dell’autenticazione a sistema aperto. Un malintenzionato, infatti, potrebbe monitorare il messaggio #2 (testo non cifrato) e #3 (testo cifrato). In seguito poi potrebbe confrontare queste due stringhe calcolando così la chiave WEP.
1.3.2 Debolezze del WEP
Tra le debolezze risapute degli algoritmi stream cypher si rileva che cifrando due messaggi diversi con lo stesso keystream è possibile ricavare facilmente informazioni sui due
messaggi[4]. Come si sa, l’operazione di XOR tra due bit fornisce i seguenti risultati:
-
XOR
RISULTATO
00
0
01
1
10
1
11
0
(Tab.1.1) XOR
Se si esegue lo XOR tra due bit uguali (0 ⊕ 0 o 1 ⊕ 1) ottengo 0! Se quindi:
C1 = P1 ⊕ K C2 = P2 ⊕ K
C1 ⊕ C2 = (P1 ⊕ K) + (P2 ⊕ K) = P1 ⊕ P2
Dallo XOR dei due ciphertext si ottiene lo XOR del plaintext.
Se si conoscesse uno dei due plaintext, si potrebbe ottenere immediatamente
l’altro:
P1 ⊕ (C1⊕ C2) = P1 ⊕ (P1⊕P2) = P2
Inoltre a questo punto, se si conoscesse sia il plaintext sia il corrispondente ciphertext, sarebbe possibile ottenere la chiave di cifratura:
P1 ⊕ C1 = P1 ⊕ (P1 ⊕ K) = K
Se si conoscesse la chiave K, si potrebbero eseguire attacchi statistici per il recupero del testo in chiaro. WEP utilizza un IV, ogni volta diverso per ogni pacchetto inviato, per
evitare appunto di cifrare messaggi diversi utilizzando lo stesso
keystream.
Come già detto, RC4 si serve della chiave WEP concatenata agli IV di 24 bit per poter creare una chiave (per-packet key) che sia diversa da pacchetto a pacchetto.
Inoltre, dopo il processo di cifratura dei dati, al pacchetto cifrato è anteposto (questa volta in chiaro) il vettore di inizializzazione; in questo modo il ricevente può effettuare la decifratura del cyphertext conoscendo infatti anche la WEP key dal momento che risulta impostata su ogni apparecchio di rete. Il vettore di inizializzazione IV è un numero casuale
di lunghezza pari a 24 bit. Ciò vuol dire che è possibile avere 224 possibili chiavi
(16.777.216) prima di ottenere una ripetizione (o collisione, che dir si
voglia).
Questo sarebbe vero se l’IV fosse incrementato di uno per ogni pacchetto trasmesso. Sarebbe necessaria qualche ora per ottenere una collisione in una rete con un grande volume di traffico.
Come abbiamo detto, l’IV è selezionato in modalità random; quindi non risulta proprio essere la stessa cosa. Infatti, la risposta ce la fornisce la teoria delle probabilità (il cosiddetto Il paradosso del compleanno del 1939, definito da Richard Von Mises).
Il paradosso del compleanno nasce dal fatto che la probabilità che due persone in un gruppo compiano gli anni lo stesso giorno, va contro quello che dice l’intuito (nel nostro caso vuol dire che avremo un IV duplicato in un tempo più breve rispetto al caso dell’approccio incrementale): fra 23 persone la probabilità è circa del 51%, con 30 persone supera il 70%; in un gruppo di 50 persone arriva al 97%.
1.3.3 Debolezza CRC
Il protocollo WEP, per assicurare che i pacchetti non siano modificati durante la trasmissione, utilizza una somma di controllo (o checksum). Il checksum è implementato come un CRC-32 checksum che fa parte del payload cifrato del pacchetto. Questo, infatti, permette di scoprire se ci sono stati errori durante la trasmissione ma non permette di difendersi da attacchi di malintenzionati che modificano i pacchetti lungo il tragitto dal trasmettitore al ricevitore[4]. Verifichiamo come questo sia applicabile senza che sia possibile rendersene conto. Sarà utilizzata la proprietà del checksum che è una funzione lineare del messaggio:
CRC (X ⊕Y) = CRC(X) ⊕ CRC(Y) : per qualsiasi valore di x e y
Sarà quindi possibile intercettare un cyphertext C “in transito” ed effettuare le opportune modifiche cambiando il checksum in modo opportuno, senza che sia possibile accorgersene. Si supponga che il cyphertext appena intercettato sia dato da:
C = RC4 (v,k) ⊕ <M,CRC(M)> : dove P = <M,CRC(M)> plaintext associato a C.
In questo modo se il pacchetto fosse stato inviato precedentemente da A verso B, sarebbe possibile rimpiazzare la trasmissione originale di C con il nuovo cyphertext C’, creato dall’attaccante malintenzionato (Packet Injection). Una volta che B avrà decifrato il
pacchetto, otterrà il messaggio M’= M ⊕ mu (dove “mu” è la modifica dell’attaccante) con
il corretto checksum c(M’), dove P’ = <M’,c(M’)>. Verifichiamo dunque come sia possibile ottenere C’ da C in modo che C’ sia decifrato in M’ invece che con M. Si ha che:
C’ = C ⊕ <mu, CRC(mu)> =
= RC4(v,k) ⊕ <M, CRC(M)> ⊕ <mu, CRC(mu)> =
= RC4(v,k) ⊕ <M ⊕ mu, CRC(M) ⊕ CRC(mu)> =
Avevamo detto che CRC(X) ⊕ CRC(Y) = CRC(X⊕Y) e M’ = M
⊕ mu,
= RC4(v,k) ⊕ <M’, CRC(M ⊕ mu)> =
= RC4 (v, k) ⊕ <M’, CRC (M’)> =
Abbiamo trovato che:
C’= RC4(v,k) ⊕ P’, con
P’=<M’,CRC(M’)>
Il pacchetto contraffatto dall’attaccante utilizza l’identico IV di quello del messaggio originale (RC4(v,k)). Un malintenzionato inviando del traffico in chiaro (P) verso la rete wireless e intercettando il corrispettivo cyphertext (C), potrebbe quindi riuscire a iniettare uno o più pacchetti P’ utilizzando lo stesso IV. Dato che WEP non fornisce alcuna protezione per quanto riguarda i replay attacks, è possibile re-iniettare più volte un frame
cifrato in modo legittimo. Questa debolezza è utilizzata per sferrare il cosiddetto ARP request attack. L’utilizzo di CRC-32 e RC4 è giustificato dalla loro semplicità di implementazione e dalla velocità computazionale che permettono di ottenere. Molti attacchi però si basano proprio sulle loro proprietà.
1.3.4 Attacchi recenti a WEP
Nel corso degli anni, dalla nascita del protocollo WEP, sono stati effettuati numerosi studi che portarono all’implementazione di diversi attacchi per sostenere le numerose debolezze di tale protocollo. Tra i diversi attacchi, implementati poi nel tool Aircrack-ng, si ha:
Attacco di Fuhrer, Mantin e Shamir
(FMS)
E’ possibile sfruttare le debolezze citate degli stream cipher nel caso siano soddisfatte almeno due condizioni:
- Devono essere recuperati almeno due messaggi cifrati (C1, C2) con lo stesso keystream (K).
- Bisogna avere una conoscenza parziale di questi messaggi.
Fluhrer, Mantin e Shamir, nel loro paper del 1963, furono i primi studiosi a dimostrare la vulnerabilità del KSA (key scheduling algorithm) dell’RC4 utilizzato in WEP[5].
L’attacco da loro scoperto che poi prese il loro nome (FMS) è basato, oltre alle condizioni già citate, sull’utilizzo del solo primo byte della sequenza pseudo-random prodotto dall’output generator di RC4. Si vide come valori “deboli” di IV lasciassero trapelare informazioni sulla chiave. Sarebbe possibile raccogliere un numero sufficiente di pacchetti e individuare la chiave se il primo byte del keystream fosse noto: questa particolare situazione viene definita dagli autori come una resolved condition. Conoscere il primo byte del cifrario non è così difficile come potrebbe sembrare. Infatti, nelle reti wireless è utilizzato il protocollo LLC (definito dallo standard IEEE 802.3) a livello data link, che prevede che i pacchetti IP siano incapsulati in un ulteriore frame con un header SNAP (Sub Network Access Protocol). Tale header ha sempre il valore 0xAA come primo byte. E’ possibile ottenere il primo byte di output del cifrario semplicemente eseguendo uno XOR
tra il primo byte del ciphertext e il valore 0xAA. Comunque, siccome l’IV è per-packet, il cifrario sarà inizializzato ad ogni pacchetto inviato, il quale quindi conterrà sempre il primo byte generato da RC4. Nella sua implementazione nel tool Aircrack, si nota come venga indovinato ciascun byte della chiave, associando dei voti ai più probabili byte della chiave, grazie al recupero di un gran numero di pacchetti intercettati.
Attacco di Pyshkin, Tews e Weinmann
(PTW)
Tramite l’attacco FMS occorrono tra i 500.000 e 1.000.000 pacchetti per recuperare l’intera chiave. Questo perché non tutti i frame contengono un IV che determina una resolved condition. Furono condotti una serie di studi sull’RC4 da Andreas Klein, portando a 250.000 i pacchetti necessari per il cracking della chiave WEP. Klein quindi apportò un netto miglioramento agli attacchi precedenti ed evidenziò il fatto che vi erano ulteriori correlazioni tra il keystream e la chiave oltre a quelle già scoperte.
Gli studi più recenti sono stati condotti da Andrei Pychkine, Erik Tews e Ralph P. Weinmann nel loro paper “Breaking 104-bit WEP in less than 60 seconds”[6].
Questi ricercatori hanno migliorato l’attacco sviluppato da Klein contro l’algoritmo RC4 usato dal WEP, in modo che i bytes che compongono la chiave fossero calcolati in maniera indipendente. Il risultato è che con circa 35.000-40.000 pacchetti WEP si ha il 50% di probabilità di calcolare la chiave corretta mentre con 85.000 la probabilità sale a 95%. L’attacco PTW presuppone di conoscere i primi 16 byte (per tutti i 128 bit della chiave) di output del cifrario, il che equivale a conoscere i primi 16 byte del plaintext del pacchetto per poter fare lo XOR con il cyphertext.
Tale tipo di attacco non può essere applicato a tutti i pacchetti ma solo a quelli con un determinato header noto, come ad esempio i pacchetti del protocollo ARP. Possiamo aumentare il traffico dei pacchetti utili per l’attacco utilizzando la cosiddetta tecnica dell’ARP reinjection. Per eseguire questo attacco è obbligatorio che la scheda di rete supporti l’injection dei pacchetti oltre ovviamente al monitor mode.
In cosa consiste l’ARP reinjection proposta da Tews, Weinmann e Pyshkin per aumentare il traffico dei pacchetti utili all’attacco? Prima di rispondere vediamo innanzitutto come funziona il protocollo ARP (Address Resolution Protocol).
Simuliamo il caso in cui un client A voglia inviare un messaggio a un client B.
Per fare ciò dovrà specificare nel pacchetto in uscita l’indirizzo IP di quest’ultimo (client B). Gli indirizzi IP hanno significato soltanto a livello network, quindi, affinché il frame ethernet possa raggiungere lo strato data link del destinatario è necessario conoscere il suo indirizzo fisico (MAC Address). A tale scopo interviene il protocollo ARP.
Il client A, volendo conoscere l’indirizzo fisico del client B (o comunque di un altro client), deve mandare in broadcast a tutta la sottorete, una ARP request specificando l’indirizzo IP del destinatario e il proprio indirizzo fisico. La richiesta del client A sarà ascoltata da tutti gli host ma solo quello con l’indirizzo IP specificato dal client A invierà a questo una ARP Response con il proprio indirizzo fisico.
Il client B saprà a chi inviare la risposta poiché il client A nella sua request aveva incluso il suo indirizzo fisico. Entrambi i tipi di pacchetti, vale a dire sia le ARP request sia le ARP response, hanno dimensione fissa. Tale proprietà li rende facilmente riconoscibili nel traffico perché la crittografia WEP non nasconde le dimensioni originali dei pacchetti.
I pacchetti ARP possiedono un header LLC (Logical Link Control) fisso di dimensione pari a 8 byte uguale a “AA-AA-03-00-00-00-08-06” e i primi 8 byte del payload sono uguali a “00-01-08-00-06-04-00-01” per le richieste e “00-01-08-00-06-04-00-02” per le risposte. Come si nota differiscono solo nell’ultimo byte. Siccome WEP lascia in chiaro l’indirizzo del destinatario, è facile distinguere le richieste (mandate in broadcast, vale a dire FF:FF:FF:FF:FF:FF) dalle risposte (unicast); in questo modo i pacchetti ARP in transito nella sottorete sono facilmente riconoscibili e se ne conoscono i primi 16 byte del plaintext. Catturando ogni pacchetto ARP e facendo lo XOR tra i primi 16 Byte del pacchetto e questi valori noti appena visti si hanno a disposizione i primi 16 byte generati dal cifrario. Inoltre si ha conoscenza anche del vettore di inizializzazione (IV) poiché inviato in chiaro. La tecnica dell’ARP reinjection descritta dai ricercatori consiste nel catturare e rispedire tutte le richieste ARP cosi come sono state intercettate. Il fatto di re- iniettare i pacchetti catturati produce in generale 3 nuovi pacchetti a causa del relay effettuati dall’Access Point. Il numero di pacchetti che possono essere utilizzati per l’attacco aumenta in maniera considerevole poiché ogni pacchetto prodotto possiede un diverso vettore di inizializzazione. Tale tecnica trasforma tale tipo di attacco da passivo ad attivo e in questo modo potrebbe venire segnalato da sistemi anti-intrusione (es. WIPS).
Capitolo 2. Il concetto di RSNA
2.1 Introduzione
Nel 1962 si venne a formare un nuovo gruppo di lavoro, il Task group I, per porre rimedio alle vulnerabilità crittografiche del WEP e per dare una risposta positiva alle preoccupazioni crescenti all’interno delle aziende. Allo stesso tempo si tentò di migliorare anche la fase di autenticazione. Dopo anni di studi si arrivò alla stesura ufficiale del nuovo standard 802.11i nel 1964 che fu poi ufficializzato nel gennaio 1965.
Lo standard 802.11i introduce il concetto di RSNA[7] (Robust Security Network Association); si tratta di un associazione tra due dispositivi e prevede meccanismi per quanto riguarda:
- autenticazione degli utenti (802.1.X)
- creazione e gestione chiavi (802.1.X, EAPOL)
- crittografia dati e verifica dell’integrità (TKIP, CCMP)
L’802.11i introdusse quindi nuovi cambiamenti andando a separare la fase di autenticazione dell’utente dai meccanismi di segretezza e integrità dei dati. L’architettura RSN è robusta e scalabile allo stesso tempo, sia per reti domestiche e/o per piccoli uffici che per reti aziendali di grandi dimensioni. Si utilizzano chiavi diverse da utente a utente, tra una sessione e un altra e per pacchetto, andando così a risolvere i principali problemi che affliggevano il WEP. La crittografia WEP, come abbiamo potuto analizzare, non è per niente sicura e non offre al contempo una soluzione sufficiente alla autenticazione.
Perciò fu utilizzato lo Standard IEEE 802.1.X, il quale prevede che l'autenticazione avvenga sia in fase di primo accesso alla rete sia a intervalli regolari. Diamo ora una breve descrizione di questo protocollo che sarà poi ripreso nel capitolo successivo in maniera più approfondita. Per l'autenticazione, l'Access Point si deve appoggiare a un server esterno tramite il protocollo RADIUS (Remote Authentication Dial-In User Service).
Lo Standard IEEE 802.1.X è un adattamento di EAP (Extensible Authentication Protocol) con lo scopo di fornire un meccanismo comune a livello data link sul quale sia possibile la definizione degli EAP-METHOS, sotto-protocolli specifici, che determineranno la transazione vera e propria.
Questo standard impedisce che utenti non autorizzati possano accedere alla rete
e che solo una volta che
l’autenticazione sia andata a buon fine il traffico passi
per una determinata porta solamente.
Nelprocessodi autenticazionecompaionotrediversefigure:
Supplicant: l’utente che richiede l’accesso alla
rete.
Authenticator: l’entità che controlla l’accesso del supplicant alla rete (es.
Access Point).
Authentication server: l’entità che fornisce il servizio di autenticazione
all’authenticator.
Dopo essere state fornite le credenziali da parte del supplicant, l’Authentication server decide se e in quali modalità offrire l’accesso alla rete (es. server RADIUS che descriveremo più avanti).
In pratica il processo di autenticazione avviene tra il Supplicant e l’Authentication server con l’Authenticator che detiene la funzione di attivare/disattivare fisicamente la porta alla quale l’utente cerca di connettersi. Lo standard 802.1.X si compone di due protocolli:
EAPOL (EAP over LAN) estensione di EAP (Extensible Authentication
Protocol).
Tra Supplicant (client che intende accedere alla rete) e Authenticator.
AAA (Authentication, Authorization and Accounting), quale RADIUS.
Tra Authenticator e Authentication server.
In ambienti 802.1.X, il protocollo utilizzato per l’autenticazione è EAPOL, che tra l’authenticator (AP) e l’Authentication server (server RADIUS) è incapsulato in pacchetti RADIUS.
(Fig. 2.1) Schema di autenticazione 802.1X
Lo standard 802.1.X si interessa solamente della fase di autenticazione dell’utente e non della cifratura dei dati. IEEE ha scelto il protocollo EAP per assicurare il meccanismo di autenticazione standard per 802.1.X. Il protocollo EAP (Extensive Authentication Protocol) permette di centralizzare l’autenticazione dell’utente e assicurare la distribuzione dinamica delle chiavi di cifratura. Questo protocollo è utile per permettere la comunicazione dei client con i server di autenticazione. 802.1.X è lo standard per il controllo dell’accesso alla rete. L’utilizzo di EAP/802.1.X permette una mutua autenticazione client/authentication server, chiavi di cifratura dinamiche e derivate solo dopo che l’autenticazione sia andata a buon fine. La chiave, derivata dall’Authentication server e dal client (la PMK), è propria di quel client e utilizzabile nella sessione corrente. Quando infatti la sessione finisce, è necessaria un’ulteriore fase di riautenticazione e di derivazione di una nuova chiave. Diciamo comunque che, data questa architettura robusta, le procedure di autenticazione e di associazione tra stazioni avviene in 4 fasi:
1) - Accordo sulla politica di sicurezza
2) - Fase di autenticazione 802.1.X
3) - Derivazione e distribuzione chiavi
4) - Segretezza e integrità dei dati
2.2 Accordo sulla politica di
sicurezza
Questa prima fase permette a due entità che vogliono comunicare di poter stabilire un accordo sulla politica di sicurezza da adottare. L’utilizzo dei frame di Beacon permette appunto di pubblicizzare il punto di accesso con diverse informazioni a riguardo (identificativo rete SSID, modello AP, data rate, canale in uso per la comunicazione, etc.).
(Fig.2.2) Accordo sulla politica di sicurezza
Il frame Beacon è inviato dall’Access Point in modalità broadcast. La Probe Request è inviata dal client (in modalità broadcast o unicast) contenente proprie informazioni e se configurato l’SSID a cui connettersi, altrimenti rimane in ascolto alla ricerca di un AP a cui associarsi. A tale richiesta segue la risposta da parte dell’AP con una Probe Response in modalità unicast (AP/client), che contiene le proprie specifiche (data rate, etc.). A queste segue un’autenticazione aperta standard (Authentication request e Authentication Success) e successivamente un Association request da parte del client all’AP con le informazioni sulla politica di sicurezza nel campo RSN IE (Information Element) contenente informazioni su:
- metodi di autenticazione supportati (802.1.X o
PSK).
- protocolli di sicurezza del traffico unicast e multicast
(TKIP/CCMP).
- supporto per la pre-autenticazione.
In questo modo sarà possibile eseguire per esempio un eventuale handover senza avvertire alcuna interruzione. Segue un Association Response da parte dell’AP.
2.3 Fase di autenticazione
802.1X
Si arriva così alla seconda fase, ossia all’autenticazione 802.1.X basata sull’utilizzo del protocollo EAP con il metodo di autenticazione più appropriato (attraverso diversi metodi che comportano l’utilizzo di password, certificati digitali, etc.).
Tra i metodi più importanti e comunemente utilizzati in ambito wireless,
troviamo:
EAP-TLS
EAP –TTLS
EAP-FAST
PEAPv0
PEAPv1
Li vedremo in dettaglio nel prossimo capitolo. Per ora si sappia solamente che esistono diversi protocolli di autenticazione che possono essere utilizzati per verificare le credenziali client/server. La seconda fase è segnata dall’invio di una richiesta d‘identità del client da parte dell’Access Point. Il client a sua volta risponderà a tale richiesta con il metodo di autenticazione scelto. Segue un successivo scambio di dati tra il client e l’authenticator server per derivare una master key comune (MK). In conclusione seguirà un messaggio Radius Accept, contenente la master key, inviato dal server authenticator all’authenticator (quindi all’Access Point) e il successivo EAP Success dall’authenticator al client.
(Fig.2.3) Fase di Autenticazione 802.1X
2.4 Derivazione e distribuzione
chiavi
In questo contesto di rete RSN, ogni chiave possiede un tempo di vita limitato e la sicurezza generale è data da un insieme di diverse chiavi organizzate in una gerarchia. Dopo che l’autenticazione sia andata a buon fine, sono generate e aggiornate le chiavi temporanee fino alla conclusione della sessione. Le chiavi sono sottoposte a hashing, sono concatenate e distribuite in modo sicuro. Come mostrato dalla figura, ci sono due handshake per la derivazione della chiave:
(Fig.2.4) Derivazione delle chiavi
- Handshake a 4 vie per derivare:
la PTK (Pairwise Transient Key)
la GTK (Group Transient Key)
- Group key Handshake per rinnovare la GTK.
Diciamo innanzitutto che la derivazione della PMK (Pairwise master key) varia a seconda di quale metodo di autenticazione si sia deciso di utilizzare.
Infatti se usiamo un’autenticazione PSK (Pre Shared Key), la PMK viene generata dalla passphrase (da 8 a 63 caratteri) o dalla PSK (una stringa di 256 bit) utilizzando una funzione di generazione pseudocasuale PBKDF2 che esegue 4096 volte l’hash basato su hmac-sha1, utilizzando i seguenti parametri:
la Passphrase
SSID
Lunghezza SSID
Come output si ottiene una stringa PMK (256 bit).
Altrimenti se abbiamo a disposizione un authentication server, deriviamo la PMK (dall’autenticazione 802.1.X) dalla MK (Master Key).
La PMK non è usata direttamente per la cifratura o la verifica d’integrità ma viene utilizzata per generare una chiave di cifratura temporanea (per il traffico unicast si parla di PTK - Pairwise Transient Key). Tale chiave assume lunghezze diverse a seconda del protocollo di cifratura utilizzato:
- se utilizziamo TKIP, la PTK è di 512
bit
- se utilizziamo CCMP, la PTK è di 384
bit
La PTK è costituita da diverse chiavi come risulta dall’immagine
seguente:
(Fig.2.5) PTK
Nello specifico:
Nome chiave |
Dim. |
Scopo |
|
||
|
|
||||
KCK |
EAPOL-Key Confirmation key |
128 bit (16Byte) |
Per i messaggi di autenticazione (MIC) durante l’Handshake a 4 vie e la Group key Handshake |
||
KEK |
EAPOL-Key Encription key |
128 bit (16Byte) |
Garantisce la segretezza durante l’Handshake a 4 vie e la Group Key Handshake |
TEK |
Temporal Key |
128 bit (16Byte) |
Per la cifratura dati UNICAST (TKIP o CCMP) |
TMK1 |
(Tx)Temporal MIC Key |
64 bit (8 Byte) |
Per l’autenticazione dei dati UNICAST usata dall’ algoritmo Michael nel TKIP |
TMK2 |
(Rx)Temporal MIC Key |
64 bit (8 Byte) |
Per l’autenticazione dei dati UNICAST usata dall’algoritmo Michael nel TKIP |
(Tab.2.1) Gerarchia PTK
Per generare la PTK, viene applicato l’hash hmac-sha1 alla chiave PMK con la funzione pseudo casuale PRF-512 che richiede altri parametri, quali:
PMK (Pairwise Master Key)
Authenticator Address (AA): è il MAC dell’AP, quindi 48 bit
Supplicant Address (SA): è il MAC del client
Anonce: numero casuale di 128 bit in chiaro generato dall’autenticator
Snonce: numero casuale di 128 bit in chiaro generato dal client
L’output è una PTK a 512 bit che sarà unica per ogni coppia AP/client, visto che per generarla si utilizzano sia il MAC del Client che dell’Access Point. Come si vede, questo è il caso di utilizzo del TKIP. Nel caso invece si utilizzasse il CCMP come protocollo di cifratura, la chiave PTK utilizzata sarebbe composta da 384 bit. Infatti nel WPA2, adottando il CCMP, le MIC keys vengono calcolate attraverso l’algoritmo AES, come vedremo più avanti.
2.4.1 Il 4-Way Handshake
Si giunge quindi al 4-Way Handshake che inizia per opera dell’autenticator (l’AP). Questo meccanismo ci permette di:
o Avere la conferma che il client conosca la PMK
o Derivare una nuova PTK
o Installare chiavi di cifratura e di integrità
o Cifrare il trasporto della GTK
o Confermare la selezione di cifratori
Vengono in questo modo scambiati 4 messaggi di tipo EAPOL- Key tra l’AP
e il client.
QUESTE SONO LE PRIME 38 PAG. SENZA SCHEMI IDEOGRAMMI E FOTO
LA TESI E' DI 190 PAG.