1. SMART CARD

 

 

 

1.1    Veduta d'insieme

 

 

Introduzione

 

Le smart card possono essere considerate a tutti gli effetti evoluzioni delle normali carte magnetiche tradizionali. Una carta magnetica è una carta sulla quale sono state temporaneamente memorizzate informazioni grazie all'impiego della tecnologia magnetica. Le smart card, in luogo della banda magnetica, presentano un Circuito Integrato (IC) che può essere sia una semplice memoria sia un microprocessore. La presenza dell’IC permette, quindi, una maggiore capacità di memorizzazione e la possibilità di implementare servizi aggiuntivi.

Oggi sistemi con smart card sono in uso in molte applicazioni richiedenti chiavi che si utilizzano in aziende sanitarie, banche, divertimento e trasporto. Ai vari livelli, tutte le applicazioni possono trarre profitto dalle caratteristiche aggiunte e dalla sicurezza che le smart card offrono. Secondo Dataquest, nell’anno 2002, il mercato di smart card mondiale è cresciuto di 4.7 Miliardi di unità e 6.8 Miliardi di dollari. Una decade fa, in Europa, la smart card fu introdotta nei telefoni pubblici come valido strumento per ridurre il furto di monete da essi. Si trovarono modi nuovi di usare le smart card, come carte di credito per acquisti e banche dati al posto della carta.

Negli Stati Uniti, i consumatori stanno usando le smart card in ogni settore, dalle biblioteche  al supermercato, integrandole fermamente nella vita di ogni giorno. Molti stati hanno progressivamente introdotto l’uso delle chip card in applicazioni governative come nell’ EBT(Department of Motor Vehicles to Electronic Benefit Transfer). Molte industrie hanno perfezionato i loro prodotti con il potere delle smart card, come il nuovo GSM per telefoni cellulari digitali e decodificatori di TV satellitari.

 

 

Perché Smart card

 

Le smart card migliorano molto la convenienza e la sicurezza di alcune operazioni. Esse rendono difficilmente attaccabili le memorie degli utenti e l’identità degli account. Le smart card offrono anche sicurezza ai sistemi a scambio virtuale di dati da una parte all’altra della rete. Esse proteggono contro una serie di minacce per la sicurezza, dall’incauta memorizzazione di password utenti ai sistemi sofisticati di attacco, inoltre, possono servire anche come accesso al sistema di rete, a depositi bancari e ad altri dati. In tutto il mondo, le smart card sono usate per una vasta gamma di lavori quotidiani:

 

1.2    Struttura e classificazione delle smart card

 

 

Struttura

La Figura mostra le componenti fondamentali di una smart card che sono:

  1. Parte plastica tipicamente resistente, elastica ed economica; fatta di PVC, ABS, Melinex.
  2. CPU (8,16 o 32 bit) con clock a 5Mhz.
  3. ROM (da 2k a 64k) contiene il sistema operativo e programmi fissi. Dopo la scrittura non è modificabile.
  4. PROM (Programmable Read Only Memory - 32 0 64 byte) contiene il numero seriale della smart card.
  5. EEPROM (Electrically Erasable Read Only Memory – circa 128k) memorizza informazioni variabili; tipicamente contiene le applicazioni e i dati.
  6. RAM (da 128 a 1024 byte) utilizzata per memorizzazioni temporanee; si cancella quando si sfila la smart card (power off).
  7. Porta di I/O  utilizzata per l'interscambio fisico delle informazioni.

 

 

Classificazione

 

Le chip card in generale abbracciano un po’ tutta la famiglia delle card. Esse si suddividono fondamentalmente in Contact Card, Combi Card, RF Card; Vault Card.

Le Contact Card sono caratterizzate dalla presenza sulla carta di piazzole di contatti tramite cui la carta stessa riceve dal lettore l'alimentazione ed effettua lo scambio dei dati.

Le RF Card (a prossimità o contactless) differiscono da quelle a contatti perché lo scambio delle informazioni non avviene attraverso il canale fisico realizzato dai contatti della carta e del lettore, ma per trasmissione in radio frequenza.

Nelle Combi Card sono presenti sia il chip della carta a contatti, che la tecnologia trasmissiva della carta a prossimità.

