Elementi di Crittografia e Firma digitale Appunti della lezione del Prof. Stefano Russo docente di Informatica giuridica alla LUISS “Guido Carli” 1 FIRMA DIGITALE come fenomeno tecnico-giuridico La firma digitale è un fenomeno tecnico giuridico. E’ uno strumento in cui convergono tecnologia e diritto. Il diritto da valore legale allo strumento; senza il diritto la firma digitale non servirebbe a molto. Il diritto senza la tecnologia relegherebbe la firma digitale solo all’interno di un dispositivo normativo come intuizione. 2 Perché occorre parlare prima di crittografia per affrontare il discorso della firma Digitale? La firma digitale è il risultato di una procedura informatica che si basa su particolare un sistema di crittografia a chiave pubblica (o sistema asimmetrico). La firma digitale deriva, quindi, direttamente dalla crittografia che non viene utilizzata a scopo di segretezza ma di autenticazione. In altri termini, la crittografia è soltanto la base logica e tecnologica della firma digitale. Nella firma digitale il fine della crittografia non è garantire la riservatezza delle informazioni, ma garantire l’autenticità delle informazioni assicurando la certezza sulla provenienza. 3 1 La protezione dell’informazione La crittografia viene utilizzata per la protezione di informazioni riservate, quali i messaggi di interesse militare, diplomatico o industriale. Tecnica che permette, con l’aiuto di un algoritmo matematico, di trasformare un messaggio leggibile da tutti in una forma illeggibile per chi non abbia una chiave segreta di decifrazione. Conosciuta già nell’antichità, deriva dal greco kryptos che significa “nascosto, celato”. L'uso della crittografia ha avuto una notevole evoluzione nel Novecento con l'uso di macchine cifranti (Enigma) e di calcolatrici per la decrittazione (Colossus). La crittografia per usi civili e militari assume oggi importanza ancor maggiore con l’espansione delle reti telematiche. 4 La crittografia La crittografia è una tecnica che impiegando trasformazioni matematiche complesse ha come scopo quello di rendere leggibile un insieme di informazioni solo al destinatario o ai destinatari prefissati. Un messaggio crittografato si presenta a occhi estranei come un insieme incomprensibile di cifre o lettere e torna ad essere normalmente leggibile solo dopo aver applicato a ritroso il codice di crittazione e aver inserito la corretta chiave segreta di decifrazione. La crittografia è stata sempre stata un’arte militare. 5 Sistemi crittografici Sistemi di codifica simmetrici a chiave segreta (o chiave privata) Sistemi di codifica asimmetrici a chiave pubblica (o a doppia chiave – una pubblica ed una privata) 6 2 Sistemi di codifica simmetrici: inconvenienti della cifratura simmetrica I sistemi sono sempre reversibili. La chiave per la codifica è la stessa utilizzata per la decodifica. La trasmissione della chiave tra i soggetti della comunicazione deve essere sicura (key management). Esplosione combinatoria delle chiavi: in genere la chiave è diversa per ogni coppia di persone: pertanto n persone danno luogo a: n • (n-1) C 2 2 3 chiavi diverse. 5 D Difficoltà di gestione. B 6 4 Esempio: 4 persone danno luogo a 6 chiavi diverse 1 A 7 Principali algoritmi di crittografia simmetrici DES 3DES (Triple – DES) IDEA RC2 RC4 8 Sistemi di codifica asimmetrici La chiave per la codifica è diversa da quella utilizzata per la decodifica. Ogni persona ha una coppia di chiavi: una, indicata da h, viene resa nota (chiave pubblica) l’altra, indicata da j, viene tenuta segreta (chiave privata) Semplicità di gestione. 9 3 Principali algoritmi asimmetrici RSA DSA ElGamal 10 RSA Prende il nome dalle iniziali dei suoi inventori: R, Rivest, A. Shamir, L. Adleman. Algoritmo a chiavi pubbliche di lunghezza non inferiore a 1024 bit. Algoritmo universalmente accettato. Può essere utilizzato sia per cifrare che per ottenere firme digitali. Si basa sulla difficoltà matematica a fattorizzare numeri molto grandi prodotto di numeri primi. La firma (cifratura con la chiave privata dell’impronta del documento informatico) è più lenta della verifica della firma. 11 RSA L’algoritmo RSA è considerato sicuro se sono utilizzate chiavi abbastanza lunghe: -con chiavi di 512 bit è insicuro; -con chiavi di 768 bit moderatamente sicuro; -con chiavi di 1024 bit buono. 12 4 Firma digitale Descrizione 13 Introduzione Problema: necessità di garantire l’autenticità e l’integrità di un documento informatico - nel momento della formazione e nel momento della trasmissione - per potergli attribuire valore giuridico. Soluzione: approntare dei sistemi di sicurezza dei dati, fondati sulle tecniche crittografiche CRITTOGRAFIA ASIMMETRICA 14 Vantaggi della crittografia asimmetrica 9 Chiave crittografica privata rimane di uso esclusivo del titolare. 9 E’ sempre possibile determinare la provenienza tramite la corrispondenza con la chiave crittografica pubblica. 9 Affinché un sistema di crittografia asimmetrica funzioni è necessaria una “terza parte fidata” individuata nella figura del CERTIFICATORE. 9 La chiave pubblica è diffusa a cura del CERTIFICATORE (terza parte fidata) che ne assicura l’associazione al titolare e la complementarietà con l’altra chiave (privata). 9Il sistema si basa, quindi, su di una Public Key Infrastructure. 15 5 PKI - Infrastruttura di Chiave Pubblica -Public Key Infrastructure Insieme di tecnologie, politiche, processi e persone utilizzate per gestire (generare, distribuire, archiviare,utilizzare,revocare) chiavi di crittografia e certificati digitali in sistemi di crittografia a chiave pubblica. 16 CERTIFICATORE: COMPITI E FUNZIONI 9generazione chiave pubblica e privata; 9pubblicizzare e rendere disponibile (on line) le chiavi pubbliche; 9identificare il titolare della chiave pubblica e rilasciare un certificato con i suoi dati disponibile (on line) a tutti; 9garantire la corrispondenza tra chiave pubblica e titolare (P.K.I. – Public Key Infrastructure); 9sottostare ad un Ente superiore che assicuri l’interoperabilità; 9validare temporalmente i documenti (marca temporale); 9pubblicare e aggiornare la lista dei certificati sospesi o revocati. 17 Chiave pubblica e chiave privata Si tratta di due stringhe di bit di lunghezza definita dal legislatore (1024 bit). La chiave privata, per motivi di sicurezza e riservatezza, viene custodita (memorizzata) all’interno di microchip di carte intelligenti (smart card) e il loro accesso è protetto da un codice PIN, che preclude l’utilizzo della carta a chi non ne è titolare (o non è stato autorizzato da questi). Ogni coppia di chiavi si riferisce univocamente ad un utente. C’è una relazione tra la chiave privata e quella pubblica (quest’ultima permette la decifrazione di quanto è stato cifrato con la chiave privata), ma dall’una è impossibile risalire all’altra. 18 6 La smart card (“carta intelligente”) La smart card ha il compito di conservare in modo sicuro la chiave privata del titolare e generare al proprio interno (“a bordo”) firme digitali. E’ un dispositivo “intelligente”, formato da un supporto plastico di dimensioni pari a quelle di una carta di credito, al cui interno è “fuso” un circuito integrato (chip). E’ stata scelta come supporto in virtù della sua: 9elevata capacità di memorizzazione; 9sicurezza e protezione degli accessi; 9può eseguire operazioni anche di una certa complessità. 19 Drive per la smart card Le Smart Card da sole sono inutilizzabili. Necessitano di un lettore (drive). In verità si tratta di un lettore/scrittore. I lettori utilizzati sono del tipo a inserzione. 20 Sicurezza della smart card L’obiettivo della sicurezza è la custodia dei dati contenuti nelle Smart Card (chiavi crittografiche, certificati, ecc.). Questo obiettivo è perseguito tramite: ¾ Sicurezza fisica (l’insieme delle contromisure messe in atto per proteggere le informazioni da attacchi condotti). ¾ Sicurezza logica (codici personali di accesso alle informazioni (PIN); funzioni che consentono di rendere non modificabili e accessibili in sola lettura alcuni dati; funzioni che consentono di rendere non esportabili chiavi e codici di accesso). 21 7 Token USB La Smart Card è lo strumento di base che consente di firmare digitalmente i documenti. In alternativa alla Smart Card può essere utilizzato il Token USB 22 Certificato digitale di sottoscrizione Il Certificatore rilascia, insieme al dispositivo di firma digitale, un certificato digitale di sottoscrizione, del quale forma e contenuto sono stabiliti dalla legge. E’ un documento elettronico, file non più lungo di 2 KB con due possibili estensioni: .CER (in base allo standard X.509, codificato binario o base 64); .P7B (previsto dai laboratori RSA, corrisponde ad un file PKCS#7 senza dati; PKCS#7 è uno standard del PKCS Public-Key Cryptography Standards). 23 Standard del certificato digitale di sottoscrizione Standard X.509 Definisce il formato dei certificati digitali utilizzato per la gestione delle chiavi pubbliche degli utenti. 24 8 Funzione del certificato digitale di sottoscrizione Collega i dati utilizzati per verificare la firma digitale (chiave pubblica) ai dati identificativi del titolare e conferma l'identità informatica del titolare stesso. Contiene inoltre: -numero di serie del certificato; -ragione sociale del certificatore; -chiave pubblica; -validità temporale del certificato (di norma 3 anni) -firma digitale del certificato a cura del Certificatore; -altro… 25 Certificati digitali Distinguiamo 2 tipi di certificati: 1) certificati di sottoscrizione; 2) certificati di autenticazione. 26 Certificati digitali di sottoscrizione e di autenticazione I certificati di sottoscrizione consentono: 9 la sottoscrizione di un documento informatico; 9 la certezza della provenienza del documento sottoscritto, attraverso la verifica, da parte del destinatario, dell’identità del firmatario; la certezza dell’integrità e dell’assenza di alterazioni nel documento firmato; la non ripudiabilità da parte di chi ha sottoscritto. I certificati di autenticazione sono solitamente opzionali, e consentono di firmare i messaggi di posta elettronica (posta sicura). La procedura di firma, consente di rendere certo l'autore del messaggio. I certificati di autenticazione possono inoltre sostituire, nelle applicazioni predisposte, l'accesso tramite user-id e password con quello più sicuro mediante smart card. Per l'emissione dei certificati digitali di autenticazione è pertanto indispensabile l'indicazione dell'indirizzo di posta elettronica. 27 9 Periodo di validità dei certificati digitali Tutti i certificati hanno un periodo di validità prefissato (indicato nel certificato stesso. Di norma 3 anni). È possibile però far cessare la loro validità prima del tempo chiedendo la REVOCA o la SOSPENSIONE (temporanea) del certificato. 28 Revoca del certificato digitale Occorre revocare il certificato nel momento in cui si dovesse perdere il possesso del dispositivo di firma (smart card) a causa di furto o smarrimento (o anche di danneggiamento del dispositivo). Elenco certificati e lista di revoca sono accessibili via LDAP. Lightweight Directory Access Protocol è un protocollo standard che permette l’accesso e l'interrogazione di datainfo sugli utenti di una rete attraverso dei protocolli TCP/IP. La firma digitale non è ripudiabile; in caso di mancata revoca il titolare è quindi responsabile di tutti i danni cagionati dall’uso improprio del dispositivo. Tale responsabilità viene meno nel momento in cui viene comunicata la revoca (o la sospensione) al Certificatore. 29 Certificato qualificato di sotoscrizione E’ il certificato elettronico conforme ai requisiti di cui all'allegato I della direttiva n. 1999/93/CE, rilasciati da certificatori che rispondono ai requisiti di cui all'allegato II della medesima direttiva. 30 10 L’IMPRONTA Nella firma digitale quello che viene cifrato con la chiave privata del mittente NON è tutto il documento, ma solo una piccola parte di esso detta “IMPRONTA”. L’IMPRONTA di un documento è una stringa di controllo del file (documento) di origine. È in corrispondenza col file di origine e viene creato a partire da quest’ultimo, ma il processo non è in alcun modo reversibile. Ogni IMPRONTA è UNICA, cioè SOLO due documenti UGUALI (cioè lo stesso documento!) generano due impronte UGUALI. 31 L’IMPRONTA (continua) L’IMPRONTA viene ottenuta applicando al documento informatico una opportuna funzione matematica “di contrazione” detta di HASH (da “to hash”=digerire). L’IMPRONTA viene anche detta “valore di hash”, checksun crittografico” o “message digest”. E’ un valore di controllo sulla integrità dei dati. 32 L’IMPRONTA (continua) Ad esempio, due file che contengano queste frasi: Accetto di acquistare 3 libri a 20 euro Accetto di acquistare 2 libri a 30 euro hash hash Impronta 1 ≠ Impronta 2 pur contenendo lo stesso NUMERO e TIPO di caratteri, genereranno due impronte completamente diverse (e dalle quali non si può risalire al documento originario). In pratica la funzione di HASH è un algoritmo che, a partire da un file (sequenza di bit) di dimensioni variabili (dal numero e dalla posizione dei caratteri che lo compongono), ne genera un secondo, detto IMPRONTA, di dimensioni fisse (normalmente 160 bit o 256 bit), in modo che risulti DIVERSA per ogni possibile documento. 33 11 L’IMPRONTA (continua) Riassumendo: la funzione di HASH genera, a partire da una generica sequenza di bit, una impronta in modo tale che risulti di fatto impossibile, a partire da questa, risalire alla sequenza originaria da cui è stata generata”, ed altresì risulti di fatto impossibile determinare una coppia di sequenze di bit che generino due impronte uguali. E’ quindi una funzione univoca operante in un sol senso (ossia, che non può essere invertita). 34 Standard utilizzato come algoritmo di HASH: SHA256 SHA256 (Secure Hashing Algoritm-256) è una funzione non invertibile. Applicato a un documento di lunghezza arbitraria, produce un valore di controllo di lunghezza pari a 256 bit (32 byte) che viene detto «IMPRONTA DIGITALE»: è un numero. 35 Altri algoritmi di hash MD2 – Message Digest 2 (valore di controllo a 128 bit) MD4 – Message Digest 4 (valore di controllo a 128 bit) MD5 – Message Digest 5 (valore di controllo a 128 bit) RIPEMD-160 (RACE Integrity Primitives Evaluetion Message Digest) ¾ Nuovi algoritmi di Hash: SHA-256 (256 è il numero di bit del valore di controllo (stringa) che la funzione genera) SHA-512 (512 è il numero di bit del valore di controllo (stringa) che la funzione genera) Whirlpool Tiger 36 12 L’Integrità del documento e scambio di documenti in rete Un sistema di sicurezza di rete deve offrire servizi in grado di proteggere il documento a modifiche non autorizzate apportate durante la trasmissione. Questa protezione si ottiene applicando da parte del mittente una funzione di hash non invertibile sul documento ottenendo così un valore di controllo che verrà accodato al documento da trasmettere. Il destinatario alla ricezione del documento eseguirà la stessa funzione di hash sul documento e confronterà il risultato ottenuto con il valore di controllo accodato al documento. Se i due valori di controllo non coincidono vuol dire che sono stati modificati e il destinatario non accetta il documento. 37 Validazione di un file Si parla di validazione di un file quando si deve rendere dimostrabile che quel file è rimasto tale e quale nel corso del tempo, senza che qualcuno lo abbia modificato. Un metodo molto efficace per validare un file viene detto hashing. 38 Esempio di validazione di un file con il programma Fsum e algoritmo SHA-1 File da validare File contenente il codice di controllo del file espresso in notazione esadecimale Impronta stringa di 160 bit 39 13 Programma Fsum per generare l’hash (www.slavasoft.com) 40 Programma Fsum per generare l’hash (www.slavasoft.com) 41 Validazione di un file: esempio File modificato File contenente il codice di controllo – diverso dal precedente Impronta stringa di 160 bit 42 14 LA FIRMA DIGITALE Applicando la chiave privata all’IMPRONTA si ottiene tecnicamente la firma digitale che pertanto è l’IMPRONTA CRITTOGRAFATA utilizzando la chiave privata del firmatario. Tale IMPRONTA CRITTOGRAFATA (o FIRMA DIGITALE) viene poi “allegata” al file di origine, che diventa così un file “firmato”. Al file firmato viene aggiunta l’estensione .p7m. N.B.: poiché la FIRMA DIGITALE è un’IMPRONTA CRITTOGRAFATA attraverso la chiave privata, e l’IMPRONTA è sempre diversa (a seconda del documento a cui si riferisce), esistono INFINITE firme digitali, una per ogni documento firmato. L’unica cosa che non varia mai è la CHIAVE PRIVATA. 43 LA FIRMA DIGITALE Vediamo quindi ora schematicamente COME si firma un documento e come si VERIFICA se la firma apposta è valida (cioè se il documento proviene dalla persona indicata e se risulta integro, ossia non è stato alterato). 44 Apposizione di firma digitale ad un documento Accetto di acquistare 3 libri a 20 euro Viene applicata la funzione di hash si ottiene l’impronta dlak orjd cles kcoe hjkd Viene applicata la chiave privata Si ottiene la firma digitale (impronta criptata) =!(“”&(!”%/!%”&!/%&”/!&/ Viene unita la firma digitale al documento Accetto di acquistare 3 libri a 20 euro =!(“”&(!”%/!%”&!/%&”/!&/ 45 15 Verifica della firma digitale Accetto di acquistare 3 libri a 20 euro viene estratto il documento originario =!(“”&(!”%/!%”&!/%&”/!&/ Accetto di acquistare 3 libri a 20 euro viene estratta la firma digitale =!(“”&(!”%/!%”&!/%&”/!&/ viene applicata la funzione di hash al documento originario viene applicata la chiave pubblica di A dlak orjd cles kcoe hjkd si ottiene l’impronta dlak orjd cles kcoe hjkd Le due impronte vengono messe a confronto: se coincidono, si ha la sicurezza della provenienza e della genuinità del documento 46 Il documento informatico firmato così ottenuto contiene: 9il documento in chiaro, leggibile da chiunque; 9l’impronta crittografata (firma digitale); 9la chiave pubblica del firmatario; 9il certificato della chiave, contenente tutti i dati di cui abbiamo detto. Tali dati sono allegati al documento elettronico ovviamente per la verifica della firma digitale. Va ricordato che in sede di verifica viene fatto anche un controllo sulle “liste di revoca” per stabilire se il certificato ha cessato o meno la propria validità anzitempo per REVOCA o SOSPENSIONE. 47 Marca temporale Consiste nella generazione da parte di una terza parte fidata (Certificatore) di una firma digitale aggiuntiva rispetto a quella del sottoscrittore, da cui risulti con certezza il momento in cui l’atto è stato redatto. Tale firma digitale è definita MARCA TEMPORALE. Necessità di individuare data e ora CERTE : dimostrare l’esistenza di un documento ad un’ora e data certa per: 9proposte contrattuali; 9notificazioni atti processuali; 9garantire che un documento non venga, in un secondo momento, sostituito con uno diverso da parte dell’autore (autenticazione) 48 16 Marca temporale Tizio Documento Documento Funzione di hash Impronta del documento Servizio di validazione temporale Marca temporale Data ed ora chiave privata del servizio di validazione temporale 49 Marca temporale: descrizione della procedura 1) L’impronta del documento viene inviata al servizio di validazione temporale del Certificatore; 2) il servizio aggiunge data e ora all’impronta, generando l’impronta MARCATA; 3) l’impronta marcata viene crittografata con la chiave segreta del soggetto responsabile; si ottiene così la marca temporale, verificabile con la chiave pubblica fornita dal Certificatore stesso; 4) l’utente, una volta ricevuta la marca temporale, la allega al file firmato. La procedura non fa sorgere problemi di riservatezza del documento da marcare, in quanto al Servizio viene mandata solamente l’impronta (dalla quale non si può risalire al documento) 50 Scadenza e rinnovazione della marca temporale La stessa marca temporale è soggetta a scadenza ed a revoca. La perdita di validità di una marca può essere compensata da altre marche apposte sullo stesso documento. Rinnovazione della marca temporale non significa rinnovazione del rapporto giuridico rappresentato nel relativo documento informatico. 51 17 Firma digitale in pratica Indicazioni operative 52 Introduzione La Firma Digitale di un documento informatico è una particolare elaborazione con la quale si ottiene un risultato equivalente alla tradizionale firma autografa apposta sui documenti cartacei. Di fatto, la Firma Digitale è stata ormai equiparata alla firma autografa nella legislazione di molti paesi, tra cui l’Italia, e la sua apposizione ad un documento elettronico permette di ottenere: ¾ ¾ ¾ ¾ · l’autenticazione dell’origine; · il controllo dell’integrità; · la non-ripudiabilità; · la piena validità legale (se la firma digitale è conforme ai requisiti di legge). 53 Introduzione Grazie alla Firma Digitale, è possibile risolvere quindi il problema della validità dei documenti elettronici e delle transazioni telematiche. I servizi erogati via rete divengono più affidabili e vengono giustamente percepiti come più sicuri e “up-to-date”. I clienti sanno che le operazioni da loro svolte, e i documenti tra loro scambiati, non potranno essere ripudiati e, quindi, acquistano maggior confidenza con l’e-business. 54 18 Il processo di firma La firma digitale è un processo matematico che permette di criptare una rappresentazione univoca del file, detta ‘impronta’, e di inserirla nel file stesso trasformandolo in un nuovo tipo di file. Il risultato del processo di firma digitale di un file è un altro file, di formato diverso (file con estensione .p7m). Lo scopo di questa trasformazione matematica non è nascondere il contenuto del file lettera.doc ma garantire l’autenticità e l’integrità del documento. 55 Il processo di firma ll nuovo formato (p7m) è una necessaria trasformazione per aggiungere le informazioni che garantiscono l’originalità del file e la sua provenienza. Il file con estensione p7m è una sorta di busta crittografica all’interno della quale trovano posto: 1) il file originale; 2) l’impronta firmata; 3) la chiave pubblica; 4) il certificato di sottoscrizione dell’autore (vera e propria carta d’identità elettronica rilasciata da una autorità di certificazione 56 (C.A.) preposta). Per leggere il file firmato digitalmente cosa occorre fare? Chiunque potrà con un apposito software aprire il file firmato digitalmente ed estrarre il file originale per consultarlo. Il file firmato digitalmente non può essere letto con i sistemi oggi comunemente diffusi (ad esempio MsWord) poichè anche se .p7m è uno standard, in effetti è ancora poco diffuso. Per poterlo leggere è necessario l’uso di un apposito programma. Questo programma ha lo scopo di estrarre nuovamente il file originale e di confermare l’autenticità dell’autore del documento e l’integrità del documento. 57 19 Formato file .p7m I file .p7m sono dati PKCS#7 (è uno standard del PKCS - Public-Key Cryptography Standards che è un insieme di standard per la crittografia a chiave pubblica sviluppati dai Laboratori RSA: definiscono la sintassi del certificato digitale e dei messaggi crittografati. PKCS#7 è il formato delle buste crittografiche. Si tratta di un formato di “incapsulazione” di messaggi crittografati, definito dai laboratori della società americana RSA Security. Il software di firma digitale dei certificatori accreditati, che genera formati PKCS#7 non è open source e non è gratuito. 58 Come si ottiene un file .p7m ? 59 Il processo di firma Fase 1: creazione dell’impronta del documento Attraverso un algoritmo detto ‘algoritmo di Hash’ (Secure Hash Algoritm, SHA-1) è possibile estrarre dal documento un numero di lunghezza fissa (160 bit) che ha la caratteristica di rappresentare univocamente il documento. Cambiando anche una sola virgola al documento anche il numero che lo rappresenta cambierà. Questo numero è detto “impronta” del file. Le due caratteristiche importanti sono: ¾ 1) l’impronta rappresenta il file, se il file cambia l’impronta cambia ¾ 2) è un numero. 60 20 Il processo di firma Fase 2: firma dell’impronta Un altro algoritmo matematico (RSA) permette di criptare l’impronta (che è un numero) con un altro numero (che è la chiave privataPrivate Key). Si ottiene così la firma digitale (impronta criptatata). Questa operazione è molto semplice da effettuare, ma è computazionalmente molto difficile da effettuare. L’impronta così criptata (firma digitale) è sicura e non può essere alterata. La chiave privata viene creata sempre in coppia con un altro numero, la chiave pubblica (Public Key) Quest’ultima permette di estrarre l’impronta criptata, ma non di criptarla. 61 Il processo di firma Fase 3: creazione del nuovo formato di file Questa operazione può essere immaginata come la creazione di una sorta di busta crittografica all’interno della quale trovano posto: 1) il file originale 2) l’impronta firmata 3) la chiave pubblica 4) il certificato dell’autore (vera e propria carta d’identità elettronica che viene rilasciata da una autorità preposta) 62 Il processo di verifica della firma Cosa deve fare il destinatario per sapere se il file è originale e integro (se non è stato manomesso) ? Il principio consiste nell’estrarre il file originale (ad esempio lettera.doc) e creare una nuova impronta che poi verrà confrontata con quella estratta dalla firma digitale (impronta criptata con la chiave privata del mittente) contenuta nella busta: se le due impronte coincidono il file è integro. In sintesi: 1) Estrazione del file originale dalla busta (ad esempio lettera.doc) 2) Creazione di una impronta dal file originale attraverso l’applicazione dell’algoritmo SHA-1 (algoritmo di pubblico dominio inserito in ogni software per la generazione della firma e la sua verifica) 3) Estrazione dell’impronta in chiaro dalla firma digitale (impronta criptata) con la chiave pubblica del mittente, anch’essa contenuta nella busta. 4) Confronto delle due impronte. 63 21 Il processo di verifica della firma Queste operazioni vengono svolte da programmi specializzati per la firma e la verifica dei documenti che vengono distribuiti gratuitamente su internet dalle stesse autorità che rilasciano i certificati e le chiavi private e pubbliche per la firma digitale. Quindi non è necessario dotarsi degli strumenti per la firma digitale per leggere un file firmato. Il file può essere aperto scaricando l’apposito programma da internet. 64 Chi garantisce l’inviolabilità dei certificati e dalla chiave privata? Le autorità di certificazione preposte al rilascio dei certificati per firma digitale, installano questi ultimi su supporti che non possono essere contraffati o alterati. Questi supporti sono smart card o token USB. L’operazione di criptaggio dell’impronta che produce la firma digitale, avviene a bordo di questi supporti: il programma dopo aver estratto l’impronta la invia al supporto che applica la chiave privata e restituisce l’impronta firmata. Il supporto si comporta come una cassaforte intelligente, che non permette l’uscita dei suoi valori, ma è in grado di operare al suo interno. 65 Compiti e doveri del certificatore L’ente certificatore ha il dovere di : 1. garantire l'associazione firma digitale – titolare 2. pubblicare sul proprio sito l'elenco dei certificati delle chiavi pubbliche dei titolari che si sono avvalsi dei loro servizi di certificazione 3. mantenere aggiornato l'elenco pubblico dei certificati sospesi o revocati. 66 22 Come ottenere la smart card? Per poter firmare digitalmente è necessario procurarsi il certificato di sottoscrizione. Tale certificato viene rilasciato su smart card o token USB da alcune autorità: i certificatori. L’elenco dei certificatori aggiornato è sul sito di DigitPA (già CNIPA Centro Nazionale per l’Informatica nella Pubblica Amministrazione) all’indirizzo: http://www.digitpa.gov.it Informazioni e costi per ottenere la smart card sono facilmente reperibili sui siti delle autorità. E’ necessario presentarsi personalmente agli sportelli dell’ autorità di certificazione muniti di carta d’identità e codice fiscale. 67 La firma digitale in formato PDF La firma nel formato pdf e' riconosciuta valida come quella p7m. Rimane a discrezione delle amministrazioni se accettarla o meno, facendone comunicazione al DigitPA (già CNIPA). 68 D.P.C.M. 30 marzo 2009 " Regole tecniche in materia di generazione, apposizione e verifica delle firme digitali e validazione temporale dei documenti informatici". Il D.P.C.M. 30 marzo 2009 riguarda le nuove regole tecniche inerenti l’intero impianto della firma digitale: algoritmi usati, requisiti dei certificatori, obblighi degli utenti, formati di firma, formato e semantica dei certificati, ecc. Buona parte del testo riprende le regole precedenti. Il D.P.C.M. 30 marzo 2009 abroga il D.P.C.M. 13 gennaio 2004 ("Regole tecniche per la formazione, la trasmissione, la conservazione, la duplicazione, la riproduzione e la validazione, anche temporale, dei documenti informatici"). Si tratta della terza edizione delle regole tecniche per l'uso della firma digitale. 69 23 D.P.C.M. 30 marzo 2009 Mentre nel precedente decreto si faceva riferimento al testo unico delle disposizioni legislative e regolamentari in materia di documentazione amministrativa, emanato con D.P.R 28 dicembre 2000, n. 445, nel nuovo decreto si fa riferimento al Codice dell'amministrazione digitale (CAD), di cui al D. Lgs. 7 marzo 2005, n. 82. Mentre prima si faceva riferimento al Dipartimento per l'innovazione e le tecnologie della Presidenza del Consiglio dei Ministri o altro organismo di cui si avvale il Ministro per l'innovazione e le tecnologie, ora si fa riferimento al Centro Nazionale per l'Informatica nella Pubblica Amministrazione (ora DigitPA) All'art. 3 si stabilisce, nuovamente, che le regole tecnologiche, che per loro natura debbono poter essere modificate rapidamente, saranno definite attraverso provvedimenti più rapidi, identificati in deliberazioni del CNIPA (ora DigitPA). 70 D.P.C.M. 30 marzo 2009: marca temporale La marca temporale è il risultato di una procedura informatica che consente di attribuire a un documento informatico una data e un orario opponibile ai terzi ai sensi dell'articolo 20, comma 3, del Codice dell'amministrazione digitale (D.Lgs. n. 82/2005). Dal punto di vista operativo, il servizio di marcatura temporale di un documento informatico consiste nella generazione, da parte di un soggetto terzo "certificatore", di una firma digitale del documento cui è associata l'informazione relativa a una data e a un'ora certa. Il previgente quadro normativo prevedeva che le marche temporali fossero conservate in un apposito archivio informatico non modificabile per un periodo non inferiore a cinque anni. Inoltre, subordinava la validità delle stesse al solo periodo di conservazione a cura del fornitore del servizio, vale a dire che, superati i cinque anni, i documenti "marcati temporalmente" rischiavano di non avere più la stessa rilevanza civilistica/fiscale. L'articolo 49 del nuovo D.P.C.M. del 30 marzo 2009 risolve la criticità, disponendo che tutte le marche temporali emesse da un sistema di validazione sono conservate in un apposito archivio non modificabile per un periodo non inferiore a venti anni ovvero, su richiesta dell'interessato, per un periodo maggiore, alle condizioni previste dal certificatore. 71 Firma digitale - Valore nel tempo La firma digitale è il risultato di una procedura informatica basata su un sistema di chiavi crittografiche, una pubblica e una privata, correlate tra loro, che consente al titolare di rendere manifesta e di verificare la provenienza e l'integrità di un documento informatico. Il limite che tale sistema di sottoscrizione presenta riguarda la validità dei documenti informatici nel tempo, nel senso che, essendo la firma digitale subordinata alla validità (solitamente triennale) di uno specifico certificato qualificato, alla scadenza di quest'ultimo i documenti rischiano di non essere più validi. Nel D.P.C.M. del 30 marzo 2009, all'art. 51, viene disposto che la firma digitale, anche se il relativo certificato qualificato risulti scaduto, revocato o sospeso, è valida (nel tempo) se alla stessa è associabile un riferimento temporale opponibile ai terzi che colloca la generazione di detta firma in un momento precedente alla scadenza, sospensione o revoca del certificato. 72 24 FINE 73 25