E’ questa la domanda che ci porremo sempre quando parliamo di sicurezza delle comunicazioni. La fase di autenticazione delle parti avviene tramite certificati digitali nelle tecnologie di comunicazione di tipo SSL. Nel momento in cui ci colleghiamo alla nostra banca noi dovremmo avere la garanzia tramite il nostro certificato di firma digitale che siamo realmente noi che interloquiamo con la banca. Il problema del riconoscimento dell’identità diventa complicatissimo. Bob e Alice si devono conoscere e riconoscere, si devono fidare l’uno dell’altro si devono entrambi fidare di questa chiave crittografica e che cosa fa nei confronti dell’altro. Il fatto della fiducia non è scontato perché nel momento in cui mi vedo in un dialogo verbale, in quell’istante l’altra persona non comunica più un suo segreto se questa comunicazione verbale viene registrata. In tutti i libri di crittografia non viene detto chi sono Bob e Alice e vengono descritti come dei punti.
La chiave deve essere memorizzata in qualche parte, su qualche supporto e nella realtà Bob e Alice possono essere dei pc e nascondere una chiave in un pc potrebbe essere come nascondere un fogliettino nel vagone di un metropolitana. Io posso anche mimetizzare una chiave in un pc. Ciò non basta e bisogna usarla bene. Se Bob usa un certo programma chiamato P che accede in una certa parte di memoria con una chiave definita K (la chiave è criptata e superprotetta), se P nel momento in cui decritta K , lo legge e poi in quello stesso momento viene attaccato e poi K lo deposita in un altra zona parziale di memoria. Molti degli attacchi informatici avvengono anche utilizzando delle informazioni delle smart card e queste informazioni transitano sulla rete e quindi diventano vulnerabili. Questo è un problema molto concreto con tanti risvolti complessi. Il morale di questa cosa che per parlare dei sistemi di monitoraggio tutto diventa molto complesso per cui possiamo avere degli strumenti molto potenti ma se non vengono utilizzati correttamente non servono a niente. Quando analizziamo un sistema di monitoraggio vuol dire che guardiamo Bob e Alice e possiamo fare due cose: la prima un pò più debole, la seconda più forte ma difficile da realizzare.
La prima consiste nell’avere delle regole semplici, ci incontriamo in un luogo sicuro e cerchiamo di ricostruire il work-flow (flusso di lavoro) delle operazioni avvengano in modalità sicura. Il limite di questo strumento è che è legato alle nostre conoscenze. Inoltre se qualcuno, il ladro, il virus, etc ci conosce bene e conoscere i nostri limiti c’è il rischio che c’e la fa e ci buca. Il secondo approccio, quello più sperimentale che in parte viene fatto e in parte no, è quello di dire che osservo tutto quello che fanno Bob e Alice in un laboratorio sperimentale, osservando tutto quello che si muove intorno a loro in un contesto che so è sicuro.
Quando però entriamo nel mondo reale, nella cosiddetta foresta classifico questo diverso come anomalia. Le difficoltà sono ricostruire questo laboratorio e la seconda che non sempre ciò che nuovo è un attacco, un anomalia perché poi le risposte che si aspettano da noi è non abbiamo raggiunto il nostro obiettivo.
Proveremo a dipingere un contesto più pratico in cui Bob e Alice si muovono, esplodendo le problematiche. Passiamo ora ad esaminare i cosiddetti sistemi informatici cooperativi, dove si intende per sistemi informatici cooperativi un insieme di organizzazioni che si incontrano per fornire un sistema di servizi e definiscono quello che è un cooperation agreement (accordo di cooperazione) nel quale stabiliscono ciò che viene fatto e quali sono i compiti che devono essere svolti.
Questo cooperation agreement attraverso un work-flow dove WF=(P,A,M,C) consente l’incontro di fornitori di servizi informatici, servizi finanziari ,fornitori delle smart card ai clienti per un modalità di accesso sicura, il provider, il fornitore di hardware ed un insieme di parti si incontrano tra di loro per erogare dei servizi. Non esiste una relazione gerarchica tra le parti , non una relazione gerarchica in quanto spesso si parla di PKI (pubblic key infrastrcture), ciò diventa molto facile mentre qui non esiste una gerarchia in quanto nessuno si fida di nessuno.
Le relazioni possono essere guidate dai contratti ma non vi è una relazione di gerarchia in quanto esiste una che comanda a livello centrale , chi ci sta ci sta, il resto deve essere eliminato. Abbiamo una matrice M che ha un mapping p*A dove m(pi)= 1. Questa equivalenza ci dice chi può fare cosa ed infine abbiamo l’insieme C che è un insieme di constraint (vincoli) che ci indica che siamo all’interno di un work-flow e se sono state eseguite tutte le azioni.
Questa è l’esplosione di tutto ciò che abbiamo detto su Bob e Alice dieci minuti fa. Questa situazione noi però la abbandoneremo in quanto se noi andiamo in un contesto reale ciò non è applicabile. Posso costruire un algoritmo se ciò è lecito oppure no. Dipende dai complessi sistemi di crittografia che utilizzeremo. Questo ci dice anche perché si realizza un sistema dei servizi ma quando si va ad implementarlo crolla tutto (l’applicazione pratica si scontra sempre con la teoria). Questo è il mondo della sicurezza informatica. Che cosa significa in un sistema come questo fare sicurezza, certificazione di quel sistema? Come certifichiamo il work flow, il cooperation agreement? Significa garantire in senso se e solo se l’insieme dei constraint C , cioè che ogni task ha delle pre-condizioni e delle post-condizioni che devono essere sempre rispettate. Se un banca non da una risposta quando viene autorizzato un ordine e non risponde entro un certo tempo, l’operazione si allunga.
Ognuno fa gli standard di servizio che ritiene propri. Viene fatta in questo caso realmente autenticazione delle parti. Per esempio si è fatto anche monitoraggio sul sistema nazionale del Ministero dell’Agricoltura, quello che succede utilizzando la tecnologia SSL. Esiste la certification authority del SIAN che deve stampare i certificati digitali pero la CA (certification authority) non è pronta. Dobbiamo provare e fare dei test sul sistema. Passiamo ora ad esaminare la gestione del monitoraggio dei sistemi di comunicazione nel processo di emissione di una carta d’identità elettronica. I comuni li dividiamo in piccoli comuni e comuni di grandi dimensioni. Li distinguiamo in comuni con postazioni master ( per i comuni piccoli) e comuni con postazioni slave (grandi comuni hanno sia una master che una slave). Il sistema di emissione della cie in precedenza era asincrono cioè tutte le operazioni concernenti il flusso di emissione di una cie non avvenivano nella stessa fase di lavoro.
Cioè la richiesta di emissione non avveniva in coincidenza dell’emissione della cie stessa. Nel caso dei grandi comuni le comunicazioni tra slave e master avvenivano in rete e quindi in sicurezza. Il comune riceveva i supporti dall’IPZS (Istituto Poligrafico Zecca dello Stato) che inviava i supporti magnetici per le carte tramite un canale non informatico ma con un portavalori. Queste comunicazioni viaggiano su internet in quanto vi è un server ssl che impacchetta i dati . Vi è una comunicazione ssl verso il cnsd (Centro Nazionale dei Servizi Demografici). Un certificato ha dei campi che identificano l’ente certificato (il campo common name), il paese ( il campo country), etc. Vi è una sorta di mistica in questi casi che protegge tutto la qual cosa non è vera.
Questo riceva il pacchetto ssl, lo spacchetta e quindi è una comunicazione http e vi è una sorta di dispatcher che parla con tre tipi di server (la CA, il DBMS ed il server CIE vero e proprio). Vi sono anche i controlli esterni che significa che per emettere dentro una carta, vi è un certificato, una chiave privata e devo quindi verificare l’esistenza di una certification authority. Vi è il server CIE che gestisce il tutto. Affinchè una carta sia emettibile il cittadino deve essere iscritto all’INA (indice nazionale delle anagrafi), gli enti coinvolti sono i comuni, l’IPZS, il cnsd, il Ministero degli Interni, ANCITEL.
Le postazioni di emissione cie sono fortemente complicate ed altamente tecnologiche. Tutto ciò rientra nel discorso di qualità del servizio di cui parlavamo prima. Questi organi non sono legati da un’organizzazione gerarchica, i comuni non sono sottoposti al ministero. Una sessione di lavoro di cie svolge tramite una sessione di richiesta, l’attivazione della carta, l’emissione o la sua eventuale richiesta di revoca. Su questo contesto dobbiamo notare che vi sono diversi sistemi di sicurezza perché ciascun ente ha messo il suo sistema di sicurezza e le sue prerogative. Come Università di Tor vergata è stato sviluppato un sistema di monitoraggio e controllo nel quale ci fossero comunicazioni ssl pki, etc.
Come architettura del sistema è stato installato su ognuna delle postazione master dei 128 comuni sperimentali un agente di monitoraggio solo sulle postazioni master e degli agenti di monitoraggio sulle postazioni server. Al cnsd esiste un server chiamato RCS (gestisce la sistemistica degli agenti di monitoraggio e ne verifica il corretto funzionamento) e un altro server degli agenti di monitoraggio. Gli agenti di monitoraggio raccolgono dei dati ed inviano i dati al server RCS. Questo server li memorizza su un database, su un allarm server che monitora continuamente il database e poi lancia un allarme se si verifica un anomalia.