A loro volta le Contact Card si suddividono in due importanti famiglie: Memory Card e Microprocessor Card. Le prime si suddividono ancora in Straight Memory, Segmented/Protected Memory e Stored Value Memory e si evidenziano per la grande capacità di memorizzazione. Le seconde invece hanno elevate capacità di calcolo ma pagano in termini di costi.

 

 

Le smart card sono definite in base al tipo di chip impiantato nella scheda e alle sue capacità.

 

 

Memory Card

 

Le memory card non hanno potere di elaborazione e non possono maneggiare dinamicamente file. Esse comunicano con i lettori attraverso protocolli sincroni. Ci sono principalmente tre tipi di memory card:

Queste schede immagazzinano solo dati e non hanno capacità di elaborazione. Non possono identificarsi al lettore, per cui il nostro host system deve sapere che tipo di scheda è stata inserita nel lettore.

Queste schede hanno incorporata la logica per controllare l'accesso alla memoria della scheda stessa. Alcune di queste schede possono essere configurate per restringere l’accesso sia in lettura che in scrittura. Questo di solito è fatto attraverso una parola d'ordine o chiave di sistema.

Queste schede sono progettate per lo specifico scopo di immagazzinare valori o scatti (telefonici). Le schede sono usa-e-getta o ricaricabili. La maggior parte di questo tipo di schede incorpora misure di sicurezza permanenti al momento della loro produzione. Queste misure di protezione possono includere parole d'ordine e logica che sono programmate nel chip dal fabbricante.

 

 

Card a microprocessore CPU/MPU

 

Le carte a microprocessore si differenziano da quelle a memoria perché 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 di scheda (COS) che le rendono idonee ad elaborare informazioni in maniera indipendente. Queste carte utilizzano dei PIN per l'accesso alle informazioni, supportano funzionalità di sicurezza, quali crittografia e autenticazione dei messaggi, forniscono una gestione efficiente e sicura dei dati (quest’ultimi sono strutturati in files o directories).

Aumentando potenza, flessibilità e memoria si aggiungono costi alla progettazione della card. Per un suo utilizzo ottimale bisogna scegliere il tipo giusto di smart card adatto alle nostre esigenze, valutare il rapporto costo/funzionalità e determinare il livello di sicurezza da noi richiesto. Il seguente grafico illustra il rapporto performance/funzionalità dei vari tipi di card prima elencate: la Straight Memory Card evidenzia grande capacità di memoria ma poca convenienza economica, mentre la Protected Segmented Memory Card ha un buon rapporto funzionalità/prezzo. Logicamente, aumentando la potenza di calcolo (Microprocessor Card), lievitano anche i costi.

 

 

 

1.3    Lettore e Terminale di base

 

 

Definizioni

 

Il termine "lettore" è usato per descrivere un'unità che si interfaccia con un PC per la maggior parte dei suoi requisiti di lavorazione. Inversamente un "terminale" è un dispositivo di elaborazione indipendente.

Sia terminali che lettori, leggono e scrivono sulle smart card. I lettori si presentano di molte forme e diverse capacità. Il metodo più facile per distinguere un lettore è dal modo con cui si interfaccia ad un PC. Esistono lettori di smart card che si connettono alle porte seriali RS232, porte USB, slot PCMCIA, slot di floppy-disk, porte parallele, porte ad infrarosso IRDA, e lettori a prisma su tastiere. Un'altra differenza per distinguere i diversi tipi di lettore si basa sull'intelligenza interna e sulla loro mancanza di capacità. Esistono differenze di prezzo e di prestazioni tra l’industria che produce lettori intelligenti su cui si basa una larga varietà di protocolli di schede e le case che producono lettori di schede stile win-card che lavorano solamente con schede a microprocessore e fanno elaborare ogni dato dal PC. Attualmente le opzioni di scelta di terminali sono molte. La maggior parte delle unità hanno propri sistemi operativi e strumenti di sviluppo. Essi tipicamente supportano altre funzioni come letture magnetiche, funzioni del modem e operazioni di stampa.

 

 

 

1.4    Standard

 

 

Standard e organizzazioni di standardizzazione

 

Gli standard delle smart card governano principalmente le proprietà fisiche e le caratteristiche di comunicazione del chip incorporato e sono coperti dall'ISO 7816-1,2,3.

