Sei sulla pagina 1di 5

LOGIN n.

45 marzo-aprile 2004

Le smartcard come strumento di autenticazione


di Nicola Sotira
` Dobbiamo votare, ma siamo fuori citta. Ci rechiamo in chiosco allestito allo ` scopo. Inseriamo la nostra carta didentita elettronica e effettuiamo la nostra scelta. Il sistema ci chiede di autenticarci con la nostra impronta digitale.

Nicola Sotira si occupa di progettazione e sicurezza delle reti presso la so` cieta Exwai. Membro della Association for Computing Machinery lavora da diversi anni nel settore della sicurezza informatica, con particolare attenzione alle problematiche relate a rewall, VPN e controlli di accesso. Recentemente si sta occupando di controlli biometrici e smartcard.

pubblicato su WWW.INFOMEDIA.IT stampa digitale da Lulu Enterprises Inc. stores.lulu.com/infomedia


Infomedia
` Infomedia e limpresa editoriale che da quasi venti anni ha raccolto la voce dei programmatori, dei sistemisti, dei professionisti, degli studenti, dei ricercatori e dei professori dinformatica italiani. Sono pi` di 800 gli autori che hanno realizzato per le teu state Computer Programming, Dev, Login, Visual Basic Journal e Java Journal, molte migliaia di articoli tecnici, presentazioni di prodotti, tecnologie, protocolli, strumenti di lavoro, tecniche di sviluppo e semplici trucchi e stratagemmi. Oltre 6 milioni di copie distribuite, trentamila pagine stampate, fanno di questa impresa la pi` grande ed u inuente realt` delleditoria specializzata nel campo della a programmazione e della sistemistica. In tutti questi anni le riviste Infomedia hanno vissuto della passione di quanti vedono nella programmazione non solo la propria professione ma unattivit` vitale e un vero a divertimento. ` Nel 2009, Infomedia e cambiata radicalmente adottando ` un nuovo modello aziendale ed editoriale e si e organizzata attorno ad una idea di Impresa Sociale di Comunit` , a partecipata da programmatori e sistemisti, separando le attivit` di gestione dellinformazione gestite da un board a comunitario professionale e quelle di produzione gesti` te da una impresa strumentale. Questo assetto e in linea con le migliori esperienze internazionali e rende Infomedia ancora di pi` parte della Comunit` nazionale degli u a sviluppatori di software. ` Infomedia e media-partner di manifestazioni ed eventi in ambito informatico, collabora con molti dei pi` imporu tanti editori informatici italiani come partner editoriale e fornitore di servizi di localizzazione in italiano di testi in lingua inglese.

Limpaginazione automatica di questa rivista e realizzata al ` 100% con strumenti Open Source usando OpenOffice, Emacs, BHL, LaTeX, Gimp, Inkscape e i linguaggi Lisp, Python e BASH

For copyright information about the contents of LOGIN, please see the section Copyright at the end of each article if exists, otherwise ask authors. Infomedia contents is 2004 Infomedia and released as Creative Commons 2.5 BY-NC-ND. Turing Club content is 2004 Turing Club released as Creative Commons 2.5 BY-ND. Le informazioni di copyright sul contenuto di LOGIN sono riportate nella sezione Copyright alla ne di ciascun articolo o vanno richieste direttamente agli autori. Il contenuto Infomedia e 2004 Infomedia e rilasciato ` con Licenza Creative Commons 2.5 BY-NC-ND. Il contenuto Turing Club e 2004 Turing Club e rilasciato ` con Licenza Creative Commons 2.5 BY-ND. Si applicano tutte le norme di tutela dei marchi e dei segni distintivi. ` E in ogni caso ammessa la riproduzione parziale o totale dei testi e delle immagini per scopo didattico purch e vengano integralmente citati gli autori e la completa identicazione della testata. Manoscritti e foto originali, anche se non pubblicati, non si restituiscono. Contenuto pubblicitario inferiore al 45%. La biograa dellautore riportata nellarticolo e sul sito www.infomedia.it e di norma quella disponibi` le nella stampa dellarticolo o aggiornata a cura dellautore stesso. Per aggiornarla scrivere a info@infomedia.it o farlo in autonomia allindirizzo http://mags.programmers.net/moduli/biograa

security

Le smartcard come strumento di autenticazione


di Nicola Sotira (nsotira@infomedia.it)

