Upload
dokhue
View
220
Download
0
Embed Size (px)
Citation preview
C.d.L. Informatica Applicata A.A. 2008/09
Corso di Sicurezza 2 Prof. Dario Catalano
Radio Frequency IDentification(RFID)
Dario [email protected]
http://www.dmi.unict.it/~fiore
RFID
● RFID: acronimo per Radio Frequency Identification
● Tecnologia per l'identificazione automatizzata di oggetti, animali o persone
● Componenti di un sistema RFID
1)RFID tag
2)Tag Reader
3)Server
● Idea di base: Il reader legge a distanza informazioni dal tag ed (eventualmente) le comunica al server
Vantaggi principali
● I sostenitori di RFID vedono questa tecnologia come successore dei codici a barre, con due vantaggi principali:
1) Identificazione univoca
– Un codice a barre indica il tipo di oggetto su cui è stampato (es. ”barretta cioccolato XY 100g”)
– Un tag RFID emette un segnale univoco per quell'oggetto (es. barretta cioccolato XY 100g, serial n. 897348738”)
Vantaggi
2) Automazione
– I codici a barre richiedono l'intervento umano per essere letti (devono essere posti vicino al lettore)
– I tag RFID non necessitano di una posizione specifica. I reader possono leggere a distanze ragionevoli (che dipendono dal tipo di tag) anche centinaia di tag al minuto.
Applicazioni (1)
● Magazzini e punti vendita
– Ogni prodotto è identificato univocamente da un tag permettendo l'inventario automatico delle merci
– Antifurto/antitaccheggio: i clienti fanno passare il loro carrello vicino al lettore che identifica i prodotti. Oltre a preparare lo scontrino, i prodotti potranno essere marchiati nel DB come “acquistati”. All' uscita del negozio delle barre (lettori) controllano il passaggio di tag lecitamente acquistati
Applicazioni (2)
● Trasporti
– Tag applicati a mezzi di trasporto per tracciare gli spostamenti (es. pagamento caselli autostradali)
● Controllo presenze ed accessi
Applicazioni (3)
● Apparecchi intelligenti
– Il frigorifero avvisa se il latte è scaduto
– Il frigorifero si accorge che lo yogurt scade domani e lo mette sulla lista della spesa (che potrà essere spedita a un servizio di spedizione a domicilio!!)
Applicazioni (4)
● Armadio delle medicine
– Verifica che le medicine vengono prese secondo certe regole temporali
● Identificazione degli animali
– In Italia da pochi anni c'è l'obbligo per impiantare un tag RFID sottocutaneo nei cani. Può contenere informazioni su proprietario, controlli veterinari,ecc.
RFID tag
● Un dispositivo RFID (aka RFID tag) è composto da:
– un piccolo microchip
progettato per trasmissione
di dati wireless.
– un'antenna
– può essere dotato di una batteria● La dimensione dell'antenna limita il raggio d'azione
RFID tags
● Tutto è contenuto in un piccolissimo package (ad es. un adesivo)
● Ne esistono diverse tipologie● In base a come ottengono e utilizzano
l'alimentazione distinguiamo tra
– Tag passivi
– Tag semi-passivi
– Tag attivi● Altre distinzioni in base alla memoria e la frequenza
Tag passivi
● Non possiedono alcuna batteria● Ricevono energia necessaria per la trasmissione
dalle onde elettromagnetiche ricevute dal Reader● Non possono avviare comunicazione● Sono i più diffusi ed economici: 10-50 cent.
– In alcuni casi “Usa e getta”
● Dimensioni molto ridotte: 0.4mm2
● Distanze di lettura: dipendono dalla frequenza usata 50cm – 10m
Tag semi-passivi (o semi-attivi)
● Hanno una batteria che alimenta solo il circuito interno
● Non possiedono un trasmettitore attivo● La batteria permette un raggio d'azione maggiore,
ma comporta problemi quali: peso, dimensione● Costo più elevato di quelli passivi● Tempo di vita legato alla batteria
Tag attivi
● Hanno una propria sorgente di alimentazione (tipicamente una batteria al litio)
● Emettono continuamente un segnale● Possiedono una memoria interna piuttosto grande:
qualche Kbyte● Il circuito interno è in grado di elaborare dati● Dimensioni: circa una moneta da 1 euro● Distanze di lettura elevate: fino a 10m● Tempo di vita legato alla batteria● Più costosi di quelli passivi: 8-45€
Tipologie di tags
● Read-only
– Si possono leggere le informazioni contenute● Write once-Read many
– Si può scrivere nel chip una volta sola, ma si possono fare un numero illimitato di letture
● Read-Write
– Si possono leggere e scrivere informazioni per un numero limitato (ma grande) di volte
Frequenze
● Low Frequency (LF) 124-135KHz
– Range di lettura: fino a 0.5m● High Frequency (HF) 13.56 Mhz
– Range di lettura: fino a 1-1.5m● Ultra High Frequency (UHF) 860-960 Mhz
– Range di lettura: fino a 3m● Wide Band (WB) > 2.4GHz
– Range di lettura: 5-10m
RFID Reader
● Il lettore è un dispositivo fisso o mobile che tramite antenne “comunica” con il tag
● Nel caso di tag passivi il lettore genera un campo elettromagnetico che per induzione genera corrente nell'antenna del tag
● Attiva il tag e legge informazioni da esso
Problematiche legate a RFID
● Capacità di memoria / computazionali– Possono memorizzare un segreto di 32-128 bit e
128-512 bit in totale
– Ridotte capacità di calcolo: possiedono 1.000-10.000 porte logiche, di cui 200-2000 dedicate alla sicurezza
● Ne servirebbero almeno 5.000-10.000 per implementare funzioni crittografiche (es. AES)
● Raggio d'azione– Liquidi o metalli limitano la lettura dei tag (specialmente
con alte frequenze)
● Privacy● Authentication
Privacy
● C'è il rischio che chiunque può leggere i nostri tag● Oppure che la comunicazione tra il tag e il suo
lettore lecito venga “ascoltata”● Due principali preoccupazioni per la privacy:
– Monitoraggio clandestino
– inventariazione
Monitoraggio clandestino
● I tag RFID rispondono a qualsiasi lettore senza avvisare i loro proprietari/detentori
● Problema: Privacy di localizzazione
– Monitorare le persone attraverso i tag che portano appresso, correlando più dati raccolti da diversi lettori in posizioni fisse.
– Dove si trova una persona in un dato momento
Monitoraggio clandestino - esempi
● Quando un consumatore effettua un acquisto con carta di credito, un negozio può stabilire un nesso tra la sua identità e gli ID dei tag presenti sulla persona.
● I negozianti potrebbero identificare un profilo del consumatore utilizzando reti di lettori RFID all'interno o esterno dei negozi.
●
● In un caso celebre una corte ha usato i dati raccolti da un tag per il pedaggio autostradale per smontare l'alibi della difesa in un caso di divorzio
Inventariazione
● Alcuni tag trasportano altre informazioni oltre all'identificativo, es. costruttore, codice prodotto
● Una persona che porta questi tag è soggetto a inventariazione clandestina
– Un lettore può leggere dai tag quali oggetti porta con sé e altre informazioni personali correlate ad essi
– Farmaci (=possibili malattie sofferte), carte fedeltà (=quali negozi frequentati abitualmente), taglie di abbigliamento, ecc..
Il problema della privacy
● Non riguarda solo i consumatori● E' un problema anche per i fornitori
– Potrebbero trapelare informazioni sulla loro strategia competitiva
● Es. Alcuni venditori al dettaglio usano tag RFID per monitorare i livelli di scorte negli scaffali
● I concorrenti in questo modo possono conoscere i tassi di scorte fatturate
● Spie aziendali possono apprendere informazioni semplicemente passeggiando per i locali!
Verso delle soluzioni per la privacy
● All'inizio questa problematica era poco considerata.● Con la diffusione sempre maggiore di questi sistemi
la privacy assume importanza cruciale● Pertanto occorre avere stabilire dei sistemi di
sicurezza● Nota: i tag RFID hanno capacità di calcolo
bassissime (o non ne hanno affatto)● ==>> Soluzioni crittografiche standard sono
impensabili!
Tecniche di difesa
● 1. Killing-Sleeping● Il tag viene disattivato definitivamente o temporaneamente
● Il reader usa un PIN di accesso prima di inviare il comando KILL
● Il killing è una contromisura abbastanza efficace
● Es. Dopo l'acquisto il tag viene disattivato
● Svantaggi:
● In alcuni casi perdiamo i benefici post-acquisto del tag
● Es. applicazioni intelligenti
● Libri in prestito dalla biblioteca
Sleeping
● Perchè non disattivarli solo temporaneamente?● Concetto semplice ma non facile da gestire in
pratica● Cosa succede se qualsiasi lettore può “svegliare il
tag”?● Serve un PIN associato al tag, che va ricordato
– Il proprietario dovrebbe memorizzarlo (abbiamo già tante password!)
– Stampato sul tag (va letto manualmente!)● Attivazione fisica (attraverso un “tocco” diretto del circuito)
– Si perde il vantaggio wireless di RFID
2. Rinominazione
● Ri-etichettatura
● Il tag cambia identificativo per es. dopo un acquisto
– Non è risolto il problema dell'inventariazione
– Anche il tracking è solo parzialmente risolto● Idealmente vorremmo che l'ID cambiasse periodicamente e
fosse random
2. Rinominazione
● Crittografia minimale
● Ogni tag possiede una collezione di pseudonimi che usa a rotazione cambiandolo dopo ogni interrogazione
● I lettori onesti conoscono questo insieme di pseudonimi
● Un lettore che non conosce gli pseudonimi non riuscirà a collegare gli identificativi a un unico tag
● Che succede se un lettore fa velocemente tante interrogazioni a un tag per ottenere tutti gli ID?
– Soluzione: programmiamo i tag per rispondere lentamente quando sono interrogati troppo velocemente
2. Rinominazione
● Ricifratura
● L'identificativo inviato dal tag è una cifratura C con chiave pubblica PK del vero identificativo ID.
– Il tag possiede C● Alcuni lettori avranno la capacità di ricifrare C e
riprogrammare il tag con il nuovo crittotesto C'
– Es. usare le proprietà di El Gamal● Pro: introduce crittografia senza farla gravare sui tag
● Contro: se viene ascoltata la comunicazione tra il reader e il tag in fase di riprogrammazione, perdiamo tutta la privacy!
2. Rinominazione
● Ricifratura universale
● Nel caso precedente si cifrava per una sola public key
● Tuttavia abbiamo tipicamente tante chiavi
● Come facciamo a sapere per quale chiave ricifrare?
● Golle et al. hanno proposto uno schema che permette di ricifrare senza conoscere la public key corrispondente
– Soffre di un problema di integrità
– Risolto da Ateniese et al. usando firme digitali● Problema aperto: difesa da attacchi di swapping
Altre tecniche di difesa
● Proxying● Dispositivi intermediari tra i tag e i reader● Watchdog monitora un ambiente raccogliendo
informazioni sui tag e reader presenti● Guardian: fa da intermediario alle richieste verso i
tag.– Implementa policy ben precise
– “I miei tag possono essere interrogati solo da reader nel raggio di 30m o in negozi che applicano il 10% di sconto”
Altre tecniche di difesa (2)
Misura della distanza
● Inserire nel chip del tag un sensore in grado di approssimare la distanza del segnale del lettore
– Rifiutare connessioni oltre una certa distanza
Blocco (simile a sleeping)
● Il tag ha due modalità 0 (pubblico) / 1 (privato)– Prodotto nel supermercato: 0.Dopo l'acquisto:1.Arriva in frigo: 0
● Un tag apposito controlla che i tag privati non siano interrogati (“interferendo” nella comunicazione con questi ultimi)
Altre tecniche di difesa (3)
● Blocco soft: il tag “suggerisce” al lettore onesto di non leggere
● Trusted Computing Platform (TCP)
● I reader sono forzati a seguire le regole stabilite
RFID: argomenti affrontati
● Panoramica sulla tecnologia
– Componenti
– Applicazioni
– Classificazione dei tags● Privacy
– monitoraggio clandestino
– Inventariazione
Tecniche di difesa per la privacy:
● Killing/sleeping● Rinominazione:
– ri-etichettatura
– crittografia minimale
– Ricifratura
– Ricifratura universale● Proxying● Misura della distanza● Blocco / blocco soft
Autenticazione
● Nei sistemi RFID la privacy riguarda il problema di lettori maliziosi che tentano di raccogliere informazioni da tag onesti
● L'autenticazione affronta il problema di lettori onesti che raccolgono informazioni da tag maliziosi (ad es. falsi)
● E' abbastanza semplice ed economico analizzare e replicare tags.
Possibili soluzioni ?
● Si potrebbe pensare di usare le firme digitali sui dati dei tag per garantire l'integrità
– Le firme digitali prevengono la modifica dei dati ma non la clonazione!
● Numerazione univoca:ogni tag ha un identificativo– Se in magazzino ci sono due casse con lo stesso ID
rileviamo un problema
– Se una società di navigazione decide di rubare una cassa di medicinali che gli è stata affidata per il trasporto, può creare casse false e clonare i tag RFID associati. ==>> NON SUFFICIENTE!
Garantire autenticazione
● In crittografia esistono già diversi protocolli che garantiscono mutua autenticazione tra 2 parti
● Il problema è che tali soluzioni sono troppo pesanti dal punto di vista computazionale per essere applicate a dispositivi a basso costo come i tag RFID
● Juels e Weis proposero di usare il protocollo a chiave condivisa di Hopper e Blum
Idea generale
ReaderTagS S
R
Q
R=f(S,Q)
R'=f(S,Q)R'=R ?
f(S,Q) funzione del segreto S e della challenge Q
Soluzioni
● Juels e Weis dimostrano che un avversario computazionalmente limitato non può impersonare un tag con probabilità maggiore di ½
● Ogni iterazione del protocollo ha probabilità di errore ε
● Il passo del protocollo viene iterato più volte per rendere l'errore trascurabile
● HB (da Hopper e Blum)
– sicuro contro attacchi passivi● HB+
– Sicuro contro attacchi attivi
Il problema LPN
● I protocolli sono dimostrati sicuri sotto l'ipotesi computazionale Learning Parity with Noise (LPN)
● In informatica la parità di una stringa di bit è
– 1 se il numero di bit “1” è dispari
– 0 se il numero di bit “1” è pari● Esempio: S=1011 ha parità 1● La parità si può calcolare facendo lo XOR di tutti i bit
– P=1= 1 + 0 + 1 + 1
+ è inteso come XOR
Learning Parity with Noise
● k: parametro di sicurezza
● s, a1,..., a
l vettori binari di lunghezza k
● zi=(s,a
i) prodotto scalare modulo 2
● Siano a1,z
1, ..., a
l ,z
l scelti a caso, l=O(k)
● Usando tecniche di algebra lineare è semplice trovare s che soddisfa la relazione sopra
● Supponiamo che zi sia invertito con probabilità ε
● Trovare s diventa (computazionalmente) difficile (LPN)
Protocollo HB
● Progettato da Hopper e Blum per l'identificazione e l'autenticazione sicura di esseri umani nei confronti di un computer
● Alternativa all'uso di password● Vantaggio: il segreto non viene mai inviato lungo il
canale di comunicazione
● Juels e Weis intuiscono che questo protocollo può essere adattato al caso dei tag RFID
Protocollo HB
ReaderTagS=1010 S=1010
R=0
Q=1011
(S,Q)=(1010,1011)=0v ← {0,1:Prob[v=1]=ε}R=0+v
R'=(S,Q)If R'=R accettaElse rifiuta
Protocollo HB● Il tag calcola il bit di parità e aggiunge rumore v
● v risponde a una particolare distribuzione di probabilità
● Il bit v può essere generato usando proprietà fisiche come il rumore termico o altro
● Quindi il tag invia la risposta che è sbagliata con la stessa probabilità per cui v=1
● Il passo viene ripetuto n volte
ReaderTag
S=1010 S=1010
R=0
Q=1011
(S,Q)=(1010,1011)=0v ← {0,1:Prob[v=1]=ε}R=0+v
R'=(S,Q)If R'=R accettaElse rifiuta
Protocollo HB
● Il lettore accetta solo se circa nε iterazioni sono fallite
● Precisamente:● Siano l,u tali che l≤nε≤u● Il lettore accetta se il numero di iterazioni senza
successo è compreso tra l e u● I parametri l,u rappresentano la tolleranza di errore
Analisi di sicurezza
● Per dire che HB è sicuro dobbiamo prima definire cosa significa “sicurezza” in questo contesto
– Ci serve una definizione di sicurezza!● Un avversario che invia risposte random in ognuna
delle n iterazioni ha successo con probabilità
● Ragionevolmente, un avversario ha successo nel suo attacco se riesce con una probabilità significativamente maggiore di δ
=2−ni=lu ni
Modello di sicurezza passiva
Esperimento
1) L'avversario A può vedere q esecuzioni corrette del protocollo tra il reader e il tag
2) Dopo aver visto queste esecuzioni, A interagisce con il reader e prova a impersonare il tag
– Cioè A dà in output una sequenza di risposte che inducono il reader ad accettare
Vantaggio
● Sia P la probabilità di successo dell'avversario nell'esperimento sopra
– Adv(A) = |P - δ|
Sicurezza di HB sotto l'ipotesi LPN
● Se esiste un avversario (passivo) che ottiene un vantaggio non trascurabile nel rompere il protocollo HB, allora riusciamo a costruire un algoritmo che risolve il problema LPN con probabilità non trascurabile
● Parametri della dimostrazione:
– n = O(k) = # iterazioni
– ε = probabilità di errore indotto nelle risposte
– l,u = tolleranza del reader all'errore
Vulnerabilità di HB
● HB non è sicuro contro attacchi attivi– L'avversario non solo può vedere le comunicazioni
tra le parti del protocollo, ma può anche interagire con esse
● Perchè?
HB: un attacco attivo
TagS
R=0
Q=1000Manda Q=1000 1000 volte e guarda le risposte
S=??
R=1
R=1
R=1
.
.
.
R=0
Vulnerabilità di HB
Tag S
Maggioranza delle risposte: 1
S=??
R=0
R=1R=1
R=1
.
.
.
R=0
s =
1 0 0 0
q2
q3
q4
1
r2
r3
r4
Vulnerabilità di HB
Tag S
Manda Q=0100 1000 volte e guarda le risposte
S=??
R=0
R=0R=1
R=0
.
.
.
R=0
s =
1 0 0 0
q2
q3
q4
1
r2
r3
r4
Q=0100
Vulnerabilità di HB
Tag S
Maggioranza delle risposte: 0
S=??
R=0
R=0R=1
R=0
.
.
.
R=0
s =
1 0 0 0
0 1 0 0
q3
q4
1
0
r3
r4
Q=0100
Vulnerabilità di HB
Tag S
Risolvi il sistema e calcola S!
.
.
.
s =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
1
0
1
1
Vulnerabilità di HB
.
.
.
s =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
1
0
1
1
Reader
0
1 1 0 1
Accettato!0=(1101, S)
Protocollo HB
● HB è sicuro contro attacchi passivi● Un attacco attivo permette di ricostruire il segreto e
impersonare sempre il tag!● Assumere l'esistenza di un attaccante attivo in
questo contesto è abbastanza ragionevole● Soluzione:
– Juels e Weis hanno adattato HB per essere resistente contro attacchi attivi
– HB+
Protocollo HB+ - Idee generali
● Stessa idea di base di HB
– Iterazioni ripetute
– Noise aggiunta alla risposta finale
– Reader accetta se un numero sufficiente di iterazioni è valido
● Caratteristiche di HB+:
– 2 chiavi condivise indipendenti: S1,S
2
– Viene aggiunto un passo iniziale in cui il tag manda un fattore segreto random b al reader
Protocollo HB+
ReaderTagS
1,S
2S
1,S
2
R
Q
B←{0,1}k
v ← {0,1:Prob[v=1]=ε}
R=(S1,B) + (S
2,Q) + v
R'=(S1,B) + (S
2,Q)
If R'=R accettaElse rifiuta
B
HB+ Sicurezza contro attacchi attivi
TagS
1,S
2
R
Q
B←{0,1}k
v ← {0,1:Prob[v=1]=ε}
R=(S1,B) + (S
2,Q) + v
Manda Q 1000 volte e vedi le risposte
B
?
L'attacco non ha successo perchè l'attaccante non può scegliere B!
Sicurezza di HB+
● HB+ è dimostrato sicuro sotto l'ipotesi LPN nel modello attivo
● In questo modello l'avversario - (può vedere comunicazioni tra tag e reader)
1.può interagire q volte con un tag valido (es. scegliere le sfide del reader e vedere le risposte)
2.Interagisce con il reader● Nota: non è il modello più forte possibile
– Al passo 1 l'avversario non può interagire con il reader
Modelli di sicurezza
● Detection● L'avversario ha successo se riesce a impersonare il
tag e durante l'intera sessione di attacco non viene rilevata la presenza di tag contraffatti (cioè tentativi di attacco)
– Es. se al passo 1 l'avversario interagisse con il reader potrebbe generare “comportamenti anomali” che fanno pensare ad un attacco
● Prevention● L'avversario ha successo se impersona il tag,
indipendentemente se viene rilevato o meno
Modelli di sicurezza
● Il modello preventivo sarebbe più auspicabile● Tuttavia le tecniche attuali non permettono di
ottenere protocolli ragionevolmente leggeri in tale modello
● Juels e Weis giudicano il modello “detection” sufficiente in questo contesto
● Es. Sistemi RFID centralizzati
– Chip RFID dei casinò o carte di credito
– Un tentativo di autenticazione fallito fa scattare un allarme
HB+: Main-in-the-middle attack
ReaderTagS
1,S
2S
1,S
2
R
Q
B←{0,1}k
v ← {0,1:Prob[v=1]=ε}
R=(S1,B) + (S
2,Q') + v
R'=(S1,B) + (S
2,Q)
If R'=R accettaElse rifiuta
B
Q' D←{0,1}k
Q'=Q+D
Proposto da Gilbert et al. a Eurocrypt 2008
HB+: Main-in-the-middle attack
ReaderTag S
1,S
2S
1,S
2
R
QB←{0,1}k
v ← {0,1:Prob[v=1]=ε}
R=(S1,B) + (S
2,Q') + v
R'=(S1,B) + (S
2,Q)
If R'=R accettaElse rifiuta
BQ' D←{0,1}k
Q'=Q+D
● L'attaccante controlla se il reader accetta R o no
– Se accettato, allora (S2,D)=0 con probabilità 1-ε
– Se non accettato: allora (S2,D)=1 con probabilità 1-ε
● Motivo: R=(S1,B) + (S
2,Q') + v = (S
1,B) + (S
2,Q) + (S
2,D) + v
Ripeti con D indipendenti
Ricava S2 risolvendo il sistema
Stesso attacco modificando B per ottenere S
1
[D1
D2
D3]S 2=[1 0 0
0 1 00 0 1] S 2=[R1
R2
R3]
Protocollo HB+
● L'attacco main-in-the-middle richiede numerose interrogazioni
● In un modello “detection” molte autenticazioni fallite inducono un sospetto di attacco
● Molti tag hanno un raggio d'azione limitato
● In conclusione HB+ è un buon compromesso dal punto di vista pratico per efficienza e sicurezza
Conclusioni
Cosa abbiamo visto?● Panoramica sulla tecnologia RFID
– Hardware dei tag RFID
– Classificazione e tipologie di tag
– Applicazioni
– etc...
● Problematiche– Privacy
● Varie tecniche di difesa– Authentication
● Protocolli HB e HB+ e loro vulnerabilità