SMART CARD
Seminario di Sicurezza
Andrea Zondini & Mauro Donadio
Gruppo 5
Introduzione


1968 – nasce l'idea di incapsulare un circuito integrato
in un sopporto di plastica dalla mente di Dethloff e
Grötrupp
1974 – Roland Moreno ideò un “processo e un
dispositivo per il controllo elettronico” per
l‟identificazione degli individui


In primis si basava su un anello
Ma con la raccolta di informazioni e obiezioni dalle banche fu
formulato da Bull il primo prototipo
Introduzione


'80 – Le prime applicazioni furono introdotte in Francia
e Germania dove le Smart Card furono usate come
carte telefoniche prepagate e carte bancarie a
microprocessore
dal '90 ad oggi – SIM card e carte d'identità
elettroniche con la riduzione dei costi, la
miniaturizzazione della tecnologia e l‟utilizzo di
crittografia unito alla maggiore potenza di calcolo.
Struttura (1)



E' costituita da un supporto
di plastica nel quale è incastonato un microchip
connesso ad un'interfaccia di collegamento
Tale microchip fornisce la funzionalità di calcolo e
la capacità di memorizzare dati
Per dialogare con essa viene usato come teminale
di lettura un computer munito di porta USB, seriale
o parallela
Struttura (2)
Componenti fondamentali:

CPU


Memoria ROM


architettura ad 8 bit
contenente il sistema
operativo
Memoria RAM

per la memorizzazione
temporanea dei dati: la
cosidetta “area di lavoro”
Struttura (2)
Componenti fondamentali:

Memoria EEPROM


contenente la struttura
delle directory, i file ed i
dati riservati relativi a
password e chiavi
Porta I/O

per l‟interscambio fisico
delle informazioni
secondo una serie di
contatti ISO
Struttura (3)
La CPU:



questo chip consente di
effettuare operazioni
elementari quali quelle
aritmetiche ed orientate ai
bit
può essere usato come
sistema pilota per
l‟interscambio delle
informazioni memorizzate
nella carta
per l‟interpretazione dei
comandi presenti nel
software di supporto della
carta stessa



é paragonabile alle vecchie
CPU dei computer da tavolo
di pochi anni fa: una specie
di Commodore 64 tascabile
con 3 o 5 MHz di velocità in
più
può essere affiancato ad un
coprocessore per operazioni
complesse, quali l‟utilizzo di
algoritmi crittografici a
chiave pubblica
la capacità di memoria di
una singola smart card é di
circa 64 Kbyte
Standard

Esistono vari tipi di standard sviluppati per
incoraggiare l'interoperabilità:

ISO-7816 (11 parti)


EMV (European Mastercard Visa)


Composta da quattro documenti, utilizzato per I pagamenti
GSM (Global System for Mobile Communication)


Dimensioni fisiche. Caratteristiche dei contatti elettrici. Le dimensioni dei contatti. I
protocolli di comunicazione
La SIM card del telefono cellulare è una smart card.
OCF (Open Card Framework)

Rappresenta un‟infrastruttura software di tipo object oriented per l‟accesso alle
smart card.
Classificazioni (1)
Classificazioni (2)

Contact



hanno bisogno di energia
per comunicare e ricevere
dati
dotate di placche dorate
che costituiscono l'insieme
dei contatti
attivate attraverso il
contatto elettrico diretto
con il lettore
Classificazioni (3)

Contactless



non hanno connettori sulla
propria superficie
la connessione tra lettore
e scheda è effettuata via
radiofrequenza
(tecnologie RFID)
hanno un range di
distanza di lettura
variabile tra pochi
millimetri fino a 1,5 metri
Classificazioni (4)

Memory card



sono le più diffuse e le meno costose
non hanno capacità di elaborazione e i dati
memorizzati vengono protetti con un PIN (Personal
Identification Number)
poichè non consentono crittografia vengono
utilizzate come credito telefonico o biglietto per il
trasporto
Classificazioni (5)

Microprocessor card