na volta confermata cos la nostra identit, il voto da noi espresso viene inviato al nostro comune. Sembra incredibile? quanto stato gi sperimentato nel Comune di San Benedetto del Tronto nelle elezioni regionali del 2000. L esperimento ha permesso la verifica del sistema di E-Poll (Electronic Polling System for remote voting). Maggiori dettagli sul progetto sono disponibili sul sito www.e-poll-project.net. Le reti Internet possono quindi risolvere tutte le problematiche relative alle distanze, semplificare ed avvicinare la Pubblica Amministrazione al cittadino. Le smartcard ci permetteranno di svolgere operazioni in rete garantendo la sicurezza e lautenticazione dellutente. Cos una smartcard

Dobbiamo votare, ma siamo fuori citt. Ci rechiamo in chiosco allestito allo scopo. Inseriamo la nostra carta didentit elettronica e effettuiamo la nostra scelta. Il sistema ci chiede di autenticarci con la nostra impronta digitale
ria. Questa tipologia di smartcard contiene una EEPROM (Electrically Erasable Programmable Read-Only Memory). La EEPROM una memoria che mantiene i dati anche in assenza di alimentazione. In genere presente anche un modesto microprocessore ad 8 bit che controlla laccesso ai file ed inoltre responsabile della comunicazione. I dati memorizzati possono essere protetti con un PIN (Personal Identification Number). Le smartcard a memoria sono state largamente utilizzate in applicazioni consumer dove la sicurezza stata sacrificata in nome dei costi. In alcuni casi questa scelta costata cara, esempio per tutti le smartcard utilizzate dai vecchi decoder satellitari ampiamente ed abbondantemente clonate. Le smartcard a microprocessore sono invece simili al nostro computer. Infatti hanno RAM, ROM, EEPROM un microprocessore 8/16 bit ed un crypto controller. In ROM viene mascherato un sistema operativo che in grado di gestire il file system, le comunicazioni e le operazioni crittografiche. Smartcard crittografiche Le smartcard crittografiche sono quelle su cui sono stati concentrati i maggiori sforzi dei costruttori negli ultimi anni. Infatti la diffusione delle reti e Internet ha aumentato il numero delle applicazioni FIGURA 1 Struttura fisica di una smartcard

La smartcard un oggetto in plastica dalle dimensioni di una carta di credito sul quale viene incollato un chip. Questi dispositivi non offrono solo funzionalit di memorizzazione, ma sono anche in grado di compiere calcoli e operazioni crittografiche. La struttura fisica delle smartcard normata dallISO e pi precisamente dalle ISO 7810, 7816/1 e 7816/2. La Figura 1 mostra la struttura fisica di una smartcard. Gli otto contatti, ovvero linterfaccia verso il mondo esterno sono descritti dalla norma ISO 7816/3. I segnali per la gestione di questi dispositivi sono: I/O: input/output dei dati seriali Vpp: alimentazione per la programmazione del chip GND: Ground CLK: clock della smartcard RST: segnale di reset Vcc: alimentazione del dispositivo I due contatti riservati per usi ancora non definiti dallISO sono stati di recente utilizzati da alcuni costruttori per dotare queste dispositivi di interfaccia USB allo scopo di aumentare la velocit di trasferimento dei dati. Normalmente infatti la velocit di trasferimento dati tra il chip della smartcard ed il lettore di 9600 bps (115 Kbps su alcune smartcard). La comunicazione prevista dallo standard 7816/3 di tipo half-duplex. Alcune smartcard non hanno i contatti; in questo caso per il trasferimento dei dati si utilizza la radio frequenza (contactless card). L antenna, come illustrato in Figura 2, inserita nella plastica e viene anche utilizzata per fornire energia al chip. Smartcard a memoria e microprocessore Alcune delle smartcard ancora oggi in circolazione, per fattori economici, sono del tipo a memo-

53
Login Internet Expert n.45 Marzo/Aprile 2004

