MINISTERO DELLO SVILUPPO ECONOMICO
DIPARTIMENTO PER LE COMUNICAZIONI
Istituto Superiore
FORUM PA 2011
delle Comunicazioni e Tecnologie dell’Informazione
OFFICINA – Il progetto SESAMO (Sistemi di
Fondazione
Bordoni
pagamento
mobili eUgo
smart
card: aspetti di sicurezza)
Ing. Tiziano Inzerilli
Istituto Superiore delle Comunicazioni
Progetto
e delle Tecnologie dell’Informazione
Ing. Franco Guida
Fondazione Ugo Bordoni
XXXXXX
Progetto SESAMO
Le smart-card: generalità
Settori di utilizzo
Telefonia mobile: SIM/USIM
Settore bancario: carte di credito
Trasporti: tessere abbonamento mensile
E-government: passaporti, CIE
…..
Interfaccia
Carte a Contatto: sono carte caratterizzate da
una interfaccia che supporta solo il contatto
fisico con il terminale (std ISO 7816).
Carte Contactless: sono carte caratterizzate
da una interfaccia dotata di ricetrasmettitore
che supporta solo la trasmissione RF (std ISO
14443).
Tecnologie
Carte a memoria (Memory Card): semplice
memoria permanente per immagazzinare dati.
Carte a microprocessore integrato: con
sistema operativo e maggiori potenzialità.
Progetto SESAMO
Le smart-card: memory card
Tipologie si smart-card
Carte a memoria (Memory Card):
• contiene una memoria permanente
(generalmente EEPROM), che permette
alla carta di mantenere i dati anche
dopo che la fonte di alimentazione
viene rimossa.
• Non ha capacità d'elaborazione ma
contengono solo circuiti elettronici per
memorizzare dati e per comunicare con
il dispositivo di lettura.
• meccanismi di sicurezza con funzioni
crittografiche molto semplici basati su
un codice PIN per proteggere i dati in
lettura o scrittura.
• Sono utilizzate semplicemente per
contenere credito telefonico, biglietti
per il trasporto pubblico o denaro
elettronico.
Memory card “Secure”:
Logica statica per impedire
cancellazione o scrittura dati
Progetto SESAMO
Le smart-card: card con microprocessore
Carte a microprocessore integrato.
• al posto di semplici circuiti per la gestione della memoria e per la
comunicazione con il lettore, possiedono un vero e proprio
microprocessore e un proprio sistema operativo
• idonee ad elaborare informazioni in maniera indipendente.
• gestione efficiente e sicura dei dati, strutturati in file e directory;
• utilizzano dei PIN per l'accesso alle informazioni, con funzionalità di
sicurezza più evolute.
Progetto SESAMO
Le smart-card: architettura a livelli
Livello hardware: tipicamente può
contenere un sistema di elaborazione
digitale dei dati costituito da un
microcontrollore, una RAM (memoria ad
accesso casuale), una ROM (memoria di
sola lettura) e una EEPROM (una ROM
riscrivibile elettricamente), un
coprocessore e un’interfaccia di
input/output. Questo livello è totalmente
trasparente all’utente e quindi
inaccessibile.
Livello del sistema operativo: qui risiede
il sistema operativo che ha lo scopo di
gestire in maniera efficiente le risorse
della smart card, disponibili al livello
hardware, implementando anche un file
system. Esso viene cablato in una
memoria ROM presente nel livello stesso.
Livello applicativo: in esso vi sono
memorizzate, in una memoria EEPROM,
le applicazioni principali della smart card,
direttamente accessibili all’utente.
Progetto SESAMO
Le smart-card: generalità sulla sicurezza
Con riferimento all’architettura a livelli delle smart-card, tra le componenti
necessarie per la sicurezza fisica e logica di una smart-card vi sono
la sicurezza hardware,
la sicurezza del sistema operativo,
e la sicurezza delle applicazioni.
Esse cooperano allo scopo di proteggere dati e programmi presenti nel
microcontrollore. A queste si aggiunge,
la sicurezza del supporto della smart card, nel quale è integrato il
microcontrollore.
Il modo più completo per rendere sicuro l’IC di una smart card è fornire una
modalità di protezione multidimensionale unendo contromisure di tipo
hardware e software supervisionate dal controllo del sistema operativo
Esistono in commercio microcontrollori per smart card progettati per
funzionare in ambienti cosiddetti “ostili”, rafforzati con meccanismi
realizzati opportunamente per resistere a tentativi di estrazione di dati
confidenziali che l'IC tenta di proteggere.
Nelle fasi di progetto e di sviluppo di un sistema che fa uso di smart card
devono essere adottate ulteriori misure di sicurezza “pratiche”.
Progetto SESAMO
Le smart-card: gli attaccanti
Un sistema che fa uso di smart card può essere attaccato principalmente per
avidità economica, come avviene da parte di operatori concorrenti, dipendenti
infedeli (insider) o veri e propri criminali, o per il desiderio di prestigio in un
ambito specifico, come avviene da parte di pirati informatici (hacker) o
istituzioni accademiche. In particolare, esistono tre principali categorie di
attaccanti:
Amatori: gli amatori sono semplicemente delle persone curiose che si
occupano di progettare attacchi solo per verificare se si riesce a violare un
sistema.
Esperti: in genere i loro attacchi vengono realizzati a vantaggio di istituti
scientifici o università che studiano le tecnologie integrate.
Professionisti: i loro attacchi sono finalizzati per eseguire frodi finanziarie o
per ottenere dati sensibili compromettendo così il sistema.
Progetto SESAMO
Le smart-card: gli attacchi (1/2)
Gli attacchi al livello sociale sono rivolti alle persone che interagiscono con le
smart card (per esempio progettisti o, in una fase successiva, utenti) e sono in
genere contrastati da misure organizzative più che da tecnologia ICT.
Gli attacchi al livello fisico sono quelli la cui esecuzione comprende una
qualche forma di accesso al microcontrollore. L’attaccante deve quindi disporre
di strumentazione adeguata per la rilevazione di grandezze fisiche. Gli attacchi
al livello fisico si dividono ulteriormente in
dinamici
e statici
a seconda che, il microcontrollore sia in funzione o meno durante l’attacco.
Gli attacchi al livello logico sono quelli che possono essere eseguiti senza dover
accedere al microcontrollore, anche se possono fare uso di risultati ottenuti da
precedenti attacchi al livello fisico. Esempi di attacchi al livello logico sono
la crittanalisi classica,
lo sfruttamento di difetti noti del sistema operativo,
l’inserimento di cavalli di Troia nel codice eseguibile delle applicazioni.
Progetto SESAMO
Le smart-card: gli attacchi (2/2)
Invasivi (o attivi): attacco fisico in cui l’attaccante fa
uso di tutta una serie di metodologie intrusive, per
accedere alle informazioni dell’IC, che comportano la
distruzione totale o parziale dell’hardware
• Il microprobing
manuale.
• L’uso di un fascio di ioni
concentrati (focused ion
beam, FIB):
• La reingegnerizzazione
(reverse engineering):
Non invasivi (o passivi): non comportano in generale
la distruzione della carta e, in alcuni casi, non è
neppure necessaria la sottrazione di essa al
proprietario
• analisi elettrica del
circuito
• attacchi via software
Semi-invasivi: operano andando a leggere i segnali
analogici prodotti dal chip, senza però compromettere
fisicamente il chip.
• fault attack (induzione di
un errore)
• side-channel attack
Progetto SESAMO
Le smart-card: esempio di attacco fisico
1. ESTRAZIONE: riscaldare la carta finché non diventa morbida e flessibile per
ammorbidire la colla che unisce il chip all’involucro e, quindi, esso può poi
essere facilmente rimosso piegando la carta ed estraendolo dalla plastica.
2. BAGNO di acido nitrico: una volta portato fuori dal package di plastica, il
modulo del chip viene coperto con 20 – 50 ml di acido nitrico riscaldato a circa
60°°C e si attende che la resina epossidica di color nero che incapsula il dado di
silicio si sciolga completamente.
3. LAVAGGIO: Il chip viene quindi lavato con dell’acetone in un bagno ad
ultrasuoni, seguito in maniera opzionale da un breve bagno in acqua
deionizzata e alcol isopropilico. Quindi si rimuovono i rimanenti fili di
incollaggio con una pinzetta
4. MONTAGGIO su nuovo supporto: si incolla il chip in un package di prova e si
collegano i suoi pad manualmente sui pin del package.
l’ATTACCO dovrà superare misure di protezione
passive (es. tecniche di fabbricazione) ed attive (sensori)
Progetto SESAMO
Le smart-card: misure di protezione in fase di produzione
PROTEZIONI ATTIVE: realizzate
inserendo nel semiconduttore ulteriori
circuiti appositi quali sensori di diversa
natura, che sono controllati dal
software della smart card
• Controllo dello strato di passivazione
• Controllo della tensione
• Controllo della frequenza
•…
PROTEZIONI PASSIVE: tutte le
opzioni che le tecniche di
fabbricazione dei semiconduttori
offrono per proteggere le memorie e le
altre componenti funzionali del chip da
vari tipi di analisi
• miniaturizzazione dell’IC
• strutture fittizie (dummy structures)
• protezione dei bus
• ion-implanted ROM (non leggibile con
microscopio ottico)
• strati protettivi (schermature)
• cifratura della memoria …
Progetto SESAMO
Le smart-card: microcontrollore “Secure”
Progetto SESAMO
GRAZIE per l’attenzione
Tiziano Inzerilli:
Franco Guida:
[email protected]
[email protected]
Scarica

Il progetto SESAMO (Sistemi di pagamento mobili e smart card