(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/~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 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 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,..., 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 RFID
Protocollo 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 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 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 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à −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'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 S S=?? Tag Q=1000 Manda Q=1000 R=0 1000 volte e R=1 guarda le risposte R=1 R=0 . . . R=1
Vulnerabilità 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=1
Vulnerabilità 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 risposte
Vulnerabilità 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=0
Vulnerabilità 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 reader
Protocollo 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) + v
HB+ 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 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 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 2008
HB+: 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 S1
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
Puoi anche leggere