assomigliano molto ai computer che utilizziamo in
quanto contengono un vero e proprio OS
Il microprocessore dispone di
8 / 16 bit di potenza calcolo
16 / 32 Kb di memoria programmabile
512 / 1024 byte di memoria volatile

sono alla base di moderni sistemi di identificazione i
quali necessitano uno scambio agevole di
informazioni di carattere personale / riservato
Ambiti d'uso (1)


Patente/carta d'identità elettronica
Borsellino elettronico


Tesserà di fedeltà


Vengono utilizzate come denaro elettronico dalle banche
In europa nelle grandi catene di distribuzione
Carta telefonica

La Sim card viene utilizzata come carta prepagata
Ambiti d'uso (2)

Autentificazione d'accesso
Vengono usate per la maggiore le memory card
in vari settori e luoghi come dal più semplice albergo
ad un laboratorio che valida in presenza di un PIN
o di un sistema biometrico


Pedaggi elettronici


Il Telepass delle autostrade funziona con la tecnologia RFID attiva
Decoder satellitare

SKY, Mediaset Premium
Ambiti d'uso (3)

Ambito sanitario
· acquisizione dati pazienti (allergie, gruppo sanguigno, cartella
clinica)

Ambito militare
utilizzo della CMD (Carta Multiservizi Difesa) come contenitore di
informazioni personali (grado, corpo di appartenenza, impronte
biometriche)

Ambito scolastico
autenticazione presso i PC dei vari laboratori
acquisizione dati personali (frequenza, matricola ...)
Sicurezza – microprocessor card
“Le smart card a sola memoria, tecnologicamente più semplici, sono più
economiche ma offrono un livello di sicurezza inferiore rispetto alle smart card a
microprocessore, pertanto, sono usate tipicamente per conservare dati che non
necessitano di una rigida protezione“.
•
Microprocessor card
•
•
•
•
Esternamente uguali ad una qualsiasi smart card ma provviste di
microprocessore incluso nel microchip (tutto in un IC, Integrated Circuit)
Ha la possibilità di memorizzare informazioni ed eseguire operazioni anche
complesse; la logica operativa è eseguita dall'OS installato nel chip
Ha capacità di lettura/scrittura, gestione della memoria, gestione del file
system interno, gestione dei permessi di accesso, implementazione in board
e sw di funzioni crittografiche..
La presenza di un OS permette una notevole personalizzazione e gestione
Sicurezza – altre applicazioni
Altre applicazioni delle smart card
•
Mozilla Firefox può usare le smart card per memorizzare i certificati da
usare nel secure web browsing
•
Alcuni sistemi di criptazione del disco, come FreeOTFE o TrueCrypt,
possono usare le smart card come contenitori sicuri di chiavi di cifratura e
per aggiungere un ulteriore livello di criptazione per alcune parti molto
sensibili del disco
•
Un altro utilizzo è il single sign-on per loggarsi nei computer
•
Il supporto alle smart card è stato predisposto persino dalla Microsoft nel
Windows Live Passport: un sistema di autenticazione sviluppato per
permettere all'utente di accedere a numerosi siti web, servizi e applicazioni,
utilizzando un unico account. Attualmente è implementato dai portali
Windows Live (e MSN), Office Live, Xbox Live.
Sicurezza – contact & contactless
Contact (operazioni complesse x es. firma digitale)
•
•
•
•



Provviste di una piastrina di contatti tramite la quale ricevono
alimentazione
È necessario inserire fisicamente la smart card in un apposito lettore
Contactless (operazioni semplici e veloci x es. accesso zone riservate)
Provviste di un'antenna che risponde a impulsi di tipo RFID (Radio
Frequency Identification) emessi da un particolare dispositivo di
lettura/scrittura
La tecnologia RFID prevede una distanza minima tra antenna e
dispositivo affinchè si possa instaurare una comunicazione
Dual interface

