Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link
Sicurezza ai livelli di rete e data link
Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link
Sicurezza a livello applicativo
2
Ma l’utilizzo di meccanismi di cifratura e autenticazione può essere introdotto
anche ai livelli inferiori dello stack…
Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link
Sicurezza a livello di protocollo
3
(non solo per SMTP…)
Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link
Sicurezza a livello di rete
4
Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link
IPSec
5
• IPSec è un insieme di protocolli per la cifratura e
l’autenticazione a livello di rete (protocollo IP)
• Può essere utilizzato con IPv4 ed è parte integrante del
nuovo standard IPv6
• Poiché lavora a livello di rete, non è necessario alcun
supporto specifico da parte delle applicazioni dei livelli
superiori: tutto il traffico IP viene cifrato/autenticato!
Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link
Modalità di funzionamento
6
• Transport mode
– Per le connessioni tra due host
– Le due macchine sono raggiungibili tramite IP
– Solo il contenuto dei pacchetti IP viene cifrato
• Tunnel mode
– Per le connessioni tra due gateway
– Le macchine delle due sottoreti non sono direttamente
raggiungibili
– L’intero pacchetto IP viene incapsulato nei pacchetti
IPSec generati dai gateway
– Usato per realizzare delle VPN (Virtual Private Networks)
Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link
Protocolli di IPSec
7
• Per lo scambio delle chiavi: IKE (Internet Key Exchange)
• Per la cifratura / autenticazione dei dati: AH (Authentication header) e ESP (Encapsulating Security Payload)
Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link
Funzionamento di IPSec
8
• Inizialmente ogni host stabilisce una SA (Security
Association) da associare all’altra macchina con cui sta
comunicando. Successivamente il traffico viene cifrato in
base ai parametri contenuti nella SA
• L’SA è un “accordo” tra i due host su quali protocolli
utilizzare
• Un SA tipicamente contiene
– L’indirizzo IP della controparte
– Il protocollo da utilizzare (AH o ESP)
– Gli algoritmi crittografici da utilizzare e le rispettive chiavi
– Un identificativo univoco a 32 bit (SPI, Security Parameter Index)
• L’SA è monodirezionale, quindi in una comunicazione tipica
ne vengono negoziati due (uno per direzione)
Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link
IKE
9
• Serve a negoziare la chiave da utilizzare per le successive cifrature
• Due fasi:
– Autenticazione, mediante pre-shared key o
meccanismi a chiave pubblica (certificati)
– Scambio delle chiavi, mediante l’algoritmo di
Diffie-Hellman
Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link
AH – Authentication Header
10
• Il protocollo AH serve a garantire l’integrità e l’autenticazione, ma non la riservatezza (come una firma digitale)
• In modalità trasporto l’header AH si inserisce tra l’header IP e il resto del pacchetto:
• In modalità tunnel, il pacchetto originale viene incapsulato:
IP Header Payload
IP Header PayloadAH
IP header del
gateway PayloadAH IP Header
Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link
Formato dell’header AH
11
Next Header Payload Length Reserved
8 bit 8 bit 16 bit
Security Parameter Index (SPI)
Sequence Number
Authentication Data (variabile)
• next header: protocollo incapsulato nel pacchetto IP (tipicamente: TCP o UDP)
• Payload length: lunghezza dell’header AH
• SPI: identificativo della SA (Security Association) usata
• Sequence number: identificativo progressivo del pacchetto (serve a evitare i
“replay attack”, in cui un attaccante ritrasmette un pacchetto valido
• Authentication data: un HMAC dell’intero pacchetto
Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link
ESP – Encapsulating security payload
12
IP Header Payload
IP Header PayloadESP head ESP tail
IP Header Payload
PayloadESP head ESP tailIP header del
gatewayIP Header
Transport mode:
Tunnel mode:
Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link
Formato dell’header ESP
13
• Garantisce sia integrità/autenticazione che riservatezza
Next HeaderPad Length
16 bit 8 bit 8 bit
Security Parameter Index (SPI)
Sequence Number
Authentication Data (variabile)
Payload Data (variable)
Next Header
Padding (0 - 255 byte)
• Il pacchetto IP viene cifrato con un algoritmo a chiave simmetrica e incapsulato
in ESP (payload data)
• l’autenticazione è gestita come in AH
Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link
Sicurezza a livello data link nelle reti wireless
14
• Il livello di trasmissione “data link” si colloca tra il
livello di connessione fisica e quello di rete.
Stabilisce i protocolli necessari per trasmettere i dati
su un determinato medium fisico (es: protocollo
Ethernet)
• Nelle reti wireless è importante garantire la
sicurezza del livello data link, perché il medium di
trasmissione è intrinsecamente insicuro! (onde
elettromagnetiche intercettabili da chiunque
mediante un’antenna)
Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link
Sicurezza in IEEE 802.11
15
• Lo standard WiFi (IEEE 802.11) descrive il protocollo da
utilizzare per la trasmissione di dati su reti wireless
• Le prime versioni dello standard (802.11 a, b, g) si basavano
sul meccanismo di sicurezza WEP
• Quando WEP si è dimostrato insicuro, è stata proposta una
sua variante, WPA, da usare temporaneamente, finché non
venisse approvato in maniera definitiva il nuovo standard…
• … 802.11 i, che descrive un nuovo meccanismo per gestire
la sicurezza delle trasmissioni, chiamato WPA2
Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link
WEP
16
• Il WEP (Wired Equivalent Privacy) cifra i dati da trasmettere usando un cifrario a flusso
• I dati sono combinati in XOR con la “keystream”, un flusso di bit pseudocasuali generati con l’algoritmo RC4
• La chiave di RC4 è composta da una chiave vera e propria da 40 bit, preceduta da un Initialization Vector (IV) da 24 bit, un contatore che varia ad ogni cifratura per evitare di usare la stessa chiave più volte
Il messaggio ed un suo
checksum vengono cifrati e
trasmessi assieme all’IV
(quest’ultimo è trasmesso in
chiaro)
Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link
Perché usare un IV variabile?
17
• Se si usano due volte lo stesso IV e la stessa chiave, RC4
genera due keystream K uguali
• C1 = M1 ⊕⊕⊕⊕ K
• C2 = M2 ⊕⊕⊕⊕ K
• C1 ⊕⊕⊕⊕ C2 = M1 ⊕⊕⊕⊕ K ⊕⊕⊕⊕ M2 ⊕⊕⊕⊕ K = M1 ⊕⊕⊕⊕ M2
• Lo XOR di due dati cifrati è uguale allo XOR dei dati in
chiaro. Permette facilmente di identificare parti di testo in
chiaro uguali, e di decifrare uno dei due messaggi se l’altro è
noto
Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link
WEP / 2
18
• L’integrità dei dati è garantita da un checksum CRC-32
• L’autenticazione può avvenire in due modi:
– Open System (nessuna autenticazione)
– Shared Key: la chiave condivisa viene utilizzata in un
protocollo sfida/risposta
Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link
Debolezze di WEP
19
• Lunghezza della chiave: 40 bit per la chiave sono pochi ed
espongono WEP a potenziali attacchi a forza bruta
• Lunghezza dell’IV: con soli 24 bit, esistono 16.777.216 IV
possibili. In una rete trafficata, un IV verrà sicuramente
utilizzato più volte nel giro di poco tempo (principio dei buchi
di colombaia)
• Se gli IV sono scelti in maniera casuale, sono sufficienti 5000
IV per avere il 50% di probabilità che tra essi ce ne siano
almeno due uguali (paradosso del compleanno).
Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link
Debolezze di WEP / 2
20
• RC4 ha una debolezza crittografica: usando alcuni IV
particolari (detti “weak IV”) c’è un’elevata correlazione tra
byte della chiave e byte del testo in chiaro
• In altre parole, dato un byte cifrato usando un weak IV, la
probabilità di indovinare un byte della chiave è del 5%, molto
superiore a quella che ci si aspetta da un buon algoritmo di
cifratura (nessuna correlazione tra testo cifrato e chiave:
probabilità di indovinare il byte della chiave = 1/256 = 0.4%)
• Esistono circa 9000 “weak IV” tra i 16 milioni possibili
Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link
Debolezze di WEP / 3
21
• Nell’autenticazione “Shared Key” la challenge in chiaro e la
sua versione cifrata vengono trasmesse sul canale insicuro
• Con un semplice XOR l’attaccante può risalire al keystream
usato in fase di autenticazione, riutilizzabile per successive
autenticazioni da parte dell’attaccante
Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link
Debolezze di WEP / 4
22
• L’algoritmo di checksum utilizzato, CRC-32, è ottimo per
l’identificazione di errori casuali di trasmissione, ma non ha
le proprietà crittografiche necessarie per garantire la
robustezza a modifiche volontarie da parte di un attaccante
(come invece accade per le funzioni crittografiche di hash)
• E’ facile per l’attaccante modificare il contenuto di un
pacchetto aggirando il controllo CRC.
Per maggiori informazioni:
http://www.isaac.cs.berkeley.edu/isaac/mobicom.pdf
Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link
Debolezze di WEP / 5
23
• Le falle nella sicurezza di WEP sono numerose, al punto che
esistono ormai diversi tool semi-automatici per il cracking di
reti WEP
• Tra i più popolari: AirCrack-ng http://www.aircrack-ng.org/
Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link
WPA e WPA2
24
• Per arginare le falle di WEP senza richiedere stravolgimenti nella progettazione dell’hardware prima che venisse ufficializzato un nuovo standard, viene introdotta una variante di WEP, detta WPA (WiFiProtected Access)
• WPA funziona come WEP, ma con una chiave e un IV più lunghi (rispettivamente 48 e 128 bit) e usando un algoritmo di hash sicuro al posto di CRC-32
• Nel 2004 è stato definito lo standard IEEE 802.11i che introduce WPA2, un nuovo meccanismo di gestione della sicurezza basato su AES al posto di RC4. WPA2 introduce anche dei meccanismi di autenticazione più sicuri.