Corso di Laurea in Scienze dell’Informazione Corso di Sicurezza Prof. Luciano Margara A.A. 2006 / 2007 Aspetti di sicurezza dei protocolli per wireless 15 maggio 2007 di Tommaso Dionigi [email protected] Perché il wireless? Soddisfa la necessità primaria di una società basata sull’ Information Technology Comunicare: anywere, anytime, with anyone Erogazione di servizi in mobilità di apparato • Realizzazione di infrastrutture di rete in tempi brevi, senza impatti ambientali significativi e costi contenuti • Capillarità della rete di accesso Il giro d'affari, di 300 milioni di dollari nel 1998, è passato ad 1,6 miliardi nel 2005. 2 Wireless vs wired • Mezzo trasmissivo più ostile tecniche di codifica e di modulazione più sofisticate • Regolamentazione più restrittiva delle frequenze • Velocità di trasmissione più basse • Ritardi più elevati e più variabili, jitter più elevati • Meno sicure tecniche più sofisticate di crittografia ed autenticazione • Mezzo sempre condiviso garantire qualità del servizio in maniera efficiente 3 La legge è uguale per tutti • Le normative europee prevedono che i sistemi wireless non possano irradiare un ERP (Effective Radiated Power o Potenza Efficace Irradiata) superiore a 100 mW (di norma, con antenna a dipolo, questo valore corrisponde ad una potenza elettrica di 50 mW). Quindi? • Nessun danno alla salute è mai stato attribuito a sistemi di comunicazione wireless. • Il raggio di copertura varia solitamente tra i 30 e i 300 metri. 4 La situazione attuale • Protocollo di riferimento: Standard IEEE 802.11 Wlan costituita da un insieme di stazioni (nodi) in cui ogni singola stazione comunica via radio con le altre. • Due configurazioni di WLAN possibili: – Ad-hoc: creata solitamente per far comunicare tra loro più stazioni wireless. Possibilità di comunicare con l’esterno solo mediante protocolli di routing addizionali. – Infrastucture-based: formata da più BSS (basic service set) per connettersi all’infrastruttura e un DS (distribution System) che permette l’accesso all’esterno. Il nodo che collega una stazione al DS viene chiamato Access Point. Esso commuta i pacchetti di una stazione contenuta nel BSS verso il DS. 5 Problemi di sicurezza • Riservatezza: è necessario impedire che si possano intercettare i dati trasmessi attraverso il canale di comunicazione. • Access control: l’accesso alla rete deve essere consentito solamente agli host autorizzati. • Integrità dei dati: evitare che i messaggi trasmessi possano essere manomessi. 6 Wired Equivalent Privacy (WEP) Obiettivo: raggiungere un livello di sicurezza pari a quello delle reti cablate. Basato su di un ALGORITMO A CHIAVE PRIVATA Tutti gli host che vogliono comunicare su una rete devono possedere la stessa chiave privata. Tipicamente è l’amministratore di rete stesso che si occupa della diffusione della chiave. 7 Algoritmo alla base del wep codifica - 1 Schema codifica wep 1. La chiave segreta viene concatenata con un “initialization vector” (I.V.) 2. La stringa risultante costituisce il seme di un generatore di numeri pseudocasuali chiamato “Pseudo-random number generator” (PRNG) 8 Algoritmo alla base del wep codifica - 2 Schema codifica wep 3. 4. L’output del PRNG è un keystream k la cui lunghezza è esattamente uguale a quella del messaggio che verrà trasmesso. Un algoritmo di controllo di integrità viene applicato alla stringa. Il risultato sarà un Integrity check value (ICV) e sarà concatenato al messaggio trasmesso. WEP utilizza CRC-32. 9 Algoritmo alla base del wep codifica - 3 Schema codifica wep 5. 6. Il processo termina calcolando lo XOR tra il keystream k e il testo in chiaro concatenato con lo ICV. Messaggio finale ottenuto unendo al testo cifrato l’I.V. iniziale in chiaro (diversamente non sarebbe possibile la decodifica). 10 Algoritmo alla base del wep decodifica - 1 Schema decodifica wep 1. 2. 3. Si considera l’I.V. del messaggio ricevuto, E si concatena alla chiave segreta La stringa ottenuta è l’input del PRNG 11 Algoritmo alla base del wep decodifica - 2 Schema decodifica wep 4. 5. 6. Si calcola lo XOR tra il keystream ottenuto ed il messaggio cifrato. Si verifica la corretta decifratura con l’algoritmo CRC-32 Si controlla se lo ICV contenuto nel messaggio ricevuto corrisponde esattamente all’ICV appena calcolato. 12 RC4 utilizzato come algoritmo di PRNG in 802.11 • Algoritmo proprietario sviluppato da Ron Rivest per RSA nel 1987 • Diffuso nel 1994 da un anonimo su internet • La RSA data security lo ha dichiarato immune da criptanalisi sebbene non ci siano risultati pubblici. • Può presentarsi in 21700 stati diversi 13 Obiettivi raggiunti? • Riservatezza: ottenuta codificando con l’algoritmo RC4 i pacchetti inviati. Mittente e destinatario devono possedere la chiave privata. • Access Control: lo standard 802.11 prevede che i pacchetti non codificati con WEP non possano essere trasmessi • Data Integrity: il campo ICV (integrity checksum value) è incluso per questo. 14 WEP: debolezze • Modalità di scelta dell’I.V. non specificate dal protocollo (Fluhrer, Mantin, Shamir). L’I.V. viene concatenato alla chiave privata ed è sempre trasmesso in chiaro. Un attacco potrebbe individuare la chiave attraverso l’analisi di numerosi pacchetti. – Problematica in parte risolta dai produttori di schede 802.11 con i seguenti metodi di scelta dell’I.V.: • Contatore • Selezione casuale • Value-flapping 15 WEP: debolezze 2 • Debolezza di CRC-32 Il checksum CRC non è stato progettato per un controllo di integrità su eventuali attacchi, ma solo per identificare eventuali errori di trasmissione del messaggio. 16 WEP: debolezze 3 • Invio non autorizzato di messaggi Il CRC non è una funzione crittografica! L’utilizzo di CRC può consentire anche l’invio di messaggi non autorizzati. Ipotesi: utente a conoscenza di un messaggio cifrato e del corrispondente messaggio in chiaro. Risultato: mediante banali operazioni di XOR posso arrivare a conoscere il keystream ed utilizzarlo per creare un nuovo messaggio! Precisazione: ovviamente dovrei riutilizzare sempre lo stesso I.V. ma dato che il WEP non regola questa scelta non avrei problemi a farlo. 17 TKIP Temporal Key Integrity Protocol protocollo temporaneo vincolato all’utilizzo dell’hardware preesistente • Message Integrity Code: Chiave a 64 bit Stringa generata MIC MAC address + messaggio Indirizzo destinatario Messaggio 18 Wi-Fi Protected Access (WPA) • implementa parte del protocollo IEEE 802.11i • Utilizza TKIP • Aumenta la dimensione della chiave • Aumenta il numero delle chiavi in uso 19 IEEE 802.11i (WPA2) • Documento ratificato il 24 giugno 2004, rappresenta un superset del precedente standard WEP Utilizza i seguenti componenti: – IEEE 802.1x per autenticare – RSN per tenere traccia delle associazioni – CCMP per garantire la confidenzialità, l'integrità e la certezza del mittente 20 Protocollo IEEE 802.1X • Protocollo di autenticazione port-based • Richiede un’autenticazione iniziale dopodichè non aggiunge alcun overhead alla trasmissione di pacchetti. • Autenticazione con: RADIUS (Remote Authentication Dial-In User Service) 21 RSN • Autenticazione e Integrità – L’integrità tra server RADIUS e AP viene garantita da una chiave segreta unica per AP condivisa con il server RADIUS. • Stabilità e Flessibilità – Separando il singolo AP dal processo di autenticazione si crea un modello estremamente flessibile e scalabile. • Access Control – Essendo indipendente dal layer di autenticazione è possibile migliorare questo servizio installando layer differenti. • One-Way Authentication – Viene fornita l’autenticazione dalle stazioni verso l’ AP 22 CCMP Consente la cifratura tramite AES (algoritmo di cifratura a chiave privata successore di DES) 23 Conclusioni Buona norma consiglia di considerare le reti senza filo come reti a bassa sicurezza, vietando agli utenti collegati di accedere a dati riservati senza un'ulteriore autenticazione, ed utilizzare una VPN se necessario. 24 Corso di Laurea in Scienze dell’Informazione Corso di Sicurezza Prof. Luciano Margara A.A. 2006 / 2007 Aspetti di sicurezza dei protocolli per wireless 15 maggio 2007 di Tommaso Dionigi [email protected]