Le convenienze di specifiche applicazioni sono dibattute da molte grandi organizzazioni e gruppi che propongono i loro standard. L’operabilità di sistemi aperti alle schede dovrebbe essere applicata a molti livelli: alla scheda stessa, al suo terminale di accesso (i lettori), alle reti e ai sistemi per i gestori di scheda. I finanziatori di questa idea hanno a che fare con gli standard di ISO e CEN, con iniziative industriali come EMV e OCF.

Queste organizzazioni sono attive in standardizzazioni di smart card:

La International Standards Organization (ISO) facilita la creazione di standard volontari attraverso un processo che è aperto a tutti. ISO 7816 è lo standard internazionale per circuiti integrati (comunemente noti come smart card) che usano contatti elettrici. Chiunque è interessato ad ottenere una comprensione tecnica di smart card deve conoscere sicuramente ciò che riguarda ISO 7816 . Copie di questi documenti possono essere acquisite attraverso ANSI (American National Standards Institute).

National Institute of Standards and Technology (NIST) pubblica un documento noto come FIPS 140-1, "Requisiti di Sicurezza per Moduli Crittografici". Questo concerne la sicurezza fisica dei chip delle smart card, definita come un tipo di modulo crittografico.

Europay, MasterCard and Visa hanno creato le loro “Specifiche di Schede a Circuito integrato per Sistemi di Pagamento". La specifica è intesa come la creazione di tecniche basilari comuni per carte e realizzazioni di sistemi relativamente ai crediti. “Specifiche di Schede a Circuito integrato per Sistemi di Pagamento" possono essere ottenute da Visa, MasterCard o da membri della banca Europay.

Microsoft ha proposto uno standard per schede e lettori, chiamato specifica di PC/SC. Questa proposta può essere applicata solo alle schede con CPU.

CEN (Comité Européen de Normalisation) e ETSI (Istituto Europeo degli Standard delle Telecomunicazioni) si sono concentrati sulle telecomunicazioni, come GSM SIM per telefoni cellulari. GSM 11.11 ed ETSI300045.

 

 

ISO 7816

 

Questa è una rapida veduta d'insieme delle specifiche che 7816 copre. ISO 7816 ha sei parti. Alcune sono state completate, altre sono attualmente in procinto di essere cambiate.

1: Caratteristiche fisiche - ISO 7816-1:1987 definisce le dimensioni fisiche dei contatti delle smart card e la loro resistenza all'elettricità statica, alla radiazione elettromagnetica e allo stress meccanico. Descrive anche l'ubicazione fisica della striscia magnetica di una scheda e l’area su cui è stampata.

2: Dimensioni ed Ubicazione dei Contatti - ISO7816-2:1988 Definisce l'ubicazione, lo scopo e le caratteristiche elettriche dei contatti metallici della scheda .

3: Segnali Elettronici e Protocolli di Trasmissione - ISO 7816-3:1989 definisce il voltaggio e i requisiti di corrente per i contatti elettrici (definiti in Parte 2) e la caratteristica half-duplex e asincrona del protocollo di trasmissione (T=0). Le smart card che usano un protocollo di trasmissione proprietario riportano la designazione T=14. Emendamento 2: 1994 Revisione di selezione di tipi di protocolli.

4: Comandi per Interscambi tra Industrie - ISO 7816-4 stabilisce un set di comandi per le CPU card attraverso tutte le industrie che offrono accesso, sicurezza e trasmissione di dati su scheda. All'interno di questo contesto, per esempio, ci sono comandi per leggere, scrivere ed aggiornare record.

5: Sistemi di numerazione e Procedure di Registrazione per Identificatori Applicativi - ISO 7816-5:1994 stabilisce standard per Identificatori Applicativi (gli AIDs). Un AID ha due parti: la prima è un Provider identificatore Applicativo Registrato (RID) di cinque bytes; la seconda è costituita da un campo di lunghezza variabile di 11 bytes che RIDs può usare per identificare  specifiche applicazioni.

6: Dati tra industrie - ISO 7816-6 Riguarda il trasporto fisico di dispositivi, le transazioni di dati, il settaggio dei protocolli di trasmissione. Le specifiche permettono due protocolli di trasmissione: protocollo di carattere (T=0) e protocollo di blocco (T=1). Una scheda non può sostenerli entrambi. (Nota: alcuni fabbricanti di card non aderiscono a nessuno di questi protocolli. I protocolli di trasmissione, per alcune schede, sono descritti come T=14).

 

 

