CENTRO DI ECCELLENZA ITALIANO SULLA CONSERVAZIONE DIGITALE Firma digitale e marcatura temporale SILVIO SALZA Università degli Studi di Roma La Sapienza CINI- Consorzio Interuniversitario Nazionale per l Informatica salza@dis.uniroma1.it Work supported by the European Community under the Information Society Technologies (IST) program of the 7th FP for RTD SILVIO SALZA - Università di Roma project La APARSEN, Sapienza ref. Firma 269977 digitale e marcatura temporale SILVIO SALZA - Università di Roma La Sapienza 1
LICENZA DI DIRITTO D AUTORE Questo materiale è rilasciato sotto licenza Creative Commons CC BY-NC-ND Questa licenza implica che: È possibile copiare e distribuire liberamente questo materiale, a patto che non vengano apportate modifiche e che vengano mantenute le indicazioni di chi è l'autore dell'opera. Ciò è però consentito esclusivamente quando avvenga per scopi non commerciali. Non è consentito di distribuire opere derivate, cioè contenenti qualsivoglia modifica rispetto al materiale originale. Per maggiori dettagli si rimanda direttamente alla licenza: Riassunto della licenza: http://creativecommons.org/licenses/by-nc-nd/3.0/it/deed.it Licenza completa: http://creativecommons.org/licenses/by-nc-nd/3.0/it/legalcode SILVIO SALZA - Università di Roma La Sapienza 2
Autenticazione del documento informatico Autenticazione del documento informatico: la validazione del documento informatico attraverso l associazione di dati informatici relativi all autore o alle circostanze, anche temporali, della redazione. CAD art. 1, comma 2 L idea è quella di associare al documento un insieme dei dati (la firma elettronica) che permettano di identificarne l autore Un ulteriore passo è quello di vincolare la firma al contenuto del documento nell istante in cui è stato sottoscritto Il CAD prevede una (eccessiva) varietà di tipologie di firma digitale: ciò è fonte di grande confusione Le discuteremo nel seguito 3
Autenticazione tramite cifratura La quasi totalità dei metodi di firma elettronica sono basati sulla cifratura: Il firmatario genera una versione cifrata del documento usando un sistema di chiavi di cifratura in suo possesso Il documento può essere decifrato e riportato in chiaro solo disponendo del sistema di chiavi usato per cifrarlo Siccome questo è univocamente associate al firmatario ciò attesta la provenienza del documento La versione cifrata (firmata) del documento risulta univocamente associata al possessore del sistema chiavi
Cosa garantisce la cifratura? L autenticazione tramite cifratura garantisce l autenticità del documento, ma va anche al di là di quanto richiesto dalla definizione base del CAD Infatti si può osservare che: a) E impossibile produrre falsi a meno che non si disponga del sistema di chiavi di cifratura b) E impossibile alterare il contenuto documento agendo sulla versione cifrata: la decifratura non andrebbe a buon fine. Questo garantisce oltre all autenticità anche l integrità del documento, cioè il fatto che il suo contenuto sia esattamente quello che è stato oggetto della procedura di autenticazione 5
Schemi di cifratura E(m,k E ) = m, D(m,k D ) = m m : messaggio m : messaggio cifrato E : funzione di cifratura D : funzione di decifratura k E : chiave di cifratura k D : chiave di decifratura Serve a proteggere la riservatezza dell informazione trasmessa tra due corrispondenti, ma anche a proteggere i contenuti da azioni che ne violino l autenticità Occorre, nel caso generale, una coppia di chiavi k E per cifrare e k D per decifrare Le funzioni di cifratura e decifratura si suppongono note a tutti La sicurezza del sistema è legata alla segretezza delle chiavi 6
Codici a chiave privata KPRIV KPRIV m ENCR m SOURCE DECR DESTINATION m La chiave di cifratura coincide con quella di decifratura in un unica chiave KPRIV La conoscenza della chiave compromette il codice E lo schema di crittografia tradizionale. Ma c è un grosso problema: i corrispondenti si devono scambiare la chiave. Questo ne rende l uso difficele (impossibile) su Internet 7
Codici a chiave pubblica KPUB KPRIV m ENCR m SOURCE DECR DESTINATION m Codifica effettuata con la chiave pubblica K PUB, nota a tutti Decodifica effettuata con la chiave privata K PRIV La chiave pubblica non consente di decodificare i messaggi Nessun problema nella distribuzione della chiave pubblica E lo schema ideale per Internet, dove i corrispondenti non si sono necessariamente incontrati (per scambiarsi la chiave) prima di doversi trasmettere informazioni riservate. 8
Autenticazione con codici a chiave pubblica KPUB KPRIV m ENCR m SOURCE DECR DESTINATION m Codifica effettuata con la chiave privata Il possessore della chiave privata firma il messaggio Chiunque, con la chiave pubblica può verificare che il messaggio sia stato effettivamente cifrato dal possessore della chiave privata Occorre comunque accertarsi di come ci si è procurati la chiave pubblica. Per questo servono terze parti attendibili 9
Impronte digitali (digest) Una impronta digitale (digest) è un piccolo file estratto da un grosso documento con proprietà molto particolari Dato un documento D, speciali funzioni matematiche (hash) consentono di ottenere piccole impronte di lunghezza fissa Documenti diversi generano impronte diverse Se il documento è modificato, anche di un singolo bit, allora l impronta cambia Il processo non è reversibile: non è possibile capire come modificare un documento lasciando l impronta invariata Ricavare l impronta di un documento e custodirla serve a garantirne l integrità: per verificarla ricalcolo l impronta, se è cambiata ciò indica che il documento è stato modificato 10
Verifica dell integrità tramite impronta message Documento message Calcolo SHA dell impronta SHA Impronta Digest Digest del of of documento the the nella Original Original versione message message originale Impronta Digest Digest of of del current current documento nella message versione messageattuale The The two Le two due digests digests impronte are are the coincidono? the same? same? same same SI different different NO DOCUMENTO INTEGRO DOCUMENTO MODIFICATO 11
Generazione e verifica della firma digitale La firma digitale è ottenuta cifrando non l intero documento, ma una sua impronta usando la propria chiave privata: PASSO 1: si calcola l impronta del documento PASSO 2: si cifra l impronta con la propria chiave privata Un documento firmato è composto da due parti: Il file documento che viene sottoscritto La firma digitale costituita dall impronta cifrata e dall indicazione di chi ha apposto la firma La verifica della firma può essere effettuata da chiunque: PASSO 1: ci si procura la chiave pubblica del firmatario PASSO 2: decifra la firma ottenendo l impronta originale PASSO 3: si calcola l impronta del documento PASSO 4: si confrontano le due impronte 12
Generazione della firma digitale message Documento message Calcola SHA SHA impronta Impronta digest digest Chiave RSA RSA private private privata key key Cifratura RSA RSA signature signature Firma 13
Verifica della firma digitale Firma signature signature digitale Documento message message Chiave Public pubblica Public RSA RSA key key del of firmatario of the the signer signer Decifratura RSA RSA Calcola SHA SHA impronta Impronta Digest Digest of of del the the documento message message When When originale it it was was signed signed Impronta Current Current del Digest documento Digest of of the the attuale message message Le impronte Are Yes the coincidono? Are the same? SI same? No NO VALIDA NON VALIDA 14
Autorità di Certificazione Come mi procuro la chiave pubblica del firmatario? Occorre un autorità credibile e super partes Una Certification Authority (Certificatori) Identifica ed autentica gli utenti Genera coppie di chiavi Consegna la chiave privata al richiedente Conserva le chiavi pubbliche È ritenuta credibile da tutti gli utenti Fornisce a richiesta le chiavi pubbliche Per la firma digitale in Italia, il CAD e le relative regole tecniche prevedono precise e dettagliate procedure di autorizzazione e di controllo per i Certificatori. 15
Certificati digitali Un certificato digitale è un file che contiene, in un formato prefissato, le informazioni relative ad un soggetto abilitato a generare firme digitali I certificatori pubblicano i certificati firmandoli con la propria chiave privata Ciascun certificato include Identificazione del certificatore Timestamp di validità del certificato Nome e dati dell utente La chiave pubblica dell utente Al fine di garantire l interoperabilità, il formato dei certificati digitali è regolato da norme emanate da organismi internazionali di standardizzazione (ITU, IETF) 16
Certificati digitali (ITU X-509) ITU (International Telecommunication Union) X-509 IETF (Internet Engineering Task Force) RFC 1422 17
La normativa italiana La normativa italiana in materia di firma digitale è molto articolata (per usare un eufemismo) Vengono previsti diversi tipi di firma digitale, e non sempre le differenze sono chiare: Firma elettronica Firma elettronica avanzata Firma elettronica qualificata Firma digitale Un ulteriore problema è che le nuove regole tecniche, che dovevano essere emanate dopo l ultima versione del CAD, sono ancora allo stato di bozze 18
Il quadro normativo (solo il più recente!) Direttiva europea 1999/93/CE del 13 dicembre 1999 DPCM 13 gennaio 2004 (regole tecniche) Deliberazione CNIPA n. 4 del 17 febbraio 2005 Regole per il riconoscimento e la verifica del documento informatico Decreto legislativo 7 marzo 2005, n. 82 Codice dell amministrazione digitale Protocollo di intesa del 16 febbraio 2006 per la firma digitale nel formato PDF Decreto legislativo 4 aprile 2006 n. 159 Disposizioni integrative e correttive al decreto legislativo 7 marzo 2005, n. 82 recante Codice dell amministrazione digitale Deliberazione CNIPA n. 34 del 18 maggio 2006 Regole tecniche per la definizione del profilo di busta crittografica per la firma digitale in formato XML DPCM del 30 marzo 2009 Decreto legislativo 30 dicembre 2010, n. 235, (versione aggiornata del Codice dell amministrazione digitale) DPCM 22 febbraio 2013 Nuove regole tecniche sulla firma digitale. 19
Firma elettronica Firma elettronica: l'insieme dei dati in forma elettronica, allegati oppure connessi tramite associazione logica ad altri dati elettronici, utilizzati come metodo di identificazione informatica CAD art. 1, comma 1 q) E il tipo generico e può essere realizzata con qualsiasi strumento (password, PIN, digitalizzazione della firma autografa, tecniche biometriche, ecc.) in grado di conferire un certo livello di autenticazione a dati elettronici Il documento informatico, cui è apposta una firma elettronica, sul piano probatorio è liberamente valutabile in giudizio, tenuto conto delle sue caratteristiche oggettive di qualità, sicurezza, integrità e immodificabilità (CAD art. 21). 20
Firma elettronica avanzata Firma elettronica avanzata: insieme di dati in forma elettronica allegati oppure connessi a un documento informatico che consentono l identificazione del firmatario del documento e garantiscono la connessione univoca al firmatario, creati con mezzi sui quali il firmatario può conservare un controllo esclusivo, collegati ai dati ai quali detta firma si riferisce in modo da consentire di rilevare se i dati stessi siano stati successivamente modificati CAD art. 1, comma 1 q-bis) La differenza è nel fatto che consente di identificare in modo univoco il firmatario e sul collegamento ai dati Garantisce cioè l evidenza di modifiche all oggetto firmato apportate dopo la sottoscrizione Allo stato dell arte solo il sistema a chiave pubblica può garantire queste proprietà 21
Firma elettronica qualificata Firma elettronica qualificata: un particolare tipo di firma elettronica avanzata che sia basata su un certificato qualificato e realizzata mediante un dispositivo sicuro per la creazione della firma. CAD art. 1, comma 1 r) Il certificato qualificato è quello previsto dalla norma europea L altro aspetto importante rispetto alla firma avanzata è quello del dispositivo sicuro: cosa sia è specificato dalla norma europea che prevede chi e come deve certificarlo La firma qualificata è in tutto e per tutto equivalente alla firma autografa Di fatto la firma qualificata in Italia coincide nella stragrande maggioranza dei casi con la firma digitale 22
Firma digitale Firma digitale: un particolare tipo di firma elettronica avanzata basata su un certificato qualificato e su un sistema di chiavi crittografiche, una pubblica e una privata, correlate tra loro, che consente al titolare tramite la chiave privata e al destinatario tramite la chiave pubblica, rispettivamente, di rendere manifesta e di verificare la provenienza e l'integrità di un documento informatico o di un insieme di documenti informatici; CAD art. 1, comma 1 s) E un particolare tipo di firma elettronica qualificata, quello che corrisponde alla normativa italiana sui certificatori etc. Anche come tale ha la stessa validità della firma autografa 23
Firma autenticata 1. Si ha per riconosciuta, ai sensi dell'articolo 2703 del codice civile, la firma elettronica o qualsiasi altro tipo di firma avanzata autenticata dal notaio o da altro pubblico ufficiale a ciò autorizzato. 2. L'autenticazione della firma elettronica, anche mediante l acquisizione digitale della sottoscrizione autografa, o di qualsiasi altro tipo di firma elettronica avanzata consiste nell'attestazione, da parte del pubblico ufficiale, che la firma è stata apposta in sua presenza dal titolare, previo accertamento della sua identità personale, della validità dell eventuale certificato elettronico utilizzato e del fatto che il documento sottoscritto non è in contrasto con l'ordinamento giuridico CAD art. 25, commi 1 e 2) 24
Firma digitale in formato pkcs#7 (p7m) E il formato base della firma digitale in Italia La procedura di firma genera un file con extension.p7m, detto busta crittografica, il quale contiene al suo interno: Il documento firmato (in chiaro) La firma digitale (impronta crittografata) Il certificato del firmatario con la sua chiave pubblica I file p7m non sono direttamente leggibili, ma richiedono l intermediazione di apposite applicazioni che sono fornite dai certificatori con i kit di firma digitale Il formato p7m contribuisce alla meritata fama scarsa usabilità di cui gode firma digitale italiana. Fra l altro non si può nemmeno visualizzare il file firmato anche se non si desidera controllare la firma 25
Firma digitale in formato PDF La firma digitale è già prevista dallo standard PDF Tramite una convenzione tra CNIPA e Adobe ne è stata riconosciuta la validità legale Occorre ovviamente usare certificati qualificati etc. L aspetto positivo è dato dal fatto che la firma rimane in fatto interno al file E possibile visualizzare il file nel modo consueto La firma può essere apposta anche con le applicazioni gratuite (es. Acrobat Reader) La firma digitale in PDF ha molto aumentato l usabilità della firma digitale, grazie anche alla grandissima diffusione del formato. Oltretutto spinge l utente ad usare un formato non proprietario e con aspetti positivi anche sul versante della conservazione 26
Firma digitale in formato XML Le regole tecniche introducono, a partire dal 2006 una procedura per la firma dei file in formato XML Si tratta di un tipo alternativo di busta crittografica XML in realtà non è un formato, ma un linguaggio che permette di generare file con strutture complesse e nidificate Molti documenti destinati a processamento automatico sono in formato XML Documenti in formato XML assumono grande rilievo in settori quali quello bancario e quello sanitario 27
HSM (Hardware Security Module) Dispositivi crittografici ad alte prestazioni, contengono una o più dispositivi di firma (smartcard o altro) La firma viene apposta dal HSM previa autenticazione del firmatario (anche remoto) Usati in sistemi di firma massiva (es. conservazione documentale): alle centinaia alle migliaia di firme al secondo Tramite gli HMS è possibile realizzare sistemi di firma remota: l utente viene autenticato tramite token: Generatori di OTP (One Time Password) SIM di telefoni cellulari Alcuni sistemi sono già attivi, ma mancano ancora regole precise. Il complesso HSM + sistema di autenticazione può essere considerato come estensione del dispositivo di firma 28
Valore probatorio del documento sottoscritto A. Il documento su cui è apposta una firma elettronica, sul piano probatorio è liberamente valutabile in giudizio B. Il documento informatico sottoscritto con firma elettronica avanzata, qualificata o digitale, formato nel rispetto delle regole tecniche di cui all'articolo 20, comma 3 (rimanda alle regole tecniche!), che garantiscano l'identificabilità dell'autore, l'integrità e l'immodificabilità del documento, ha l'efficacia prevista dall'articolo 2702 del codice civile. L'utilizzo del dispositivo di firma si presume riconducibile al titolare, salvo che questi dia prova contraria. (art. 21 del CAD) Tuttavia per la firma avanzata, introdotta nell ultima versione del CAD mancano ancora le necessarie regole tecniche. 29
Validazione temporale La marcatura temporale consiste nella generazione, da parte di una terza parte fidata, di una firma digitale del documento cui è associata l'informazione relativa ad una data e ad un'ora certa Un file marcato temporalmente ha estensione m7m e contiene: Validazione temporale: il risultato della procedura informatica con cui si attribuiscono, ad uno o più documenti informatici, una data ed un orario opponibili ai terzi. CAD art. 1, comma 1, aa) Il documento validato temporalmente La marca temporale La marca viene conservata per 20 anni dal certificatore 30
Validazione temporale: modalità alternative Modalità alternative di validazione temporale sono previste dalle nuove regole tecniche a) il riferimento temporale contenuto nella segnatura di protocollo; b) il riferimento temporale ottenuto attraverso la procedura di conservazione dei documenti, ad opera di un pubblico ufficiale o di una pubblica amministrazione; c) il riferimento temporale ottenuto attraverso l'utilizzo di posta elettronica certificata d) il riferimento temporale ottenuto attraverso l'utilizzo della marcatura postale elettronica (EPCM di Poste Italiane). 31
Validità nel tempo della firma digitale I certificati hanno una scadenza, ma possono anche essere revocati o sospesi Come si verifica la firma dopo la scadenza del certificato? Occorre collocare nel tempo la firma (es. marcatura temporale, ma anche i metodi alternativi) Non è necessario che il certificato del firmatario sia stato conservato È comunque necessario disporre del certificato del certificatore con cui esso ha firmato il certificato del firmatario E verificare che esso fosse valido al tempo della firma (del certificato) Saggia prassi, in molti contesti, è verificare il prima possibile e registrare il fatto che la verifica è stata effettuata 32
Un esempio di firma digitale remota Presso l Università La Sapienza è in avanzato stato di sperimentazione la firma digitale dei verbali d esame 1. Il docente apre un appello 2. Gli studenti si iscrivono telematicamente 3. Il docente verbalizza via web l esito dell esame per tutti gli studenti iscritti (presente + voto/rinuncia/assente) 4. I dati vengono immessi nel DB 5. Il docente chiude l appello 6. Viene generato un verbale (documento pdf) 7. Il docente si autentica e firma remotamente il verbale 8. Lo studente riceve una comunicazione via e-mail In base al nuovo CAD non sarebbe nemmeno necessario generare il verbale in pdf, basterebbe firmare i dati 33
Visualizzazione del verbale SILVIO SILVIO SALZA SALZA - Università - Università di Roma di Roma La La Sapienza Sapienza - Validazione Firma digitale del e documento marcatura temporale informatico Gestione informatica dei documenti archivistici - Roma, 15 giugno 2012 34
Chiusura del verbale 35
Autenticazione e firma remota Il certificato digitale di ciascun docente è contenuto in un dispositivo HSM per la firma digitale remota Il docente è autenticato in maniera forte, in base ad un PIN, che deve ricordare, e ad un token, cioè un oggetto posseduto Il token è la SIM del cellulare del docente che è stata a suo tempo registrata Oltre al PIN è richiesta anche una chiave di sessione, visualizzata tramite web subito dopo la chiusura del verbale La denuncia di furto della SIM annulla tutte le firme apposte successivamente all evento Quelli che vengono usati sono in realtà i dati contenuti nel DB, il verbale può servire solo in caso di contestazione 36
Il codice di sessione 37
Verifica dei certificati 38