La Carta Regionale dei Servizi - Dipartimento di Informatica
Transcript
La Carta Regionale dei Servizi - Dipartimento di Informatica
LA CARTA REGIONALE DEI SERVIZI A cura di: Acchiappati Francesco, Bonetti Roberto, Possenti Filippo SOMMARIO A – Introduzione 1. Cosa è la Carta Regionale dei Servizi 2. Cenni storici del progetto CRS-SISS B – Concetti Applicativi 1. Concetti di Utilizzo 2. La CRS e la Medicina 3. Accettazione di ricovero 4. Utilizzo in ambito Socio-Economico 5. Utilizzo in ambito Civico 6. Utilizzo come mezzo di pagamento 7. Identificazione del cittadino C – Aspetti tecnici e sicurezza 1. Struttura del sistema informativo 2. Crittografia e riservatezza dei dati 3. Protocolli applicativi 3.1. SOAP 4. Procedura di accesso ai servizi tramite Smart-Card 4.1. Smart-Token 4.2. Sicurezza della sessione applicativa 4.3. Challenge-Response 4.4. Gestione flussi autenticati 4.5. Smart-Card, standards e vulnerabilità 5. Possibili attacchi 5.1. Data-logging 5.2. Glitching 5.3. Come prevenire gli attacchi A. INTRODUZIONE A.1. Cosa è la Carta Regionale Dei Servizi La Carta Regionale dei Servizi (CRS) è lo strumento innovativo che la Regione Lombardia offre ad ogni suo cittadino per migliorarne la qualità di vita nella gestione della salute, nei rapporti con la Pubblica Amministrazione e nella vita di ogni giorno. La CRS, consegnata a tutti i cittadini della Regione, è assolutamente gratuita ed è strettamente personale così come il suo utilizzo. Già da oggi: – è Carta Nazionale dei Servizi: consente l'accesso ai servizi on-line della Pubblica Amministrazione; – attesta ufficialmente il codice fiscale; – è tessera sanitaria nazionale e sostituisce l'attuale tesserino sanitario cartaceo: un buon motivo per averla sempre con se'; – ha funzione di tessera europea di assicurazione malattia: garantisce quindi l'assistenza sanitaria nell'Unione Europea, secondo le normative dei singoli paesi. Non sarà quindi più necessario per il cittadino compilare il modulo cartaceo “E111” e per un periodo limitato di tempo garantiva la copertura sanitaria nei paesi convenzionati ma basterà esibire la carta, in caso di necessità. La CRS permette di richiedere certificazioni anagrafiche, prenotare visite mediche, effettuare pagamenti, e in generale consente l'accesso a molti servizi informatizzati. La carta infatti: – garantisce l'accesso ai servizi Socio-Sanitari in modo ancora più semplice, rapido e sicuro. In ospedale, nella ASL e in farmacia la carta consente sicurezza e privacy nel riconoscimento dell'assistito, che si traduce in una maggior rapidità nell'erogazione dei vari servizi e quindi in tempi di attesa minori. Il sistema, una volta pienamente operativo, permetterà ad esempio di prenotare direttamente visite specialistiche ed esami e di consultare i referti online; – permette di accedere più velocemente ai servizi offerti da – – – Regione Lombardia ai suoi cittadini attraverso il portale www.regione.lombardia.it; è strumento di autocertificazione semplificata e sicura per procedure più veloci anche via web; è carta di pagamento grazie alla collaborazione con istituti bancari protetta dai massimi standard di sicurezza; faciliterà i rapporti con le diverse pubbliche amministrazioni: provincie, comuni, INPS, INAIL, agenzia delle entrate, ecc. A.2. Cenni storici del progetto CRS-SISS Con la nascita del progetto Carta Regionale dei Servizi – Sistema Informativo Socio Sanitario (CRS-SISS), la Regione Lombardia compie un grande passo nelle tecnologie del nuovo millennio per venire incontro alle crescenti e complesse esigenze dei cittadini e di tutti coloro che operano nei settori strategici della Pubblica Amministrazione. Con questo progetto la Pubblica Amministrazione lombarda si muove con forza nella direttrice della nuova economia provocata dalla diffusione di massa dei modelli di Internet. A fine 1999 la Giunta Regionale ha incaricato di realizzare il progetto come fondamento tecnologico e informatico dei nuovi servizi. Il progetto implementa un sistema informativo aperto, modulare, flessibile e sicuro che consente il collegamento telematico di tutti gli operatori della Pubblica Amministrazione e che permette ai cittadini di accedere, per via telematica, ai servizi integrati nella rete. Inizialmente il progetto supporta servizi in ambito SocioSanitario ma considera da subito le modalità di coinvolgimento di altri settori della Pubblica Amministrazione per aggiungere nel tempo una nuova gamma di servizi al cittadino. L'elemento tecnologico in mano agli utenti per relazionarsi con il sistema e sfruttarne appieno le potenzialità è la carta personale. Essa funziona come una vera e propria chiave di accesso al sistema e grazie alle sue caratteristiche tecniche costituisce l'interfaccia ideale per qualsiasi individuo. La semplicità d'uso da parte del cittadino nasconde infatti, la complessità delle soluzioni tecnologiche che la rendono estremamente efficace e sicura. La carta, dotata di un microprocessore, assolve un duplice ruolo: – utilizzata a scopo identificativo, per le operazioni di autenticazione e autorizzazione dell'accesso al sistema; grazie alla capacità di memorizzazione dei dati del suo microprocessore, come veicolo e contenitore di informazioni personali del cittadino per l'identificazione certa del cittadino e come supporto per la validazione legale della firma elettronica; Dal punto di vista tecnologico la carta presenta il miglior compromesso tra una buona capacità di memorizzazione di dati e un elevato livello di sicurezza. Così come è progettata la carta presenta cinque caratteristiche fondamentali: – multigestione: permette cioè l'erogazione dei servizi da parte di gestori differenti, garantendo loro ampia autonomia anche in materia di sicurezza; – espandibilità: può essere “arricchita” di nuove informazioni e servizi in tempi successivi; – sicurezza: garantisce il più elevato grado di sicurezza nell'accesso ai servizi e nella protezione dei dati; – interoperabilità: è in grado di relazionare l'utente con una molteplicità di soggetti istituzionali, erogatori di servizi differenti; – aderenza agli standard. – B.CONCETTI APPLICATIVI B.1. Concetti di Utilizzo La CRS, è lo strumento con il quale i cittadini vengono messi in contatto con tutti i servizi regionali, che a loro volta sono parallelamente interconnessi tra di loro tramite il progetto SISS. I dati condivisi attraverso la rete regionale permettono una maggiore efficienza dei servizi di ogni ente che ne fa parte; basti pensare alla possibilità di una farmacia di accedere al background storico del cittadino venendo a conoscenza di eventuali intolleranze farmacologiche scoperte in precedenza. B.2. La Carta Regionale dei Servizi nella medicina La CRS, in realtà, nella gestione del sistema informativo di un ospedale, riveste un ruolo importante ma marginale. Un ospedale è un sistema molto complesso ed articolato. L'identificazione di una persona è un passaggio fondamentale per molte procedure, ma rimane comunque una parte molto piccola rispetto al sistema complessivo. Anche solo prendendo in esame un semplice caso come può essere lo “sgravio di responsabilità” precedente a particolari tipi di operazioni, è facile notare come non ci si possa limitare a identificare paziente e medico, ma si debba anche associare l'identità delle persone al tipo di operazione da svolgere. L'esito dell'operazione può essere inoltre vincolato a patologie precedentemente riscontrate nel paziente, che sarebbe bene sapere. Ogni intervento medico, inoltre, ha un costo che in alcuni Stati viene sostenuto direttamente dal paziente, ragion per cui bisogna tener conto anche dell'aspetto economico dell'intervento. Ecco quindi che pur rappresentando un passaggio fondamentale l'autenticazione si rivela essere solo una voce in mezzo al mare. La gestione documentale è in effetti l'aspetto più importante di molti sistemi informativi e presenta esigenze differenti in funzione del settore disciplinato. Per quanto riguarda i sistemi ospedalieri, aspetti fondamentali sono: – autenticazione di tutti gli attori, necessaria per poter conferire valore legale ai documenti; – interoperabilità tra i vari sistemi ospedalieri, necessaria per uno scambio veloce delle cartelle cliniche (componente fondamentale di qualsiasi ospedale); – accuratezza e comprensibilità dei documenti, necessaria per garantire una buona qualità del servizio. B.3. Accettazioni di ricovero Il sistema SISS gestisce le accettazioni di ricovero: – ordinario – emergenza – day-hospital Il SISS non gestisce i trattamenti sanitari obbligatori (TSO) che prevedono specifiche procedure (ad esempio i trattamenti per malati psichiatrici, che prevedono un iter attualmente non gestito con i servizi SISS). I dati relativi al ricovero rimangono a carico dell'applicativo della struttura. Il flusso di ricovero e dimissione si delinea secondo i seguenti passi: 1. l'operatore identifica il cittadino accedendo al SISS; 2. l'operatore identifica la prescrizione di ricovero; 3. effettua l'accettazione tramite il sistema; 4. terminato il ciclo di cure necessarie, il ricovero viene chiuso con la dimissione dell'assistito; 5. all'atto del ricovero e della dimissione, viene generata e inviata al SISS una mail al medico curante per avvertirlo dell'evento clinico occorso al suo assistito. La mail che giunge al medico contiene informazioni sull'anagrafica del paziente, il nome della struttura e la data dell'evento senza però indicare il reparto e l'ora in cui il ricovero è avvenuto. In caso di dimissione, nella mail, è compreso anche il link alla lettera di dimissione. B.4. Utilizzo in ambito Socio-Economico Grazie alla sua struttura tecnica, la CRS può venire utilizzata anche in ambito socio economico come carta di pagamento, come operatore finanziario unico è stata scelta Banca Intesa. La funzionalità di carta di pagamento è comunque facoltativa e del tutto gratuita, le spese riguardanti all'utilizzo della stessa, si limitano alle commissioni di prelievo in filiale, sulle operazioni di valuta e di ricarica. La CRS funziona come una carta prepagata con un limite di 300€ per ogni ricarica con un massimale di euro 3000,00. B.5. Utilizzo in ambito Civico Un effetto diretto della proprietà d'identificazione della Carta Regionale dei Servizi, è l'applicabilità della stessa a moltissimi degli attuali servizi comunali. L'emissione dei certificati via web è un chiaro esempio delle possibilità che il progetto CRS/SISS offre; un'altra applicazione interessante può essere l'utilizzo della carta come tesserino della biblioteca locale. Il fatto che si riescano ad unire diverse tipologie di servizio sotto un solo circuito non fa altro che velocizzare sia la gestione degli stessi da parte degli addetti ai lavori, sia l'utilizzo da parte dei cittadini, che potranno svolgere diverse operazioni comodamente da casa. B.6. Uso della CNS come mezzo di pagamento Il Bankpass Web La Carta Nazionale dei Servizi (CNS) da chiave personale di accesso on-line alla P.A. Diventa anche strumento sicuro per i pagamenti telematici di tasse, prestazioni e servizi erogati dagli uffici pubblici, rendendo così più agevoli e comodi i rapporti che imprese e cittadini intrattengono con la Pubblica Amministrazione. Grazie ad un innovativo accordo siglati il 7 giugno 2004 tra il CNIPA e l'e-Committee dell'ABI, nasce il “Bankpass Web”, un sistema decollato in via sperimentale a Bologna e Verona, che verrà progressivamente esteso a tutto il territorio nazionale. Queste nuove prestazioni sono state proposte dal CNIPA, che ne ha sostenuto anche l'applicazione, nell'ambito delle attività per favorire l'uso della CNS. Esse, in sostanza, integrano diversi strumenti di pagamento in un unico ambiente virtuale, offrendo così ai cittadini la possibilità di effettuare pagamenti telematici in totale sicurezza, in quanto con Bankpass Web i numeri delle carte di pagamento non “viaggiano” mai su Internet. Questo rende possibili ed altrettanto sicuri gli acquisti effettuati anche con il PagoBancomat oltre che con le carte di credito. L'accettazione della CNS come sistema di riconoscimento per i pagamenti online tramite Bankpass Web, estende il suo campo di applicazione aprendo prospettive di una ben più ampia diffusione per i servizi che, in misura sempre maggiore, la Pubblica Amministrazione offre a cittadini e imprese. Il sistema Bankpass Web è al momento l'unico sistema di pagamento integrabile con la maggior parte degli strumenti di pagamento esistenti e non vincolante per l'utente, ossia cittadino o impresa, ad un rapporto con una determinata banca: la piattaforma realizzata dall'e-Committee è infatti condivisa ed utilizzata dalla maggior parte delle banche presenti nelle aree interessate dai progetti di e-Government e può essere gestito da più società, nel rispetto del Regolamento di Bankpass Web, definito dalla stessa e-Committee. La realizzazione tecnica dell'integrazione tra la CNS/CIE e Bankpass Web è avvenuta nei tempi e secondo le modalità previste dall'accordo con il CNIPA ed e-Committee. Nel giugno 2004 sono state infatti consegnate al CNIPA, agli Enti Locali coinvolti nella sperimentazione (Comune di Bologna e Comune di Verona), ai PSP licenziatari del Marchio Bankpass Web e alle banche aderenti all'e-Committee le specifiche funzionali di integrazione tra il wallett Bankpass Web e la CIE/CNS; le specifiche funzionali relative all'adeguamento del protocollo di interoperabilità previsto dal sistema Bankpass Web tra soggetti PSP consumatore ed esercente. In conformità a quanto previsto dall'accordo con il CNIPA sono stati quindi realizzati – con i comuni di Bologna e Verona – due progetti pilota, di integrazione tra Bankpass Web e la CNS/CIE. a. Il progetto con il Comune di Bologna Con il comune di Bologna è stato attivato il servizio di pagamenti on-line, sul portale Iperbole, collegato alla prenotazione degli appuntamenti per la consegna delle denunce di inizio attività (DIA). Il progetto è stato presentato a Bologna dal Presidente del CNIPA nel corso di una conferenza stampa, ed i suoi risultati – che appaiono ampiamente positivi – sono in fase di valutazione. Il servizio permette ai professionisti di pagare on-line i diritti di segreteria ed eventuali altri oneri associati alle denunce di inizio attività. La funzione di pagamento su Internet è disponibile per coloro che utilizzano, per identificarsi al sistema, la Carta Nazionale dei Servizi rilasciata dal Comune di Bologna e che hanno fatto richiesta dell'attivazione di un wallet Bankpass Web. Quando l'utente conferma la volontà di procedere con il pagamento viene automaticamente reindirizzato al sito Bankpass, presso cui effettua il pagamento ottenendo il relativo codice di conferma. Al termine dell'operazione il professionista riceve un promemoria del pagamento via e-mail che può eventualmente stampare. b. Il progetto con il Comune di Verona Con il Comune di Verona è stato attivato, sul portale Teseo, il servizio di visualizzazione delle pratiche edilizie ed il pagamento on-line degli oneri di urbanizzazione. Anche in questo caso l'autenticazione del cittadino, effettuata con la CNS, è riconosciuta dal sistema Bankpass Web come valida e sostitutiva della normale autenticazione basata su user-id e password. c. Effetti ulteriori dell'accordo con l'e-Committee L'accordo tra il CNIPA ed e-Committee, con l'obbiettivo di promuovere l'integrazione tra Bankpass Web e la CNS/CIE, ha determinato la messa a disposizione, nei Comuni che hanno effettuato la sperimentazione, delle specifiche tecniche di integrazione con la Carta Nazionale dei Servizi/Carta di Identità Elettronica da parte di e-Committee in favore di tutti i soggetti che operano nell'ambito del sistema Bankpass Web (PSP licenziatari, FEP certificati e Banche aderenti). In secondo luogo ha reso obbligatoria la predetta integrazione per tutti i PSP consumatore, consentendo a tutte le banche sub licenziatarie del marchio Bankpass Web di offrire questa funzionalità ai propri clienti, con l'evidente vantaggio dei cittadini. Inoltre, l'accordo in questione ha determinato l'impegno di eCommittee nel promuovere l'integrazione del sistema presso le proprie associate attraverso gruppi di lavoro, circolari informative, promozione sui siti bankpass.it e e-committee.it e incontri con le singole banche. In base agli esiti positivi della sperimentazione, sono infine stati avviati colloqui con altre amministrazioni locali per promuovere ulteriori estensioni del servizio. B.7. Identificazione del cittadino Il SISS, per impostazione predefinita, tenta di leggere i dati dalla Smart-Card; se il cittadino presenta la propria SmartCard, il sistema procede con la lettura dei dati di identificazione e visualizza la finestra successiva. Se il sistema all'avvio della procedura non trova la Smart-Card inserita, l'operatore viene notificato e può scegliere se inserire la Smart-Card o identificare il cittadino con i metodi “convenzionali”. L'identificazione con i metodi “convenzionali” può, in alcuni casi, produrre come risultato più di una persona e il risultato deve essere adeguatamente filtrato, pena l'erogazione di servizi alla persona sbagliata. L'identificazione tramite Smart-Card non è affetta da questi problemi ed è pertanto meno soggetta ad errori da parte degli operatori. L'identificazione del cittadino gestita tramite un database centralizzato permette di avere immediatamente a disposizione informazioni sul cittadino particolarmente significative per l'erogazione dei servizi, come ad esempio le esenzioni godute e il medico i base. Tali esenzioni possono essere contenute sia nella Smart-Card (permettendo di operare anche se il tabase centrale non è immediatamente disponibile) che nel database centrale (più accurato e aggiornato, generalmente). C. ASPETTI TECNICI E SICUREZZA C.1. Struttura del sistema informativo La struttura del sistema informativo che sta alla base del funzionamento della carta regionale dei servizi è stata concepita tenendo in considerazione non solo la mole di dati che transiteranno all'interno di essa, ma anche la riservatezza e la sensibilità delle informazioni che questi dati trasportano. E' stato pertanto necessario studiare un sistema che offrisse una soluzione “cost-effective”, ma che non lasciasse spazio a compromessi per quanto riguarda la sicurezza. La struttura del sistema informativo L'utente finale, che può essere il cittadino o un operatore, utilizza il proprio smart token per autenticarsi attraverso la postazione utente. L'utente effettua il login direttamente con il server principale (SSO Server), che detiene un accesso diretto e riservato alla base di dati contenente le credenziali per le fasi di autenticazione. A questo punto il server principale trasmette al frontend server una access control list (ACL), che gli servirà per garantire o negare l'accesso a determinati servizi che vengono esposti dal frontend stesso. Il frontend può essere costituito indifferentemente da una web application o da un webservice, alla quale l'utente finale accede mediante web browser o attraverso l'utilizzo di applicazioni dedicate. L'utente finale ha la garanzia che la comunicazione è sicura perchè tutte le informazioni verranno crittografate mediante l'utilizzo di HTTPS. C.2. Crittografia e riservatezza dei dati Per garantire una adeguata protezione delle informazioni che transitano attraverso il sistema informativo della CRS, ma anche per garantire l'affidabilità dei documenti digitali, gli sviluppatori hanno deciso di integrare un sistema di autenticazione e crittografia basato su PKI. PKI (o Public Key Infrastructure) è una infrastruttura che permette di usufruire di certificati e di firme digitali, sia per scopi puramente crittografici, e quindi di riservatezza, sia per scopi di validazione, autenticità e non ripudiabilità dei documenti digitali. Ogni utente possiede all'interno della propria Smart-Card dei certificati e delle chiavi che gli consentono di: – autenticarsi presso il server principale per accedere ai servizi offerti dal sistema informativo della CRS; – inviare comunicazioni riservate (per esempio al proprio medico di base o all'ospedale); – ricevere attraverso mezzi di comunicazione su larga diffusione (per esempio la posta elettronica); – comunicazioni e documenti con la sicurezza che questi ultimi siano autentici. A garantire che le coppie di chiavi pubbliche/private siano effettivamente di proprietà di una persona fisica ben precisa è una “Certificazion Authority”, un'autorità garante che si occupa di gestire i certificati digitali residenti all'interno della PKI. C.3. Protocolli applicativi Il sistema informativo della CRS utilizza per tutte le comunicazioni che viaggiano al proprio interno un protocollo di messaggistica basato su XML detto SOAP ( Simple Object Access Protocol), fatto funzionare all'interno del protocollo standard HTTPS SSLv3. Il protocollo di messaggistica SOAP, è un protocollo basato su XML cge permette lo scambio di messaggi tra un server e un client e che ha la particolarità di usufruire di XML-Schema per la trasmissione di dati tipizzati. Questa sua particolare caratteristica lo ha trasformato col passare del tempo da un semplice protocollo di messaggistica ad un protocollo du “Remote method invocation” e “Service discovering” utilizzabile per la realizzazione di applicazioni distribuite. Un'altra particolarità di questo protocollo è che per l'invio e la ricezione di messaggi utilizza il protocollo standard HTTP (HyperText Transfer Protocol), che è il protocollo utilizzato ormai da chiunque durante la normale navigazione in internet e consultazione di pagine web. Attraverso l'utilizzo di questo protocollo è quindi possibile trasformare un qualsiasi server web in una macchina adibita alla fornitura di servizi distribuiti attraverso internet. Inoltre, se consideriamo l'utilizzo di HTTPS SSLv3 (La versione sicura di HTTP basata su crittografia asimmetrica delle informazioni) e il fatto che SOAP su adatta in modo del tutto trasparente all'utilizzo di tale layer HTTP, possiamo dire che attraverso SOAP è possibile creare un sistema distribuito per la fornitura di servizi AD ACCESSO SICURO attraverso internet. C.3.1. SOAP Come detto nel paragrafo precedente SOAP permette la realizzazione di sistemi distribuiti per la fornitura di servizi ad accesso sicuro attraverso internet. Sicuramente era possibile realizzare un'infrastruttura informativa utilizzando anche altri protocolli, come per esempio CORBA o RMI, che sarebbero stati in grado di offrire lo stesso grado di sicurezza e di operatività; tuttavia la scelta di SOAP è stata fatta perchè questo protocollo ha la caratteristica di utilizzare HTTP come protocollo di comunicazione per lo scambio ei messaggi. lo svantaggio di CORBA e di RMI infatti è quello che entrambi i protocolli utilizzano dei sistemi di comunicazione proprietari, che spesso non possono transitare attraverso la rete internet; di conseguenza l'utilizzo di queste due alternative avrebbe richiesto la realizzazione di una struttura basata su VPN (con tutti i rischi che ne conseguono a livello di prestazioni e carico computazionale da parte dell'hub della suddetta rete), oppure la realizzazione di una rete privata su linee dedicate CDN, che però sarebbe stata improponibile per quanto riguarda i costi (considerato l'ambito estremamente vasto del sistema informativo medico sanitario regionale). SOAP e HTTPS si sono quindi rivelati la soluzione migliore in quanto permettevano di utilizzare la rete internet pubblica senza scendere a compromessi per quanto riguarda la sicurezza delle sessioni di comunicazione. Una implementazione di questo genere offre quindi le seguenti caratteristiche: ● Soluzione Cost-effective che permetta di utilizzare strutture di comunicazione già esistenti senza crearne di dedicate. ● Affidabilità e sicurezza delle informazioni in transito attraverso il mezzo di comunicazione - Alta scalabilità che permette l'integrazione di nuove strutture e nuove sedi operative senza effettuare modifiche al “core” strutturale hardware e software. C.4. Procedure di accesso ai servizi tramite Smart-Card Durante la fase di avviamento del progetto CRS/SISS, ad ogni cittadino della regione Lombardia è stata fatta prevenire una Smart-Card attraverso la quale potesse accedere ad una varietà di servizi offerti dalla regione non solo in ambito sanitario ma anche commerciale. Lo scopo principale per cui si è deciso di distribuire tale dispositivo risiede nell’elevato grado di sicurezza che è in grado di garantire durante le procedure di autenticazione del cittadino (utente) da parte dei sistemi centralizzati della CRS e nella possibilità di mantenere traccia di tutte le informazioni riguardanti operazioni e transazioni effettuate all’interno di questo circuito, come ad esempio lo svolgimento di esami presso un determinato ospedale. Si noti che, a causa dell’intrinseca semplicità delle Smart-Card, i dati non verranno salvati all’interno dello smart-token stesso, che, in questo modo risulta essere protetto da eventuali smarrimenti ma bensì all’interno del sistema informativo del progetto CRS-SISS. Il cittadino potrà quindi accedere ai dati per via indiretta, consultando le informazioni che risiedono, ad esempio, nel proprio “profilo sanitario” da diversi terminali oppure potrà delegare l’accesso a tali informazioni a qualcuno di autorizzato, come il medico curante o l’ufficio accettazione. C.4. 1. Smart-Token La Smart-Card è “la chiave d’accesso al sistema”, è l’elemento tecnologico a disposizione degli aderenti al sistema per relazionarsi tra loro ed è lo strumento che permette di sfruttare le potenzialità del sistema. La semplicità d’uso della carta nasconde la complessità delle soluzioni tecnologiche che la caratterizzano e che la rendono estremamente sicura; essa è infatti dotata di un microprocessore che permette di contenere diverse informazioni e svolgere delle elaborazioni. Tali potenzialità elaborative permettono di migliorare la sicurezza in fase di autenticazione e di firma, impedendo che l’elaboratore (elemento non fidato) venga a conoscenza di informazioni particolarmente sensibili. Esistono due tipi di carta: la Smart-Card Operatore e la Smart-Card Cittadino. - La Smart-Card Operatore permette di compiere l’accesso al sistema e contiene tutti i dati per l’’identificazione e l’autenticazione dell’operatore stesso. In particolare, per gli operatori abilitati alla firma digitale, sono presenti sulla carta i certificati tramite i quali il possessore può firmare elettronicamente un documento. Il profilo dell’elaboratore contenuto nella carta stabilisce le modalità di accesso ai dati ed alle funzioni del SISS. I servizi messi a disposizione del sistema SISS permettono l’inserimento, la registrazione ee la consultazione delle informazioni trattate dal SISS. - La Smart-Card Cittadino permette una rapida e sicura identificazione dello stesso e contiene diversi tipi di informazione: o Informazioni di identificazione (codice sanitario del cittadino, codice fiscale, cognome, nome, sesso, data e luogo di nascita, luogo di residenza, luogo di domicilio, etc). o Informazioni amministrative di iscrizione al Servizio Sanitario Nazionale (Medico di Medicina Generale o Pediatra di Libera Scelta, ASL di appartenenza); o Informazioni sulle esenzioni (codice esenzione, tipo esenzione, data scadenza etc); o Informazioni di emergenza sul cittadino (gruppo sanguigno e fattore RH, allergie, malattie croniche rilevanti, terapie farmacologiche croniche, trapianti d’organo, disponibilità a donare organi, nominativi da contattare in caso d’urgenza). Mediante l’utilizzo di uno smart token si combinano diverse tipologie di invio di informazioni; - La procedura di autenticazione prevede la conoscenza di qualcosa (Password/PIN) in combinazione con il possesso di qualcosa (Smart-Card / SmartToken USB). - Lo Smart-Token non è solamente una scheda di memoria, ma un chip “intelligente” in grado di elaborare informazioni ed eseguire programmi. - Mediante l’utilizzo di uno smart-token è possibile usufruire di protocolli di autenticazione forti come Kerberos o altri protocolli generici basati su challengeresponse. Firma Elettronica Per completare una procedura di erogazione dei servizi è necessaria la firma elettronica dell’operatore. La firma elettronica può essere apposta sia revisionando preliminarmente i documenti sia non revisionandoli. Per poter apporre la firma elettronica, l’operatore dovrà introdurre il PIN anche se è già autenticato nel sistema. Questa richiesta ha l’obbiettivo di impedire l’apposizione della firma in caso l’operatore abbia dimenticato di scollegarsi dal sistema. Per l’avvio della procedura di firma preliminare revisione di documenti deve: senza la - Inserire il codice PIN Firma nel campo “Inserire PIN”; - Selezionare il pulsante “Firma i Documenti”. Se l’operatore intende visualizzare i documenti prima di firmarli deve: - Selezionare il pulsante “Visualizza i documenti” che apre una finestra contenente il documento; - Selezionare dalla finestra il pulsante “Accetta”. C.4.2. Sicurezza della Sessione Applicativa La sicurezza è garantita sia a livello di sessione operativa, sia a livello di sistema. I dati infatti, viaggiano criptati dalla postazione di lavoro verso i domini centrali e viceversa. La durata massima di una sessione operativa è di otto ore; trascorso questo tempo il SISS automaticamente chiude la sessione e l’utente deve necessariamente ripetere l’operazione di identificazione ed autenticazione per poter continuare ad interagire con esso. Scopo di questo, è limitare la possibilità di abusi del sistema in caso la Smart-Card venga dimenticata nel lettore con la sessione del sistema ancora aperta. Per ragioni di semplicità d’uso, è bene che le implementazioni del SISS permettano la chiusura di una sessione di lavoro semplicemente estraendo la Smart-Card dal lettore. Il sistema SISS prevede che formati di file ben precisi per lo scambio di cartelle cliniche e di altre informazioni. Di seguito un estratto dal manuale operativo di un software che implementa il SISS. C.4. 3. Procedura di autenticazione Challenge-Response Con l’ausilio di un semplice token di memorizzazione, l’unica operazione effettuabile durante una procedura di autenticazione consiste nell’accesso al token per il prelevamento di un dato da utilizzare per verificare l’identità di un utente. Per quanto questa procedura possa essere considerata mediamente sicura per alcune applicazioni, può non esserlo sufficientemente se combinata con una procedura di autenticazione basata sulla conoscenza di informazioni. Il rischio principale di questo genere di accessi risiede nell’eventuale sniffing di informazioni che transitano dal token al terminale, e da lì attraverso la rete internet fino al server centrale dell’erogatore del servizio. Mediante l’ausilio di uno smart-token, la procedura di autenticazione invece si rafforza in quanto, tra il terminale ed il token, avviene un dialogo unico e non ripetibile che rafforza la sicurezza dei dati trasmessi. Un esempio di autenticazione sicura può essere quello descritto in seguito: - L’utente A inserisce la propria Smart-Card all’interno del lettore presente sul terminale T - Il terminale T invia una stringa unica per ogni sessione della Smart-Card - La Smart-Card riceve la stringa e la concatena alle informazioni di identità contenute al proprio interno - La Smart-Card riceve il PIN dall’utente A attraverso il terminale T e lo concatena alle informazioni sopra presentate. - La Smart-Card effettua una procedura di hash non reversibile - L’hash viene inviata al terminale T che controllerà le corrispondenze all’interno del database degli utenti. Mentre in una procedura basata su una normale scheda di memoria, un finto terminale potrebbe memorizzare le informazioni nella scheda per una successiva duplicazione, con uno smart-token questa operazione non è possibile, in quanto il “challenge” è diverso ogni volta. La Smart-Token, grazie alla sua natura “intelligente”, ha quindi consentito di eseguire una procedura di autenticazione non accettabile se non con il processo e l’aggressione “fisica” dello smart-token. C.4.4. Il Servizio di gestione flussi autenticati La fruizione del servizio per la gestione dei Flussi Autenticati prevede che l’operatore si autentichi nel sistema SISS attraverso la propria Smart-Card. Un operatore può gestire diverse tipologie di flussi, secondo le disposizioni concordate con i responsabili della gestione flussi. C.4.5. Smart-Card, standard e vulnerabilità Dato per assodato che una Smart-Card non è una banale scheda di memoria ma un vero e proprio microprocessore ( quindi con capacità elaborative, oltre che di memorizzazione) possiamo dire con certezza che l’asserzione “leggere una Smart-Card” non è corretta. Il termine più corretto da utilizzare sarebbe “dialogare”, in quanto ciò che avviene dopo l’inserimento della.Smart-Card all’interno di un “lettore” è un vero e proprio scambio di messaggi, del tutto simile a quello che avviene tra due computer. L’utente quindi, attraverso l’ausilio di un software applicativo, invia dei comandi alla Smart-Card attraverso il dispositivo hardware la quale risponde restituendo le informazioni richieste, che verranno elaborate dal software applicativo e resituite quindi all’utente. Lo scambio di messaggi tra la Smart-Card e il “lettore” regolato dallos standard ISO7816 che, tuttavia, risulta vulnerabile e che pertanto viene spesso personalizzato o seguito solo in parte. Questo standard definisce le frequenze di clock che la scheda dovrebbe teoricamente utilizzare per essere compatibile con la maggior parte dei “lettori” in commercio, nonché la struttura dei messaggi a basso livello che dovrebbe assumere una forma simile a quella riportata in seguito: 3F FF 95 00 FF 91 81 71 FF 47 00 4E 43 4D 45 44 30 30 32 20 52 65 76 31 30 31 6E Come si può osservare, questo messaggio inviato da un “lettore” verso la Smart-Card è sostituito da parole (word) di 2 byte, l’ultima delle quali rappresenta il checksum delle word precedenti. C.5. Possibili attacchi C.5.1. Attacchi basati su Datalogging Gli attacchi di tipo datalogging sono la più semplice tipologia di attacco che possa condurre alla violazione della riservatezza di informazioni memorizzate all'interno di una Smart-Card. Questo attacco consente nell'intercettare mediante dispositivi hardware appositi, i messaggi che la Smart-Card e il “lettore” si scambiano. Può capitare infatti che in molte implementazioni sia necessario trasmettere informazioni che non siano dirette all'utente finale, ma che servano ad altri scopi. Alcune di queste informazioni possono essere certificati digitali o chiavi di cifratura utilizzate successivamente per la comunicazione di informazioni attraverso la rete e che la Smart-Card deve inviare al programma sotto il controllo dell'utente. Queste informazioni, che normalmente non dovrebbero essere visibili dall'utente ma che servono al software per le comunicazioni, possono essere tracciate mediante questi apparati detti “datalogger” che si frappongono tra la SmartCard ed il “lettore”. Questo genere di attacco, per quanto possa essere relativamente semplice da realizzare, comporta un lavoro intellettuale non indifferente da parte del potenziale attacker, in quanto i dati che verranno così acquisiti (poiché acquisiti sottoforma di word esadecimali) dovranno essere analizzati prima di poter essere utilizzati. C.5.2. Attacchi basati sul glitching Tutte le Smart-Card che vengono utilizzate per scopi di autenticazione o per crittografare informazioni con certificati e firme digitali, sono costituite da due aree di memoria principali: una contiene il programma, l'altra contiene le informazioni riservate. Se la Smart-Card è realizzata in modo corretto, la porzione di memoria che contiene le informazioni riservate è ad accesso ristretto e solamente l'elaboratore interno alla Smart-Card stessa può accedere per scrivere e prelevare informazioni da elaborare. Dal momento che certificati digitali, chiavi e passphrase per la firma digitale dei documenti e la crittografia sono contenuti proprio in quest'area di memoria, gli attacchi saranno mirati a violare tali porzioni del chip della Smart-Card. Gli attacchi di tipo “glitching” sono attacchi che mirano alla violazione di quest'area di memoria mediante alterazione della frequenza di lavoro del microcontrollore contenuto nella carta. La conoscenza a priori (per via dello standard ISO7816) delle frequenze di lavoro dei microcontrollori implementati sulla Smart-Card che si vuole attaccare, può essere sfruttato per violare la sicurezza delle Smart-Card in quanto molto spesso, a causa della loro intrinseca semplicità architetturale, questi chip effettuano degli errori di elaborazione se costretti a lavorare a delle frequenze diverse da quelle per le quali sono stati progettati. Sfruttando questa vulnerabilità architetturale si può forzare lo svolgimento di operazioni non consentite, come mandare in buffer-overflow il programma in esecuzione nel chip e ottenere quindi accesso in lettura o scrittura ad aree di memoria normalmente non accesibili, prelevando informazioni riservate o modificandone i dati. Questi attacchi, anche se più complessi in termini di realizzazione (spesso è necessario l'ausilio di hardware appositamente studiato e di non facile reperibilità), risultano essere molto efficaci in quanto richiedono poco tempo e permettono di esaminare informazioni molto più specifiche, al contrario del datalogging che richiede una mole di dati non indifferenti all'interno dei quali possono essere contenute anche informazioni che non sono di alcun rilievo (e che devono comunque essere analizzate per stabilire che non sono informazioni importanti). C.5.3. Come prevenire gli attacchi Il sistema che permette di prevenire queste due diffuse tipologie di attacco alle Smart-Card è molto semplice quanto pericoloso nella sua implementazione e consiste nel non rispettare lo standard ISO7816 per quanto concerne le frequenze di elaborazione e di trasmissione dei messaggi. Una tale alterazione di frequenze infatti impedisce ai comuni dispositivi e software di jogging di ricevere e di analizzare in modo corretto i messaggi scambiati tra la scheda e il “lettore” e allo stesso tempo impedisce attacchi glitching in quanto non conoscendo la frequenza originale di lavoro non è possibile pronosticare con esattezza la frequenza oltre la quale il funzionamento del microcontrollore diventerà instabile. Il mancato rispetto dello standard ISO7816 implica tuttavia conseguenze non indifferenti. La modifica della frequenza di lavoro rispetto allo standard, infatti, necessita che anche l'interfaccia utilizzata per comunicare con la Smart-Card (il “lettore”) sia appositamente studiata per funzionare con tali frequenze; questo è un problema di implementazione non indifferente per la realizzazione di applicazioni distribuite su larga scala, in quanto richiede non solo la realizzazione di microcontrollori ma anche di “lettori” appositamente realizzati da distribuire in “bundle” con le Smart-Card. La seguente tabella riporta l'allocazione dei FID ai diversi “servizi aggiuntivi” definiti dalle Pubbliche Amministrazioni e/o dai Certificatori Accreditati. Il FID (File IDentifier) identifica univocamente la directory su Smart-Card (DF) contenente i dati relativi al servizio aggiuntivo, all'interno della DF2. L'allocazione di un FID può essere ottenuta inviando una richiesta al CNIPA contenente una descrizione del servizio aggiuntivo. FID Allocato a 1F01 Actalis S.p.A. Descrizione Servizio general purpose di storage dati applicativi 1F02 Panini Italia Gestione di Buoni Elettronici e relativi servizi S.r.l. di transazioni di tipo non bancario 1F03 TV-Card Applicativo TV-Safe 1F04 Green Gestione Electronic-Ticketing e Smart Access Group S.r.l. 1F05 Finsiel - TSF Gestione di servizi per trasporto pubblico 1F06 Regione Lombardia Gestione dei servizi regionali lombardi