(RFID) Radio Frequency IDentification - Corso di Sicurezza 2 - Dario Fiore
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
C.d.L. Informatica Applicata A.A. 2008/09
Corso di Sicurezza 2 Prof. Dario Catalano
Radio Frequency IDentification
(RFID)
Dario Fiore
fiore@dmi.unict.it
http://www.dmi.unict.it/~fioreRFID
● 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 serverVantaggi 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 acquistatiApplicazioni (2)
● Trasporti
– Tag applicati a mezzi di trasporto per tracciare gli
spostamenti (es. pagamento caselli autostradali)
● Controllo presenze ed accessiApplicazioni (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'azioneRFID 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 frequenzaTag 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 – 10mTag 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 batteriaTag 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 volteFrequenze
● 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-10mRFID 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 essoProblematiche 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
● AuthenticationPrivacy
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
– inventariazioneMonitoraggio clandestino
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 momentoMonitoraggio 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 divorzioInventariazione
● 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 bibliotecaSleeping
● 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 RFID2. 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 random2. 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
velocemente2. 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 swappingAltre 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 stabiliteRFID: 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 softAutenticazione
● 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 BlumIdea generale
S S
Tag Reader
Q
R=f(S,Q)
R R'=f(S,Q)
R'=R ?
f(S,Q) funzione del segreto S e della challenge QSoluzioni
● 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 attiviIl 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 XORLearning Parity with Noise
● k: parametro di sicurezza
● s, a1,..., al vettori binari di lunghezza k
● zi=(s,ai) prodotto scalare modulo 2
● Siano a1,z1, ..., al ,zl 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 RFIDProtocollo HB
S=1010 S=1010
Tag Reader
Q=1011
(S,Q)
=(1010,1011) R=0 R'=(S,Q)
=0 If R'=R
v ← {0,1:Prob[v=1]=ε} accetta
R=0+v Else rifiutaProtocollo 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
S=1010 S=1010 Reader
Tag
Q=1011
(S,Q)
=(1010,1011) R=0 R'=(S,
=0 Q)
v ← {0,1:Prob[v=1]=ε} If R'=R
R=0+v accetta
Else
rifiutaProtocollo 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 erroreAnalisi 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à
−n u
=2 i=l n
i
● Ragionevolmente, un avversario ha successo nel
suo attacco se riesce con una probabilità
significativamente maggiore di δ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'erroreVulnerabilità 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
S S=??
Tag
Q=1000
Manda Q=1000
R=0
1000 volte e
R=1 guarda le
risposte
R=1
R=0
.
.
.
R=1Vulnerabilità di HB
1000 1
q2 r2
s=
q3 r3
q4 r4
Tag S
S=??
R=0
R=1
R=1
R=0
. Maggioranza
. delle risposte: 1
.
R=1Vulnerabilità di HB
1000 1
q2 r2
s=
q3 r3
q4 r4
Tag S
S=??
Q=0100
R=0
R=0
R=1
R=0
. Manda Q=0100
. 1000 volte e
.
R=0 guarda le
risposteVulnerabilità di HB
1000 1
0100 0
s=
q3 r3
q4 r4
Tag S
S=??
Q=0100
R=0
R=0
R=1
R=0
. Maggioranza
. delle risposte: 0
.
R=0Vulnerabilità di HB
1000 1
0100 0
s=
0010 1
0001 1
Tag S
. Risolvi il sistema e
. calcola S!
.Vulnerabilità di HB
1000 1
0100 0
s=
0010 1
0001 1
Reader
1101
0
0=(1101, S) . Accettato!
.
.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,S2
– Viene aggiunto un passo iniziale in cui il tag
manda un fattore segreto random b al
readerProtocollo HB+
S1,S2 S1,S2
Tag Reader
Q
B←{0,1}k B
R'=(S1,B) + (S2,Q)
v ← {0,1:Prob[v=1]=ε} If R'=R
R accetta
Else rifiuta
R=(S1,B) + (S2,Q) + vHB+
Sicurezza contro attacchi attivi
S1,S2 ?
Tag
Q
B
B←{0,1}k Manda Q 1000
volte e vedi le
v ← {0,1:Prob[v=1]=ε} R risposte
R=(S1,B) + (S2,Q) + v
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 readerModelli 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 menoModelli 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 allarmeHB+: Main-in-the-middle attack
S1,S2 S1,S2
Tag Reader
Q' D←{0,1}k Q
Q'=Q+D
B←{0,1}k
B
R'=(S1,B) + (S2,Q)
v ← {0,1:Prob[v=1]=ε} If R'=R
R accetta
Else rifiuta
R=(S1,B) + (S2,Q') + v
Proposto da Gilbert et al. a Eurocrypt 2008HB+: Main-in-the-middle attack
● 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) + (S2,Q') + v = (S1,B) + (S2,Q) + (S2,D) + v
S1,S2 S1,S2 Reader Ripeti con D indipendenti
Tag
[] [ ] []
D1 1 0 0 R1
B D 2 S 2= 0 1 0 S 2= R 2
Q' k D3 0 0 1 R3
D←{0,1} Q
B←{0,1}k Q'=Q+D
R R'=(S1,B) + (S2,Q)
v ← {0,1:Prob[v=1]=ε} If R'=R Ricava S2 risolvendo il sistema
accetta
R=(S1,B) + (S2,Q') + v Else rifiuta
Stesso attacco modificando
B per ottenere S1Protocollo 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 sicurezzaConclusioni
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àConclusioni
● La tecnologia RFID è molto diffusa e utile
● E' abbastanza chiaro perchè è importante risolvere
i problemi di privacy e authentication
● Le soluzioni attuali sono migliorabili sia dal punto di
vista dell'efficienza che della sicurezzaPuoi anche leggere