Sicurezza

 

Le smart card offrono l’enorme beneficio di salvare in modo sicuro dati e valori. Allo stesso tempo, l'integrazione di smart card nei sistemi introduce sicurezza di gestione, come per esempio l’accesso, tramite card, di persone a dati lontani e ad una vasta varietà di applicazioni.

Cos’ è la sicurezza

La sicurezza è fondamentalmente la protezione di qualsiasi cosa preziosa dal furto, dallo smarrimento, o dalla sua alterazione. Il termine “sicurezza di dati” governa una serie estremamente larga di applicazioni e tocca ognuno nella vita quotidiana. La preoccupazione sulla sicurezza di dati è alta come non mai, a causa del rapido avanzamento della tecnologia in ogni operazione virtuale.   I dati possono essere creati, aggiornati, scambiati e salvati via rete. In una rete gli utenti sono estremamente interattivi ed interdipendenti e da definizione, non tutti sono nello stesso luogo fisico. In alcune reti, abbonda la diversità, certamente in termini di tipi di dati, ma anche in tipi di utenti. Per tale ragione, in un sistema di sicurezza basato su reti sono essenziali la conservazione della segretezza di dati e la sicurezza del lavoratore.

 

 

Cos’è la sicurezza d’informazione

 

La sicurezza d’informazione è l’applicazione di misure per assicurare la sicurezza e la privacy dei dati nella loro gestione, salvataggio e distribuzione. La sicurezza di informazioni ha sia implicazioni tecniche che sociali. Le prime semplicemente si interrogano sul “come” e “quanto” applicare le misure di sicurezza ad un costo ragionevole. Le seconde riguardano problemi sulla libertà individuale, preoccupazioni pubbliche, standard legali come il bisogno di privacy. Questa discussione copre un’ampia serie di figure professionali: dai menager, ai progettisti di sistemi e ai programmatori che contribuiranno per ultimi alla strategia di sicurezza. In fine si avrà a che fare con disegnatori di sistemi e case di distribuzione.

 

 

Gli elementi della sicurezza di dati

 

Nell’implementare un sistema di sicurezza, tutti i dati hanno a che fare con i seguenti elementi principali:

Hardware. Include server, memorie di massa ridondanti, canali e linee di comunicazione, smart card e dispositivi remoti che fungono da interfacce tra utenti e computer

Software. Include sistemi operativi, sistemi di gestione di database (DBMS), programmi applicativi per la comunicazione e la sicurezza.

Dati. In genere i database contengono informazioni relative ai clienti.

Personale. Utenti e/o fonti di dati; professionisti, personale amministrativo e informatico.

 

 

I Meccanismi della sicurezza sui dati

 

Lavorando con gli elementi precedentemente riportati, un sistema di sicurezza di dati funziona effettivamente con i seguenti meccanismi:

 

Integrità dei dati

Questa è la funzione che verifica le caratteristiche dei documenti e delle transazioni. Tali caratteristiche sono ispezionate, inoltre viene confermato la presenza di un’autorizzazione corretta. L'Integrità dei dati è realizzata con crittografia elettronica che assegna un'identità unica ai dati come un'impronta digitale. Qualsiasi tentativo di cambiare tale identità, cambi di flag e manomissioni sono segnalati.

 

Autenticazione

Con essa si ispeziona, poi si conferma, la corretta identità di persone coinvolte in una transazione di dati. Nell’autenticazione, una firma digitale verifica i dati alla sua origine producendo un'identità che può essere mutuamente verificata da tutte le parti coinvolte nella transazione. Un algoritmo crittografico “hash” produce una Firma Digitale.

 

Non-ripudio

Elimina la possibilità che una transazione ripudiata o invalidata può essere verificata come corretta incorporando una firma digitale che una terza parte. Come nella posta registrata, il destinatario esegue il re-hash (hash inverso) dei dati, verifica la firma digitale, e le paragona per vedere se esse coincidono.

 

Concessione e delegazione

La concessione è il processo che permette l’accesso di specifici dati all'interno di un sistema. La delegazione è l'utilizzo di una terza parte per gestire e certificare ognuno degli utenti del sistema. (Autorità di Certificazione).

 

Controllo e registrazione

E’ un’esaminazione indipendente. Si occupa di registrazione di record e attività per assicurare la conformità ai controlli stabiliti.

 

Gestione

