69
C.d.L. Informatica Applicata A.A. 2008/09 Corso di Sicurezza 2 Prof. Dario Catalano Radio Frequency IDentification (RFID) Dario Fiore [email protected] http://www.dmi.unict.it/~fiore

Radio Frequency IDentification (RFID) - dariofiore.it · Corso di Sicurezza 2 Prof. Dario Catalano Radio Frequency IDentification (RFID) ... RFID RFID: acronimo per Radio Frequency

  • 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

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

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à

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 sicurezza