WiMAX Security Marco Vallini Febbraio 2006 Contenuti • Breve introduzione alla tecnologia • Aspetti e meccanismi di sicurezza • Vulnerabilità e attacchi noti 2 Breve introduzione alla tecnologia 3 Problema Diffusione capillare della banda larga • Le tecnologie wired sono correlate al bacino d’utenza, pochi utenti implicano alti costi • La morfologia del territorio di alcune zone non ne permette l’installazione • Utilizzo di servizi broadband per sistemi mobili: le reti attuali non sono sufficienti 4 Soluzione Tecnologia Broadband Wireless Access (BWA) • Maggiore flessibilità • Costi minori • Connessioni always-on anche in movimento: connessi sempre e ovunque… • Il WiMAX è una tecnologia BWA 5 WiMAX Worldwide Interoperability for Microwave Access Prevede: • Alta velocità • Tecnologia senza fili per abbattere i costi • Copertura ad ampio raggio a livello geografico • Terminali mobili 6 Architettura Generalità Due unità: • Base Station (BS): il concentratore, simile concettualmente a quelle della telefonia cellulare • Subscriber Station (SS) o Mobile Station (MS): è il dispositivo che permette la comunicazione tra client e BS 7 Modalità di servizio Due modalità: • Line-Of-Sight (LOS): – – – – Maggiore banda trasmissiva, effetti multipath trascurabili Trasmissioni suscettibili a ostacoli fisici Antenna complessa e fissa Freq. 10-66 GHz • Non-Line-Of-Sight (NLOS): – – – – Trasmissioni non interrotte da ostacoli fisici Ridotta banda trasmissiva Antenna di dimensioni ridotte Freq. 2-11 GHz 8 Copertura del servizio Dipende dalla modalità di servizio: • Line-Of-Sight (LOS): – 16 Km di raggio – Si può aumentare la copertura a scapito della larghezza di banda • Non-Line-Of-Sight (NLOS): – 6-8 Km di raggio • Throughput intorno a 45 Mbps/canale 9 QoS (Quality of Service) Soddisfare particolari specifiche sul traffico Supporto di servizi QoS mediante: • Introduzione nel livello MAC di diverse tipologie di traffico • Modulazione adattativa • Capacità di configurazione dinamica dei collegamenti in funzione del traffico • Tecniche per diminuire l’overhead dei messaggi di segnalazione 10 Livello MAC (1) Medium Access Control • Topologia di rete punto-multipunto o maglia (mesh) • Diverse specifiche per il livello fisico, per ambienti operativi diversi • Trasmissione a trama (frame), 2 slot map: – DL_MAP: downlink – UP_MAP: uplink • Connection-oriented, ogni slot è identificato da un ID • Tipologie di connessioni: – 2 di Management: 1° per operazioni di gestione, 2° pacchetti di gestione di IP – Transport: trasporto dati 11 Livello MAC (2) Tre sottolivelli • Service-Specific Convergence Sublayer (CS): – – – – Trasformazione dei dati provenienti dalla rete Classificazione Associazione ai diversi flussi Identificazione del collegamento • MAC Common Part Sublayer (CPS): – Allocazione di banda – Instaurazione delle connessioni e mantenimento • Security Sublayer o Privacy Sublayer: – Funzioni di sicurezza: autenticazione, distribuzione chiavi, integrità e crittografia dati 12 Livello MAC (3) MAC PDU, il pacchetto • Header • Payload • CRC (opzionale) Inoltre … Il MAC contiene funzionalità per la gestione dei diversi livelli di QoS 13 Livello Fisico Physical Layer • Due modalità operative – TDD (Time Division Duplex): sottoframe consecutivi – FDD (Frequency Division Duplex): sottoframe simultanei perché sfruttano frequenze diverse • Non implementa funzionalità di protezione, più vulnerabile! • Banda 10-66 GHz – Richiede licenza – Dimensione canali 25-28 MHz – Modulazione single-carrier: invio di un singolo canale per portante • Banda 2-11 GHz – La modalità NLOS richiede di implementare: tecniche avanzate di power management, tecniche di correzione dovute ad interferenze … 14 Aspetti e meccanismi di sicurezza 15 Introduzione Proprietà generali della sicurezza • Vengono considerate quando si vuole rendere sicura una comunicazione, sono: – – – – – – – riservatezza/confidenzialità integrità autenticazione non ripudio controllo dell’accesso/autorizzazione disponibilità tracciabilità 16 Introduzione Instaurazione della comunicazione tra SS e BS 1. 2. 3. 4. 5. La SS effettua una scansione per cercare il segnale di downlink Con i dati acquisiti, imposta a livello fisico i parametri per aprire un canale di management con la BS Il protocollo PKM viene utilizzato per valutare se la SS è in possesso dei diritti necessari Se l’autorizzazione è concessa, la SS si registra. La BS assegna un identificatore (ID) per la seconda connessione di management SS e BS creano una connessione di trasporto NB. ll canale di management è utilizzato per negoziare i parametri di comunicazione, per l’autorizzazione e per la gestione della chiave di cifratura 17 Architettura di sicurezza Introduzione (1) • Implementata nel sottolivello Security del MAC • Si occupa di: – – – – – Gestire l’autenticazione Distribuzione delle chiavi Integrità dei messaggi Crittografia dati Riservatezza • Si basa su due protocolli: – Encapsulation protocol: crittografa i pacchetti di dati – PKM (Privacy and Key Management): distribuzione delle chiavi 18 Architettura di sicurezza Introduzione (2) • Utilizza 5 meccanismi: – – – – – Security Association (SA): contiene le informazioni di sicurezza X.509 Certificate Profile: certificati PKM: autorizzazione, distribuzione chiavi Key Usage (modalità di utilizzo delle chiavi) Cryptography (algoritmi crittografici e digest) 19 Security Association Security Association • Insieme di informazioni di sicurezza condivise tra SS e BS • Identificate tramite un’etichetta, detta SAID • Tre tipi: – Primary: usata dalla SS in fase di inizializzazione – Static: configurata dalla BS – Dynamic: instaurata e distrutta in modo dinamico • Quando la SS entra in rete, la BS genera – Una SA per il canale secondario di management – E successivamente una o due SA per i canali di traffico • Nella modalità multicast, ogni gruppo condivide una SA 20 Security Association Di tipo generico • • • • • • • Identificatore, SAID, 16 bit Algoritmo di cifratura 2 chiavi TEK per crittografare il traffico Un identificatore a 2 bit per ogni TEK Durata di validità del TEK (lifetime) Vettore di inizializzazione a 64 bit per ogni TEK Indicatore sulla tipologia della SA: Primary, Static, Dynamic 21 Security Association di autorizzazione, (SA authorization) • Ha scopi di autorizzazione, è composta dai seguenti campi: – – – – – X.509 Certificate Profile: identifica la SS AK (Authorization Key): chiave di autorizzazione a 160 bit 4 bit per identificare AK Durata di AK KEK (Key Encryption Key): 112 bit, Triple-DES, usata per distribuire TEK – Downlink authentication code (HMAC key), integrità del messaggio – Uplink HMAC key: integrità del messaggio – Lista contenente le SA autorizzate • Permette di configurare le informazioni di tutte le SA 22 Certificate Profile Standard X.509, versione 3 • Due tipologie: – Manufacturer certificate: identifica il costruttore del dispositivo – SS certificate: identifica il dispositivo, una particolare SS. E’ generato e firmato dal costruttore. Il MAC della scheda è contenuto nel campo subject del certificato – Le BS NON hanno certificati! • I certificati sono firmati utilizzando RSA • La BS utilizza la chiave pubblica del costruttore per verificare la validità del certificato dell’SS • I certificati devono essere registrati in modo permanente nella SS 23 Certificate Profile I campi più significativi dei certificati • • • • • • • • Version: versione 3 Serial number: identificativo univoco che assegna la CA Signature: algoritmo usato per la firma (RSA) Issuer: nome della CA che ha rilasciato il certificato Validity: periodo di validità Subject: nome dell’entità certificata, può contenere anche il MAC SignatureAlgorithm: algoritmo utilizzato per hash (SHA1) SignatureValue: contiene la firma della CA 24 PKM Privacy and Key Management • Protocollo che gestisce la riservatezza e lo scambio delle chiavi • I due meccanismi sono: – SS Authorization: serve per concedere l’autorizzazione – Scambio e aggiornamento delle chiavi di traffico TEK 25 PKM SS Authorization • Prima che la SS entri in rete, la BS deve verificare le credenziali • Distribuisce i token di autorizzazione • Si sviluppa in 3 messaggi, scambiati tra SS e BS: – Authentication Information (AI): la BS riceve il certificato del costruttore – Authorization request (Areq): il cert. della SS è usato per richiedere AK e la lista di SAID – Authorization reply (Arep): contiene AK, un n. di seq della AK, validità, lista SAID • La sequenza è la seguente: Messaggio1: (AI) : Messaggio2: (Areq) Messaggio3: (Arep) SeqNo (4-bit) | SS -> BS : Cert(Manufacturer(SS)) : SS -> BS : Cert(SS) | capabilities | CID : BS -> SS : RSA-Encrypt(PubKey(SS), AK) | AK lifetime | SAIDs 26 PKM SS Authorization (2) • Periodicamente la SS invia, prima che AK scada, una nuova richiesta (Messaggio2) • Per evitare problemi d’interruzione, nella fase di transizione si possono usare due chiavi • L’implementazione del processo di autorizzazione avviene attraverso una macchina a stati finiti 27 PKM Scambio e aggiornamento delle chiavi TEK • • • • Serve ad ottenere una chiave per crittografare il traffico dati Implementata da una macchina a stati finiti La SS la richiede dopo aver ricevuto AK Si sviluppa in 3 messaggi: Messaggio1: BS -> SS : SeqNo | SAID | HMAC(1) Messaggio2: SS -> BS : SeqNo | SAID | HMAC(2) Messaggio3: BS -> SS : SeqNo | SAID | OldTek | NewTek | HMAC(3) SAID: è l’identificativo di una SA che si vuole proteggere HMAC: digest, serve per l’integrità del messaggio, costruito con una funzione di hash La chiave TEK (NewTek, OldTek) è distribuita mediante KEK e crittografata con Triple-DES a 112 bit 28 PKM Fattori critici • Conoscenza di AK • Distribuzione di AK • Solo BS ed SS devono conoscerla 29 Key Usage Utilizzo delle chiavi • Definisce alcuni meccanismi per il rinfresco delle chiavi AK e TEK • In particolare, la SS imposta due timer: – Uno per rappresentare il tempo di validità rimanente della chiave AK – L’altro per verificare quello della chiave TEK – Questi timer sono detti “grace time” • La BS genera sempre 2 chiavi sia per AK che per TEK, ma attiva solo la prima di entrambe – La seconda sarà attivata quando la SS farà una nuova richiesta 30 Cryptography Suite di crittografia • I meccanismi di crittografia sono utilizzati per – – – – – Crittografare i pacchetti di dati La chiave AK La chiave TEK La chiave KEK Il calcolo dei message digest 31 Cryptography Crittografia dei pacchetti di dati • Serve a crittografare i dati utente • L’algoritmo utilizzato è quello stabilito nella SA • La crittografia è applicata solo al payload del MAC PDU, mai all’header • Sono definiti 2 algoritmi: – DES CBC – AES CCM (introdotto dalla versione 2004) 32 Crittografia dei dati DES CBC • DES ha problemi per quanto riguarda la lunghezza della chiave • L’IV è inizializzato in downlink: – (IV del messaggio TEK) XOR (campo Synch. in PHY dell’ultimo DL_MAP) • L’IV è inizializzato in uplink: – (IV del messaggio TEK) XOR (campo Synch. in PHY dell’ultimo UL_MAP) 33 Crittografia dei dati AES CCM • Prevede una modalità diversa nella cifratura del payload • Introduce due elementi: – PN (Packet Number): numero del pacchetto, posto in testa – ICV (Integrity Check Value): funzionalità di integrità, posto in coda • Payload e ICV sono crittografati utilizzando la chiave TEK attiva 34 Authorization Key (AK) Generazione • La chiave di autorizzazione è generata dalla BS • In modo casuale o pseudo-casuale • E’ inviata dalla BS alla SS: – Come risposta al messaggio di richiesta • Crittografata con l’algoritmo RSA e la chiave pubblica della SS Particolare attenzione deve essere posta nell’implementazione del generatore della chiave 35 Traffic Encryption Key (TEK) Generazione • La chiave di autorizzazione è generata dalla BS • In modo casuale o pseudo-casuale • Può essere protetta utilizzando 3 algoritmi: – Triple-DES a 112 bit – RSA: impiega lo standard PKCS#1 v.2.0 – AES a 128 bit • L’implementazione di default, prevede che sia utilizzato Triple-DES 36 Traffic Encryption Key (TEK) Crittografia con Triple-DES a 112 bit • Si utilizza il seguente schema per crittografare il TEK: C = Ek1[Dk2[Ek1[P]]] P = Dk1[Ek2[Dk1[C]]] P: TEK in chiaro a 64 bit C: TEK cifrato a 64 bit k1: i 64 bit più significativi del KEK a 128 bit k2: i 64 bit meno significativi del KEK a 128 bit E[]: cifratura a 56 bit in modalità DES ECB D[]: decifratura a 56 bit in modalità DES ECB 37 Traffic Encryption Key (TEK) Crittografia con AES a 128 bit • Si utilizza il seguente schema per crittografare il TEK: C = Ek1[P] P = Dk1[C] P: TEK in chiaro a 128 bit C: TEK cifrato a 128 bit k1: chiave KEK a 128 bit E[] : cifratura a 128 bit in modalità AES ECB D[] : decifratura a 128 bit in modalità AES ECB 38 Key Encryption Key (KEK) Generazione • La chiave KEK è derivata da AK ed è utilizzata per cifrare il TEK • Lo schema per la costruzione del KEK è: KEK = Truncate-128(SHA1((AK | 0^(44)) XOR 53^(64))) • si scartano i primi 128 bit • Il simbolo “|” indica la concatenazione tra stringhe • Il simbolo a^n indica che l’ottetto a è ripetuto n volte • SHA1 è l’algoritmo di hash 39 Message digest Generazione • Viene utilizzato per garantire l’integrità dei messaggi per lo scambio delle chiavi TEK HMAC_KEY_D: SHA1((AK | 0^(44)) XOR 3A^(64)) HMAC_KEY_U: SHA1((AK | 0^(44)) XOR 5C^(64)) 40 …tutti questi meccanismi, Rendono veramente il WiMAX sicuro? Rispettano le proprietà generali della sicurezza? Sono stati specificati in modo esauriente? 41 Dipende … Rendono veramente il WiMAX sicuro? Si rispetto al Wi-Fi, ma non abbastanza per una tecnologia wireless geografica … Rispettano le proprietà generali della sicurezza? Non sempre, a volte ci sono problemi d’integrità… Sono stati specificati in modo esauriente? Non sempre, a volte lo standard è un po’ vago… 42 Vulnerabilità e attacchi noti 43 Tipologie di attacchi Consideriamo le seguenti tipologie • DoS (Denial of Service): interruzione del servizio • Intercettazione (Eavesdropping): accesso non autorizzato ad una risorsa o comunicazione • Modifica/Cancellazione (Tampering) (Man In the Middle) (Connection hijacking) • Falsificazione di credenziali (Masquerade) • Replay: catturare un pacchetto e ritrasmetterlo 44 Vulnerabilità Dove si trovano? • A livello fisico: si ricorda che – Flusso di bit strutturato in seq. di frame – 2 sottoframe per downlink e uplink – 2 modalità operative FDD e TDD • A livello MAC: si ricorda che – Implementa un sottolivello per la sicurezza – Il pacchetto MAC PDU contiene sempre l’header in chiaro – I messaggi di management sono in chiaro, salvo quelli della seconda connessione che contengono informazioni sui pacchetti IP 45 Livello Fisico Vulnerabilità • Vi sono tre tipologie di attacchi possibili – Water Torture: invio di una serie di frame per scaricare le batterie della stazione ricevente – Jamming: introduzione di una sorgente di rumore sul canale con l’obiettivo di diminuirne le capacità – Scrambling: simile al jamming, ma agisce per periodi di tempo più limitati, riguarda frame specifici o parti di essi. Natura intermittente 46 Livello Fisico Jamming • Introdurre una sorgente di rumore sul canale – il rumore deve essere elevato • Lo scopo è diminuire o negare la comunicazione tra le parti • La Probabilità che si verifichi è piuttosto elevata ma l’impatto abbastanza basso • Possibili rimedi: – Aumentare la potenza dei segnali – Aumentare la dimensione della banda dei segnali 47 Livello Fisico Scrambling • Introduzione di una sorgente di rumore per disturbare la trasmissione di un frame specifico o di parte di esso • È molto più specifico rispetto al jamming • È possibile selezionare alcuni messaggi di gestione, non protetti, e alterare il funzionamento della rete • Problema principale per i messaggi che non sono tolleranti ai ritardi • Provoca ritrasmissioni di dati, l’ampiezza di banda diminuisce • La probabilità che si verifichi è minore rispetto al jamming, ma è più complesso individuare l’attacco • Possibili rimedi: – Rilevare le anomalie sul canale e utilizzare criteri per valutare le prestazioni del servizio 48 Livello MAC Vulnerabilità • Vi sono diversi tipi di vulnerabilità – Nelle security association – Vulnerabilità nell’autenticazione semplice – Vulnerabilità generiche associate a messaggi di autenticazione e autorizzazione – Vulnerabilità nella generazione delle chiavi AK – Vulnerabilità nella generazione delle chiavi TEK – Vulnerabilità nella crittografia dei dati • Queste sono sfruttate in attacchi di diverso: – – – – – Intercettazione Replay Crittanalisi Falsificazione DoS 49 Livello MAC Security Association • Mancanza di un campo che identifichi una istanza di SA authorization da un’altra – Attacchi di replay • Dato che nella SA authorization sono presenti una lista di SA autorizzate, la prima vulnerabilità incide anche sulle SA di dati – Attacco di replay e falsificazione verso la SS • Lo schema di crittografia è vulnerabile ad attacchi che sfruttano il riutilizzo della chiave • Soluzioni: – Introdurre un numero casuale nelle SA authorization tra BS ed SS – Aumentare il numero di bit per l’identificazione del TEK, da 2 a 12 bit 50 Livello MAC Vulnerabilità nell’autenticazione semplice • L’autenticazione è semplice perché: solo la SS ha le credenziali basate su un certificato, la BS no! La SS non può identificare con certezza la BS, deve fidarsi! – attacchi di falsificazione e replay • Questa vulnerabilità si riflette anche sul protocollo PKM, la SS non può verificare se effettivamente i messaggi provengano da una BS autorizzata! – attacchi di falsificazione • E’ possibile catturare un messaggio del protocollo PKM e ritrasmetterlo – attacco di replay • Differenziare le istanze del protocollo PKM • Possibili rimedi: – Autenticazione mutua – Inserire nei messaggi del protocollo PKM una sfida a cui la BS risponderà, firmando con la sua chiave privata 51 Livello MAC Messaggi di autenticazione e autorizzazione • Vulnerabilità associate ai messaggi e procedure di autenticazione e autorizzazione – La macchina a stati che implementa i meccanismi ha procedure lunghe e complesse – L’inondazione di messaggi non correttamente gestiti potrebbe causare disservizi – attacchi di tipo DoS 52 Livello MAC Vulnerabilità nelle chiavi AK • La Authorization Key deve essere generata in modo casuale, e utilizzando una distribuzione di probabilità uniforme – altrimenti possibilità di crittanalisi • La chiave AK viene generata solo dalla BS • L’implementazione di un generatore casuale non è semplice, possibili bug – in questo caso, il risultato potrebbe essere drammatico • Lo standard dovrebbe specificare ulteriori requisiti a riguardo! Altrimenti? Un produttore di un dispositivo potrebbe costruire il generatore “come vuole”, e i requisiti di sicurezza?! 53 Livello MAC Vulnerabilità nelle chiavi AK - soluzioni • Sia la SS che la BS dovrebbero partecipare con alcuni bit alla costruzione della chiave • Per es. – AK = HMAC-SHA1(AK proposta BS, num casuale della SS) 54 Livello MAC Vulnerabilità nelle chiavi TEK • Problemi e attacchi simili a quelli di AK • La chiave TEK è contenuta nella SA • Problema: tempo di vita, da 12 ore a 7 giorni. L’ultimo valore è troppo elevato – attacchi di crittanalisi con disponibilità di testo cifrato • Identificatore del TEK, 2 bit, identifica il numero massimo di TEK utilizzabili, sono pochissimi • Solito problema della generazione in modo casuale, vista in precedenza per la chiave AK 55 Livello MAC Vulnerabilità nella crittografia dei dati • Lo standard del 2001 proponeva DES a 56bit – debole! – Perché? (1) lunghezza della chiave, (2) prevedibilità nella costruzione del vettore di inizializzazione nello schema proposto dallo standard • Con lo standard del 2004 le cose migliorano: AES CCM – migliore – Inoltre: modifica la struttura del pacchetto MAC PDU… e aggiunge supporto all’integrità! 56 Nuovi meccanismi … …Migliore sicurezza • Negli ultimi standard approvati, dopo quello del 2004 sono stati introdotti o stanno per essere introdotti nuovi meccanismi – Autenticazione mediante EAP – Miglioramento nella gestione delle chiavi – Introduzione del concetto di mobilità e relative ottimizzazioni 57 Nuovi meccanismi … Autorizzazione con EAP • EAP (Extensible Authentication Protocol): piattaforma di autenticazione a livello data-link • Protocollo di tipo generale per autenticazione, estensione di PPP • L’utilizzo consente di introdurre uno schema più flessibile • Approccio dominante: inserire i messaggi EAP all’interno dei frame di gestione, ciò permette – L’autenticazione nella fase di instaurazione del collegamento • Lo standard non specifica ancora il metodo di autenticazione da utilizzare … EAP – Fonte: Lioy, Slide, 2005 58 Nuovi meccanismi … Gestione delle chiavi • Analizzando gli articoli disponibili sono proposte 2 migliorie – Una per l’autorizzazione – L’altra per lo scambio della chiave TEK 59 Nuovi meccanismi … Autorizzazione Messaggio1: (AI) : SS BS : Cert(Manufacturer(SS)) Messaggio2: (Areq) : SS BS : SS-Rand | Cert(SS) | capabilities | CID Messaggio3: (Arep) : BS SS : BS-Rand | SS-Rand | RSAEncrypt(PubKey(SS), AK) | AK lifetime | SeqNo (4-bit) | SAIDs | Cert(BS) | Sign(BS) AK = HMAC-SHA1(pre-AK, SS-Rand | BS-Rand | SS-MAC-Addr | BS-MAC-Addr) 60 Nuovi meccanismi … Scambio chiavi TEK Messaggio1: BS SS : SS-Rand | BS-Rand | SeqNo12 | SAID | HMAC(1) Messaggio2: SS BS : SS-Rand | BS-Rand | SeqNo12 | SAID | HMAC(2) Messaggio3: BS SS : SS-Rand | BS-Rand | SeqNo12 | SAID | OldTek | NewTek | HMAC(3) TEK = HMAC-SHA1(pre-TEK, SS-Rand | BS-Rand | SS-MAC-Addr | BS-MAC-Addr | SeqNo12) Attenzione! L’algoritmo SHA1 è stato sostituito con HMAC-SHA1 per evitare attacchi alla funzione di hash. Questa operazione si rende necessaria in seguito alla scoperta di alcune vulnerabilità, annunciate da alcuni ricercatori cinesi della Shandong Univerity e, successivamente pubblicate nel blog di Bruce Schneier. 61 Nuovi meccanismi … Concetto di mobilità • Nello standard 802.16e è stato introdotto il concetto di mobilità, questo comporta che: – L’operazione di autenticazione deve essere più rapida per facilitare il passaggio da una zona coperta da una BS ad un’altra – È necessario ottenere nuove AK e TEK 62 Conclusione Tanti concetti e meccanismi … … Alcune specifiche non definite completamente … … alcune vulnerabilità, anche gravi … … lo standard del 2004 non è ancora pronto a rivoluzionare le comunicazioni … … sarà per quelli successivi …?! 63