security
in cui si richiede autenticazione forte ed un dispositivo sicuro nel quale conservare e generare le chiavi di cifratura. Inoltre molte applicazioni, vista la vulnerabilit dei sistemi operativi, richiedono lesecuzione di processi crittografici in ambienti protetti senza che vi sia il passaggio di parametri sul PC. Questi concetti si sposano perfettamente con questi dispositivi che sono in grado di generare al loro interno coppie di chiavi RSA (chiave privata e chiave pubblica) senza mai rendere disponibile allesterno la chiave privata. Non solo, ma sono in grado di eseguire la firma di dati, generare hash (RIPEMD o MD5 per esempio) a bordo. Quindi lapplicativo software passa il dato e la smartcard in grado di firmarlo o calcolarne limpronta tramite funzione di hash. In questo modo la smartcard viene utilizzata come una vera e propria scheda cifrante e sul PC non risiedono mai dati sensibili. Ad esempio la smartcard che viene fornita da InfoCamere per la firma digitale appartiene a questa categoria, rispondendo cos alle esigenze imposte dal legislatore (legge Bassanini sulla firma elettronica). Vi sono inoltre in commercio smartcard che sono in grado di eseguire altre operazioni crittografiche come il DES, 3DES o curve ellittiche. Le smartcard crittografiche della Siemens inoltre sono in grado di cifrare il protocollo di comunicazione. In questo modo chiunque cerchi di intercettare la comunicazione tra smartcard e lettore (USB o seriale) si trover con dati intelligibili. Le applicazioni in cui trovano spazio questi dispositivi sono la posta elettronica (firma e cifra dei messaggi), SSL (transazioni sicure via HTTP), Single Sign On (SSO), cifra di file e logon sicuro su PC (Figura 3) e telefonia cellulare.

FIGURA 2 Struttura di una smartcard contactless. Fonte: Gemplus [4]

Comunicazione e formato dei comandi Come accennato precedentemente la comunicazione con le smartcard avviene secondo le specifiche riportate nello standard ISO 7816/3. Lo standard definisce due tipi di protocollo, uno byte-oriented (T=0) ed uno block-oriented (T=1). Per poter comunicare con una smartcard il lettore deve implementare le seguenti funzioni: accensione e spegnimento della smartcard; reset della smartcard; lettura dei dati (operazione di GET); scrittura dei dati (operazione di PUT). Ogni comando GET e PUT contiene un header in accordo col quale la smartcard processa i dati. L header composto da un codice di cinque byte definiti dall ISO come CLA, INS, P1,P2 e LEN (Figura 4). La smartcard restituisce due byte in risposta (SW1 ed SW2), indicando lesito del comando (Figura 4). Struttura logica di una smartcard Come vedremo la smartcard pu essere considerata, dal punto di vista storage, come un disco dove i file sono organizzati in modo gerarchico attraverso directory. Esiste un master file (MF), simile alla directory root, sotto la quale vi possono essere dei dedicated file (DF), simili alle sottodirectory. I file sono denominati elementary file (EF) e sono assimilabili a quelli che siamo abituati a gestire sul nostro PC (Figura 5). Dopo aver alimentato la smartcard possibile accedere alla struttura del file system e selezionare EF o DF; quindi, la struttura del sistema operativo della smartcard simile ad altri sistemi operativi quali ad esempio MSDOS o UNIX. Per avere laccesso fisico al file occorre soddisfare invece alcuni requisiti di sicu-

Le smartcard non
offrono solo funzionalit di memorizzazione, ma sono anche in grado di compiere calcoli e operazioni crittografiche
Nelle smartcard crittografiche i file, che compongono il file system, possono essere protetti con crittografia invece che da un PIN. In questo caso il lettore e la smartcard devono condividere la stessa chiave di cifratura.

FIGURA 3 Esempio di applicazioni gestibili con smartcard crittografiche

54
Login Internet Expert n.45 Marzo/Aprile 2004