Contact + Contactless
Struttura
Principali obiettivi della progettazione di una smart card
•
Privacy
•
•
Integrità dei dati
•
•
tecniche di cifratura dei contenuti (MAC – Message Authentication Code) ci
permettono di mantenere l'integrità dei dati nella comunicazione (SHA-1,
MD5, 3DES RC5, RSA)
Non ripudiabilità
•
•
tramite techiche di crittografia a chiave simmetrica (DES) o asimmetrica
(RSA)
La prova dell'integrità e della validità della comunicazione avvenuta (DS)
Autenticazione e resistenza alle manomissioni
•
Autenticazione differente da identificazione e autorizzazione
•
source auth., peer entity auth. (tramite certificati, PIN, DSA, RSA)
•
mutua autenticazione (SAM – Secure Application Module)
•
Biometria
Sicurezza – access control
Access control
•
Logical Access Control
•
•
Controllo tramite password o algoritmi crittografici per
l'autenticazione
Physical Access Control
•
Riguardante l'accesso fisico alla smart card e alle
informazioni contenute. Questo è possibile tramite il
bypassing di circuiti della card e altre tecniche che
vedremo successivamente
Attacchi – tramite accesso fisico
•
•
Rimozione del chip
•
Rimozione del chip
•
20-50 ml di acido nitrico 60°
•
Pulizia con acetone
Studio del chip
•
Studio a microscopio (reverse engeneering)
•
Microprobing (accesso a chiavi crittografiche)
•
Interazione tramite infrarossi
Attacchi – tramite accesso fisico
 Rimozione del chip
