Marco Vallini Febbraio 2006 WiMAX Security Marco Vallini Febbraio 2006
Contenuti Breve introduzione alla tecnologia Aspetti e meccanismi di sicurezza Vulnerabilità e attacchi noti
Breve introduzione alla tecnologia
Diffusione capillare della banda larga 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
Tecnologia Broadband Wireless Access (BWA) 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
Worldwide Interoperability for Microwave Access 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
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
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
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
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
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
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
Livello MAC (3) MAC PDU, il pacchetto Inoltre … Header Payload CRC (opzionale) Inoltre … Il MAC contiene funzionalità per la gestione dei diversi livelli di QoS
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 …
Aspetti e meccanismi di sicurezza
Proprietà generali della sicurezza 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à
Instaurazione della comunicazione tra SS e BS Introduzione Instaurazione della comunicazione tra SS e BS 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
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
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)
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
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
di autorizzazione, (SA authorization) 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
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
I campi più significativi dei certificati 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
Privacy and Key Management 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
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) : SS -> BS : Cert(Manufacturer(SS)) Messaggio2: (Areq) : SS -> BS : Cert(SS) | capabilities | CID Messaggio3: (Arep) : BS -> SS : RSA-Encrypt(PubKey(SS), AK) | AK lifetime | SeqNo (4-bit) | SAIDs
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
Scambio e aggiornamento delle chiavi TEK 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
PKM Fattori critici Conoscenza di AK Distribuzione di AK Solo BS ed SS devono conoscerla
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
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
Crittografia dei pacchetti di dati 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)
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)
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
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
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
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
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
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
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))
…tutti questi meccanismi, Rendono veramente il WiMAX sicuro? Rispettano le proprietà generali della sicurezza? Sono stati specificati in modo esauriente?
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…
Vulnerabilità e attacchi noti
Consideriamo le seguenti tipologie 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
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
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
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
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
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
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
Vulnerabilità nell’autenticazione semplice 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
Messaggi di autenticazione e autorizzazione 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
Vulnerabilità nelle chiavi AK 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?!
Vulnerabilità nelle chiavi AK - soluzioni 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)
Vulnerabilità nelle chiavi TEK 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
Vulnerabilità nella crittografia dei dati 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à!
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
Autorizzazione con EAP 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
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
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 | RSA-Encrypt(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)
Nuovi meccanismi … Scambio chiavi TEK Attenzione! 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.
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
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 …?!