È la tutela e la progettazione degli elementi e dei meccanismi discussi sopra e sotto.

 

I sitemi di sicurezza inerenti alle smart card vengono suddivisi in due categorie: host-based e card-based.

 

 

Sistema di sicurezza host-based

 

Un sistema host-based tratta una scheda come un semplice veicolo che trasporta dati. In tali tipi di sistema le memory card vengono utilizzate efficacemente. Ogni protezione dei dati è fatta dal computer server. I dati nella scheda possono essere codificati ma la trasmissione al server può essere vulnerabile ed attaccata. Un metodo comune per aumentare la sicurezza consiste nello scrivere in chiaro (non codificato) una chiave che di solito contiene la data e/o l’ora, insieme ad un riferimento segreto su un insieme di chiavi del server. Ogni volta che la scheda è riscritta il server può scrivere una referenza sulle chiavi. Così ogni trasmissione è diversa dalle altre. Alcune parti delle chiavi però sono in chiaro e possono essere analizzate da hackers. Per tale motivo la sicurezza viene ulteriormente incrementata con l’uso di smart memory card che implementano un meccanismo di password per prevenire la lettura non autorizzata dei dati. Sfortunatamente le password possono essere sniffate in chiaro. E’ poi anche possibile l’accesso alla memoria principale. Queste metodologie spesso si usano quando una rete può trattare regolarmente dati, comparare valori, usare schede e generare un elenco di problemi sulle schede.

 

 

Sistema di sicurezza card-based

 

I sistemi di sicurezza card-based sono tipicamente costituiti da microprocessori inclusi nelle card. Una scheda è trattata come un dispositivo attivo di calcolo. L'Interazione tra il server e la scheda può essere una serie di passi che determinano se la scheda è autorizzata per essere usata nel sistema. Il processo controlla anche se l'utente può essere identificato, autenticato e se la scheda presenta le credenziali adatte per condurre una transazione. La scheda stessa può esigere ciò anche dal server prima di procedere con una transazione. L'accesso alle specifiche informazioni nella scheda è controllato da: a) un sistema operativo interno alla scheda; b) un insieme di permessi inizializzati dall'emittente di scheda riguardo alle condizioni dei file.

Ci sono principalmente due tipi di sistemi operativi di scheda. Il primo tipo di sistema operativo è il più utilizzato in molte società perché si paga solamente per la dimensione e le funzioni specificate. Questo approccio Classico tratta ogni scheda come un dispositivo sicuro di calcolo e di salvataggio dati. File e loro permessi sono tutti settati in anticipo dall'emittente. L'unico accesso alle schede è attraverso il sistema operativo. Sulla scheda non ci sono né back doors, né riconfigurazioni di strutture di file. I dati sono letti o scritti sulla scheda grazie a permessi settati solamente dalle emittenti. Il sistema operativo supporta un insieme di “applicazioni” come l’autenticazione e la cifratura. Il CardLogix M.O.S.T. OS è un esempio di questo tipo.

La seconda metodologia è l'approccio Disk Drive al sistema operativo della card. La scheda è un dispositivo di calcolo con una memoria attiva che lo gestisce e che ci permette di caricare sopra la scheda, le specifiche “applicazioni” e i file. Il sistema operativo della scheda lascia spazio all'allocazione e alla gestione attiva di file. È progettato per programmi di scheda che hanno una lunga aspettativa di vita per l’utente (più di 4 anni). Java Card ed il Microsoft Windows Card OS sono esempi di questo approccio. Queste schede hanno un rischio molto più alto di manomissione dovuto all'abilità di introdurre active applets o virus nella scheda. Concepibilmente si potrebbe sostituire elettronicamente una valuta o un file di basso valore con una nuova valuta o file che hanno lo stesso nome ma con un valore più alto. L’emissione iniziale di queste schede è costosa, a causa della sofisticazione dell'OS. Il vantaggio di questo approccio è che i costi di sostituzione della scheda possono essere più bassi dei costi di aggiornamento di campo, inoltre le architetture hanno bisogno di una grande memoria per futuri aggiornamenti imprevisti ed una più grande memoria per caricare applets. Ciò si traduce in costi più alti. Questi approcci sono accompagnati da molte autorizzazioni, pagate ultimamente dall'emittente di scheda. Anche i costi per l’infrastruttura di sicurezza sono molto alti.