Studio del chip 
Attacchi – tramite accesso fisico
Ricordiamo che la maggior parte di smart card è
tamper resistant!
Risulta difficile, infatti, avere accesso fisico al
chip delle microprocessor card.
I seguenti attacchi si basano, principalmente,
sull'analisi dei segnali elettrici trasmessi e
sull'analisi dell'assorbimento elettrico durante le
operazioni.
Attacchi – tramite accesso fisico
•
SPA/DPA (Simple/Differential Power Analysis)
•
Implica la precisa misurazione del tempo e della corrente
elettrica richiesta per determinate operazioni di cifratura o
decifratura.
•
Attacco fra I più comuni mirato principalmente a bypassare
l'algoritmo RSA “deducendo” la chiave privata del chip.
Attacchi – tramite accesso fisico
•
EMA (ElectroMagnetic Analysis)
•
Si presuppone che il cracker sia già entrato fisicamente in
possesso della smart card e che abbia già estratto il
microprocessore.
•
Viene setacciata la superficie del chip per trovare il miglior
punto di misura elettromagnetica
•
Effettuando una accurata misura tramite una precisa
attrezzatura, riusciamo a vedere le differenze di picchi
elettromagnetici che identificano, ognuna, un‟operazione
diversa che è possibile eseguire
Attacchi – tramite accesso fisico
Power and Electromagnetic Analysis
Attacchi – tramite accesso fisico
•
RFA (Radio Frequency Analysis)
•
Tecnica usata esclusivamente con la tecnologia contactless
•
Misto di Simple o Differential Power Analysis e
ElectroMagnetic Analysis
•
Nessuna rimozione del chip!
•
Valutazione del campo elettromagnetico che circonda il chip
durante le operazioni
•
Il fatto che il chip sia alimentato via radio, implica che il campo
magnetico cambia come una funzione di consumo della carta.
•
Misurando, quindi, le variazioni del campo magnetico che
circondano il chip, si riescono ad ottenere informazioni utili per
un eventuale attacco.
Attacchi – tramite accesso fisico
Attacchi – tramite accesso fisico
Attacchi – tramite accesso fisico
Attacchi – tramite accesso logico
•
•
•
Autenticazione su browser web
•
Malware overwriter
•
Malware (Trojan, Silentbanker)
•
Possibile soluzione: card reader sconnesso
•
Altra soluzione: ERIDANE
Radio eavesdropping
•
Intercettazione ed analisi della comunicazione come per WIFI
•
Necessaria cifratura della comunicazione, dei pacchetti etc...
Fake card reader con applicazione attacchi fisici
•
Palese esempio dei bancomat con installazione falsi card reader
Attacchi – tramite accesso logico
•
Attacchi DOS (Denial Of Service)
•
Scenario 1: servizio a pagamento
•
Pagamento tramite crediti memorizzati in una smart card
•
Attacco continuo ed insistente fino ad esaurimento credito o
negazione dell‟accesso da parte del gestore del servizio
•
Scenario 2: prelievo denaro contate
•
Stesso tipo di attacco precedente
•
Blocco immediato del servizio
•
Le carte possono essere addirittura svuotate o „distrutte‟ da
remoto tramite un flusso inappropiato di onde elettromagnetiche
Attacchi – tramite accesso logico
•
Interruzione delle operazioni
•
Attacco ottimale per smart card contactless
•
L‟interruzione della comunicazione tra smart card e lettore non
verrà segnalata
•
Necessari meccanismi di backup e backtracking
•
Nei sistemi di strasporto pubblico, per esempio, il sistema dovrà
essere sicuro di non accreditare due volte lo stesso biglietto allo
stesso passeggero che si è trovato in una situazione di
„interruzione delle operazioni‟
Attacchi – tramite accesso logico
•
Covert transactions (operaz. di transizione)
•
In questo scenario, l‟utente possessore della smart card non sa
se sta comunicando con un valido card reader (vedi esempio
bancomat).
•
Durante la comunicazione possono essere nascoste più
operazioni in una, false transazioni, nel caso di una operazione
bancaria, mostrare un ammontare ridotto ma effettuare un
trasferimento consistente
•
Una soluzione è data dall‟utilizzo di certificati di sicurezza e,
volendo, dall‟interazione fra sistema di gestione e utente (può
essere chiesta la conferma per una specifica operazione..)
Un minimo di sicurezza in più
Sono state sviluppate diverse tecniche SW per rendere le smart card più
sicure:
•
•
•
Integrità dei dati
•
SHA-1
- 160 bit per 2^64 bit di lunghezza
•
MD5
- 128 bit
Autenticazione
•
DSA
- chiave privata di lunghezza tra 512 e 1024 bit
•
RSA
- chiavi private fino a 2048 bit
Altro
•
DES/3DES - crittografia simmetrica
•
RC5
- crittografia simmetrica
•
PIN
- Personal Identification Number
•
PUK
- Personal UnlocKing number
…eventuali approfondimenti…
Per domare la sete di conoscenza in merito alle smart card,
consiglio:
•
•
JavaCard
ambiente di sviluppo JAVA per applicazioni specifiche per
smart card e altri dispositivi di memoria e computazione
limitate
http://java.sun.com/javacard/
MULTOS (MULTi application card Operating Systems)
Il primo MACOS (Multi Application Card Operating Systems)
aperto e sicuro che permette di caricare, aggiornare, eliminare
applicazioni durante la vita della card
http://www.multos.com/
…sete di conoscenza…
Per i più pigri ma collaborativi:
•
opensc-project.org
portale che contiene diversi progetti open
source mirati allo sviluppo di tutto ciò che
concerne le smart card..
pagine wiki, codice sorgente, repository di
versioni precedenti, mailing list…
http://www.opensc-project.org/
Bibliografia











http://www.cardnology.com/card_it.shtml
http://www.tiresias.org/research/reports/national_smart_card_pr
oject.htm
http://it.wikipedia.org/wiki/Smart_card
http://www.giuseppespecchio.it/?p=15
http://www.dia.uniroma3.it/~dispense/merola/critto/tesine/smart
card2.pdf
ftp://ftp.ge.cnr.it/pub/Sicurezza2004-05/smartcard_ferrara2.pdf
http://www.cl.cam.ac.uk/~mgk25/sc99-tamper.pdf
http://www.cl.cam.ac.uk/~mgk25/sc99-tamper-slides.pdf
http://www.chi-publishing.com/samples/ISB0903HH.pdf
http://www.securingjava.com/chapter-eight/chapter-eight-5.html
http://people.cs.uchicago.edu/~dinoj/smartcard/security.html