VAI AL CAPITOLO 2 : STANDARD E SPECIFICAZIONI
CAPITOLO 1 : Introduzione
1.2 Introduzione alle Smart Card
Carte a memoria (Memory Card)
Carte a processore (Smart Card)
Carte a contatto (Contact Card) e senza contatto (Contactless
Card)
1.3 Evoluzione delle Smart Card
Identificazione biometrica
Transazioni finanziarie e moneta elettronica
Rilevazione automatica di pagamento
Accesso a risorse riservate
Servizi Sanitari
Telefonia e TV via satellite
1.5 Struttura Hardware delle Smart Card
CPU
RAM (Memoria volatile)
ROM (Memoria a sola lettura)
EEPROM (Memoria ROM Elettronicamente Riscrivibile)
FeRAM
Circuito di Sicurezza
Porta di I/O
Co-processori
CAPITOLO 1 : Introduzione
Il presente elaborato si pone come obiettivo l’analisi e la descrizione delle attuali soluzioni basate sulla tecnologia delle carte intelligenti, definite Smart Card, ponendo particolare attenzione agli ambienti operativi in cui sono inserite. Sono introdotti i concetti fondamentali per comprendere le problematiche, i vincoli e le potenzialità che questa tecnologia emergente presenta. La struttura dell’elaborato si basa sull’introduzione graduale a specifici aspetti quali: tipologia e struttura interna della carta, Standard e specificazioni esistenti, trasferimento e strutturazione interna dei dati, modello logico e Software di gestione della carta. Si è focalizzata l’attenzione sul Sistema Operativo presente sulla carta e sulle diverse modalità operative implementate (carte multi funzionali e multi applicazione). I concetti espressi nei vari capitoli hanno validità generale per gli ambienti in cui le carte operano. Esistono una moltitudine di soluzioni e realizzazioni differenti che presentano caratteristiche comuni. Durante tutto il testo si fa riferimento ad una generica tipologia di carta a contatto, ossia ad una carta definita come multi funzionale (carta che fornisce un insieme di funzionalità specifiche). Gli argomenti trattati forniscono un supporto per comprendere i dettagli implementatitivi di tutte le Smart Card attualmente presenti sul mercato.
Il capitolo 1 (Introduzione) introduce i concetti fondamentali per comprendere cosa sia una Smart Card, le differenti tipologie e le applicazioni in cui è utilizzata.
Il capitolo 2 (Standard e specificazioni)descrive standard e specificazioni cui la maggior parte delle Smart Card fanno riferimento, in particolare sono descritte specifiche relative all’interfacciamento tra applicazioni presenti sulla carta e su un dispositivo terminale (quale un elaboratore). Tali standard comprendono ISO 7816, PC/SC (Personal Computer/Smart Card), OCF (Open Card Framework).
Il Capitolo 3 (Comunicazioni ed organizzazione delle informazioni) tratta la comunicazione tra Smart Card e dispositivo lettore, la struttura ed il formato delle informazioni scambiate (APDU), l’organizzazione e la sicurezza dei dati interni (File System).
Il Capitolo 4 (Sistemi Operativi per smart card) descrive il Sistema Operativo SmarTEC OS, che presenta caratteristiche comuni ad un generico sistema Operativo per Smart Card.
I capitoli 5 e 6 (Javacard "carte multi applicazione",
MASSC "architettura per Smart Card") sono dedicati a carte multi applicazione
contenenti una macchina virtuale Java (JavaCard Virtual Machine) implementata
sulla Smart Card. In particolare il capitolo 6 tratta un’architettura di
nuova concezione (MASSC) recentemente proposta da alcune aziende leader
nel settore.
TORNA ALL'INDICE DEL CAPITOLO ATTUALE
(CAP 1: INTRODUZIONE)
1.2 Introduzione alle Smart Card
Il termine Smart Card (carta intelligente) si riferisce generalmente ad una carta di plastica (figura 1), delle dimensioni di una normale carta di credito, che contiene un microprocessore ed una memoria integrati; poiché priva di batteria, tastiera e display per funzionare deve essere inserita in un dispositivo di lettura. Un uso tipico è quello di chiave elettronica, in cui il possesso della carta e la conoscenza di un codice permettono l’accesso a determinate risorse.
Le caratteristiche principali di una carta intelligente sono:
PROGRAMMABILITÀ: la presenza di un microprocessore, generalmente a 8-bit, permette alla carta di assumere un ruolo attivo nel processo d’interazione con il mondo esterno.
SICUREZZA: possibilità di immagazzinare informazioni riservate accessibili solo alla carta stessa e modificabili dall’esterno solo con chiavi numeriche, ad esempio PIN (numero d’identificazione personale).
MOBILITÀ: la carta è facilmente trasportabile
date le sue ridotte dimensioni.
Esistono diversi tipi di Carte con forma identica ma
differenti caratteristiche funzionali.
Carte a memoria (Memory Card)
Questo tipo di carta, utilizzata per immagazzinare informazioni,
contiene solo un circuito di lettura della memoria interna e la memoria
stessa (EPROM o EEPROM). Nelle versioni più semplici può
essere usata da chiunque né sia in possesso, come avviene per una
normale carta telefonica prepagata, le più complesse prevedono una
verifica di accessibilità alla carta. Sono utilizzate principalmente
come carte a singola applicazione e tipicamente come carte “a scalare”
in cui, dopo un’inizializzazione, il contenuto è decrementato fino
ad esaurimento.
Carte a processore (Smart Card)
Le carte a microprocessore sono dei veri e propri microcalcolatori
con Sistema Operativo ed interfacce applicative standardizzate; possono
fornire funzioni complesse e supportare applicazioni flessibili ad alto
grado di sicurezza basato su metodi crittografici, di validazione reciproca
tra carta e terminale, suddivisione dei dati a più livelli di acceso.
Carte a contatto (Contact Card) e senza contatto (Contactless Card)
Le carte possono interagire con il lettore sfruttando
due differenti tecnologie:
TORNA ALL'INDICE DEL CAPITOLO ATTUALE
(CAP 1: INTRODUZIONE)
1.3 Evoluzione delle Smart Card
Le ricerche relative alle Smart Card cominciarono nei
primi anni settanta, ma solo nel 1976 Motorola e Bull svilupparono una
tecnologia in grado di integrare un chip di silicio all’interno di un supporto
plastico. Inizialmente furono prodotte carte con singole funzionalità
(pagamento elettronico, carte d’identità, ecc) definite in fase
di produzione e non modificabili dopo la distribuzione. Nel corso degli
anni ottanta furono introdotte standardizzazioni fisiche, elettroniche
ed architetturali che consentirono lo sviluppo di carte personalizzabili
in grado di supportare più funzionalità. Questo tipo di Smart
Card, chiamate multi-purpose o multi-funzione, presentavano ancora difficoltà
di modifica ed aggiornamento delle funzioni esistenti. Negli ultimi anni
le tecnologie costruttive hanno permesso di introdurre memorie più
capaci (96 KB di ROM e 64 KB di EEPROM) e microprocessori da 16-bit, 32-bit
su chip con area di 25 mm². Attualmente esistono Smart Card che supportano
Sistemi Operativi complessi e macchine virtuali su cui possono essere sviluppate
applicazioni multiple facilmente aggiornabili o sostituibili.
TORNA ALL'INDICE DEL CAPITOLO ATTUALE
(CAP 1: INTRODUZIONE)
Identificazione biometrica
Le Smart Card hanno un naturale inserimento nel mercato
dell’identificazione personale e sono usate in applicazioni quali: Campus
studenteschi, documenti governativi (carte d’identità e patenti
di guida).Le informazioni risiedono sia all’interno della carta, in forma
elettronica, che sul supporto di plastica (nome, firma, fotografia).
Transazioni finanziarie e moneta elettronica
Si possono gestire transazioni sia on-line (connessione
tra le due parti durante la transazione), come avviene per le carte di
credito, che off-line (transazione differita temporalmente). La Smart Card,
oltre ai requisiti di sicurezza, ha il vantaggio di possedere una memoria
interna su cui sono riportate le transazioni avvenute.
Rilevazione automatica di pagamento
Sono utilizzate per rilevare pagamenti di biglietti aerei,
di bus, di tram ed ultimamente sono state studiate soluzioni per pedaggi
autostradali utilizzando la tecnologia senza contatto. Le applicazioni
sono indipendenti e possono essere inserite sulla stessa carta da organizzazioni
diverse (governative o private) senza necessita di interazione tra esse.
Accesso a risorse riservate
La carta è usata come chiave elettronica per accedere
a locali, software proprietari, informazioni riservate, connessioni ad
Internet con autenticazione, ecc.
Servizi Sanitari
Un particolare utilizzo prevede la gestione dei
dati sanitari del possessore in cui le informazioni contenute nella carta
sono accessibili a diversi livelli (informazioni generali, riservate, ecc).
In caso d’emergenza si ottiene un quadro dettagliato ed aggiornato sullo
stato del paziente.
Telefonia e TV via satellite
Le schede di telefonia mobile ed i dispositivi di ricezione
TV satellitare contengono una Smart Card che consente l’identificazione
dell’apparecchio e l’aggiornamento delle funzionalità offerte, anche
dopo l’installazione. La carta permette l’utilizzo di dati crittografati
per la comunicazione su reti poco sicure e rende quindi difficile attuare
frodi.
TORNA ALL'INDICE DEL CAPITOLO ATTUALE
(CAP 1: INTRODUZIONE)
1.5 Struttura Hardware delle Smart Card
Una tipica architettura del chip incorporato nella carta
(figura 4) contiene CPU, RAM, ROM, EEPROM, un circuito di sicurezza ed
una porta di I/O. Nella versione Contactless sono presenti un modulo di
comunicazione a radio frequenza (Modem) ed un circuito induttivo d’alimentazione.
Di seguito sono discusse in dettaglio le funzioni svolte
dai singoli componenti.
CPU
Generalmente si tratta di un microprocessore ad 8-bit
(6805 o 8051) con bus d’indirizzamento a 16-bit, ma nuove soluzioni basate
su processori a 16-bit (Javacard) o RISC a 32-bit sono attualmente disponibili.
RAM (Memoria volatile)
Fornisce un supporto veloce per immagazzinare dati frequentemente
utilizzati durante la comunicazione con il lettore e l’elaborazione delle
applicazioni. Valori tipici variano da poche centinaia ad una o due migliaia
di byte, poiché le dimensioni del chip non possono superare valori
imposti da limiti meccanici (rottura per flessione della carta).
ROM (Memoria a sola lettura)
Questa memoria contiene il Sistema Operativo e viene caricata
in fase di produzione della carta. Il software caricato e detto ROM-mask
e non può essere modificato in fasi successive. Le dimensioni di
questa memoria variano da 2 K-byte a 96 K-byte in funzione delle applicazioni
per cui la carta è stata sviluppata.
EEPROM (Memoria ROM Elettronicamente Riscrivibile)
Questa memoria non volatile, che contiene i dati statici
utilizzati dal Sistema Operativo, può essere modificata durante
il normale funzionamento della carta. Nuove applicazioni o aggiornamenti
di funzioni del Sistema Operativo possono essere caricate fornendo una
notevole flessibilità nello sviluppo di soluzioni basate su Smart
Card. I dati riservati sono conservati sotto forma di file e sono accessibili
o aggiornabili solo se la carta lo permette. Le dimensioni variano da 2
a 64 K-Byte.
FeRAM
Nelle carte di ultima generazione sono state studiate
soluzioni alternative basate su banchi di memoria a RAM ferro elettriche,
che sostituiscono RAM ed EEPROM. I vantaggi offerti da questa tecnologia
sono: notevole velocità di accesso alla memoria (mille volte più
alta), capacità di memoria per unità di superficie maggiore
e possibilità di variare le porzioni di memoria dedicate ai dati
dinamici.
Circuito di Sicurezza
Una modalità di elusione delle misure di sicurezza
della carta si basa sul funzionamento a valori non nominali di alimentazione
e frequenza di clock che consente la lettura dei dati contenuti nella EEPROM.
Questo dispositivo controlla le condizioni di funzionamento della carta,
e ne abilita l’uso (in particolare della memoria EEPROM) solo se queste
corrispondono a specifici valori predefiniti.
Porta di I/O
La carta comunica con l’esterno tramite un’uscita seriale
ad un solo bit, con velocità che variano secondo il tipo e le necessità
delle specifiche applicazioni. Valori usuali sono 9600 bit/secondo, ma
per le carte contactless (in cui il tempo di interazione con il lettore
è ridotto), sono richieste velocità superiori.
Co-processori
Alcune carte sono dotate di co-processori dedicati all’elaborazione
di operazioni esponenziali su interi (richiesta da algoritmi crittografici),
che risulterebbe troppo lenta se implementata sul processore tradizionale.
TORNA ALL'INIZIO DEL CAPITOLO ATTUALE (CAP 1: INTRODUZIONE)