Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Sicurezza delle reti 802.11

1,866 views

Published on

Published in: Education
  • Be the first to comment

  • Be the first to like this

Sicurezza delle reti 802.11

  1. 1. Universit` degli Studi di Bologna a Facolt` di Scienze Matematiche Fisiche e Naturali a Corso di Laurea in Scienze dell’ Informazione Sicurezza delle reti 802.11 Patrizio Bertozzi mat. 1602-2669 bertozzi@csr.unibo.it xpicio@libero.it v1.6 Sicurezza , Anno Accademico 2004/2005 , 07/02/2005
  2. 2. i Sicurezza delle reti 802.11 c 2005 Patrizio Bertozzi. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WI- THOUT ANY WARRANTY; without even the implied warranty of MER- CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  3. 3. Sicurezza delle reti 802.11 ii
  4. 4. Indice 1 Introduzione alle LAN Wireless 1 1.1 802.11a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 802.11b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 802.11e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4 802.11f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.5 802.11g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.6 802.11h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.7 802.11i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.8 802.11j . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.9 Struttura Generale delle Reti 802.11 . . . . . . . . . . . . . . . . 4 1.10 Breve Storia delle Reti 802.11 . . . . . . . . . . . . . . . . . . . 6 2 Analisi della Protezione Fornita da 802.11 9 2.1 802.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1.1 WEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1.2 Open System Authentication . . . . . . . . . . . . . . . 15 2.1.3 Shared Key Authentication . . . . . . . . . . . . . . . . 15 2.1.4 Gestione delle Chiavi . . . . . . . . . . . . . . . . . . . . 17 2.1.5 SSID . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.2 Robust Security Network (RSN) . . . . . . . . . . . . . . . . . . 18 2.2.1 Struttura di RSN . . . . . . . . . . . . . . . . . . . . . . 19 2.2.2 Attacchi a RSN . . . . . . . . . . . . . . . . . . . . . . 20 2.3 802.11i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.3.1 TKIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.3.2 AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3 Sistemi di Protezione Alternativi a 802.11 37 3.1 WPA e WPA2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.2 Virtual Private Networks (VPN) . . . . . . . . . . . . . . . . . . 39 3.3 CISCO LEAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.4 Sicurezza a Livello Applicazione e Trasporto . . . . . . . . . . . 39 iii
  5. 5. Sicurezza delle reti 802.11 iv 4 Conclusioni 41 Bibliografia 45
  6. 6. Capitolo 1 Introduzione alle LAN Wireless Le Wireless LAN (WLAN) sono una particolare topologia di reti il cui mez- zo trasmissivo ` costituito dall’etere. Lo standard di riferimento originario e ` stato redatto dal comitato 802.111 di IEEE2 (Institute of Electrical and e Electronics Engeneers) nel 1997 [1]. Lo standard 802.11 definisce un’interfaccia tra i client wireless e i relativi punti di accesso alla rete; pi` precisamente sono incluse le definizioni dei u livelli: PHY (Physical ) e MAC (Media Access Control ). Inoltre definisce anche il meccanismo di protezione WEP (Wired Equivalent Privacy). Il livello PHY definisce come avviene la trasmissione wireless vera e pro- pria. Nello standard 802.11 sono definiti tre tipi di trasmissioni: infrarossi diffusi, radio frequenza tramite FHSS (Frequency Hopping Spread Spectrum) oppure radio frequenza tramite DSSS (Direct Sequence Spread Spectrum), oggi di gran lunga la pi` utilizzata. La banda radio utilizzata in questo stan- u dard ` quella dei 2.4 GHz, dato che ` disponibile senza l’acquisto di nessuna e e licenza nella maggior parte degli stati del mondo; va comunque detto che esiste anche una vesrione che utilizza la banda dei 5 GHz. Il livello MAC controlla l’accesso al mezzo di trasporto fisico, ma non solo infatti questo livello si occupa anche di fornire funzionalit` aggiuntive come: a correzzione degli errori, funzionalit` di roaming e di risparmio energetico. a Il MAC ha due standard di funzionamento: una modalit` distribuita e una a modalit` coordinata. La modalit` distribuita, che si basa su CSMA/CA a a (Carrier Sense Multiple Access with Collision Avoidance), utilizza gli stessi principi che utilizzano le reti Ethernet per condividere lo stesso cavo. La modalit` coordinata, sempre basata su CSMA/CA, utilizza un meccanismo a di interrogazione coordinata e centralizzata, che garantisce il supporto per applicazioni real time. 1 http://grouper.ieee.org/groups/802/11/ 2 http://www.ieee.org 1
  7. 7. 2 Capitolo 1 Il protocollo WEP sar` preso in considerazione in modo pi` approfondito a u nel Capitolo 2. In seguito alla creazione di 802.11, il comitato 802 ha creato diversi sotto gruppi di lavoro (Task Group, TG) ciascuno con l’obbiettivo di migliorare una specifica area dello standard wireless. Ed ` cos` che furono creati gli standard: e ı 802.11a, 802.11b, 802.11g, 802.11j, 802.11h, 802.11e, 802.11i, 802.11f [2]. 1.1 802.11a L’obbiettivo del gruppo 802.11a era quello di sviluppare un livello PHY ad alta veloci` nella banda dei 5 GHz, tale obbiettivo ` stato raggiunto nel 1999 a e con la pubblicazione dell’omonimo standard [3]. 802.11a ` stato progettato e per lavorare ad una velocit` di 54 Mbps, facendo uso di un uno schema di a 3 modulazione OFDM , anche se il throughput reale arriva a 31 Mbps. Uno dei principali svantaggi di questa tecnologia ` che non ` compatibile con e e altri standard wireless come 802.11 e 802.11b, dato che lavorano su bande differenti, anche se alcuni produttori hanno messo in commercio unit` che a funzionino sia con 802.11a che con 802.11b. Tuttavia l’utilizzo della banda a 5 GHz a lungo termine dovrebbe garantire delle trasmissioni pi` pulite, cio` u e senza interferire con altri apparecchi che utilizzano la banda dei 2.4 GHz come telefoni cordless, microonde, Bluethooth4 etc. . . 1.2 802.11b Nel settembre del 1999 venne approvato 802.11 High Rate o 802.11b [4] come standard ad alta velocit` che permetteva un data rate a livello PHY di 11 a Mbps, mentre il throughput reale era di 6 Mbps a causa dell’overhead di MAC, della correzzione degli errori e delle collisioni. 802.11b utilizza come modulazione la tecnica CCK con DSSS e questo permette una totale compa- tibilit` all’indietro con 802.11. L’organizzazione WECA5 (Wireless Ethernet a Compatibility Alliance) ha nominato questo standard Wi-Fi. Quindi tutte le apparecchiature che portano questo nome sono state testate per operare con 802.11. In seguito alla pubblicazione di questo standard sono state sviluppate delle estensioni proprietarie che permettevano velocit` di 22, 33, 44 Mbps; a queste estensioni hanno preso poi il nome di “802.11b+”. 3 http://www.ofdm-forum.com 4 https://www.bluetooth.org 5 http://www.wi-fi.org
  8. 8. Capitolo 1 3 1.3 802.11e Questo gruppo di lavoro ha il compito di aggiungere funzionalit` multimediali a e di QoS (Quality Of Service) al livello MAC di 802.11. Dato che le modifiche sono a livello MAC i vantaggi derivanti da 802.11e potranno essere utilizzati da: 802.11a, 802.11b, 802.11g. Il fatto di avere uno standard di QoS negli apparecchi wireless potrebbe spianare la strada dell’adozione di 802.11 in dispositivi multimediali e VoIP (Voice over IP ). Lo standard ` ormai nella e fase finale di approvazione; nel Gennaio 2005 ` stato approvata la bozza e 802.11e-D12.0. 1.4 802.11f Il gruppo 802.11f [5], che ha terminato lo standard nel 2003, ` stato istituito e in seguito alle esigenze di rendere interoperabili gli access point dei diver- si fornitori, permettendo la realizzazione di sistemi distribuiti e di fornire funzionalit` di roaming avanate. Nel 1996 Aironet, Lucent Technologies e a Digital Ocean hanno formato un gruppo di lavoro per dar vita al protocol- lo IAPP (InterAccess Point Protocol ) che ` poi stato ripreso dal 802.11f e e standarizzato. 1.5 802.11g Nel giugno del 2003 un ulteriore standard mirato a migliorare la velocit` a di trasmissione ` stato approvato: 802.11g [6], anche questo standard come e 802.11b lavora sulla banda dei 2.4 GHz con la differenza che le velocit` che a si ottengono a livello PHY sono di 54 Mbps, mentre il throughput reale ` e di 24 Mbps circa. 802.11g supporta sia la modulazione CCK su DSSS sia la modulazione OFDM; questo ` dovuto alla disputa tra Texas Instruments e e Intersil per aggiudicarsi la leadership come fornitori di chipset 802.11g. 1.6 802.11h 802.11h [7] ` un miglioramento a livello PHY di 802.11a. Pi` precisamen- e u te questo standard introduce TPC (Transmit Power Control ) per limitare l’emissione dei segnali radio non necessari; e DFS (Dynamic Frequency Se- lection) che permette all’unit` di mettersi in ascolto nell’etere prima di ap- a propriarsi del canale. TPC e DFS sono regolamentazioni europee, quindi 802.11h non ` altro che un adattamento di 802.11a alle esigenze europee per e
  9. 9. 4 Capitolo 1 l’utilizzo della banda dei 5 GHz. In futuro 802.11h potr` rimpiazzare 802.11a a come Wi-Fi5 in base a quanto affermato da WECA. 1.7 802.11i Lo standard 802.11, come vedremo nel corso del documento, presenta nume- rosi problemi di sicurezza, ed ` proprio per risolvere questi problemi che ` e e stato creato il gruppo 802.11i [8] che ha approvato lo standard nel giugno del 2004. Lo sviluppo di questo standard ha portato sostanzialmente due miglio- ramenti: TKIP (Temporal Key Integrity Protocol ), e la definizione dei proto- colli AES-CCM (AES Counter Mode/CBC-MAC ) e AES-OCB (AES Offset CodeBook ) basati sull’algoritmo di crittazione AES [9] (Advanced Encryption Standard ). TKIP ` stato progettato per rimpiazzare WEP per` senza la necessit` e o a di cambiare il vecchio hardware, dato che lo sviluppo di una tecnologia non compatibile con WEP avrebbe lasciato i dispositivi wireless gi` sul mercato a senza un layer di sicurezza sufficientemente adeguato. Invece AES-CCM e AES-OCB sono stati progettati con l’intento di creare un nuovo protocollo di sicurezza senza alcun vincolo imposto da un’eventuale compatibilit` con WEP, per garantire la sicurezza necessaria alle WLAN a per i prossimi decenni. Infatti l’impiego di AES necessita di nuovi supporti hardware. 1.8 802.11j Questo gruppo di lavoro era stato proposto da IEEE, ETSI6 (European Te- lecominications Standards Institute) e dal 5GSG (5 GHz Globalization and Harmonization Study Group) con il compito di rendere interoperabili gli stan- dard 802.11a e quello relativo alle LAN radio a elevate prestazione (Hiper- LAN ), con l’obbiettivo di creare uno standard globale per WLAN nella banda dei 5 GHz. Dopo aver svolto parte del lavoro per l’unificazione in Europa, Stati Uniti e Giappone il gruppo ` stato sciolto. e 1.9 Struttura Generale delle Reti 802.11 Una rete 802.11 pu` operare in due modi differenti: nel modo ad-hoc op- o pure nel modo infrastructure [10]. IEEE definisce le reti ad-hoc come IBSS 6 http://www.etsi.org
  10. 10. Capitolo 1 5 (Independent Basic Service System), mentre le reti che operano in modalit` a infrastructure sono definite come BSS (Basic Service Set). In modalit` ad-hoc ogni client della rete comunica direttamente con gli a altri client che fanno parte della rete (ovvero quegli host che sono raggiun- gibili dal segnale radio); questo tipo di rete ` la pi` semplice da realizzare e u ed ` composta da almeno due host. Nel caso i client volessero comunicare e all’esterno della cella IBSS, un membro della cella dovrebbe operare come gateway e realizzare le politiche di routing. Un esempio viene mostrato in figura 1.1. Invece nella modalit` infrastructure ogni client comunica unicamente con a uan stazione centrale, chiamata AP (Access Point). Gli AP funzionano esat- tamente come i bridge per le reti Ethernet, ricevono i pacchetti e li inoltrano alla rete corretta. In figura 1.2 ne viene mostrato un esempio. Figura 1.1: Rete ad-hoc Figura 1.2: Rete infrastructure Prima di comunicarsi dei dati gli AP e le stazioni client devono stabilire una relazione (association). Solamente dopo che questa relazione ` stata e stabilita due stazioni possono scambiarsi dei dati. Nel modo infrastructure i client devono stabilire questa relazione con gli AP, la relazione avviene attraverso i seguenti stati: 1. Unauthenticated and Unassociated (non autenticato e non associato) 2. Authenticated and Unassociated (autenticato e non associato) 3. Authenticated and Associated (autenticato e associato) Per passare da uno stato ad un altro le parti in causa si scambiano dei messaggi chiamati management frame. Tutti gli AP trasmettono ad un intervallo regolare un management frame detto beacon (fuoco di segnalazione) e i client che vogliono accedere alla BSS rimangono in attesa di questo messaggio per identificare l’AP che ` nel e raggio di azione della propria interfaccia Wi-Fi. Ad ogni WLAN ` associato e
  11. 11. 6 Capitolo 1 un SSID (Service Set IDentifier ) che ` solitamente contenuto all’interno del e beacon frame, in questo modo permette ai client di selezionare a quale rete collegarsi. In caso un client conosca gi` un SSID valido pu` inviare un frame a o di probe per verificare se la rete ` effettivamente disponibile. Una volta e che un client identifica un AP avviene un processo di autenticazione, 802.11 prevede due metodi differenti di autenticazione che saranno esaminati nel Capitolo 2. Dopo che l’autenticazione ha avuto successo il client si sposta nel secondo stato Authenticated and Unassociated, per passare da questo stato al successivo, Authenticated and Associated, il client deve inviare un frame di richiesta di associazione, association frame, e l’AP deve rispondere con un association frame di risposta. 1.10 Breve Storia delle Reti 802.11 L’utilizzo della tecnologia Wireless presenta senza dubbio molti vantaggi, tut- tavia la natura stessa del mezzo di comunicazione, l’etere, espone le WLAN ad un numero elevato di pericoli per i dati in transito. I ricercatori hanno ampiamente dimostrato l’insicurezza delle WLAN, e questo fattore ` stato, sicuramente, la causa maggiore che ha frenato il e divulgarsi di questo tipo di tecnologia [11]. Inizialmente quando i primi prodotti Wi-Fi vennero immessi sul merca- to si pensava che l’intercettazione dei segnali radio di 802.11 sarebbe stato molto arduo dato l’utlizzo della modulazione spread spectrum che rendeva complicato la costruzione di un dispositivo ricevente, tuttavia questa scioc- ca supposizione venne subito smentita dato che per intercettare del traffico 802.11 basta semplicemente avere un’interfaccia conforme a Wi-Fi. Per indi- viduare una WLAN basta attrezzarsi con un’interfaccia 802.11, un antenna ominidirezionale, e un laptop o un PDA ed iniziare a muoversi in una data area a piedi o in auto alla ricerca del segnale. Queste tecniche, note poi con il nome di War Walking e War Driving [12], presero piede a tal punto che ` e ora possibile trovare su internet mappe che descrivono la posizione e i sistemi di protezione di molte WLAN7 . Un ulteriore motivo che ha consentito questo genere di attivit` ` stato la creazione di tool di detect come NetStumbler8 , ae Kismet9 . Una volta che una rete Wi-Fi viene individuata l’unica soluzione proposta da 802.11 per fornire confidenzialit` ai dati che transitano sulla rete ` WEP. a e 7 Un esempio lo si pu` trovare su http://www.nycwireless.net che mappa le reti di o NewYork 8 http://www.netstumbler.com 9 http://www.kismetwireless.net
  12. 12. Capitolo 1 7 WEP si ` dimostrato essere un fiasco clamoroso fallendo completamente tutti e gli obbiettivi per cui era stato progettato. Come se non bastasse, l’utilizzo di WEP era una caratteristica opzionale, e quindi molti costruttori non lo implementarono nemmeno nei loro primi prodotti. Un’altra possibile soluzione per tenere al sicuro le reti Wi-Fi ` data dalla e creazione di Access Control Lists tramire il filtraggio dei MAC Address, ma tuttavia non va presa come una soluzione seria dato che non autentica un utente ma un host, e va inoltre detto che la modifica del MAC di una scheda Wi-Fi ` una cosa piuttosto semplice, a volte lo si pu` fare tramite l’interfaccia e o fornita dai driver. Dopo il fallimento di queste tecniche sono state proposte tecniche di pro- tezione basate su protocolli gi` noti e su sistemi gi` adottati da tempo per a a le reti tradizionali; come ad esempio: ` stato proposto l’uso di 802.1x, di e VPN, o di Kerberos10 per l’autenticazione, l’uso di IPSec [13] per garantire confidenzialit` e integrit` dei dati, e infine l’utilizzo massiccio di SSL [14] e a a HTTPS [15]. Infine ` iniziata da parte di IEEE la redazione di un nuovo e standard mirato a risolvere tutti i problemi di 802.11, dando vita ad una serie di proposte formalizzate in 802.11i nel Giugno del 2004. Comunque in attesa che 802.11i venga implementato (in questo momento la maggior parte dei dispotivi Wi-Fi implementano un sottoinsieme delle funzionalit` di 802.11i, nominato WPA; anche se esistono gi` alcuni chipset, a a 11 come l’AR5006 di Atheros che fornise il supporto completo a 802.11i) e reso disponibile agli utenti la scelta migliore per mantenere sicura una rete Wi-Fi rimane quella di adottare un approccio tradizionale basato su pi` livelli di u sicurezza [11]. 10 http://web.mit.edu/kerberos/www/ 11 http://www.atheros.com
  13. 13. 8 Capitolo 1
  14. 14. Capitolo 2 Analisi della Protezione Fornita da 802.11 In questo capitolo verranno trattati i sistemi di protezione realizzati dal comi- tato 802.11 per rendere sicure le reti Wi-Fi, inoltre verranno anche analizzati gli attacchi che rendono queste contromisure, in alcuni casi, del tutto inuti- li. Infine verranno affrontate le nuove disposizioni di sicurezza che il gruppo 802.11i ha formalizzato nel Giugno del 2004. 2.1 802.11 2.1.1 WEP 802.11 ha introdotto WEP con l’intento di portare il livello di sicurezza delle WLAN equivalente a quello delle LAN, ne ` ulteriore prova il nome stesso e Wired Equivalent Privacy. WEP viene quindi utilizzato per proteggere il livello data link durante le trasmissioni dei dati. Gli obbiettivi di sicurezza che WEP si era proposto sono: Confidenzialit` L’obbiettivo principale ` quello di prevenire l’eavesdrop- a e 1 ping . Controllo d’Accesso Proteggere l’accesso all’infrastruttura delle WLAN. Integrit` dei Dati Proteggere le WLAN dall’alterazione dei dati in tran- a sito. Tutte queste misure di sicurezze sono state violate. 1 Intercettazione e furto delle informazioni che transito sulle WLAN. 9
  15. 15. 10 Capitolo 2 WEP ` basato su una chiave segreta condivisa tra i menbri della BSS, e tale chiave ha una lunghezza di 40 bit. La lunghezza della chiave ` stata e decisa di soli 40 bit a causa delle leggi sull’esportazione della crittografia del Governo USA; comunque attualmente esistono implementazioni di WEP con chiavi lunghe dai 64 ai 152 bit. Queste estensione sono state implementate dato che una chiave lunga 40 bit permette un brute-force attack in tempi piuttosto brevi [16, 17], invece chiavi pi` lunghe impediscono questo attacco u ma non risolvono tutti i problemi di WEP. L’algoritmo che viene utilizzato per crittare i frame ` RC4 [18]2 . RC4 e ` una algoritmo di tipo stream cipher. RC4 genera un keystream di bit e pseudo-casuali, nel caso di WEP questo stream viene generato basandosi sulla chiave condivisa k e su IV, che viene poi messo in XOR con il testo in chiaro per ottenere uno stream crittato della stessa lunghezza del messaggio di partenza. Per il processo di decodifica si deve riottenenere esattamente lo stesso keystream e fare nuovamente lo XOR del messaggio crittato per ottenere il testo in chiaro. Il vettore di inizializzazione IV viene utilizzato in RC4 per rendere mag- giormente casuale la creazione del keystream di codifica, e per evitare che una chiave condivisa utilizzi lo stesso vettore IV. IV ha una lugnhezza di 24 bit. Per garantire l’integrit` dei dati WEP utilizza un campo per il checksum, a basato su CRC-32, che viene inserito all’interno del payload crittato dei frame 802.11. 2.1.1.1 Il Protocollo Vediamo ora come avviene l’invio e la ricezione dei dati in una WLAN che utilizza WEP. Innanzitutto ogni membro della BSS viene inizializzato con la chiave con- divisa k, questo ` un meccanismo che avviene in modo manule e non tramite e la rete. L’invio di un frame comporta le seguenti operazioni: • come prima cosa viene calcolato l’integrity cheksum c(M ) del messaggio M che vogliamo inviare, tramite l’alogirtmo CRC-32. Dopo di ch` e otteniamo il testo P concatenando M e c(M ), P = < M, c(M ) >. Va fatto notare che c(M ) non dipende da k. • ora si procede alla crittazione di P tramite RC4. Viene scelto un vettore di inizializzazione v (IV), dopo di ch` RC4 genera un keystream della e 2 Una descrizione pubblica di RC4 la si pu` trovare in [19]. o
  16. 16. Capitolo 2 11 lunghezza di P , basato su k e v. Questo keystream viene identificato con RC4(v, k). Infine per ottenere il testo crittato C si procede con: C = P RC4(v, k). • infine viene trasmesso il frame contenente IV e C nell’etere, con il bit che indica la presenza di WEP settato. Possiamo rappresentare simbolicamente l’invio come: A → B : v, (P RC4(v, k)). Per ricevere un frame protetto con WEP vengono svolte le seguenti ope- razioni: • il ricevente testa se il bit per la presenza di WEP ` settato. e • viene rigenerato RC4(v, k), estraendo v dal pacchetto ricevuto e viene messo nuovamente in XOR con C in modo da riottenere il testo in chiaro P . P = C RC4(v, k) = (P RC4(v, k)) RC4(v, k) = P. • infine viene verificato il checksum di P per controllare l’autenticit` del a pacchetto. Per fare ci` P viene spezzato in < M , c > dopo di ch` o e viene calcolato c(M ) e confrontato con c . Se il confronto va a buon fine il frame viene accettato. 2.1.1.2 Attacchi a WEP Riutilizzo del Keystream [20, 21]. Un’insidia ben conosciuta degli algo- ritmi stream cipher consente, se due messaggi vengono crittati con la stesso keystream, e quindi con la stessa coppia IV e k, di conoscere il contenuto dei due messaggi. Ad esempio: Se: C1 = P1 RC4(v, k) C2 = P2 RC4(v, k) abbiamo che: C1 C2 = (P1 RC4(v, k))) (P2 RC4(v, k)) = P1 P2 In altre parole lo XOR tra C1 e C2 causa la cancellazione del keystream e d` a come risultato lo XOR tra P1 e P2 . Quindi se uno dei due messaggi in chiaro ` conosciuto ` elementare ottenere l’altro. e e
  17. 17. 12 Capitolo 2 Per prevenire questo problema viene uitlizzato IV in combinazione con la chiave k, ma la gestione impropria di IV e la sua lunghezza di soli 24 bit rendono questa misura di sicurezza inutile. Le specifiche di WEP si limitano a raccomandare di cambiare IV ad ogni paccetto inviato ma non dichiara come. Ad esempio alcune schede Wi-Fi si limitano ad incrementare IV ogni pacchetto che inviano e al termine dello spazio delle combinazioni resettano IV. Il problema di questa soluzione ` che e le chiavi non possono essere cambiate con la frequenza necessaria per evitare un riutilizzo del keystream. La selezione random di IV, oltre a essere pi` u complicata da implementare, presenta delle difficolt` a causa del “Paradosso a del Compleanno”. Questo paradosso, applicato a WEP, ci garantisce che possiamo ottenere, con una probabilit` del 50%, due frame con lo stesso IV a solamente dopo 2 frame che equivale a circa 5000 frame, anzich` dopo 224 . 12 e Tanto per fare un esempio pratico in una rete a 11 Mbps in pochi secondi possiamo ottenere un set di frame contenente due frame crittati con lo stesso keystream. Una volta che si ottengono due pacchetti crittati con lo stesso keystream ci sono diversi modi per ottenere il testo in chiaro. Se si conosce il plaintext di un messaggio ` molto semplice ottenere l’altro. Se invece non si conosce e nessuno dei messaggi si possono utilizzare dei possibili candidati come ad esempio molti campi del protocollo IP sono predicibili e molti protocolli usano delle strutture fisse per scambiarsi dati, oppure effettuando delle analisi del tipo di traffico della rete. Un altro modo per ottenere informazioni pu` essere o quello di immettere pacchetti noti all’interno della rete per poi sniffarne i corrispondenti crittati. Ad esempio un attaccante potrebbe inviare una email ad una stazione che sta monitorando, da un host esterno sotto il suo controllo. Decryption Dictionary [20]. Una volta che si ottiene il plaintext di un frame intercettato un attaccante pu` utilizzare il valore del keystream usato o per crittare il messaggio per decrittare tutti i messaggi codificati con lo stesso IV. Con il passare del tempo un attaccante pu` accumulare tutti i keystream o per ciascun IV e ottenere un dizionario che gli permetterebbe di decifrare tutto il traffico della rete. L’intero dizionario corrisponderebbe all’incirca a 25 GB. Ovviamente questo tipo di attacco sar` reso possibile se le chiavi a vengono cambiate poco frequentemente, dato che la costruzione dell’intero dizionario richiede parecchio tempo. Comunque va fatto notare che se viene utilizzato WEP con chiavi da 40 bit ` possibile sferrare un attacco di tipo brute force in un tempo relativamente e breve e con risorse moderate [16, 17].
  18. 18. Capitolo 2 13 Message Modification [20]. Questo tipo di attacco ` possibile per la pro- e priet` della funzione che calcola il checksum dei pacchetti di essere lineare a rispetto al messaggio. Quindi questo significa che c(x y) = c(x) c(y) per qualunque x, y. La conseguenza diretta di questa propriet` ` che possiamo ae modificare i messaggi che intercettiamo senza danneggiare il checksum. Consideriamo C come un messaggio che abbiamo intercettato prima che raggiungesse la sua destinazione: A → (B) : < v, B > Assumiano che C corrisponde a un messaggio M non conosciuto: C = Rc4(v, k) < M, c(M ) > Ora verr` mostrato come sia possibile ottenere un messaggio crittato C a da C in modo tale che quando viene ricevuto e decodificato dalla stazione destinazione legger` M anzich` M . a e Prendiamo M = M ∆ dove ∆ ` un valore arbitrario. Quindi e C = C < ∆, c(∆) > = RC4(v, k) < M, c(M ) > < ∆, c(∆) > = RC4(v, k) < M ∆, c(M ) c(∆) > = RC4(v, k) < M , c(M ∆) > = RC4(v, k) < M , c(M ) > In questa derivazione viene sfruttato il fatto che il checksum di WEP ` lineare. e Va fatto notare che questo attacco pu` essere effettuato senza conoscere M , o all’attaccante ` sufficiente conoscere il frame crittato C e il valore desiderato e di ∆. Come si ` potuto dimostrare ` possibile modificare qualsiasi messag- e e gio crittato senza che venga rilevato da WEP, quindi WEP fallisce anche l’obbiettivo di fornire l’integrit` dei dati. a Message Injection [20]. Anche questo tipo di attacco ` dovuto ad una e propriet` del checksum di WEP: il checksum di WEP ` una funzione non a e dipendenete dalla chiave ma dipende solo dal messaggio. La conseguenza di questa propriet` ` che il checksum pu` essere calcolato da un attaccante che ae o conosce il messaggio in chiaro, inoltre va fatto notare che questa debolezza permette di scavalcare i meccanismi per il controllo degli accessi. Quindi WEP fallisce anche l’obbiettivo di fornire un accesso controllato alle risorse delle WLAN.
  19. 19. 14 Capitolo 2 Se un attaccante riesce a procurarsi un frame in chiaro e il suo corrispon- dente crittato pu` inserire nella rete qualsiasi tipo di frame. Infatti se si ` in o e possesso di P e di C abbiamo che: P C = P (P RC4(v, k)) = RC4(v, k) Ora si pu` costruire un nuovo messaggio crittato M tale che: o (A) → B : < v, C > dove C = < M , c(M ) > RC4(v, k) Va fatto notare che il vettore IV utilizzato per C ` lo stesso utilizzato nel e frame C, ma questo non crea nessun problema dato che WEP permette la possibilit` di riutilizzare lo stesso IV in messaggi diversi. Quindi non ` a e necessario bloccare il messaggio originale che viene catturato. Message Decryption [20]. Dato che WEP utilizza un algoritmo ritenuto sicuro (RC4) attacchi diretti alla crittografia sono senza speranza, ma se non riusciamo noi stessi a decrittare i frame qualcun altro pu` farci questo servi- o zio: l’AP. L’idea che sta dietro a questo tipo di attacchi ` quella di cercare di e ingannare l’AP e farlo lavorare a favore dell’attaccante decrittando i frame per lui. La possibilit` di ingannare l’AP ci viene fornita dalla possibilit` di a a modificare i pacchetti che circolano nella WLAN. Si possono effettuare due tipi di attacchi: IP Redirection e Reaction Attacks. Il primo, IP Redirection, pu` essere utilizzato quando l’AP viene utilizzato o come IP router per una connessione a Internet. In questo caso l’idea ` di e sniffare dei pacchetti dalla WLAN e di modificarne l’IP di destinazione, in modo che il pacchetto venga inviato ad un host all’esterno della WLAN che ` sotto il controllo dell’attaccante. Quindi l’AP decritter` il messaggio e lo e a invier` alla nuova destinazione dove l’attaccante potr` leggere il messaggio a a in chiaro. Affinch` questo attacco funzioni ` necessario modificare oltre l’IP e e di destinazione anche il checksum del pacchetto altrimenti verr` scartato a dall’AP. Il secondo tipo di attacco, Reaction Attacks, non ha bisogno di una con- nessione a Internet, quindi pu` essere attuato quando l’IP Redirection non o ` applicabile. L’attacco consiste nel monitorare una stazione a cui verranno e inviati dei pacchetti TCP e osservando il tipo di risposta si dedurr` il conte- a nuto del plaintext. L’idea di base ` che se un pacchetto TCP ha un checksum e
  20. 20. Capitolo 2 15 valido allora viene inviato in risposta un pacchetto di ACK, che sar` possi- a bile riconoscere dalla dimensione, quindi non ci sar` bisogno di decrittarlo. a Quindi il destinatario ci dir` se il checksum ` valido o meno. a e Inizialmente viene catturato un ciphertext di cui non si conosce la versio- ne in chiaro. Dopo di che si modificheranno alcuni bit in C e si aggiuster` il a checksum di WEP ottenendo cos` un nuovo frame C . Ora si trasmetter` il ı a nuovo frame e andremo a controllare se il destinatario invia o meno il pac- chetto di ACK. Va fatto notare che non possiamo modificare i bit in maniera arbitraria come avveniva nel caso del Message Modification ma bisgogna ri- spettare uno schema ben preciso. La regola base da seguire ` che possiamo e essere sicuri che il checksum di TCP rimane integro se la sequente condizio- ne sui bit del plaintext ` rispettata Pi e Pi+16 = 1. Perci` la presenza o o l’assenza del pacchetto di ACK ci rivela un bit del plaintext che vogliamo ottenere. Ripetendo la tecnica per molti i possiamo conoscere abbastanza bit del plaintext per poi procedere con le tecniche tradizionali. 2.1.2 Open System Authentication Questo metodo di autenticazione come dice il nome stesso ` strutturato in e modo che chiunque possa richiedere di essere autenticato; questa modalit` `ae l’autenticazione di default prevista da 802.11. Praticamente non viene fornita nessuna forma di autenticazione. Delle sperimentazione su questo modello di autenticazione hanno dimostrato che i management frame vengono inviati in chiaro anche quando WEP ` attivo [10]. e 2.1.2.1 Difetti di Open System Authentication Di fatto questo sistema non fornisce nessun tipo di autenticazione ed ` prati- e camente impensabile il suo utilizzo dove la sciurezza sia uno dei punti cardine per la progettazione della rete. 2.1.3 Shared Key Authentication La modalit` Shared Key Authentication si basa sul meccanismo standard a di autenticazione challenge and response tramite una chiave condivisa che fornisce l’autenticazione [10]. La stazione che si vuole autenticare, initiator, invia un management frame di richiesta di autenticazione indicando che vuole utilizzare il meccanismo di autenticazione Shared Key. Il ricevente del frame di richiesta, responder, risponde inviando un mana- gement frame di autenticazione contenente 128 byte di testo, che rappresenta
  21. 21. 16 Capitolo 2 il challenge, all’initiator. Questi 128 byte vengono inviati in chiaro. Il chal- lenge viene generato tramite il PRNG (Pseudo-Random Number Generator ) di WEP attraverso la chiave condivisa k e il vettore IV. Una volta che l’initiator riceve il challenge, non f` altro che creare un a nuovo frame e copiarvi il challenge ricevuto per` crittato tramite WEP, uti- o lizzando la combinazione della chiave condivisa e di un nuovo vettore IV creato dall’initiator stesso. Infine invia il frame (response). Il responder decripta il frame ricevuto e verfica che il valore di integrit` a sia valido (ICV), tramite l’algoritmo CRC-32; se questo valore ` valido e il e challenge corrisponde allora l’autenticazione ha avuto successo. In figura 2.1 viene mostrato come ` strutturato un management frame di e autenticazione. Alcuni campi interessanti sono l’Element ID che indica se ` e presente il challenge, lo Status Code che viene settato a 0 quando l’autentica- zione va a buon fine, 1 altrimenti. Lo stato di questi bit durante il processo di autenticazione viene mostrato in tabella 2.1.3. Figura 2.1: Formato di un Management frame. Sequence Number Status Code Challenge Text WEP 1 Reserved Not Present No 2 Status Present No 3 Reserved Present Yes 4 Status Not Present No Tabella 2.1: Formato messaggi in corrispondenza del Sequence Number. 2.1.3.1 Attacchi a Shared Key Authentication Questo protocollo di autenticazione ` facilmente eludibile tramite un attacco e passivo. Sostanzialmente basta sniffare i pacchetti che vengono scambiati durante l’autenticazione degli host. L’attacco funziona a causa della struttura
  22. 22. Capitolo 2 17 fissa del protocollo (ovvero tutti i valori dei campi dei management frame di autenticazione sono conosciuti dato che non cambiano mai da una sessione di autenticazione ad un’altra, con l’eccezzione del challenge) e a causa delle debolezze viste precedentemente in WEP. L’attaccante deve catturare il secondo e il terzo management frame di autenticazione (visulalizzabili in tabella 2.1.3). Il secondo messaggio contiene il challenge in chiaro mentre il terzo contiene il challenge crittato con la chiave condivisa. Quindi, a questo punto l’attaccante ha in mano tutti gli elementi: il challenge in chiaro P , il challenge crittato C, il vettore di inizializzazione IV; per derivare il keystream prodotto da RC4 mettendo semplicemente in XOR C e P (RC4(v, k) = C P ). L’attaccante ora pu` autenticarsi nella rete senza conoscere la chiave con- o divisa. L’attaccante richiede di essere autenticato ad un AP, e l’AP risponde inviando il challenge in chiaro che sar` poi crittato dall’attaccante facendo a lo XOR tra il keystream, ottenuto da una sessione precedente, e il challen- ge. Come ultima cosa l’attaccante deve creare un nuovo ICV come descritto in [20, 22]. Ora pu` essere inviato un messaggio di autenticazione valido e o l’attaccante si connette alla rete. Tuttavia nelle reti che utilizzano WEP ` e necessario implementare un attacco al WEP [20, 21]. 2.1.4 Gestione delle Chiavi Pi` che “Gestione delle Chiavi” sarebbe pi` corretto dire che 802.11 for- u u nisce una “Mancata Gestione delle Chiavi” [23, 10]. Questa mancanza ha avuto come risultato che molti produttori di hardware hanno implementato soluzioni proprietarie nei loro dispositivi di fascia alta. Purtroppo affermare che queste soluzioni sia sicure o meno non ` stato possibile dato che i pro- e duttori non hanno reso pubblico il tipo di protocollo utlizzato; comunque in alcune circostanze ` stato verificato che venivano utilizzati protocolli con e vulnerabilit` note. a Va comunque detto che 802.11 fornisce fornisce due meccanismi, seppure non adatti a fornire un alto livello di sicurezza, per la gestione delle chiavi: il primo consiste nell’utilizzare un array di quattro chiavi condivise. Tuttavia la trasmissione dei pacchetti crittati avviene sempre tramite una default key. Il secondo metodo consiste nel fornire ad ogni MAC Address una chiave differente. L’AP contiene una tabella dove associa ad ogni MAC la chiave corrispondente. Le specifiche 802.11 dichiarano che la dimensione di que- sta tabella deve essere di dieci voci; ma in realt` dipende dalla memoria a del chipset. Questa soluzione mitiga il problema di attacchi crittografici ma rimane il problema che le chiavi devono essere cambiate a mano dagli amministratori, e questo ha come conseguenza una frequenza del cambio
  23. 23. 18 Capitolo 2 delle chiavi molto bassa il che ci riporta al problema di essere soggetti ad attacchi crittografici. 2.1.5 SSID SSID attua l’identificazione delle WLAN e non fa altro che fornire un rudi- mentale livello di controllo di accesso. Infatti tutti gli host che cercheranno di connettersi ad una particolare WLAN dovranno avere lo stesso SSID im- postato. Questo identificativo viene inserito nell’header di ciascun pacchetto che viene inviato nella WLAN, ma dato che il contenuto di questo campo viene trasmesso in chiaro possiamo considerare questa funzionalit` come un a identificatore della rete piuttosto che una funzionalit` di sicurezza [24]. In- a fatti viene utilizzato ampiamente per creare sottoreti o per segmentare le WLAN. 2.2 Robust Security Network (RSN) Come si ` potuto vedere nelle precedenti sezioni, WEP non ` in grado di e e fornire un livello di sicurezza adeguato per le WLAN, IEEE ha quindi deciso di introdurre una nuova architettura chiamata RSN (Robust Security Net- work ). RSN ` stato fin da subito utilizzato dati i problemi di 802.11 e dato e che lo standard 802.11i era ancora in via di definizione. La chiave di RSN ` lo standard di IEEE 802.1x [25] che fornisce un meccanismo di restrizione e dell’accesso alla rete, a livello MAC, basato sul concetto dei port. 802.1x si propone di fornire: una robusta autenticazione, controllo dell’accesso, e una gestione delle chiavi, ma come vedremo fallisce i suoi obbiettivi non essen- do in grado di fornire n` un adeguato controllo dell’accesso, n` un robusto e e sistema di autenticazione. Questo ` dovuto a dei difetti di progettazione di e 802.11, 802.1x e di EAP [26]. 802.1x fornisce un framework architetturale su cui vari metodi di auten- ticazione possono essere utilizzati, come ad esempio: one time password, smart card, autenticazione basata su certificati etc. . . . Va detto che 802.1x pu` essere utilizzato in reti di vario genere come ad esempio: Token Ring, o FDDI (802.5), LAN (802.3) e ovviamente nelle WLAN (802.11). RSN si propone di fornire le seguenti funzionalit`: a Autenticazione/Integrit` dei frame tra RADIUS e l’AP Questo vie- a ne garantito dall’utilizzo di una chiave segreta unica per ciascun AP condivisa con il server RADIUS. Tutti i messaggi inviati dal server RA- DIUS contengono il campo Request Authenticator che contiene un hash
  24. 24. Capitolo 2 19 HMAC-MD5 del contenuto del pacchetto utilizzando la chiave condivi- sa. Questo campo viene settato dal server RADIUS e verificato dall’AP. Per autenticare i pacchetti dall’AP al server RADIUS viene utilizzato il campo EAP Authenticator presente all’interno dei frame EAP Message. Anche in questo caso viene utilizzata una funzione hash HMAC-MD5 per garantire l’integrit` e l’autenticit` dei dati. a a Scalabilit` e Flessibilit` RSN permette una buona scalabilit` in termi- a a a ni di numero di AP, separando l’AP dal processo di autenticazione. La flessibilit` si ottiene inserendo confidenzialit` tramite l’utilizzo del a a messaggio opzionale EAPOL key. Access Control Utilizzando un buon layer ad alto livello di autenticazione RSN pu` fornire un buon meccanismo di access control. o One-way Authentication 802.1x fornisce solamente l’autenticazione delle stazioni verso l’AP e non il vicevera. 2.2.1 Struttura di RSN Il framework fornito da RSN si basa sull’astrazione di tre entit`, come spe- a cificato in 802.1x: supplicant, authenticator o network port, authentication server. Con il termine supplicant si identificano le stazioni che desiderano usufruire di un servizio (la connettivit` alla rete WLAN) che viene fornito a attraverso il cosiddetto port dall’authenticator che non ` altro che l’AP. Per- e ci` all’interno di una rete esisteranno diversi port disponibili a cui le varie o stazioni potranno autenticarsi. Le stazioni verranno autenticate tramite gli AP in un authentication server centrale che indicher` agli AP di fornire il a servizio quando l’autenticazione andr` a buon fine. a 802.1x ` basato su EAP [27] (Extensible Authentication Protocol ) per per- e mettere vari meccanismi di autenticazione. EAP ` progettato sulla base del e paradigma di comunicazione challenge and response. EAP ` costituito da e quattro tipi di messaggi: EAP Request, EAP Response, EAP Success e EAP Failure. Il messaggio EAP Request viene inviato alle stazioni dall’AP, in pratica EAP Request rappresenta il challenge, dopo di ch` viene inviato un e messaggio di EAP Response all’AP dalla stazione che si vuole autenticare. Gli altri due messaggi, EAP Success e EAP Failure, vengono utilizzati per comunicare il risultato dell’autenticazione alle stazioni. EAP viene definito un protocollo estensibile dato che all’interno dei pacchetti EAP pu` esse- o re incapsulato qualsiasi altro protocollo per garantire l’interoperabilit` con a diversi meccanismi di autenticazione.
  25. 25. 20 Capitolo 2 Prima che l’autenticazione abbia successo soltanto il traffico EAP pu` o transitare dalle stazioni client all’AP. Per negare qualsiasi tipo di traffico l’authenticator ha un modello basato sul concetto di dual port. La Uncon- trolled port ha il compito di filtrare tutto il traffico della rete lasciando passare solamente il traffico EAP. La Controlled port, invece, viene abilitata quando l’autenticazione ha avuto esito positivo e permette la completa connettivit` a alla rete. I messaggi EAP a loro volta sono incapsulati all’interno di pacchetti del protocollo EAPOL [25] (EAP Over Lan), che viene utilizzato per spedire i pacchetti dall’authenticator al supplicant. Oltre a fornire l’incapsulamento dei messaggi EAP, EAPOL viene utilizzato per la notifica dell’inizio e del- la fine di una sessione rispettivamente con EAPOL start e EAPOL logoff. Un’altra funzionalit` di EAPOL ` quella di mettere a disposizione dei layer a e superiori un messaggio EAPOL key che permette la negoziazione delle session key per protocolli come TLS etc. . . V` fatto notare che sia EAP che EAPOL non forniscono alcuna misura a per il controllo dell’integrit` e della privacy dei dati. a L’authenticator e l’authentication server comunicano tra di loro tramite il protocollo RADIUS [28] (Remote Authentication Dial-in User Service). I messaggi EAP vengono trasmessi come attributi del protocollo RADIUS. Il protocollo RADIUS a differenza di EAP e EAPOL ha un sistema che controlla l’autenticit` e l’integrit` dei dati di tutti i pacchetti scambiati tra l’AP e il a a server RADIUS. 2.2.2 Attacchi a RSN Man In The Middle Attack [26]. RSN prevede un autenticazione di tipo asimmetrica tra il supplicant e l’authenticator, infatti il supplicant presume che l’AP sia sempre fidato. Questo difetto progettuale ha la conseguenza di permettere un attacco Man In The Middle tra supplicant e AP. Un esem- pio viene mostrato in figura 2.2. Un messaggio EAP Success viene inviato dall’authenticator al supplicant al ricevimento da parte dell’authenticator di un messaggio Access Accept dal server RADIUS. Questo indica che l’auten- ticazione ha avuto esito positivo. Il messaggio EAP Success ha l’effetto di attivare il flag eapSuccess e indipendentemente dallo stato in cui si trova il supplicant lo fa passare in uno stato di Authenticate, permettendo cos` la ı connettivit` alla rete. a Come detto in precedenza EAP non ha alcun controllo per preservare l’integrit` dei messaggi, quindi un attaccante pu` forgiare un messaggio EAP a o Success, oppure catturarne uno e modificargli il MAC dell’AP con il proprio, e spacciarsi per l’AP. In questo modo tutto il traffico tra il supplicant e
  26. 26. Capitolo 2 21 Figura 2.2: Attacco Man In The Middle il vero AP passerr` attraverso la stazione dell’attaccante. Inoltre va fatto a notare che questo tipo di attacco scavalca completamente i meccanismi di autenticazione dei layer pi` alti come ad esempio EAP-TLS o EAP-MD5. u Session Hijacking [26, 24]. Lo stato di autenticazione di un supplicant viene dato dall’azione combinata di due state machine: una per 802.11 e una per 802.1x; un difetto progettuale di comunicazione tra queste due state machine permette ad un attaccante di attuare un attacco di session hijacking. La figura 2.3 mostra come un attaccante pu` eludere i meccanismi di accesso o e guadagnare la connettivit` alla rete. L’attacco si svolge nella seguente a Figura 2.3: Sessione di Hijack attraverso il messaggio MAC Disassociate di 802.11 maniera:
  27. 27. 22 Capitolo 2 • i messaggi 1, 2 e 3 identificano la fase di autenticazione di un supplicant legittimo. La fase di autenticazione ha pi` di tre messaggi ma sono stati u omessi per semplicit`.a • il messaggio 4 viene inviato dall’attaccante e contiene il management frame di 802.11 MAC Disassociate con il MAC dell’AP. Questo co- stringe il supplicant a scollegarsi dalla rete e a spostarsi nello stato Unassociated. Per` la transizione di stato avviene solamente nella sta- o te machine di 802.1x mentre nella state machine di 802.11 il supplicant risulta essere in uno stato di Authenticated. • il messaggio 5 permette all’attaccante di guadagnare la connettivit` alla a rete utilizzando il MAC Address del supplicant che risulter` autenti- a cato presso l’AP ma rimarr` scollegato dalla rete dato che per la state a machine di 802.1x risulta essere non associato. Denial of Service Attacks [26]. Ci sono varie tipologie di attacchi DoS che possono essere attuati contro RSN. Ad esempio: Spoofing Messaggi EAPOL Logoff e Start Il messaggio EAPOL Logoff viene inviato da un supplicant quando vuole scollegarsi dalla rete. Que- sto tipo di messaggi possono essere facilmente sniffati e successivamente modificati tramite un attacco Man In The Middle. Dopo di ch` l’attac- e cante pu` inviare un messaggio di EAP Logoff impersonando il suppli- o cant vittima in modo tale da disconnetterlo dalla rete. Lo stesso pu` o avvenire anche per i messaggi di tipo EAPOL Start solo con l’effetto opposto. Spoofing Messaggi EAP Failure I messaggi EAPOL Failure vengono in- viati dall’AP al supplicant quando l’autenticazione presso il sever RA- DIUS fallisce. Anche questo tipo di messaggio pu` essere sniffato e o inviato a un supplicant con il MAC Address dell’AP. La ricezione di questo messaggio da parte di un supplicant fa si che avvenga una tran- sizione in uno stato chiamato Held indipendentemente dallo stato in cui si trova il supplicant. Una volta nello stato di Held viene attivato un timer, heldWhile, di 60 secondi che tiene bloccato il supplicant fino allo scadere dei 60 secondi. Quindi l’attaccante per tenere il supplicant perennemente bloccato dovr` inviare un messaggio EAP Failure con a una frequenza maggiore ai 60 secondi. Alto Numero di Richieste di Associazione Un’AP mantiene un nume- ro considerevole di dati nel momento che intercorre tra l’avvenuta as- sociazione di un supplicant con 802.11 e prima che l’associazione con
  28. 28. Capitolo 2 23 802.1x sia completata. In questo istante il supplicant risulter` in uno a stato di Unauthenticated. Una singola stazione p` quindi generare un o numero elevato di richieste di autenticazione utilizzando dei MAC Ad- dress random. Dato che il campo identifier dei pacchetti EAP ` di e soli 8 bit significa che ogni AP ` limitato ad un massimo di 255 au- e tenticazioni in parallelo. Quindi saturando il numero di rischieste di autenticazione una stazione pu` impedire a chiunque di autenticarsi. o 2.3 802.11i Il gruppo 802.11i per porre rimedio alle deficienze di WEP ha proposto un nuovo standard per garantire sicurezza nell’ambito delle WLAN. La proposta di TGi si pu` riassumere nell’introduzione di due nuovi elementi, ciascuno o progettato in base a precise esigenze. Questi due elementi sono: TKIP e l’utilizzo di AES per la codifica dei dati. TKIP deve essere vista come una soluzione immediata e il meno dispen- diosa possibile, sia in termini di tempo di implementazione che di hardware necessario, per risolvere i problemi di WEP. Una sorta di patch di WEP. Quindi TKIP ` stato progettato basandosi sui seguenti presupposti: e • TKIP deve essere distribuito come patch per WEP e quindi deve fun- zionare sull’hardware gi` in commercio. a • i micropocessori degli AP hanno pochi cicli di clock disponibili per implementare nuove funzionalit`, la maggior parte della potenza di a calcolo, circa il 90%, viene gi` impiegata per l’uso di WEP. a • per implementare RC4 con microprocessori pi` modesti sono stati uti- u lizzate soluzioni hardware ad hoc per realizzare le funzioni di codifica e decodfica dei pacchetti, quindi TKIP deve continuare a utilizzare RC4 come base crittografica. Invece AES v` pensata come una soluzione a lungo termine, per garantire a nei prossimi decenni la sicurezza nelle WLAN. L’utilizzo di AES ha infatti comportato la riprogettazione da zero di tutti i sistemi atti alla protezioni dei dati. L’immediata conseguenza di ci` e che si ha la necessit` di utilizzare o a nuovo hardware dedicato. 2.3.1 TKIP TKIP ` l’acronimo di Temporal Key Integrity Protocol ed ` la risposta di e e 802.11i che si propone di fare quanto detto nel paragrafo precedente. TGi
  29. 29. 24 Capitolo 2 (Task Group i ) ha proposto TKIP come obbligatorio in ogni dispositivo wireless [29]. TKIP ` una suite di algoritmi che gira sopra WEP; questi algoritmi sono e stati progettati esclusivamente per essere implementati su hardware datato, o per meglio dire su hardware che era gi` sul mercato prima che si scoprisse a l’insicurezza di WEP, senza abbassarre in modo eccessivo le performance. TKIP aggiunge quattro algoritmi: • un MIC (Messagge Integrity Code) crittografico, chiamato Michael, per eliminare i pacchetti falsificati • una nuova gestione del vettore IV, per evitare gli attacchi di tipo replay • una funzione di key mixing per creare una chiave per pacchetto, per disassociare il vettore IV dalle debolezze delle chiavi • un meccanismo di rekeyng, per fornire nuove chiavi e per difendersi dalla minaccia derivante dal riutilizzo del keystream Michael. In letteratura viene utilizzato l’acronimo MACs (Messagge Au- thentication Codes) ma TGi aveva gi` utilizzato il termine MAC per indi- a care Media Access Control, quindi TGi ha optato per l’utilizzo di MIC per indicare il meccanismo crittografico per evitare i falsi pacchetti; chiamato Michael [30]. Ogni MIC ` costituito da tre componenti: una chiave segreta k, una e “tagging function” e un predicato di verifica (verification predicate). La tagging function prende la chiave k e il messaggio M come input, generando in output il tag T , chiamato anche messagge integrity code. Il tag T viene poi inviato insieme a M per permettere di riconoscere se un pacchetto ` originale e o ` stato forgiato da un attaccante. Per verificare se un pacchetto ` valido e e o meno il ricevente prende in input k, M , e T e li inserisce nel predicato di verifica. Se il predicato restituir` true il pacchetto sar` autentico altrimenti a a restituir` false e il pacchetto sar` droppato. a a La chiave k ` di 64 bit ed ` rappresentata da due word di 32 bit (k0 ,k1 ). e e La tagging function come prima cosa inserisce nel messaggio il valore esa- decimale 0x5A e riempie i successivi spazi di zero in modo tale che la lunghez- za del messaggio sia un multiplo di 32 bit. Quindi partizioner` il messaggio a M in tante word M1 ,M2 . . . Mn , e alla fine creer` il tag T . Il funzionamento a
  30. 30. Capitolo 2 25 di questa funzione lo possiamo schematizzare nel modo seguente: (L, R) ← (K0 , K1 ) do i f rom 1 to n L ← L Mi (L, R) ← b(L, R) return (L, R) as the tag T Il predicato di verifica non f` altro che utilizzare la tagging function sul a messaggio M che gli arriva e fare una comparazione bit a bit del tag che ` e arrivato insieme a M con quello calcolato localmente. Il livello di sicurezza di qualsiasi MIC pu` essere misurato in bit, ad o esempio se vogliamo un livello pari a s bit un attaccante dovr` generare a −s+1 2 pacchetti per trovare un pacchetto valido. Il migliore attacco cono- sciuto contro Michael, che utilizza diverse tecniche di criptoanalisi, utlizza 229 messaggi; tradotto in termini di tempo significa che un attaccante ha bisogno di due minuti in una WLAN 802.11b e di un minuto in una WLAN 802.11a/g per generare il numero di pacchetti necessari. Tuttavia Michael implementa una contro misura per questo genere di attacchi. Questa contro misura non f` altro che monitorare il numero dei a pacchetti marcati come falsificazioni, se il loro numero supera i due pacchetti per secondo si assume che la stazione sia sotto attacco. In questo caso la stazione cancella le sue chiavi, si disassocia dall’AP ed aspetta un minuto e poi si riassocia nuovamente presso l’AP. Questo comportamento ha l’effet- to indesiderato di interrompere la comunicazione, ma non solo; infatti pu` o causare un attacco DoS. Basta che l’attaccante continui ad inviare pacchetti non validi e la stazione continuer` a disassociarsi dall’AP e non riuscir` pi` a a u a riaccedere alla rete. Sicuramente bisogna dire che MIC ` un sistema crittografico piuttosto e debole, ma nonostante ci` non ` stata trovata nessuna soluzione che abbia la o e velocit` di esecuzione di Michael e allo stesso tempo il suo livello di sicurezza; a quindi lo si pu` considerare una buona soluzione all’interno del contesto di o progettazione di TKIP. IV Sequence [31]. Per difendersi dagli attacchi di tipo replay TKIP riu- tilizza i bit del frame che veniva utilizzato dal vettore IV di WEP come contatore sequenziale di pacchetto. Sia chi trasmette sia chi riceve i frame dovr` settare a zero il numero sequenziale di pacchetto quando un nuovo set a di chiavi viene definito, inoltre chi li invia dovr` provveder` ad incrementar- a a ne il numero. Un pacchetto viene definito fuori sequenza se il valore di IV ` e minore o uguale al precedente MPDU ricevuto correttamente e associato alla
  31. 31. 26 Capitolo 2 medesima chiave. Se un MPDU arriva fuori sequenza allora verr` considerato a come una copia quindi il ricevente lo scarter` e incrementer` il numero dei a a tentativi di replay. L’implementazione di TKIP per evitare gli attacchi replay ha una grossa limitazione: non funziona con il QoS (Quality of Service) introdotto dal gruppo 802.11e. Key Mixing. Doug Whiting e Ron Rivest hanno invetato la funzione TKIP di key mixing. Questa funzione non f` altro che trasformare una temporal a key e il contatore sequenziale di pacchetto in una chiave per pacchetto e in un IV. L’utilizzo di questa funzione non `, in generale, obbligatorio per fornire e privacy in un protocollo, come invece lo sono MIC, rekeyng e il controllo degli attacchi replay; infatti questa funzione ` nata esclusivamente per porre e rimedio ai problemi di WEP. La funzione key mixing opera in due fasi distinte, dove in ciascuna fase si va ad eliminare un particolare problema di WEP. La fase uno ha l’obbiettivo di eliminare l’uso della stessa chiave per ogni stazione, mentre la fase due ` e stata progettata con l’intento di evitare qualsiasi relazione tra IV e la chiave per pacchetto. La fase uno combina i MAC Address dell’interfaccia locale con la tem- poral key, facendo interativamente lo XOR per ognuno dei byte; il risultato di questo XOR sar` poi utilizzato come input per una S-Box che generer` a a una chiave intermedia. Mescolare in questo modo i MAC e la temporal key permette di creare chiavi intermedie diverse per ciascuna stazione o AP; di conseguenza verranno generate delle chiavi per pacchetto uniche per ciascuna stazione. Va fatto notare che la computazione delle chiavi intermedie avviene solo se le temporal key sono aggiornate. La fase due utilizza un piccolo cipher per crittare il numero sequenziale di pacchetto con la chiave intermedia, generata nella fase uno, producendo una chiave a 128 bit per pacchetto. In realt` i primi 3 byte della chiave a corrisponderanno a quello che era il vecchio IV in WEP, mentre i rimanenti 13 byte corrisponderanno alla vecchia chiave WEP. Quindi l’hardware andr` a a concatenare questi valori rendendo difficile ad un attaccante correlare il vettore IV con la chiave per pacchetto. Per quanto riguarda la sicurezza di questa funzione non esiste un limite calcolabile come nel caso di MIC, ma la comunit` dei crittografi ha assicu- a rato che la soluzione proposta da Rivest e Whiting raggiunge pienamente gli obbiettivi per cui era stata progettata e pu` essere considerata una soluzione o ottimale per i problemi creati da WEP.
  32. 32. Capitolo 2 27 Rekeying. Il compito della funzione rekeying ` quello di fornire chiavi ag- e giornate ai vari componenti di TKIP. L’architettura fornita da TGi per la funzione di rekeying ` basata su una e gerarchia di tre differenti tipi di chiavi: temporal key, key encryption key, e la master key. Le temporal key vengono utilizzate dagli algoritmi di TKIP per fornire privacy e autenticazione. TKIP utilizza una coppia di temporal key: una chiave da 128 bit e una da 64 bit per fornire l’integrit` dei dati. TKIP a impiega una coppia di chiavi per ciascuna direzione dell’associazione tra AP e le stazioni; quindi vengono utilizzate un totale di quattro chiavi, ciascuna identificata da un ID a 2 bit chiamato WEP keyid. La funzione di key mixing pu` generare al massimo 216 IV quindi sar` o a necessario un meccanismo che aggiorni le chiavi con una frequenza di almeno 216 pacchetti, dato che come si ` visto nella sezione dedicata a WEP il riuti- e lizzo di IV con la stessa chiave rende vano ogni tentativo di fornire privacy e integrit` dei dati. Per rendere fattibile il cambio da un set di temporal key a ad un altro ad ogni associazione vengono allocati due WEP keyid. Quando un’associazione viene stabilita un primo set di chiavi viene associato ad uno dei due WEP keyid. Quando delle nuove chiavi vengono create, il processo di asscociazione controlla i due WEP keyid e associa il nuovo set di temporal key al WEP keyid meno recente. Dopo che un nuovo set di chiavi viene regi- strato una stazione pu` ancora ricevere dati con il vecchio set di chiavi, ma o dovr` trasmettere unicamente utilizzando il nuovo WEP keyid. Ovviamente a le chiavi, per garantire un’adeguata sicurezza, non dovranno avere nessuna correlazione algoritmica tra loro, altrimenti potrebbero essere violate. Il successivo livello della gerarchia ` occupato dalle encryption key che e proteggono le temporal key. Ci sono due chiavi di tipo encryption key: una per crittare e distribuire le chiavi, e una per proteggere il messaggi di rekey dalle falsificazioni. L’utilizzo i questo tipo di chiavi ` del tutto simile a quello e delle temporal key: ad ogni nuova associazione tra la stazione e l’AP deve essere concordato un nuovo set di encryption key. Infine, all’ultimo livello della gerarchia, abbiamo la master key. Que- sta chiave viene condivisa tra la stazione e l’authentication server basato su 802.1x. Questa chiave, tra tutte ` quella maggiormente legata all’autentica- e zione, e viene utilizzata per distribuire in modo sicuro le enryption key. La master key viene concordata durante il procedimento di autenticazione. An- che in questo caso la master key viene rinnovata ad ogni nuova associazione e le varie master key non devono avere alcuna relazione con le altre, altrimenti tutto il processo di protezione implementato da TKIP cade. Infatti se un attaccante si impossessa della master key ` poi in grado di ottenere tutte le e altre chiavi rendendo quindi TKIP inutile.
  33. 33. 28 Capitolo 2 2.3.1.1 Il Protocollo Quando una stazione in reti di tipo infrastructure cerca di autenticarsi uti- lizza 802.1x e da questo processo deriva la master key. La master key rimane valida fino a quando non scade oppure fino a quando non viene revocata. Dopo che la master key viene stabilita l’authentication server distribuisce il materiale aggiornato alle stazioni e agli AP per derivate il primo set di encryption key. La master key protegge i dati tra l’authentication server e le stazioni, ma il protocollo fornisce anche un meccanismo per proteggere i dati che transitano tra gli AP e le stazioni: inviando delle encryption key aggiornate dopo ogni riassociazione. Gli AP utilizzano a loro volta le encryption key concordate per proteggere le temporal key che inviano alle stazioni. L’AP ripete l’aggiornamento delle chiavi con una frequenza leggermente maggiore dei 216 pacchetti necessari per consetire ad un attaccante di sferrare attacchi di tipo replay. L’incapsulazione, ovvero l’invio, di un pacchetto TKIP avviene nel se- guente modo: • quando la stazione desidera inviare un MSDU3 , TKIP usa Michael con la temporal key per calcolare il MIC dell’indirizzo MAC della stazione sorgente e del destinatario, lo stesso vale per il payload del MSDU. Poi il MIC viene accodato al payload del pacchetto. • 802.11 frammenta MSDU in MPDU4 . • ad ogni frammento (MPDU) viene asseganto un numero sequenziale e viene impiegata la funzione di key mixing per creare una chiave crit- tografica per ciascun pacchetto che corrisponde, in termini di posizio- namento dei bit all’interno dei frame, alla concatenazione di IV e della chiave k di WEP. • a questo punto i rimanenti passi sono funzioni implementate in hard- ware che venivano impiegate in WEP. Viene impiegato IV e la chiave k per crittare i dati includendo il MIC e l’ICV, e per finire viene co- dificato il vettore IV e il WEP keyid delle temporal key all’interno del campo WEP IV. • ora l’intero MPDU ` pronto per essere trasmesso. e In figura 2.4 vengono mostrati i vari passaggi per ottenere un pacchetto TKIP valido. Il ricevente invece compir` i seguenti passi per ottenere i dati in chiaro: a 3 MSDU: MAC Service Protocol Unit. 4 MPDU: Messagge Protocol Data Unit.
  34. 34. Capitolo 2 29 Figura 2.4: Procedimento di incapsulamento di un pacchetto TKIP. • come prima cosa viene utilizzato il MAC Address della stazione che ha inviato il pacchetto e i WEP keyid per identificare qual’` il set di e temporal key attualmente in uso. • si estrae il numero di sequenza del pacchetto e si controlla che il pac- chetto non sia un replay. Se il numero sequenziale ` corretto il pacchetto e viene accettato altrimenti viene droppato. • viene utilizzata la funzione key mixing per combinare il numero di sequenza del pacchetto con la temporal key per produrre la chiave per pacchetto per decrittare il contenuto. • a questo punto, utilizzando l’hardware di WEP, si decritta il contenuto del pacchetto e si verifica che ICV sia corretto o meno. In caso afferma- tivo la stazione ricevente incrementa il numero dei pacchetti ricevuti e aggiunge il frammento MPDU agli altri ricevuti in modo da ricostruire il MSDU completo. Invece in caso ICV sia errato il pacchetto viene droppato. • una volta completata la ricostruzione di MSDU viene utilizzato Michael per verificare che il pacchetto non sia una falsificazione. Se il pacchetto risulta contraffatto TKIP scarta il pacchetto e in caso viene individuato un attacco attiva le contromisure necessarie, se invece il pacchetto ` e integro viene spassato ai livello superiori dello stack TCP/IP.
  35. 35. 30 Capitolo 2 In figura 2.5 vengono mostrati i vari passaggi per ottenere i dati in chiaro partendo da un pacchetto protetto da TKIP. Figura 2.5: Procedimento di decapsulamento di un pacchetto TKIP. 2.3.2 AES AES [9] ` un algoritmo crittografico basato su un block cipher a chiave simme- e trica. AES supporta chiavi di diversa lunghezza: 128, 192, 256 bit; in realt` i a crittografi pensano che delle chiavi a 128 bit sia assolutamente adeguate per fornire una sicurezza adeguata per applicazioni commerciali o governative per qualche decennio, quindi il supporto per le chiavi a 192 e 256 bit viene visto pi` come una garanzia per il futuro piuttosto che una reale necessit`. u a Un block cipher lavora su delle stringhe di bit di lunghezza prefissata, a differenza degli stream cipher, come RC4, che trasformano un singolo byte per volta. Il numero di bit utilizzati prende il nome di block size, AES usa blocchi di 128 bit (16 byte). Nel caso un dato che deve essere elaborato dal block cipher non sia un multiplo del block size, allora al dato vengono aggiunti tanti byte quanti necessari per raggiungere una dimensione multipla del block size. Per utilizzare il block cipher bisogna fornirgli un cosidetto mode of ope- ration, che non ` altro che una sorta di “ricetta” che spiega come utilizzare e il block cipher. Alcuni esempi sono: ECB (Electronic CodeBook mode), CTR (Counter mode), CBC (Cipher-Block Chaining mode), OCB (Offset CodeBook ) [32].
  36. 36. Capitolo 2 31 ECB. ECB ` un modo piuttosto ingenuo per utilizzare il block cipher. Il e messaggio M viene spezzato in blocchi e ciascun blocco M1 ,M2 . . . Mn viene codificato con la chiave k: f or i = 1 to n do Ci ← Ek (Mi ) I blocchi risultanti C1 ,C2 . . . Cn sono i blocchi crittati. Il processo di decodi- fica avviene nello stesso modo: f or i = 1 to n do Ci ← Dk (Mi ) Come si pu` immaginare il modello ECB ` piuttosto insicuro su messaggi o e che ripetono gli stessi dati; infatti se prendiamo due messaggi M e N e li codifichiamo con ECB se abbiamo che E(M ) = E(N ) allora si pu` dedurre o che anche M = N e questo pu` essere molto utile ad un attaccante che vuole o forzare i dati crittati. CTR. CTR utilizza un contatore ausiliario, che incrementa ad ogni itera- zione. Il funzionamento di CTR pu` essere schematizzato come segue: o when k is assigned , set counter ← 0 f or each messagge M = M1 M2 . . . Mn initial counter ← counter f or i = 1 to n do Ci ← Mi Ek (counter) , counter ← counter + 1 encrypted messagge = initial counter C1 , C2 . . . Cn Come si pu` notare il ciphertext si ottiene dallo XOR del contatore crittato o con la chiave k e del blocco del messaggio Mi . Va fatto notare che la fase di codifica aggiunge in cima al blocco crittato Ci il contatore per crittare il blocco di testo (initial counter); in questo modo nella fase di decodifica si pu` risalire al contatore corretto per effettuare la decodifica. La decofica pu` o o essere schematizzata come segue: f or an encrypted messagge C = initial counter C1 C2 . . . Cn counter ← initial counter f or i = 1 to n do Mi ← Ci Ek (counter) , counter ← counter + 1 decrypted messagge = M1 , M2 . . . Mn Come si pu` notare la fase di decodifica avviene nello stesso modo della fase o di codifica e questo rende l’implementazione di CTR pi` economica dato che u ` sufficiente un solo cipher. Questa soluzione va abbinata ad un supporto e esterno che permetta un refresh continuo delle chiavi dato che nel caso lo stesso contatore sia utilizzato con la medesima chiave tutto il protocollo fallirebbe.
  37. 37. 32 Capitolo 2 CBC. CBC ` il block cipher pi` diffuso tra i tre. CBC utilizza un vet- e u tore di inizializzazione, IV, scelto in modo casuale (random); per prevenire il problema che si h` con ECB. Il processo di codifica di CBC pu` essere a o schematizzato come segue: f or each messagge M = M1 M2 . . . Mn IV ← randomly selected value initial IV ← IV f or i = 1 to n do Ci ← Ek (Mi IV ) , IV ← Ci encrypted messagge = initial IV C1 , C2 . . . Cn Come si pu` notare ad ogni messaggio Mi viene associato tramite lo XOR o il valore random IV per evitare che due messaggi uguali generino lo stesso ciphertext. Inoltre va fatto notare che il ciphertext Ci diventa il nuovo vettore IV. Come nel caso di CTR anche CBC prepone al messaggio crittato il valore iniziale di IV per permettere alla fase di decodifica di utilizzare il vettore IV corretto. Se la selezione di IV non ` random per ogni messaggio CBC fallisce e nel suo intento di proteggere i dati. Il funzionamento della fase di decofica pu` essere schemattizzato come segue: o f or an encrypted messagge C = initial IV C1 C2 . . . Cn IV ← initial IV f or i = 1 to n do Mi ← IV Dk (Ci ) , IV ← Ci decrypted messagge = M1 , M2 . . . Mn Oltre a fornire la privacy dei dati, CBC pu` anche calcolare il MIC di un o messaggio per fornire l’autenticazione dei dati. Il funzionamento di CBC- MAC (o CBC-MIC) pu` essere schematizzato come segue: o f or each messagge M = M1 M2 . . . Mn IV ← known IV f or i = 1 to n do M ICi ← Ek (Mi IV ) , IV ← M ICi M IC = M ICn dove known IV indica un valore conosciuto di IV. OCB. OCB (Offset CodeBook ) ` un modo operativo di AES inventato da e Phil Rogaway [33]. OCB come CBC fornisce sia l’autenticazione che la privacy dei dati usan- do un singolo passaggio e con una sola chiave. Il nome di questa modalit` a operativa prende il nome dal valore O = Ek (0b ), dove O indica un vettore di b bit di zero crittati con la chiave k, che viene chiamato offset. L’off- set rappresenta un valore random che OCB utilizza per generare i valori di
  38. 38. Capitolo 2 33 O1 ,O2 . . . On . OCB utilizza un nonce invece di un vettore IV o di un contatore per randomizzare l’operazione di codifica. Il none ` un valore casuale che vie- e ne utilizzato una sola volta con la stessa chiave. Se N indica il nonce per un messaggio M = M1 M2 . . . Mn allora OCB critter` l’i-esimo messaggio Mi , a come segue: Mi = Ek (Mi Oi N ) Oi N . Il calcolo del MIC avviene invece nel seguente modo: M IC = Ek (Mi . . . Mn Yn On+1 N ). 2.3.2.1 Incapsulazione di 802.11i basata su AES IEEE TGi ha ricevuto due proposte per creare una soluzione a lungo termine per la sicurezza delle WLAN basate su AES. Entrambe le soluzioni soddi- sfano le richieste di progettazione ed entrambe forniscono un’ottimo livello di sicurezza. L’unico inconveniente, tuttavia era previsto fin dall’inizio della progettazione di questo nuovo protocollo di sicurezza, ` che sar` necessario e a creare nuovi AP e nuovi dispositivi wireless per creare una WLAN basata su AES. Queste due soluzioni sono conosciute con il nome di: AES-CCM e AES-OCB. Nella versione finale di IEEE 802.11i ` stata inclusa solamente la e soluzione AES-CCM, probabilmente a causa dei brevetti che coprivano OCB. Incapsulazione AES-CCM. Il protocollo AES-CCM ` basato su CTR per e fornire la privacy dei dati e su CBC-MAC per fornirne l’autenticazione. La progettazione di AES-CCM ` stata eseguita da Ferguson, Housley, Stanley, e e Whiting [34, 35]. AES-CCM rischiede due variabili di stato. La prima ` costituita da una e chiave, chiamata AES-key, che viene utilizzata sia per crittare i dati sia per calcolarne il MIC. In generale utilizzare la stessa chiave per due funzioni dif- ferenti ` considerata una pratica discutibile, tuttavia Jacob Jonsson dei RSA e Labs ha provato che utilizzare la stessa chiave per CTR e CBC-MAC non crea problemi, e tutto funziona in maniera ottimale. La seconda variabile di stato ` costituita da un contatore sequenziale di pacchetto di 48 bit. AES-CCM e utilizza il contatore sequenziale di pacchetto per costruire sia il contatore per CTR sia il vettore IV per CBC-MAC. Il vettore IV di CBC-MAC e il con- tatore di CTR vengono cotruiti concatenando il MAC Address, il contatore sequenziale di pacchetto, 16 bit del contatore di frammenti per pacchetto, e 16 bit di altri dati che servono per distinguere IV dal contatore CTR. I 16 bit del contatore di frammenti per pacchetto permettono la frammentazione dei frame MPDU. AES-CCM incapsula i frammenti 802.11, MPDU, il processo di incapsu- lamento avviene in quattro passi: • come prima cosa viene creato il contatore CTR e il vettore IV per CBC-
  39. 39. 34 Capitolo 2 MAC dal contatore sequenziale di pacchetto, e viene incrementato di uno. • viene utilizzala la AES-key e il IV di CBC-MAC per calcolare il MIC, inglobando l’indirizzo sorgente e destinazione del frame, il traffico QoS, la lunghezza dei dati, e infine i dati del MPDU. Il valore del MIC ottenuto viene troncato a 64 bit e concatenato ai dati del MPDU. • viene utilizzata la AES-key e il contatore CTR per crittare i dati del MPDU utilizzando CTR, includendo anche i 64 bit del MIC calcolato precedentemente. • una volta completata la protezione del MPDU viene inserito il valore del contatore sequenziale di pacchetto tra l’header del frame 802.11 e i dati crittati. Il processo di decapsulamento avviene nei seguenti tre passi: • come prima cosa si estrae il contatore sequenziale di pacchetto dal MPDU. Se il suo valore ` gi` stato ricevuto con la corrente AES-key e a allora viene considerato un replay, e droppato. Altrimenti si procede con la costruzione del contatore CTR e del vettore IV di CBC-MAC dal contatore sequenziale di pacchetto ricevuto. • ora CTR decritta il contenuto dei dati utilizzato la chiave AES-key e il contatore CTR. • infine viene ricalcolato il MIC tamite la AES-key e il vettore IV, tron- cato a 64 bit, e comparato con il MIC ricevuto nel MPDU. Se i due valori del MIC sono differenti il pacchetto viene considerato un falso e scartato, altrimenti viene considerato buono. Quando AES-CCM viene utilizzato con uno schema di gestione delle chia- vi ` facile notare che soddisfa pienamente i requisiti di progettazione. Infatti e abbiamo che il MIC testa la falsificazione dei pacchetti in modo impeccabile, il contatore sequenziale di pacchetto protegge il protocollo da attacchi di tipo replay. Inoltre MIC protegge anche l’indirizzo sorgente e destinazione dei pacchetti prevenendone la modifica. Lo schema non riutilizza mai lo stesso IV o il contatore CTR con la stessa chiave. AES-CCM ` anche ottimizato dal e punto di vista computazionale dato che utilizza AES, che al momento ` la e migliore base crittografica che esista e va anche considerato il fatto che CTR e CBC-MAC possono essere implementati efficientemente anche via software.
  40. 40. Capitolo 2 35 Incapsulazione AES-OCB. Il protocollo AES-OCB ` basato su OCB per e fornire la privacy e l’autenticazione. La progettazione di AES-OCB ` stata e effettuata da Can-Winget e da Walker. Come AES-CCM, AES-OCB utilizza due variabili di stato; la prima ` e costituita dalla chiave AES-key, che viene utilizzata sia per l’incapsulamento che per il decapsulamento dei dati. La seconda variabile di stato ` un conta- e tore sequenziale di pacchetto di 28 bit. AES-OCB usa questo contatore per creare il nonce OCB, costruito concatenando il MAC Address della stazione che invia i dati, il traffico QoS, e il contatore sequenziale di pacchetto. L’incapsulamento di AES-OCB lavora sui frame 802.11 interi, MSDU, ed avviene in tre passi: • come prima cosa viene creato il nonce OCB e il contatore sequenziale di pacchetto, e viene incrementato di uno. • viene utilizzala la AES-key e il nonce OCB per crittare i dati del MSDU, e inoltre viene calcolato e troncato a 64 bit il MIC. • una volta completata la protezione del MSDU viene inserito il valore del contatore sequenziale di pacchetto tra l’header del frame 802.11 e i dati crittati. Il processo di decapsulamento avviene nei seguenti due passi: • come prima cosa si estrae il contatore sequenziale di pacchetto dal MSDU. Se il suo valore ` gi` stato ricevuto con la corrente AES-key e a allora viene considerato un replay, e droppato. Altrimenti si estrae il MAC Address del sorgente e della destinazione, il traffico QoS e si procede con la creazione del nonce OCB. • ora OCB decritta l’MSDU con la chiave AES-key. Se il processo di decodifica fallisce il pacchetto viene considerato falsificato e droppato altrimenti viene considerato buono. Dato che OCB utilizza un singolo passo per autenticare e crittare i dati le implementazioni di AES-OCB saranno in linea di massima il doppio pi` u veloci rispetto alle implementazioni di AES-CCM. Per quanto riguarda la sicurezza grazie al teorema di sicurezza di OCB il quale afferma che tutti gli attacchi contro OCB vengono trasformati in attacchi per forzare il cipher di AES; possiamo tranquillamente dire che se AES ` considerato sicuro, e AES e ` considreato sicuro, allora anche AES-OCB ` sicuro. e e Quando AES-OCB viene utilizzato con uno schema di gestione delle chia- vi ` facile notare che soddisfa pienamente i requisiti di progettazione. Infatti e
  41. 41. 36 Capitolo 2 abbiamo che il OCB-MIC rende la falsificazione dei pacchetti computazio- nalmente impensabile; il contatore sequenziale di pacchetto protegge il pro- tocollo da attacchi di tipo replay. Lo schema non riutilizza mai lo stesso contatore sequenziale di pacchetto con la stessa chiave; e i nonce costruiti sono tutti unici. AES-OCB ` anche ottimizzato al punto di vista computa- e zionale dato che utilizza AES, che al momento ` la migliore base crittografica e che esista e va anche considerato il fatto che OCB pu` essere implementato o efficientemente anche via software.
  42. 42. Capitolo 3 Sistemi di Protezione Alternativi a 802.11 In questo capitolo verranno trattate brevemente delle soluzioni alternative a quelle proposte da IEEE. Verranno trattate sia soluzioni di tipo amministra- tivo sia soluzioni orientate a migliore i protocolli in uso con RSN, e 802.11. 3.1 WPA e WPA2 Lo sforzo congiunto di IEEE e Wi-Fi Alliance1 , per soddisfare le richieste di maggior sicurezza per le WLAN, ha portato alla creazione e alla distribu- zione sul mercato di prodotti wireless pi` sicuri, dando vita a WPA [36, 37] u (Wi-Fi Protected Access). WPA in sostanza non ` altro che un sottoinsie- e me delle funzionalit` che fornisce 802.11i. Uno dei maggiori punti di forza a di WPA ` che viene distribuito come aggiornamento software; quindi per e usufruire dei benifici in termini di sicurezza non sar` necessario cambiare a l’hardware in proprio possesso. Oltre a essere compatibile con l’harware gi` a esistente WPA ` stato progettato per essere compatibile con i dispositivi che e implementeranno il set completo di specifiche di 802.11i (noto come WPA2). Per fornire la confidenzilit` e l’integrit` dei dati, totalmente assente in a a WEP, WPA utilizza TKIP (maggiori dettagli si trovano nella Sezione 2.3.1). Per quanto riguarda l’autenticazione WPA la distingue in base all’ambien- te in cui deve operare. Per gli ambienti Enterprise viene utilizzata un’auten- ticazione basata su 802.1x e EAP (maggiori dettagli si trovano nella Sezione 2.2), per` con l’utilizzo di una mutua autenticazione anche tra l’AP e le sta- o 1 Wi-Fi Alliance ` un’organizzazione internazionale nonprofit creata nel 1999 con lo sco- e po di certificare l’interoperabilit` dei prodotti destinati alle WLAN basati sullo standard a IEEE 802.11. 37

×