security
mazioni di accounting hanno un valore maggiore. Sapere infatti che ad una certa ora lutente Rossi ha fatto accesso ad una risorsa del sistema informativo autenticandosi con una smartcard, ci d la sicurezza che loperazione pu essere stata fatta solo da questo utente. Oppure lutente Rossi ha prestato la sua smartcard e messo altri utenti a conoscenza del PIN. In ogni caso le responsabilit ricadono sempre sul possessore della smartcard, in quanto essa non cedibile. Le smartcard sono inoltre multi-applicazione; quindi, sullo stesso dispositivo possono essere inserite pi applicazioni gestite da enti diversi in assoluta sicurezza. Ad esempio possibile lintegrazione di dati personali con dati sanitari ed applicazioni di borsellino elettronico. Ognuna di queste potr essere gestita in modo indipendente sullo stesso dispositivo fisico. Una delle applicazioni delle smartcard che abbiamo tutti i giorni sotto i nostri occhi nel nostro telefono cellulare. La smartcard nel nostro cellulare denominata SIM, ma ha tutte le funzionalit e le caratteristiche descritte per le smartcard a microprocessore. Queste contengono i dati che ci autenticano alla rete GSM, il nostro profilo tariffario ed abbiamo inoltre la possibilit di salvare la nostra rubrica. Se cambiamo il telefono cellulare ci limitiamo ad inserire la nostra smartcard nel nuovo apparato mantenendo numero telefonico, profilo sulla rete, piano tariffario e rubrica. Un altro progetto che utilizza smartcard quello della CIE (carta didentit elettronica). Da maggio 2004, 8102 comuni saranno abilitati alla fornitura di questo nuovo documento elettronico che sostituir quello cartaceo. Si stima che entro 4-5 anni questo documento sar esteso a circa 40 milioni di cittadini. I Comuni ed il Ministero dellInterno stanno realizzando nuovi servizi che saranno accessibili ai cittadini attraverso la CIE. Si potr avere laccesso alla pubblica amministrazione dal PC di casa, richiedere e firmare documenti, pagare imposte o multe, utilizzarla per votare, ecc. Conclusioni Le smartcard permetteranno sicuramente un pi rapido sviluppo delle applicazioni di commercio elettronico, garantendo ladeguata sicurezza delle transazioni da qualunque computer. Inoltre lintroduzione della CIE dovrebbe portare finalmente ad una standardizzazione del dispositivo fisico e mettere fine al proliferare di iniziative e progetti utilizzanti applicativi e servizi a livello locale. Sicuramente la presenza di un dispositivo unico e comune a tutti gli italiani dovrebbe aumentare lofferta di servizi e applicazioni fruibili con questo mezzo. Molti servizi della Pubblica Amministrazione, ad esempio, saranno accessibili tranquillamente da casa o da chioschi evitandoci lunge code. La CIE inoltre dovrebbe contenere anche il template della nostra impronta digitale. evidente che a questo punto la transazione elettronica viene autorizzata non da un PIN, ma da qualcosa che possiedo (smartcard) e da qualcosa di assolutamente personale, la mia impronta digitale che non affatto duplicabile. Bibliografia e riferimenti [1] Smart Card Handbook, W. Rankl e W. Effing, John Wiley & Sons ISBN 0471988758 [2] Programmazione delle Smart Card, U. Chirico, Gruppo Editoriale Infomedia ISBN 8881500140 [3] AIPA www.cnipa.gov.it [4] Gemplus www.gemplus.com [5] SUN www.developers.sun.com Note Biografiche Nicola Sotira si occupa di progettazione e sicurezza delle reti presso la societ Exwai. Membro della Association for Computing Machinery lavora da diversi anni nel settore della sicurezza informatica, con particolare attenzione alle problematiche relate a firewall, VPN e controlli di accesso. Recentemente si sta occupando di controlli biometrici e smartcard.

FIGURA 4 Formattazione dei comandi e delle risposte previsto dallo standard ISO 7816/3 per le smartcard

rezza. I file infatti possono essere protetti e quindi permettere operazioni di scrittura, lettura ecc. solo se vengono soddisfatti i requisiti di sicurezza impostati nella fase di creazione della smartcard. possibile impostare regole di sicurezza per le operazioni di scrittura, lettura, modifica e cancellazione dei file o dei DF. Le condizioni di accesso possono essere: ALWAYS: accesso sempre possibile senza restrizioni; CARD HOLDER VERIFICATION: accesso possibile solo dopo la presentazione di un PIN o di un challenge cifrato; ADMINISTRATIVE: accesso permesso solo a livello amministrativo: richiesta la verifica delle credenziali amministrative tramite PIN o challenge cifrato; NEVER: in questo caso laccesso vietato. Applicazioni Da quanto detto, si deduce che le smartcard sono loggetto ideale per memorizzare chiavi RSA . Questo poich la chiave privata, parametro fondamentale per la firma o la cifra di dati, non lascia mai il dispositivo, quindi non pu essere letta o copiata da utenti non autorizzati. Ovviamente lutilizzo della smartcard in transazioni on-line o di firma elettronica ci assicura anche il non ripudio. Noi sappiamo infatti che la chiave privata non pu essere letta o copiata. La certezza su questo punto ci garantisce che la chiave privata (associata ad un PIN) in possesso solo dellutente al quale stata rilasciata. Pertanto esiste uno stretto legame tra la transazione e lutente o tra il documento firmato e chi lo ha generato. Unaltra importante applicazione delle smartcard il Single Sign On (SSO). Oggi gli utenti devono ricordarsi pi password per autenticarsi alle diverse risorse informatiche. Nelle smartcard si possono memorizzare le credenziali dellutente: una volta inserito il PIN, sar la smartcard che automaticamente svolger le operazioni di accesso e autorizzazione. Ovviamente in questo caso le inforFIGURA 5 Formato del file system di una smartcard

55
Login Internet Expert n.45 Marzo/Aprile 2004

Potrebbero piacerti anche