Come funziona la Smart Card – parte 3

Smart Card e PC L’architettura PC/SC prevede una struttura a strati. Quelli hardware, dal basso, sono la Smart Card, il lettore di Smart Card (un accessorio da poche decine di euro) e l’I/O Channel Controller. Al di sopra, gli strati software sono il d …

Smart Card e PC
L’architettura PC/SC prevede una struttura a strati.

Quelli hardware, dal basso, sono la Smart Card, il lettore di Smart Card (un
accessorio da poche decine di euro) e l’I/O Channel Controller. Al di
sopra, gli strati software sono il device driver di I/O, il driver del lettore,
lo Smart Card Resource Manager, un opzionale Smart Card Service Provider e,
in cima, l’applicazione che dialoga con la Smart Card.

L’uso di una Smart Card è particolarmente comodo sui notebook;
oltre ai modelli con lettore di Smart Card incorporato, esistono in commercio
diversi adattatori PCMCIA, sia di lettura sia di lettura/scrittura, in cui si
inserisce la scheda.

Con la chiave privata e le altre informazioni personali custodite al sicuro
nella Smart Card, si evita che intrusioni da Internet o dalla LAN, malware,
accessi illegali o il furto del computer compromettano la sicurezza del sistema.

File system
Prima di diventare dei computer, le Smart Card erano, e restano tuttora, dei
data store, cioè dei supporti per registrare informazioni.Le prime schede
memorizzavano i dati in regioni di memoria direttamente indirizzabili.

Oggi tutte le Smart Card hanno un file system gerarchico con indirizzamento
simbolico al posto di quello fisico.

Ci sono due categorie di file: i file di tipo directory, chiamati Dedicated
File
, e i file contenenti i dati, chiamati Elementary File.

Questi ultimi possono essere classificati in Working EF (visibili al mondo
esterno) e Internal EF (accessibili solo al sistema operativo).

La directory root (radice) è un tipo speciale di DF e si chiama Master
File; è sempre presente e contiene tutte le altre directory e file.

Tutti i file e directory sono memorizzati nella EEPROM, l’unica struttura
scrivibile che non viene cancellata in assenza di alimentazione (lo stato normale
di una Smart Card).

La RAM vive solo per i brevi attimi di alimentazione della scheda, mentre la
ROM non è alterabile dopo la produzione del chip.

Una caratteristica diffusa dalla seconda metà degli anni ’90 è
la possibilità di scaricare codice eseguibile, sia per correzioni e upgrade
sia per aggiungere applicazioni a una scheda multiuso.

I due modi prevalenti per scaricare ed eseguire codice sono l’uso di
codice nativo, compilato nel linguaggio macchina della CPU, o l’uso di
codice interpretato da una macchina virtuale.

Gli interpreti prevalenti sono quello della specifica Java Card e l’interprete
MEL (Multos Executable Language) per il sistema operativo Multos, ma non manca
un interprete Basic per Smart Card.

Sistemi operativi
All’inizio degli anni ’90 c’erano pochissimi sistemi operativi
(OS) per Smart Card, anche a causa della limitatissima quantità di memoria
disponibile. Anziché un vero OS, veniva usata una libreria di routine
in ROM richiamata, quando necessario, dal software applicativo.

La struttura era monolitica e non modificabile se non con alti costi. La generazione
successiva fu quella di sistemi operativi con struttura a strati, mantenuta
anche dai moderni OS ma con notevoli migliorie. Il termine COS (Card Operating
System) identifica molti OS per Smart Card.

Uno dei primi è stato Starcos di Giesecke & Devrient (www.gi-de.com),
giunto oggi alla release 3.0, dotata di pieno corredo crittografico e utilizzabile
per tutte le applicazioni di sicurezza.

Tra i tanti nomi di OS per Smart Card, citiamo CardOS di Infineon, Cyberflex,
Multiflex e Payplex di Schlumberger, MFC di IBM, Micado di Orga, Oscar di Oki,
Pcos, Mcos e Mpcos di Gemplus (che produce oltre un quarto delle Smart Card),
TB, CC e Odyssey di Bull, Tcos di Telesc e, citati per ultimi ma oggi i più
importanti, Multos di Maosco e Java Card di Sun.

Multos (www.gemplus.com/products/multos_range/)
è il primo OS aperto, multi-applicazione e ad alta sicurezza per Smart
Card. Permette di caricare, aggiornare e cancellare applicazioni durante la
vita della scheda.

Java Card OS (http://java.sun.com/products/javacard/ e www.javacardforum.org/)
è popolare perché, in stile Java, permette l’indipendenza
delle applicazioni dall’architettura sottostante.

Di conseguenza, i produttori non si limitano a implementare gli standard ISO,
rendendo quindi arduo il trasporto delle applicazioni da una piattaforma all’altra.

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome