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