Firme elettroniche
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Firme elettroniche

on

  • 1,640 views

le firme elettroniche

le firme elettroniche

Statistics

Views

Total Views
1,640
Views on SlideShare
1,512
Embed Views
128

Actions

Likes
0
Downloads
17
Comments
0

2 Embeds 128

http://armellinicristiano.blogspot.it 127
http://armellinicristiano.blogspot.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Firme elettroniche Document Transcript

  • 1. TESI Le firme elettroniche e il loro impiego nella Pubblica Amministrazione A.A. 2012/2013
  • 2. Le firme elettroniche e il loro impiego nella Pubblica Amministrazione Di Cristiano Armellini Sommario I. Introduzione: una panoramica sulle firme elettroniche ..............................................................1 II. Sistemi crittografici ......................................................................................................................6 III. Il PGP/GPG....................................................................................................................................8 IV. L’algoritmo RSA e gli altri algoritmi crittografici ........................................................................19 V. Creare una firma con Adobe Reader o con PDF XChange Viewer.............................................21 VI. Firmare con PDF Creator , Signature 995 o con PDF XChange Viewer......................................23 VII. Conservazione degli archivi : calcolo dell’hash e del CRC con 7-zip, WinRAR, WinZip ..............27 VIII. Sistemi di backup........................................................................................................................29 IX. Uso dei moduli di InfoPath.........................................................................................................37 X. Appendice ..................................................................................................................................39 XI. Bibliografia .................................................................................................................................46 XII. Sitografia ....................................................................................................................................46 I. Introduzione: una panoramica sulle firme elettroniche Con la recente pubblicazione delle regole tecniche del CAD (codice dell’amministrazione digitale D.Lgs. 7 marzo 2005 n. 82) le firme elettroniche e in particolare le firme elettroniche avanzate hanno assunto un ruolo di grande importanza e il loro impiego appare sempre più probabile non solo nel settore privato ma anche in quello delle pubbliche amministrazioni. In questa tesina, frutto dell’esperienza maturata nel project work nell’ambito del Master di primo livello in Gestione e Conservazione degli Archivi Digitali in ambito pubblico e privato, dopo aver brevemente presentato le caratteristiche dei principali tipi di firme elettroniche previste nel nostro ordinamento passeremo a esporre dei particolari tipi di firme elettroniche avanzate che possono essere impiegate in numerosi procedimenti amministrativi sia per la conservazione dei documenti sia per certificare l’autenticità e l’integrità di un documento. In Italia, l’introduzione della firma digitale (di cui parleremo più avanti) con lo stesso valore giuridico della firma autografa risale al 1997 con il DPR n. 513 tuttavia a livello di Comunità Europea con la direttiva 1999/93/CE viene introdotta tutta una serie di firme elettroniche diverse che ha portato il 1
  • 3. legislatore nel tempo a delineare un quadro molto complesso di soluzioni tecnologiche in rapida evoluzione (firma elettronica semplice, firma elettronica avanzata, firma qualificata, firma digitale, firma grafometrica, ecc ). L’art 1 c1 lettera q del CAD (D.Lgs. 7 marzo 2005 n. 82) definisce la firma elettronica come “l’insieme dei dati in forma elettronica allegati oppure connessi tramite associazione logica ad altri dati elettronici ed utilizzati come metodo di identificazione informatica”. L’esempio più comune di firma elettronica semplice è la posta elettronica (non certificata) che comunemente utilizziamo per inviare messaggi e comunicare. In questo caso l’accesso al sistema di posta è regolato dalle credenziali username e password che solo il proprietario della casella conosce. Questo sistema tuttavia non consente di identificare in maniera certa il mittente del messaggio sia perché in generale tutti possono aprire un account di posta elettronica gratuitamente on line con i più comuni provider che offrono il servizio come Libero Infostrada, Alice senza bisogno di essere identificati con un documento di identità sia perché può capitare di lasciare non custodite le nostre credenziali di accesso (ad esempio su un post-it vicino al PC). E’ vero che ci sono caselle di posta elettronica che vengono rilasciate solo dopo l’identificazione certa del titolare: si pensi alle e-mails rilasciate da una organizzazione pubblica ai propri dipendenti oppure agli studenti iscritti ad un corso universitario tuttavia questo non muta sensibilmente l’affidabilità dello strumento. Inoltre questo tipo di firma elettronica non permette di garantire la non modificabilità del messaggio una volta inviato né la certezza che il destinatario lo abbia ricevuto nemmeno nel caso che si utilizzi la ricevuta di lettura (il destinatario potrebbe rifiutarsi di inviarla o la notifica di consegna al server della posta in arrivo che è un servizio non disponibile in tutti i service provider e in ogni caso non sicuro al 100%). L’art.5 c.2 della direttiva n. 1999/93/CE afferma che la firma elettronica non è inefficace solo perché non ha un certificato qualificato rilasciato da un operatore accreditato su un dispositivo sicuro. L’art 21 c.1 D.Lgs. 7 marzo 2005 (CAD) afferma che un documento su cui è sottoposta una firma elettronica sul piano probatorio è liberamente valutabile in giudizio tenuto conto delle caratteristiche di qualità, di sicurezza, di integrità, immodificabilità del documento stesso. Ricordiamo che un documento informatico è la rappresentazione informatica di atti, fatti, dati giuridicamente rilevanti. Un documento informatico è un oggetto digitale che viene prodotto archiviato e conservato con modalità tali da conferirgli le caratteristiche e la forza probatoria di un documento che è “la rappresentazione di atti, fatti, dati giuridicamente rilevante fissata su un supporto in forma stabile e permanente”. La stabilità è la capacità di mantenere inalterata nel tempo la rappresentazione del contenuto e della forma del documento presuppone l’integrità della relativa sequenza binaria (non modificabilità del documento) e la capacità di interpretarla sulla base di un formato elettronico visualizzando il contenuto informatico a video o a stampa da cui la grande importanza della scelta dei formati dei files. Un documento è autentico quando è riconducibile con certezza al suo autore grazie all’utilizzo delle firme elettroniche e la sua creazione deve essere collocata in una data certa grazie a riferimenti temporali opponibili a terzi come la marca temporale o la segnatura di protocollo. Viste le evidenti problematiche della firma elettronica semplice si è ben presto passati a sistemi ben più complessi come la firma elettronica avanzata definita come “l’insieme dei dati allegati o connessi al documento che consentono l’identificazione del firmatario e garantiscono la connessione univoca al firmatario creati con mezzi sui quali il firmatario può conservare un controllo esclusivo, collegati ai dati ai quali la firma si riferisce in modo da consentire di rilevare se i dati siano stati successivamente modificati.” E’ molto importante ricordare che il CAD prevede che i documenti firmati con la firma elettronica avanzata, la firma digitale e la firma qualificata se fatti nel rispetto delle regole tecniche 2
  • 4. che garantiscono l’immodificabilità, l’integrità, la stabilità del documento hanno l’efficacia prevista dall’art 2702 del codice civile ovvero la stessa forza probatoria delle scritture private. E’ da notare che le scritture private di cui all’art 1350 del codice civile primo comma numeri da 1 a 12 se fatte con mezzi informatici (atti di costituzione o trasferimento di proprietà immobiliari) devono, pena nullità, essere prodotte con la firma digitale o qualificata mentre gli atti dell’art 1350 n. 13 soddisfano il requisito della forma scritta se sottoscritti con la firma elettronica avanzata firma digitale, o firma qualificata. Per produrre e utilizzare per proprio conto o per conto terzi soluzioni di firma elettronica avanzata non sono richieste al momento particolari autorizzazioni preventive tuttavia le soluzioni di firma elettronica avanzata devono identificare il firmatario del documento, garantire la connessione univoca della firma al firmatario, garantire il controllo esclusivo del sistema di generazione della firma da parte del firmatario, garantire la verifica che il documento non abbia subito modifiche dopo l’apposizione della firma e quindi l’impossibilità di firmare documenti che contengono macro (es. in Word). I soggetti che propongono soluzioni di firma elettronica avanzata devono identificare in maniera certa l’utente al quale è rilasciata la firma, identificare i limiti d’uso della firma, far sottoscrivere all’utente una dichiarazione di accettazione delle condizioni (dichiarazione che deve essere conservata per almeno venti anni), consentire all’utente di esercitare il diritto di revoca in qualunque momento (ad esempio per aver perso il dispositivo di firma). Devono essere rese note le caratteristiche del sistema realizzato tramite un’ampia documentazione pubblica e deve essere garantito un servizio di assistenza al cliente (call-center). Inoltre le società private che forniscono il servizio a terzi devono essere coperte da assicurazioni che coprano danni fino a 600.000 euro. Gli esempi più notevoli di firma elettronica avanzata sono oggi costituiti dalla carta di identità elettronica CIE (molto costosa e per questo poco diffusa) e dalla carta nazionale dei servizi CNS come la carta Raffaello www.cartaraffaello.it , www.postaraffaello.it o la tessera sanitaria nazionale (la Regione Marche ha appena attivato la nuova tessera sanitaria dotata di microchip che è anche una carta nazionale dei servizi per accedere on-line ai servizi della PA). Non dimentichiamo che anche l’invio della PEC (posta elettronica certificata rilasciata previa identificazione del titolare per mezzo di un documento di identità come la CEC-PEC www.postacertifcata.gov.it valida solo nei confronti degli indirizzi PEC della PA dichiarati in www.indicepa.gov.it , oppure il domicilio digitale del cittadino) se effettuata tramite la ricevuta completa è una firma elettronica avanzata nei confronti della Pubblica Amministrazione ed ha lo stesso valore della notifica a mezzo posta ovvero della posta inviata per raccomandata con la ricevuta di ritorno. Le soluzioni di firma elettronica avanzata sono soluzioni che un ente può proporre ai suoi utenti e che ha validità nei rapporti interni (es. Università nei confronti dei propri studenti, ovvero uno a molti) a differenza delle firme qualificate o digitali che hanno, come vedremo, una validità di un livello molto superiore (molti a molti). La firma elettronica qualificata si basa su un certificato qualificato ed è realizzata mediante un dispositivo sicuro per la creazione della firma. I certificati sono attestati che collegano l’identità del firmatario con i dati inseriti per la verifica della firma e sono rilasciati da società (certificatori) qualificati ai sensi dell’art. 20 del CAD o anche accreditati da DigitPA. Nel certificato qualificato devono essere presenti i dati del certificatore, i dati anagrafici del titolare e il suo codice fiscale, i dati per la verifica della firma, inizio e la fine della validità del certificato, la qualifica del titolare e i limiti d’uso, la firma elettronica del certificatore. 3
  • 5. La firma digitale, invece, è definita come una firma elettronica avanzata bastata su un certificato qualificato e su un sistema di crittografia a doppia chiave (una pubblica e una privata). Nella definizione manca quindi il riferimento al dispositivo sicuro ma nelle regole tecniche è evidente che i dispositivi per la generazione delle firme elettroniche qualificate e di quelle digitali devono soddisfare gli stessi standard di sicurezza. In realtà come molti esperti hanno fatto notare (Ing. Arbia) la firma elettronica qualificata e quella digitale sono sostanzialmente la stessa cosa. La firma digitale può presentarsi nei formati PDF, XML o P7m. E’ molto importante sottolineare che l’uso del dispositivo di firma elettronica qualificata o digitale si presume riconducibile al titolare, salvo che questi ne dia prova contraria. Per la gestione di un’elevata quantità di documenti la f. digitale e la firma qualificata possono presentarsi nella forma “automatica” con una coppia di chiavi differenti per ogni dispositivo di firma. Il sistema a doppia chiave consiste nel generare due chiavi una pubblica una privata. Quando si firma un documento prima si calcola l’hash del documento ovvero la sua impronta digitale formata da una stringa di caratteri (secondo l’algoritmo SHA1 o SHA2-256 bit più sicuro) alfanumerici attraverso un algoritmo matematico e poi si crittografa con l’algoritmo RSA l’hash usando la chiave privata in possesso esclusivo del firmatario. L’hash firmato non è altro che la firma digitale che viene spedita insieme al documento e al certificato elettronico rilasciato dal certificatore nella “busta elettronica”. Colui che riceve il documento prima calcola l’hash del documento ricevuto quindi decripta la firma digitale (hash crittografato) con la chiave pubblica del mittente e verifica se l’hash calcolato coincide con quello decriptato: solo in questo caso è sicuro che il documento non è stato modificato ed è sicuro della provenienza perché solo l’autore poteva avere la chiave privata corrispondente alla chiave pubblica con la quale è stato criptato/decriptato l’hash. Un tipo particolare di firma digitale è la firma remota o la firma remota verificata che si caratterizza nel fatto che la firma si realizza in remoto attraverso un server HSM come ad esempio avviene con la verbalizzazione degli esami all’Università. In questo caso viene anche certificata la data e l’ora nel documento firmato e non c’è più il problema della scadenza del certificato di firma la cui validità viene verificata all’istante (firma digitale verificata). Nel caso dell’Università di Macerata, quasi tutti i docenti del Dipartimento di Economia e Diritto (docenti di ruolo) da un paio di anni hanno abbandonato la verbalizzazione con il registro cartaceo a favore della verbalizzazione con firma digitale remota usando un pin personale e una password (OTP one-time password) che viene inviata al loro cellulare nel momento che generano il verbale di un esame dopo aver inserito i voti nella loro area riservata http://studenti.unimc.it area dove possono gestire le prenotazioni e gli esiti degli appelli inseriti grazie al sistema informatizzato ESSE3 della segreteria studenti. In questo modo viene evitata la scomoda installazione di driver per lettori e smart-card. Come abbiamo già avuto modo di sottolineare il documento sottoscritto con firma elettronica avanzata, qualificata o digitale formato nel rispetto delle regole tecniche dell’art. 20 c.3 del CAD che garantiscono l’identità dell’autore, l’integrità e la non modificabilità del documento ha l’efficacia dell’art 20 del codice civile e che le scritture private di cui all’art 1350 primo comma (n. da 1 a 12) del codice civile se fatte con un documento informatico devono essere sottoscritte pena di nullità con firma elettronica qualificata o digitale, quindi l’ambito di validità delle firma elettroniche avanzate è molto minore rispetto a quello delle firme digitali. Una firma digitale per avere una validità giuridica deve essere basta su un certificato qualificato rilasciato da un ente qualificato meglio se accreditato, basata su un dispositivo sicuro, non deve eccedere i limiti d’uso, il certificato non deve essere scaduto nel momento della firma. Per verificare l’ultima condizione occorre collocare in modo esatto la creazione a livello temporale del documento e questo può essere fatto, come abbiamo già detto, tramite l’uso della marca temporale (servizio a pagamento che viene erogato spesso dall’ente che 4
  • 6. rilascia la firma digitale e che consiste nel cifrare l’hash del documento insieme alla data e ora ufficiali internazionali con la chiave privata del soggetto che emette la marca in modo che la verifica venga fatta con la corrispondente chiave pubblica), dalla segnatura di protocollo o se il documento è inviato tramite la PEC (posta elettronica certificata) dalla data della ricezione del messaggio che viene provata con la ricevuta di avvenuta consegna da parte del gestore di PEC. Ricordiamo anche che le istanze e le dichiarazioni presentate per via telematica dai cittadini o dalle imprese tramite le applicazioni web dei siti delle pubbliche amministrazioni sono equivalenti alle istanze sottoscritte con firma autografa se fatte nel rispetto delle regole tecniche recentemente pubblicate (es. Comunicazione Unica al Registro delle imprese, registrazione dei contratti di affitto, dichiarazione dei redditi on-line nel sito dell’Agenzia delle Entrate, pagamenti via web anche con carta di credito, prepagata, bonifici on-line e moneta elettronica come PayPal e OkPay, BitCoin ecc). Recentemente si sono imposte nel mercato soluzioni a metà strada tra la firma digitale o firma qualificata e la firma elettronica avanzata. Un particolare tipo di firma elettronica avanzata che si sta diffondendo in questi anni soprattutto nell’ambito amministrativo è il contrassegno a stampa o glifo (Data Matrix, QR, 2dplus) apposto su una copia analogica dei documenti amministrativi che permette tramite un apposito lettore di rilevare se il documento cartaceo corrisponde o meno a quello rilevato digitalmente dal lettore escludendo così possibili manomissioni o falsificazioni (si realizza una copia informatica di un documento originale). La verifica può essere fatta tra il contenuto della copia cartacea con quella rilevata dal lettore (modalità off-line) oppure tramite un collegamento presente nel contrassegno che rimanda all’originale informatico depositato nel server della Pubblica amministrazione che lo detiene e lo ha prodotto. Recentemente sono state presentate delle varianti a questo meccanismo inserendo nel glifo anche la firma digitale dell’autore del documento aumentando così il livello di sicurezza. Il documento non può essere contraffatto perché non è possibile contraffare il glifo e quindi può essere fotocopiato con lo stesso valore giuridico (si realizza un duplicato informatico). Le criticità sono identificate nel fatto che la ricostruzione può avvenire solo se il documento cartaceo è ben conservato e in generale questa tecnologia può essere applicata a documenti di piccole dimensioni. Inoltre non tutti gli uffici hanno a disposizione la tecnologia software e hardware per leggere i contrassegni a stampa. Anche la firma grafometrica può essere considerata una particolare soluzione di firma elettronica avanzata benché il suo utilizzo è comunque legato alla firma digitale. In pratica la firma grafometrica consiste non solo nell’acquisizione del tratto grafico su un documento tramite un tablet ma anche dei parametri comportamentali legati alla firma come la velocità di scrittura, la pressione esercitata sul tablet, l’accelerazione dei movimenti, l’angolo di curvatura della penna, il numero di volte che la penna viene sollevata ecc. Tutti questi dati biometrici costituiscono il template della firma. Il template insieme all’hash del documento (importata digitale del documento) viene cifrato digitalmente (quindi crittografato per mezzo della chiave pubblica) con una firma digitale la cui chiave privata è nella disponibilità di un notaio e apposto al documento mettendo in evidenza anche il tratto grafico. La verifica del documento firmato si effettua decifrando il template e paragonando il template del soggetto con quello decriptato. La conservazione della chiave privata è uno dei maggiori elementi di incertezza (come la sicurezza del tablet) perché un uso improprio dei dati biometrici (furto) potrebbe portare conseguenze gravissime all’identità del soggetto firmatario inoltre è evidente come nel corso degli anni la nostra firma possa subire delle modifiche anche nel template. Per una maggiore sicurezza del meccanismo il documento con la firma grafometrica può essere ulteriormente firmato con firma digitale dall’impiegato allo sportello. Dopo questa breve dissertazione sulle firme elettroniche vediamo quali altre soluzioni una Pubblica Amministrazione (che va verso la digitalizzazione completa secondo l’Agenda Digitale italiana) può adottare per 5
  • 7. realizzare anche per proprio conto delle soluzioni di firma elettronica avanzata nel rispetto delle regole tecniche in modo da applicarle ai documenti amministrativi informatici per certificare l’autore e l’integrità del documento ma anche la sua conservazione nel tempo. Prima però introduciamo alcuni concetti elementari della crittografia che è alla base delle firme elettroniche e digitali. II. Sistemi crittografici La scienza che si occupa di sviluppare e perfezionare gli algoritmi di cifratura per renderli sempre più efficienti e sicuri è la crittografia. Ogni algoritmo crittografico, quando viene sviluppato, è sottoposto a un severo procedimento scientifico, detto crittoanalisi, di verifica della “robustezza”, ossia della difficoltà di risalire all’informazione originale partendo unicamente dall’informazione cifrata. Esistono due possibili schemi di cifratura/decifratura delle informazioni: quelli che utilizzano la medesima chiave per cifrare e decifrare, detti anche algoritmi a chiave simmetrica o a chiave segreta condivisa e quelli che impiegano due chiavi diverse, detti anche algoritmi a chiave asimmetrica o a chiave pubblica. Gli algoritmi a chiave simmetrica sono più antichi e più comuni mentre quelli a chiave asimmetrica sono più recenti e si fondano su teorie matematiche risalenti a qualche decina di anni fa. Ecco le principali caratteristiche dei due tipi di algoritmi crittografici:  Chiave simmetrica: i due comunicanti A, B condividono la stessa chiave K che devono tenere segreta. Si utilizza l’algoritmo di cifratura C(K) per cifrare l’informazione, mentre l’algoritmo di decifratura D(K) viene utilizzato per decifrare, impiegando la medesima chiave. Esempi di algoritmi che utilizzano questo schema sono l’AES (Riindael), DES, 3DES, Serpent, BlowFish, RC2, TwoFish ecc.  Chiave asimmetrica: A e B dispongono ciascuno di due chiavi personali, una chiave privata KprA, KprB e una chiave pubblica KpuA, KpuB. Le due coppie di chiavi vengono calcolate indipendentemente da A e B. Quello che viene cifrato con una delle due chiavi può essere decifrato solo con l’altra chiave. Vale a dire che se per esempio, si usasse KprA per cifrare, per decifrare si dovrebbe usare KpuA e viceversa. A questo punto se A e B vogliono scambiarsi informazioni protette B consegnerà ad A la propria chiave pubblica KpuB e viceversa farà A con B consegnandogli KpuA. A quindi utilizzerà KpuB per cifrare ciò che deve inviare a B e B userà KpuA per cifrare ciò che invia ad A. In questo modo B che riceve da A informazioni cifrate con KpuB userà la propria chiave segreta KprB per decifrare e lo stesso farà A con la propria chiave privata KprA. Un esempio di algoritmo che impiega questo schema è l’RSA alla base della tecnologia delle firma digitali. Appare quindi evidente la principale differenza tra i due tipi di algoritmi: con quelli a chiave simmetrica è necessario distribuire la chiave condivisa in modo sicuro per fare sì che questa sia mantenuta segreta, mentre con gli algoritmi a chiave asimmetrica non vi è la necessità di distribuire le chiavi in modo sicuro. Questo perché ciascuna coppia di chiavi è personale e la chiave pubblica può essere distribuita a tutti senza particolari requisiti di sicurezza, essendo la chiave privata quella che effettivamente servirà a decifrare. Gli algoritmi a chiave simmetrica sono in genere molto veloci e richiedono risorse computazionali limitate ma la chiave va mantenuta segreta e va distribuita a tutti i partecipanti alla comunicazione mentre negli algoritmi a chiave asimmetrica non c’è nessuna necessità di sicurezza nella distribuzione delle chiavi pubbliche (ognuno utilizza la propria coppia di chiavi generata autonomamente) tuttavia sono molto più lenti e computazionalmente più onerosi. Negli algoritmi a chiave simmetrica quindi la chiave per cifrare e decifrare è unica, è condivisa tra 6
  • 8. tutti coloro che partecipano alla comunicazione e deve essere tra costoro mantenuta segreta. Per inviare informazioni protette il mittente le cifra usando la chiave in suo possesso. Il destinatario, che possiede la medesima chiave, è in grado di decifrarle. Negli algoritmi a chiave asimmetrica (pubblica) ciascuno possiede una coppia di chiavi. Una delle due chiavi serve a cifrare, l’altra a decifrare. Ciascuno mantiene riservata una delle due chiavi (detta chiave privata) e comunica a tutti gli altri l’altra (detta chiave pubblica). Per inviare informazioni protette il mittente le cifra usando la chiave pubblica del destinatario, chi gli è stata inviata o che ha reperito pubblicamente da un archivio. Il destinatario le decifra usando la propria chiave privata. I sistemi a chiave asimmetrica ci garantiscono, come poi vedremo meglio l’identità del mittente la segretezza del messaggio, ovvero garanzia dell’identità del mittente e segretezza. Garanzia dell’identità del mittente: il mittente di un messaggio , Alice, usa la propria chiave privata per codificare il messaggio. Il destinatario, Bob, usa la chiave pubblica di Alice per decifrare il messaggio. E’ garantita l’identità di Alice ma nulla impedisce a qualunque persona di leggere il messaggio di Alice, essendo disponibile a tutti la sua chiave pubblica. Garanzia della segretezza: Alice conosce la chiave pubblica di Bob e la può usare per codificare il messaggio. Il testo cifrato può essere decodificato soltanto da Bob, perché è l’unica persona che possiede la chiave privata correlata con la chiave pubblica con cui è stato cifrato il messaggio. Bob, essendo in possesso di questa chiave privata e segreta può leggere il messaggio dopo averlo decifrato. La lettura del messaggio è consenta solo a Bob, ma non c’è nessuna garanzia sul fatto che il messaggio provenga proprio da Alice, perché chiunque potrebbe utilizzare la chiave pubblica di Bob e inviare il messaggio cifrato. Garanzia dell’identità e della segretezza: Alice prima effettua la codifica del messaggio usando la sua chiave privata, nota solo a lei. Il risultato di questa codifica viene ulteriormente codificato usando la chiave pubblica di Bob. Al ricevimento del messaggio cifrato, Bob è in grado di decifrare una prima volta usando la propria chiave privata e successivamente può anche decifrare il risultato ottenuto con la chiave pubblica di Alice. Bob ha la garanzia che il messaggio provenga da Alice, perché solo Alice possiede la chiave privata; nello stesso tempo Bob è l’unica persona in grado di decifrare il messaggio, perché possiede la chiave privata correlata con la chiave pubblica utilizzata da Alice. Nella terza situazione si ha anche una garanzia di integrità del messaggio, cioè che il messaggio non sia stato modificato da altri durante la trasmissione, perché la codifica alla partenza è stata fatta da Alice con la sua chiave privata. Il sistema funziona bene anche se il mittente prima cripta il messaggio con la chiave pubblica del ricevente (riservatezza) poi cripta di nuovo il messaggio con la sua chiave privata (messaggio firmato). Infatti il ricevente usa la chiave pubblica del mittente per risolvere la crittazione del secondo passo (l’origine del messaggio è così verificata) e poi impiega la sua chiave privata per risolvere la criptazione del primo passo: questo meccanismo viene impiegato per la nuova moneta elettronica virtuale BitCoin o per gli assegni elettronici . Un’applicazione pratica del sistema asimmetrico la troviamo appunto nella firma digitale che permette di verificare l’autenticità e l’integrità di un testo. La firma digitale viene difatti realizzata usando i sistemi di crittografia a chiave asimmetrica. Una persona firma un documento usando la sua chiave privata, mentre le altre persone che vogliono controllare l’autenticità e l’integrità usano la chiave pubblica. A partire dal documento, viene generata un’impronta cioè una piccola sequenza binaria di lunghezza fissa che rappresenta un digest (riassunto) del documento. Questa impronta viene poi codificata usando la chiave privata e il risultato rappresenta la firma digitale. La firma così 7
  • 9. costruita viene accodata al documento. L’impronta viene generata usando una particolare funzione, chiamata funzione di hash, con la garanzia che a partire da documenti diversi si ottengono impronte diverse. Chi vuole controllare la veridicità del documento, deve usare la chiave pubblica del firmatario per verificare la correttezza della firma digitale. Avendo il testo in chiaro e usando la stessa funzione di hash, si può calcolare l’impronta del documento. Usando la chiave pubblica si può decodificare la firma digitale e ritrovare l’impronta calcolata dal firmatario. Se le due impronte coincidono significa che il documento è stato firmato dalla giusta persona ed è integro, cioè non è stato modificato. Dopo l’apposizione della firma digitale ogni modifica al documento comporta una modifica dell’impronta associata. Avendo a disposizione l’impronta originale contenuta nella firma digitale, si può rapidamente controllare se il documento è stato modificato. Si osservi che la firma digitale è diversa per ogni documento diverso a differenza della firma autografa. La firma digitale per questo motivo offre il valore aggiunto dell’integrità. La coppia di chiavi pubblica e privata, usate per firmare e verificare i documenti, deve essere rilasciata da un ente di certificazione che garantisce l’identità del possessore della chiave e di solito le chiavi vengono conservate in una smart-card. Nella pratica ci sono applicativi come il PGP e il GPG che forniscono gli strumenti per genere le chiavi pubbliche e private ma non essendo queste rilasciate da una autorità certificata hanno non hanno il valore di una firma digitale ma solo di una firma elettronica avanzata. Il vero problema è quindi l’attribuzione della chiave pubblica ovvero dell’associazione della chiave pubblica al corretto proprietario. Le strutture che si occupano di questa associazione sono le CA (Certification Authority ovvero autorità di certificazione) che emettono certificati con i quali si abbina la chiave pubblica al suo proprietario. Assieme ai certificati una CA può emettere una CRL (Certificate Revocation List ovvero lista dei certificati revocati ) che consiste in un elenco di certificati revocati in quanto contenenti chiavi non più valide. Un certificato può essere revocato se un utente non aderisce più al servizio (magari per motivi economici) o se ha fatto un uso improprio del certificato o se è la chiave stessa a non poter essere utilizzata in quanto la corrispondente chiave privata è stata persa oppure rubata. La crittografia trova molteplici applicazioni oltre al settore delle firme elettroniche anche nel settore della tutela dei dati personali (privacy), nel voto elettronico, nel denaro elettronico BitCoin, assegni elettronici, e in tutte le transazioni bancarie (POS, pago-bancomat, e-commerce) ecc. III. Il PGP/GPG Negli anni ’90 l’ingegnere americano Phil Zimmermann del MIT sviluppò un software per applicare alla posta elettronica le tecnologie della crittografia a chiave pubblica. Tale pacchetto porta il nome di PGP (Pretty Good Privacy) ed è oggi disponibile gratuitamente e scaricabile da internet per un uso non commerciale o a pagamento in caso contrario (http://www.pgpi.com). Per operare con PGP un utente deve dapprima generare la propria coppia di chiavi di cifratura (chiave pubblica e chiave privata) e renderne nota quella pubblica. Deve inoltre avere accesso alle chiavi pubbliche dei propri corrispondenti. Quando l’utente invia un messaggio normalmente questo viene firmato operando come segue: dal messaggio viene estratto un hash usando ad esempio l’algoritmo MD5 o l’SHA1 (SHA-256 più robusto). Questo hash viene crittografato con la chiave privata preposta al messaggio stesso in fase di invio. L’utente che riceve il messaggio, avvalendosi del programma PGP, trova la chiave pubblica del mittente nell’elaboratore stesso se già nota oppure collegandosi ad un elaboratore remoto chiamato keyserver, ovvero server delle chiavi. Utilizzando la chiave pubica riesce a decifrare l’hash e a verificare come l’hash stesso sia stato emesso dal mittente l’unico a possedere la chiave privata corrispondente alla chiave pubblica utilizzata per decifrarlo. Il programma poi provvede a computare l’hash sul messaggio di posta e a confrontarla con quella 8
  • 10. decifrata verificando quindi la correttezza del documento (è altamente improbabile che una modifica qualunque del documento mantenga l’hash inalterato) e la sua provenienza (che non può essere differente da quella dell’hash stesso dato che per calcolare l’hash ha bisogno del documento originale). Si noti come l’elemento cruciale sia la necessità di avere l’assoluta certezza che la chiave pubblica del mittente corrisponda assolutamente al mittente stesso. Difatti chiunque può creare una coppia di chiavi anche per un'altra persona e l’indirizzo del mittente di posta elettronica non è sufficiente a garantire la sua identità. Questo problema si può in parte risolvere creando in ogni Pubblica Amministrazione un ufficio preposto a generare la coppia di chiavi fornendo quella privata al soggetto che ne fa richiesta personalmente e si identifica con un documento di identità e quella pubblica posta in appositi server ad accesso pubblico in sola lettura dove anche le altre Pubbliche Amministrazioni possono scaricare la chiave pubblica riferita a quel determinato soggetto facendo una ricerca ad esempio per codice fiscale. Il PGP consente di inviare la chiave pubblica appena creata in archivi pubblici ma non richiede nessun controllo sull’identità dell’autore che in tal modo può falsificare o costruire nuove identità digitali. Usando il PGP si possono anche cifrare i messaggi per proteggerne il loro contenuto dalla consultazione non autorizzata da parte di altre persone. In fase di invio viene generata una chiave con caratteristiche di casualità e questa chiave viene utilizzata per cifrare il documento con un algoritmo crittografico a chiave segreta ad esempio l’AES a 256 bit, DES, Triple DES, Serpent, Rjindael TwoFish, BlowFish, Rc2 ecc (crittografia simmetrica). Questa chiave viene criptata a sua volta utilizzando la chiave pubblica del destinatario (crittografia asimmetrica). La chiave così cifrata viene premessa al documento ed inviata al destinatario assieme al documento stesso cifrato. Il destinatario, all’atto della ricezione, decifra la chiave utilizzando la propria chiave segreta. Ottenuta questa chiave il destinatario può decifrare il documento utilizzando lo stesso algoritmo di crittografia a chiave segreta utilizzato dal mittente. Questo sistema, che si avvale di due differenti meccanismi di crittografia (simmetrica e a chiave pubblica) può sembrare complesso ma non lo è, in quanto tutti gli aspetti implementativi sono gestiti dal programma. L’uso della doppia crittografia corrisponde a criteri di efficienza, dato che la crittografia a chiave segreta è più veloce della crittografia a chiave pubblica. L’algoritmo più utilizzato nei sistemi a chiave asimmetrica (molto più sicuri di quelli a chiave simmetrica) è in genere RSA basato sulla teoria dei grandi numeri primi e questo ci garantisce che dalla chiave pubblica sia difficilissimo se non impossibile ricavare la corrispondente chiave privata che in ogni caso deve essere cambiata ogni 3 anni un tempo troppo breve anche ai più moderni elaboratori per cercare in base alle conoscenze matematiche attuali di attuare un attacco con successo. Ovviamente progressi della matematica in questa direzione sempre possibili anche se poco probabili (vedi l’algoritmo quantistico di Shor, gli algoritmi di fattorizzazione di grandi numeri come il crivello quadratico, il rho di Pollard, il p-1 di Pollard, la fattorizzazione con le curve ellittiche, ecc) potrebbero mettere in discussione tutta la teoria e quindi anche i meccanismi della firma digitale. Lo scambio della chiave di cifratura/decifratura nella crittografia simmetrica potrebbe avvenire non solo con la crittografia a chiave asimmetrica della password ma anche mediante l’algoritmo di DiffieHelmann che è una procedura che stabilisce un protocollo per lo scambio di una chiave in un canale insicuro tra due soggetti A, B. E’ in pratica un algoritmo basato sulla teoria del logaritmo discreto che permette ad A e B di costruirsi una chiave crittografica scambiandosi informazioni che anche un terzo soggetto potrebbe intercettare ma inutilmente. La chiave comune può essere costruita anche con la crittografia quantistica ma ad oggi è una procedura molto complessa. Usando poi l’algoritmo di 9
  • 11. cifratura di Vernam che è un’estensione dell’algoritmo di Vigenère si arriva a quella che viene chiamata la cifratura perfetta che garantisce il massimo livello di riservatezza dei documenti. Di seguito alcune immagini del programma PGP (riservatezza niente male) e del suo utilizzo (nell’appendice è possibile trovare una breve guida tecnica con maggiori dettagli all’uso del programma). PGP Creazione delle chiavi in PGP Importazione di una chiave Archivio delle chiavi e invio al server La diffusione del programma PGP ha portato alla creazione di un altro programma GPG (GNU Privacy Guard) che ha avuto un grosso successo. Tale programma come il PGP permette anche l’accesso a server di distribuzione delle chiavi pubbliche, lasciando comunque, all’utente il carico di verificarne l’effettiva provenienza e ciò può essere fatto ad esempio facendosi inviare per fax o sms o per telefono dal mittente la fingerprint (impronta) presente sulla chiave pubblica e confrontandola con quella disponibile nel server delle chiavi (supponendo di sapere con certezza il numero di cellulare del mittente o del fax e che il mittente che ci invia questo dato ha un uso esclusivo sul controllo del 10
  • 12. mezzo) oppure mettendo la chiave pubblica nel proprio sito web anche se il metodo di costruire degli archivi certificati dalla pubblica amministrazione sembra più funzionale. Vediamo brevemente quali sono i passaggi tecnici per firmare una e-mail e un documento con il PGP. Scrivo un’e-mail con il comune programma di posta elettronica Outlook Express, tra i più diffusi. Copio con “crtl +c” il messaggio, dopo averlo selezionato (oppure con il tasto destro sulla selezione quindi dal menu contestuale clicco su copia). Uso il PGP: funzione “sign”, firmo con la mia chiave privata. 11
  • 13. Clicco su “clipboard”. Ecco la firma da allegare all’e-mail. Per verificare la firma seleziono e copio tutto il testo. Clicco su “Verify”: verifico la firma con la mia chiave pubblica. 12
  • 14. Clicco su “clipboard”. Il messaggio è stato verificato. Per firmare un documento, tasto destro sul documento e poi su “sign”. 13
  • 15. Viene prodotto il “doc.sign” usando la password per l’accesso alla chiave privata. Per verificare la firma: doppio clic su “doc.sign” e appare la conferma. Il procedimento per crittografare un documento è simile a quello della firma: clic con il tasto destro sul “file -> PGP -> Encript” si dovrà selezionare la chiave pubblica del destinatario quindi verrà prodotto il file criptato con estensione “pgp”. Analogamente è possibile con una sola operazione criptare e firmare un messaggio o un documento. Un altro modo per risolvere il problema della paternità delle chiavi è quello di pubblicare la chiave pubblica direttamente nel sito della PA di riferimento e di mettere vicino la fingerprint (impronta digitale) in modo che chi scarica la chiave può controllare subito che è originale e non è alterata. Questo metodo presuppone che l’accesso al sito della pubblica amministrazione sia regolato da rigidi controlli e può essere un metodo efficace per evitare la creazione di server pubblici per la conservazione delle chiavi. Quindi nel caso del Dipartimento di Economia e Diritto la procedura può essere: • La chiave pubblica verrà messa on-line nel sito del Dipartimento (ex Facoltà) con l’indirizzo email cioè nel sito ufficiale della PA, questo certificherà l’appartenenza . • La chiave pubblica sarà controllata attraverso la impronta digitale (fingerprint): se qualcuno sostituisce la chiave, la nuova chiave avrà un’impronta diversa e il responsabile della struttura porrà verificarlo. La fingerprint verrà stampata al momento della sua creazione e conservata in modo accurato anche in un supporto digitale. 14
  • 16. Il processo di firma del PGP (più avanti vedremo GPG e WinPt) è molto simile a quello dei software classici di firma digitale che realizzano il famoso formato “p7m” come Dike (da Infocert) e FirmaCert , FIleProtector anche se non necessita della smart-card. Applicazione pratica: supponiamo che uno studente scarichi dal sito dell'Università un documento, magari non protocollato e lo modifichi poi venga in ufficio a protestare per un ipotetico disservizio (es il file degli esami con le relative date). Dimostrare che il file è in suo possesso è un falso è banale: se il file non è firmato è sicuramente un falso mentre se è firmato basta confrontare la firma con il certificato pubblicato sul sito del Dipartimento e controllare la sua fingerprint con quella pubblicata e dichiarata e presente in altri documenti firmati e già pubblicati. In questo modo si dimostra l’autenticità e l’integrità del documento oltre al fatto che si può controllare meglio il suo stato di conservazione, ovvero che non abbia subito perdite di bit. Ecco lo schema generale di funzionamento: Punti di forza   Dematerializzazione Semplicità d’uso Punti di debolezza   Sicurezza del dispositivo di firma Validità della firma solo nei rapporti con 15
  • 17.  Risparmio notevoledei costi nei processi amministrativi e nella gestione documentale Opportunità   Semplice implementazione Possibilità di ampia adozione anche in altre aziende o in altre PA Possibilità di nuovi business Reingeneering dei processi Conservazione documentale Certficazione identità dell’autore e integrità documento          la clientela Mancanza di uno standard condiviso Gestione delle chiavi Minacce Quadro legislativo in rapido cambiamento La firma elettronica avanzata ha validità solo nei rapposti interni a differenza della firma digitale Altre soluzioni di f. elettronica possono essere avanzate da aziende concorrenti nel mercato del digitale 16
  • 18. Di seguto alcune immagini di altri programmi come il GPG disponibile gratuitamente sia per le piatatforme Windows e Linux (su Ubuntu è di serie) e WINPT (windows Privacy Tools). Il GPG Archivio chiavi Firma digitale con GPG Verifica della firma Il programma WinPt (Windows Provacy Tools) è molto simile a PGP/GPG ed è compatibile anche con le versioni di Windows più datate 17
  • 19. Un aspetto piuttosto delicato da non sottovalutare è la compatibilità tra le varie versioni del PGP, che in ogni caso non è gratuito se non per scopi non commerciali, e le versioni del GPG e Winpt: spesso nel caso di un documento firmato con PGP versione 8, la firma non viene correttamente riconosciuta con il GPG anche se questo tema sono stati fatti passi in avanti. La versione che abbiamo testato del PGP è la 6.5 che è risultata la più compatibile e affidabile anche in differenti versioni di Windows. Altro aspetto delicato da molti sollevato consiste nel fatto che tutti i software (anche il PGP e il GPG) sono soggetti ad attacchi esterni come virus, spyware e worm e che quindi l’utente prima di firmare un documento deve sincerarsi di aver utlizzato tutte le necessarie misure di sicurezza come un buon antiviurs installato e aggiornato (ClamWin antivirus, AVG, Panda Antivirus, Norton Antivirus, Avast Antivirus), uno anti-spyware come SpyBot, la navigazione in internet in modalità riservata, un buon firewall come Zone Alarm per evitare che la password venga intercettatata e magari proteggere la propria chiave privata con programmi di crittografia come Keepass, AxCrypt, WinFileCrypt, Crypt-Gui, True Crypt o Cryptainer LE(questi ultimi due programmi creano hard-disk virtuali criptati con cifratura forte simmetrica dove possono essere conservati i documenti evitando di usare una password diversa per ogni file)nonché è consigliabile effettuare regolarmente il backup dei dati con Microsoft Backup, Uranium Backup,con una immagine del disco fisso, o con programmi di compressione dati ecc. L’uso del PGP/GPG è abbbastanza diffuso, tuttavia richiede un minimo di conoscenze tecniche che non tutti possiedono. Per questo motivo si sono trovate altre soluzioni più semplici da adottare soprattutto in ambiente Windows delle quali parleremo nei prossimi capitoli. L’idea di base rimane sempre la stessa ma viene semplificata la creazione del certifcato contenete la chiave pubblica e la gestione della chiave privata con l’obiettivo di non rendere più indispensabile l’uso di programmi specifici di non semplice reperibilità per firmare i documenti e verificarne la loro autenticità. L’impiego di firme elettroniche avanzate è stato determinante anche per garantire, ad esempio nei confronti degli studenti, l’autenticità e l’integrità dei documenti pubblicati e firmati digitalmente nel sito del Dipartimento di Economia e Diritto scaricando e installando i certificati contenenti le nostre chiavi pubbliche dal sito web dipartimentale è stato possibile evitare contestazioni e produzioni di documenti falsi cosa oggi purtroppo molto facile grazie all’uso delle moderne tecnologie digitali. L’utilizzo delle firme elettroniche avanzate (PGP/GPG e certificati Windows) è stato testato anche con alcuni studenti (previa identificazione in presenza con documento di identità)fornendo loro una coppia di chiavi (una pubblica l’altra privata) con le quali gli stessi studenti hanno potuto inviare e ricevere per e-mail documenti amministrativi informatici firmati con un evidente risparmio di tempo 18
  • 20. e denaro e con un’identificazione certa e sicura. Nel prossimo capitolo descriveremo brevemente l’algoritmo RSA alla base della crittografia a chiave pubblica e della firma digitale e l’algoritmo di Diffie-Helmann alla base invece della trasmissione della chiave nei processi di cifratura simmetrica. IV. L’algoritmo RSA e gli altri algoritmi crittografici L’algoritmo RSA, alla base della crittografia asimmetrica (fondamentale per il PGP/GPG) e della firma digitale è stato ideato nel 1977 da Shamir, RIvest e Adlemann e dalle iniziali di questi tre matematici prende il nome. In estrema sintesi funziona così:  Si prendono due numeri primi molto grandi  Si calcola poi la funzione phi di Eulero ovvero la funzione ci dà il numero di interi primi con n e minori di n .  Si stabilisce un intero e tale che  Si calcola d in modo che  La chiave pubblica sarà la coppia (n, e)  la chiave privata la coppia (n, d) e si calcola il loro prodotto . Sia m il messaggio in chiaro il messaggio cifrato sarà . Per decifrare il messaggio c e ottenere il testo in chiaro m occorre calcolare L’algoritmo funziona perché da . Quindi ovvero . . si ottiene esiste un k intero tale che per il teorema di Eulero. Quindi . Il punto debole dell’algoritmo è che se si conoscesse un sistema per fattorizzare velocemente n allora dalla chiave pubblica si potrebbe facilmente ricavare la chiave privata. Per questo motivo i due fattori primi p, q devono essere molto grandi ma anche molto distanti tra loro altrimenti la fattorizzazione potrebbe rilevarsi più facile di quanto si possa pensare. Nonostante le nuove ricerche matematiche sul tema i nuovi algoritmi di fattorizzazione come la fattorizzazione alla Fermat, il rho di Pollard, il p-1 di Pollard, la fattorizzazione a curve ellittiche, il crivello quadratico non sono ancora sufficienti per mettere in pericolo la sicurezza del sistema. Tuttavia i recenti progressi della fisica quantistica con l’algoritmo di P. Shor se implementato in un calcolatore quantistico funzionante potrebbero mettere in discussione l’intero meccanismo di crittografia e quindi anche di firma digitale. Per il momento programmi matematici come Maxima, Pari/Gp, Mathematica, Magma, Maple, BC possono fattorizzare interi a 80 cifre decimali in pochi minuti ma poi il calcolo assume una complessità esponenziale all’aumentare delle cifre. Esempio RSA, crittografia asimmetrica 19
  • 21. Chiave pubblica =(e, n) = (3, 187) Chiave privata = (d, n) = (107, 187) Se A= 1, B = 2, …… ,Z = 26 Testo in chiaro D = 4 Cifratura: Decifratura: Nell’algoritmo di Diffie-Helmann invece il sistema permette di trasmettere una chiave tra A e B in un canale insicuro e quindi può essere usato per inviare la chiave da applicare nei sistemi di cifratura simmetrica. A sceglie un numero primo molto grande p e un intero g, g < p con MCD(g, p)=1. Poi sceglie un numero casuale a e calcola e trasmette A, p, g a Bob che a sua volta prende un numero casuale b e calcola e quindi ritrasmette B ad Alice. Ora Alice e Bob possono calcolare la medesima chiave perché Alice calcola ed per i noti teoremi sulla teoria dei numeri e BOB invece . Chi intercetta l’invio di questi dati tra A e B non può far nulla perché dovrebbe risolvere l’equazione del logaritmo discreto complessa quanto fattorizzare grandi numeri ovvero deve trovare b (segreto) conoscendo e a conoscendo . Una volta che A e B hanno la medesima chiave posso applicare la cifratura di Vigenere o di Vernam o un altro algoritmo a chiave simmetrica. Esempio Diffie-Helmann 1. Alice e Bob si accordano di usare un numero primo p= 23 e la base g = 5. a 2. Alice sceglie un numero segreto a = 6 e manda a Bob A = g mod p  6 A = 5 mod 23 = 8 b 3. Bob sceglie l'intero segreto b = 15 e manda ad AliceB = g mod p  15 B = 5 mod 23 = 19. b a 4. Alice calcola KA = (g mod p) mod p  6 KA = 19 mod 23 = 2. a b 5. Bob calcola KB = (g mod p) mod p  15 KB = 8 mod 23 = 2. Esempio Vernam (cifrario perfetto, estensione di cifrario di Vigenere di crittografia simmetrica) Se A = 0, B =1, C = 2, …..(alfabeto a 27 caratteri, i calcoli si fanno secondo l’aritmetica modulare modulo 27 ) TESTO IN CHIARO CIAO CHIAVE AJRF TESTO CIFRATO CRRT A + C = 0+2 = 2 = C, B + C = 1 + 2 = 3 = D, Z + C = 26 + 2 =28 =1 mod (27) = B 20
  • 22. V. Creare una firma con Adobe Reader o con PDF XChange Viewer Oltre al PGP esistono altri metodi per costruire firme elettroniche avanzate che utilizzano la cifratura asimmetrica RSA. Per realizzare una firma elettronica compatibile con tutti i programmi Windows occorre anzitutto creare un certificato elettronico (file con estensione “cer”) che contiene anche la chiave pubblica del sottoscrittore e un file con estensione “pfx” che contiene sia la chiave pubblica che la chiave privata. Entrambi i file dovranno essere installati nel computer in uso. In Acrobat Reader (versione XI) basta ciccare su “modifica-> preferenze->identità e certificati affidabili-> aggiungi id digitale oppure a seconda delle versioni (versione 8) su “documento – > impostazioni di protezione ->aggiungi id digitale” e seguire la procedura guidata. Alla fine verrà creato un file “pfx” contenente sia la chiave privata protetta da una password che la chiave pubblica (vedi figura accanto) con tutti i dati del sottoscrittore. Le chiavi sono create con l’algoritmo RSA a 2048 bit secondo gli ultimi standard legislativi: visto l’aumento della potenza di calcolo dei moderni computer per motivi di sicurezza la lunghezza della chiave è passata dai 1024 bit ai 2048 bit attuali. 21
  • 23. Nel file “pfx” abbiamo entrambe le chiavi quella pubblica e quella privata protetta da password e il certificato digitale. Anche in PDF XChange Viewer la procedura per la creazione di una nuova firma è simile a quella di Acrobat Reader. Ci sono comunque altri applicativi gratuiti che permettono di creare firme digitali come ad esempio NitroReader (www.nitroreader.com) alla sezione”Advanced digital ID” ma, in quest’ultimo caso, con la limitazione della dimensione a 1024 bit (oggi la dimensione richiesta è di 2048 bit). Per firmare un documento l’autore della firma aver installato nel proprio PC non solo la chiave privata (pfx) ma anche il certificato contenente la chiave pubblica (con estensione “cer”, o “p7b”) mentre chi riceve il documento firmato per verificare la validità della firma deve aver installato il certificato digitale contenente la chiave pubblica del sottoscrittore (con estensione “cer” o “p7b”). 22
  • 24. VI. Firmare con PDF Creator, Signature 995 o con PDF XChange Viewer Dopo aver creato i certificati digitali dopo averli installati nel nostro PC con un doppio clic a questo punto siamo in grado di effettuare le operazioni di firma digitale non solo per i documenti in formato “pdf” ma anche nel formato Word o Open Office o in XPS e le e-mails. In realtà si tratta di firma elettronica avanzata in quanto il certificato che abbiamo creato non è stato rilasciato da un’autorità certificata o accreditata come prevede la legge benché sia identico nel formato a quello prodotto da queste società (Verisign, Actalis, ecc). In PDF XChange Viewer basta aprire il PDF creato in precedenza quindi cliccare su documento poi su firma. Verrà richiesta la password di accesso alla chiave privata per la firma ed essendo una funzionalità particolare nella versione gratuita del programma (non a pagamento) nel file verrà inserito anche il logo del programma. Analogamente anche molti programmi a pagamento come Adobe Acrobat, NovaPDF , Win2PDF SodaPDF, PentaWarePDF PdfArchitect hanno questa funzione. Anche con il software PDF Signature 995 è possibile firmare digitalmente i documenti di qualunque formato usando gli stessi certificati creati prima. E’ anche possibile criptarli e cofirmarli. Allo stesso modo possiamo firmare i documenti anche direttamente nel programma Word, Open Office o in XPS attivando la corrispondente funzione. 23
  • 25. Sicuramente il migliore applicativo per la firma digitale è PDF Creator che oltre a creare direttamente i file nel formato PDF (anche in PDF/A ottimo per la conservazione digitale) permette di firmarli digitalmente e di apporvi una marca temporale che ne certifica la data e l’ora della creazione. E’ altresì possibile inserire delle opzioni di sicurezza nel file PDF prima di firmarlo in modo che sia impossibile la modifica del documento o imporre particolari limitazioni come l’apertura protetta da password e l’impossibilità della stampa per evitare tentativi di falsificazione. Qui si vede bene in evidenza la scheda sulla firma digitale e sulle caratteristiche del server della marcatura temporale che non è altro che una firma digitale che contiene l’hash del documento insieme alla data e ora. In questo caso con PDF creator il file pfx che contiene sia la chiave pubblica che privata può anche non essere installato nel PC del firmatario ma solo conservato in una penna USB in modo che l’utente possa firmare il documento anche in un computer pubblico senza problemi (si pensi ad esempio agli studenti universitari ). 24
  • 26. Applicazione alla posta elettronica: invio di un messaggio firmato per garantire l’identità del mittente e l’integrità del messaggio con il protocollo S/MIME. Strumenti analoghi sono disponibili in Microsoft Outlook . Importazione e gestione dei certificati digitali in Outlook Express (la procedura è analoga anche per altri client di posta elettronica). Alla fine della procedura di firma il file “PDF” creato conterrà un riferimento (eventualmente anche grafico) alla firma digitale la quale però come abbiamo più volte ricordato per essere verificata occorre che il certificato del sottoscrittore sia installato nel PC in uso. Per verificare quindi la corrispondenza del certificato (formato “cer” o “p7b”) con il sottoscrittore valgono le soluzioni proposte nel caso del programma PGP ovvero:  Pubblicazione del file nel formato “cer” insieme alla sua impronta digitale nel sito web della Pubblica Amministrazione vicino all’indirizzo e-mail del soggetto a cui si riferisce in modo che l’utente possa scaricando il certificato e installandolo verificare correttamente i documenti firmati. Eventualmente tutti i certificati dei dipendenti di una PA potrebbero essere pubblicati in una pagina web specifica del sito internet di quella Pubblica Amministrazione. 25
  • 27.  Pubblicazione dei certificati dei dipendenti della PA ma anche dei cittadini presso un server ad accesso pubblico in sola lettura. Per i cittadini la pubblicazione del loro certificato può avvenire previa domanda in un ufficio pubblico ad esempio del Comune preposto anche al rilascio dei certificati su domanda dell’utente che si presenta con un documento di identità valido. Le altre pubbliche amministrazioni potrebbero così verificare la firma su un documento inviato per e-mail dal cittadino semplicemente scaricando il suo certificato pubblico dal server centrale. Tutti gli accessi in modalità modifica ad un sito sono monitorati. Essendo il documento firmato nel formato CADES e non PADES come i documenti nel formato “p7m” per la verifica della firma basta oltre all’installazione del certificato un qualunque lettore dei file PDF (meglio se Acrobat Reader) e non c’è la necessità di installare altri software come DIKE o FirmaCert indispensabili per l’altro noto formato di firma. Le soluzioni descritte in questo capitolo permettono quindi di creare e usare delle vere e proprie firme elettroniche avanzate che si differenziano dalle firme qualificate o firme digitali sostanzialmente solo perché il certificato di firma viene autoprodotto e non rilasciato da un’autorità certificata e/o accreditata. La compatibilità di questa soluzione è stata anche testata con i più noti programmi di video scrittura come Word o Open Office che hanno una loro specifica funzionalità di inserimento firma al loro interno. In Word pulsante “Office->prepara->aggiungi firma digitale”, mentre in Open Office o Libre Office con il comando “file->firma digitale”. In questo caso essendo il documento firmato ma ancora modificabile occorrerà registrare anche l’hash per essere sicuri della sua integrità. Vale la pena spendere a questo punto due parole sul valore della posta elettronica come strumento di identificazione informatica con valore di semplice firma elettronica. Sappiamo infatti che per dare un valore giuridico ad una e-mail questa deve essere inviata attraverso la PEC posta elettronica certificata (domicilio digitale del cittadino, CEC-PEC, PEC-INI per le imprese, ecc). Tuttavia, come riconosce lo stesso CAD anche la semplice e-mail non ha un valore praticamente quasi nullo. Il problema della posta elettronica tradizionale nasce dal fatto che chiunque senza essere identificato può aprire un indirizzo gratuitamente con uno qualunque dei service provider nel mercato come Libero Infostrada, Kataweb, Alice, Tiscali ecc solo per citarne i più diffusi. Quindi in linea teorica è anche possibile che un malintenzionato possa aprire una casella e-mail a nostro nome e inviare messaggi anche dal contenuto offensivo mettendoci in seri guai. In questo caso tuttavia in presenza di una denuncia la Polizia Postale ha tutti gli strumenti necessari per tracciare il percorso di un messaggio di posta elettronica ricevuto e quindi per stabilire esattamente il computer dal quale è partito smascherando così il truffatore di identità attraverso gli strumenti “ping” e “trace”. Se però un soggetto rilascia una dichiarazione firmata presso una Pubblica Amministrazione specificando qual è il suo indirizzo e-mail ovviamente gli uffici con i quali comunica saranno in grado di identificarlo meglio. Inoltre è sempre buona regola spedire e-mail richiedendo oltre alla la notifica di lettura che però il destinatario può non accettare di inviare anche la notifica di consegna ovvero la notifica che giunge al mittente quando il messaggio è stato recapitato nel server del destinatario anche se questi non lo ha ancora letto. Questo servizio è attivo in numerosi client di posta elettronica come Microsoft Outlook e in quasi tutte le web-mail. Unendo i dati del messaggio inviato con quelli delle notifiche (lettura e consegna) la nostra e-mail assumerà un carattere probatorio ben maggiore. C’è poi da considerare che molte caselle di posta elettronica benché non siano PEC sono distribuite solo 26
  • 28. dopo l’identificazione del proprietario o richiedente (si pensi alle caselle di Poste Italiane) oppure solo ai membri che lavorano in una organizzazione pubblica o privata (es. Università nome.cognome@unimc.it) oppure agli studenti (es. nome.cognome@studenti.unimc.it) . Questi account costituiscono una firma elettronica più forte degli account creati con Libero o con Kataweb e non ufficialmente e pubblicamene dichiarati. Alle e-mail inviate possiamo aggiungere la nostra firma elettronica avanzata (file “cer” e “p7b”) che nelle modalità viste sopra che certificherà l’integrità del messaggio. Un ulteriore sistema per dare valore ad un normale messaggio di posta elettronica non certificata è quello di associare all’indirizzo e-mail un codice personale che può essere inviato dalla Pubblica Amministrazione al cittadino anche via sms o per posta ordinaria. Inserendo il codice nell’oggetto dell’e-mail il cittadino potrà essere identificato proprio in virtù del fatto che un eventuale impostore dovrebbe oltre a inserirsi nella casella di posta di un altro soggetto conoscere il codice personale del soggetto della cui identità digitale ci si vuole impossessare. Molto diffuso come strumento di firma elettronica e di identificazione informatica è anche l’impiego di “carte servizi” o “tessere personali elettroniche” rilasciate direttamente al titolare (si pensi anche ai badge degli impiegati). Posta elettronica e firma digitale sono elementi strettamente collegati. Si pensi ad esempio ad un soggetto che vuole partecipare ad un concorso pubblico presentando la domanda per posta certificata. L’allegato all’e-mail che contiene la domanda nel formato pdf o word deve essere normalmente firmato (file p7m) tuttavia dato che la posta certificata ha avuto un grande sviluppo grazie alla CEC-PEC gratuite mentre la firma digitale rimane ancor oggi un servizio a pagamento quindi poco diffusa, si è stabilito che la Pubblica amministrazione in questi casi può accettare le domande di partecipazione inviate per CEC-PEC anche se l’allegato non è firmato. Si pensi infatti che l’invio per posta elettronica non certificata di una richiesta dove il mittente allega la domanda firmata con firma autografa e un documento di identità valido ottenuti tramite scansione degli originali ha validità legale: possiamo citare l’esempio della procedura di richiesta di cambio di residenza oppure la procedura di richiesta del PIN per la ricezione del CUD che dal 2013 non viene più spedito a casa degli utenti. Nei casi in cui si inviano documenti scansionati di originali firmati è bene fare la massima attenzione perché anche nei file pdf se non protetti è possibile con semplici strumenti copiare l’immagine della firma e quindi tentare di produrre dei falsi con opportuni strumenti di grafica e elaborazione delle immagini. Meglio sarebbe creare dei pdf dei documenti scansionati protetti da modifiche e inibire la stampa del documento ( è possibile comunque la consultazione a video). VII. Conservazione degli archivi : calcolo dell’hash e del CRC con 7-zip, WinRAR, WinZip Sappiamo che i criteri per la conservazione documentale sono dettati dagli articoli 3 e 4 della direttiva CNIPA n. 11/2004 in base alla quale per conservare un insieme di documenti viene creato un file contente le rispettive impronte digitali (hash) e i metadati descrittivi dei documenti (indice di conservazione) quindi su questo file viene apposta la firma digitale del responsabile della conservazione documentale. I files e l’indice di conservazione firmato vengono archiviati in supporti ottici o anche non ottici purché di adeguate qualità e caratteristiche. Normalmente poi dato che non bisogna solo conservare documenti ma archivi e quindi non solo files (privilegiando quelli dai formati aperti, standard de jure, non proprietari, ben documentati, diffusi ) ma anche i metadati descrittivi, strutturali e gestionali che legano i documenti nei loro fascicoli si preferisce affidare la conservazione a soggetti esterni (Poli di conservazione come quelli presenti nelle regioni Marche ed Emilia Romagna) che ne curano la gestione dell’ottica del luogo periodo (long time preservation) secondo il 27
  • 29. modello OAIS (produttori, gestione, utenti). Tuttavia per esigenze limitate a piccoli uffici esistono anche altre procedure che, sebbene non rispettino tutti i requisiti di legge e dei manuali di gestione documentale, offrono però meccanismi di protezione e di conservazione documentatale più che adeguati. Abbiamo già parlato dell’hash e della sua indispensabile funzione nella firma digitale o nella firma elettronica avanzata . L’hash ha un ruolo importante anche nella conservazione documentale di lungo periodo. Infatti nel processo di conservazione dapprima si calcola di ogni documento la sua impronta (hash) oppure il suo CRC (check sum) che è meno affidabile dell’hash ma molto più facile e veloce da calcolare. Si crea così un indice di conservazione IDC che contiene oltre all’elenco di files anche altri metadati tra cui le impronte digitali, data, formato ecc. Questo file viene firmato digitalmente e inviato insieme agli atri documenti nell’archivio di deposito o in quello storico. Per verificare l’integrità di un documento anche a distanza di tempo si prende il documento si calcola il suo hash o il suo CRC e si confronta con quello presenta nell’indice di conservazione nel file firmato digitalmente e sul quale è stata apposta anche la marca temporale. Se le due impronte coincidono allora si può dire che il file è stato conservato perfettamente altrimenti no. Come la legge prevede la conservazione documentale (diretta o sostitutiva nel caso sia necessario la migrazione in nuovi formati con la conformità all’originale certificata con firma digitale del responsabile della conservazione) può avvenire su supporti ottici (CD e DVD con tempi di ritenzione dei dati da 10 a 30 anni) ma anche su supporti magnetici purché di adeguate caratteristiche e qualità conservati lontano da fonti di calore e da fonti elettromagnetiche. Nelle immagini che seguono possiamo vedere come programmi di uso comune come Winzip, Winrar, 7-zip hanno le funzionalità per calcolare l’hash di un documento o il suo CRC e quindi possono essere impiegati nel processo conservativo. CRC in Winrar. Ciccando su utilità-> genera rapporto sull’archivio verrà creato un file “TXT” o in html con l’elenco dei file con i relativi metadati e il CRC. Qui abbiamo usato WinRar non per archiviare i file ma per calcolare il CRC di un gruppo di documenti. I programmi di compressione dati come WinZip e WinRar non sono in generale un buon metodo per archiviare i file perché una minima perdita dei dati li rende illeggibili anche se WinRar ha dei tools specifici per riparare i file danneggiati e quindi talvolta possono essere impiegati anche nella formazione dei fascicoli informatici inserendo in un file compresso tutti i documenti attinenti ad un certo affare o attività, altre volte è consigliabile allegare ad un file pdf principale i relativi documenti collegati (funzione allega file di Acrobat Reader o di Foxit-Reader) mettendo all’inizio del nome del file la data nella forma “aaa_mm_gg_descr” (forma consigliata per facilitare le ricerche). 28
  • 30. In 7-zip è presente la funzione calcola check sum che mostra a video l’hash e il CRC di un file (file->calcola checksum). Il calcolo dell’hash può avvenire mediante gli algoritmi Md5 e Sha-256 bit che sono gli standard maggiormente usati. In appendice abbiamo riportato il codice per un applicativo in php per il calcolo dell’hash di un testo. Tutti i software che gestiscono archivi compressi possono produrre sia in formato nativo (zip, rar, ace) che in formato autoestraente (exe). Anche in Winzip è presente la funzione del calcolo del CRC come pure numerose funzioni per la crittografia degli archivi con l’algoritmo AES a 128 e 256 bit. Sistemi di crittografia simmetrica sono disponibili anche in Zip Genius, 7-zip, ZeroFootprint Crypt, AxCrypt PentaZip, Zip.it, Enzip, WinAce, CuteZip,Cryptainer LE,TrueCrypt . Sono quindi ottimi programmi per proteggere i dati personali da letture non autorizzate anche con la possibilità di cifrare con la password e un file identificativo personale o key-file. Inoltre WinZip può archiviare i file direttamente in un server remoto (Google Drive, BoxNet) Da non sottovalutare è nel contesto della conservazione digitale è anche la creazione di PC virtuali con Virtual PC, VMWare, Virtual Box per installare anche nelle nuove macchine vecchi sistemi operativi con i software necessari per leggere i documenti amministrativi che hanno formati oramai obsoleti anche se così il problema può essere solo semplicemente spostato nel tempo e non risolto. VIII. Sistemi di backup I documenti con il loro indice di conservazione firmato digitalmente devono comunque essere conservati in luoghi sicuri in sistemi di storage management in modo tale che anche in caso di gravi danneggiamenti nel nostro disco fisso sia sempre possibile recuperarli secondo le procedure descritte nel manuale di gestione documentale. Normalmente i sistemi più comuni consistono in:  XCOPY comando di MS-DOS ma presente anche nelle ultime versioni di windows che permette di effettuare di tutti i files presenti anche nelle sottocartelle e/o di copiare solo quelli modificati a partire da una certa data nonché di verificarne l’integrità dopo la copia. 29
  • 31.    Programmi di compressione e gestione degli archivi come WinZip, WinRar, 7-zip, Zip Genius, PentaZip, Enzip, Zip.it , WinAce, CuteZip con funzioni anche di protezione dati (crittografia) di cui abbiamo già parlato e la divisione degli archivi in volumi per la distribuzione in CD e DVD ecc. e programmi per il recupero dei files cancellati e/o danneggiati come Recuva, OfficeRecovery, SmartData Recovery, Pandora Recovery, PC Inspector ecc. Programmi che creano un’immagine disco fisso in modo da recuperare non solo i documenti ma anche tutte le impostazioni, utilizzati soprattutto nel caso in cui in ufficio si debba sostituire un computer e nel nuovo PC debbano essere trasferiti dati e impostazioni. Tra gli esempi citiamo: Acronis True Image e Drive Image. E’ anche molto usata la funzione trasferimento guidato file e impostazioni che è presente nei sistemi Windows. Microsoft Backup ottimo programma per il backup di un computer che permette anche di programmare le operazioni di copia, di verificarne l’integrità nonché di scegliere tra vari tipi di backup differenziale, incrementale, normale. La pecca di questo programma è che è compatibile solo tra sistemi operativi Windows XP ( Win Seven ha un diverso applicativo) 30
  • 32.  Uranium Backup, ottimo programma per il backup gratuito nelle funzioni base e che permette di schedulare le operazioni e di creare dei report sui backup effettuati  Disco Nas, disco di grandi capacità (1-3 TB) e dai costi contenuti (200-300 euro) che collegato in rete premette facilmente di archiviare file e documenti anche di grandi dimensioni (es. dischi Lacie o Buffalo di tipo RAID 0-1). Server remoti raggiungibili via ftp (file transfer protocol )con nome utente e password comodi ma lenti nella fase di upload (es. FileZilla, Cuteftp, WS_ftp LE, ftp di Windows, Core ftp), archiviazione in CD-DVD (supporti ottici) con Nero, CD-Burner, BurnAware, Easy Burner, Roxio ecc. Sistemi di repository di archivi su web come o Google Drive, (http://drive.google.com ) o il cloud di Acrobat.com con una organizzazione dei documenti per “funzioni”, piuttosto che per “persone”  31
  • 33. o Box. Net (www.box.net ) simile a Copy.com (www.copy.com ) o DropBox (https://www.dropbox.com/) 32
  • 34. o Skydrive (http://skydrive.com) o Thinkfree http://www.thinkfree.com o Tim Cloud (www.cloud.tim.it ) o il nuovo JustCloud (http://justcloud.com con la possibilità di collegamento delle risorse con Facebook) 33
  • 35. o Disco remoto di Alice http://file.webalice.it o SugarSync (www.sugarsync.com) o ICloud (www.icloud.com) 34
  • 36. o Microsoft Share Point o Altri servizi: DocStoc, www.docstoc.com , 4shared www.4shared.com , www.slideshare.com, www.scribd.com per i documenti, flickr www.flickr.com per le foto e ISSUU www.issuu.com , YouBlisher www.youblisher.com per le pubblicazioni, vimeo www.vimeo.com e youtube www.youtube.com per i video 35
  • 37. I documenti archiviati in questi hard–disk remoti on-line sul web (sistemi cloud)possono essere condivisi con differenti livelli e diritti ai accesso (lettura, modifica) anche tra più persone e l’amministratore può avere in ogni momento un report dettagliato degli accessi effettuati in un determinato periodo. Possiamo dire che questi sistemi (non professionali) hanno comunque interessanti caratteristiche:            Condivisione documenti in modo sicuro e trasferimento files in modo protetto (https). Creazione di utenti con permessi di sola lettura o di lettura/modifica. Accesso documenti ovunque ma anche report degli accessi anche tramite gli indirizzi IP. Applicazione con tecnologia Sync per la sincronizzazione dei documenti dal PC al server (anche su più personal computer) sebbene l’upload sia un po’ lento in generale. Possibilità di accesso dal cellulare attraverso un’applicazione specifica. Gratuità spazio (2-6 GB), poi costi contenuti fino a qualche TB (15). Possibilità di realizzare web forms per raccolta ed elaborazione automatica dei dati (sondaggi, prenotazioni on-line esami e test, richiesta di informazioni ecc.). Aggiornamento automatico dei files di Power Point, Word o Excel all’ultimo formato (es Skydrive) e traccia delle versioni caricate dello stesso documento. Motore di ricerca per trovare più facilmente i documenti. Ridondanza dei sistemi di backup e backup collocati in posizioni geograficamente differenti. Problema dell’accesso: oltre a consultare i documenti tramite identificazione con nome utente e password i documenti possono essere cifrati. Per evitare problemi di sicurezza, infatti, molto spesso i documenti in conservazione vengono protetti da password e/o criptati in modo che solo i legittimi portatori di interesse possano consultarli (il controllo sulla conservazione viene fatto tramite l’hash). Possono essere impiegati per una realizzare 36
  • 38. un sistema di gestione documentale del Dipartimento di Economia e Diritto in merito alla conservazione di:            Regolamenti Verbali Offerta formativa Seminari Stage Lezioni Esami Test di ingresso Lauree Qualità Modulistica varia, controllo delle attrezzature informatiche ecc Nell’ambito del project work del master abbiamo utilizzato per la gestione documentale una cartella del sito web http://economiaediritto.unimc.it (realizzato in Plone) del Dipartimento di Economia e Diritto condivisa tra i docenti del Dipartimento con accesso riservato tramite le loro credenziali del sistema DSA ovvero del sistema di posta elettronica in modo che tutti i professori potessero facilmente accedere ai documenti anche fuori dall’ufficio in modo sicuro. Ovviamente va ricordato che ci sono dei servizi cloud di livello professionale offerti (a pagamento con ottimi livelli di SLA service level agreement) da Poste italiane, Telecom Italia e Aruba che sono anche noti fornitori di posta certificata e firma digitale. Fondamentale rimane l’impiego in tutti i PC dell’ufficio di gruppi di continuità, di software antivirus, antispyware e firewall e l’uso periodico dello “scandisk” e del “defrag” (analisi del disco e deframmentazione anche con programmi come Sandra Lite software). IX. Uso dei moduli di InfoPath Oltre ai files in formato PDF e quelli nel formato Word Open office la soluzione di firma elettronica avanzata proposta è compatibile anche per la firma di moduli dinamici come quelli prodotti dal noto programma Microsoft InfoPath. 37
  • 39. Tale applicativo consente di creare facilmente senza essere dei programmatori moduli dinamici che possono essere utilizzati per importare facilmente i dati in Access o Excel senza dover stampare il modello e digitarlo di nuovo come spesso avviene nei modelli di Word o nel formato PDF molto usati da tutte le pubbliche amministrazioni con inevitabili errori di digitazione da parte dell’utente. InfoPath si basa sul linguaggio XML ma realizza moduli in un formato proprietario che appare ancora troppo compatibile solo con gli applicativi della Microsoft. Un’alternativa ai moduli di InfoPath è costituita dai “pdf dinamici” poco usati perché per realizzarli occorre l’acquisto di specifici programmi costosi come l’Adobe Acrobat. Nei moduli di InfoPath inoltre è possibile cerare dei campi calcolati e dei campi collegati ad altre banche dati per evitare di far ripetere l’inserimento di informazioni superflue. Tutto questo può portare ad una reingegnerizzazione dei processi con evidenti vantaggi anche economici. I moduli che nel Dipartimento di Economia e Diritto (Ex Facoltà di Economia) abbiamo pensato di creare riguardano:         Stage. Prenotazioni esami, verbalizzazioni esami. Assegnazione tesi. Richiesta di computer proiettore per lezioni. Proposta orari lezioni. Proposta orari esami. Controllo buoni pasto. Banca dati laureati. I vantaggi di questa tecnologia sono molteplici:        Riduzione dell’uso della carta. Applicazione semplice da gestire. Integrazione con Microsoft SharePoint. Firma digitale (firma elettronica avanzata). Importazione dati in Excel o Access. Programma installato in tutti i PC dell’ufficio. Modulistica dinamica con possibilità di predisporre campi calcolati o campi collegati a database e procedure guidate per l’inserimento dei dati evitando errori di digitazione. Tuttavia sono anche diversi gli svantaggi come:   Gli studenti non hanno l’applicativo o non lo conoscono. Non compatibilità con programmi non Microsoft. E quindi in questo contesto spesso è preferibile creare dei moduli web con Google Drive o con Skydrive oppure direttamente nel linguaggio ASP o Php disponendo di un server adatto. In particolare al Dipartimento di Economia e Diritto per gestire la prenotazione degli studenti del primo anno che devono effettuare il test di ingresso si è pensato di utilizzare un modulo costruito con Google Drive dove l’utente prima di inviare i dati sceglie a suo piacimento un codice utente (nickname). Un volta compilato il modulo e inviati i dati potrà verificare lo stato della sua iscrizione al test tramite una pagina dove vengono riportati solo i nickname scelti e la data e ora dell’inserimento dei dati: in questo modo viene tutelata la privacy in quanto i dati pubblicati in chiaro non sono dati 38
  • 40. personali o identificativi e ogni utente ricordando il nickname può sapere se la compilazione del modulo è andata a buon fine e può richiedere ulteriori informazioni all’Ufficio Organizzazione in modo sicuro dando il suo nickname, nome e cognome. X. Appendice Qui di seguito riportiamo due applicativi in php per calcolare l’hash di un documento con algoritmo SHA-1 e MD5. Verranno anche indicati alcuni applicativi per il calcolo dell’hash via web e alla fine dell’appendice verrà riportata una breve guida del noto software crittografico PGP. CALCOLO DELL’HASH IN PHP CON L’ALGORITMO SHA-1 (A 160 BIT) <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="GENERATOR" content="Microsoft FrontPage Express 2.0"> <title>Programma per il calcolo dell'hash con algoritmo sha</title> </head> <body> <h1 align="center">Programma per il calcolo dell'hash con algoritmo sha</h1> <p align="left">&nbsp;</p> <form action="sha1.php" method="POST"> <p><strong>inserire il testo senza andare a capo</strong></p> <p><textarea name="testo" rows="2" cols="55"></textarea></p> <p><input type="submit" name="B1" value="Invia"><input type="reset" name="B2" value="Reimposta"></p> </form> </body> </html> File sha1.php <?$var = $testo; echo sha1($var); ?> 39
  • 41. CALCOLO DELL’HASH IN PHP CON L’ALGORITMO MD5 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="GENERATOR" content="Microsoft FrontPage Express 2.0"> <title>Programma per il calcolo dell'hash con algoritmo md5</title> </head> <body> <h1 align="center">Programma per il calcolo dell'hash con algoritmo md5</h1> <p align="left">&nbsp;</p> <form action="md5.php" method="POST"> <p><strong>inserire il testo senza andare a capo</strong></p> <p><textarea name="testo" rows="2" cols="55"></textarea></p> <p><input type="submit" name="B1" value="Invia"><input type="reset" name="B2" value="Reimposta"></p> </form> </body> </html> File md5.php <? $var = $testo; echo md5($var); ?> Nell’applicativo che segue sempre in php due interlocutori tramite una parola chiave comune generano attraverso un algoritmo crittografico una password comune per la crittografia simmetrica. Se l’indirizzo web dell’applicativo è tenuto segreto e la connessione è protetta, A e B possono ad comunicazione generare una nuova password per garantire la riservatezza delle comunicazioni. 40
  • 42. L’eventuale intercettazione della parola chiave non ha effetti sulla sicurezza del sistema in quanto è il software che dalla parola chiave genera la password comune da usare nelle comunicazioni tra A e B. <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="GENERATOR" content="Microsoft FrontPage Express 2.0"> <title>Programma per la cifratura simmetrica</title> </head> <body> <h1 align="center">Programma per la cifratura simmetrica</h1> <p align="left">il seguente programma genera una password da usare per la cifratura simmetrica dei dati a partire da una parola chiave e da un testo che A, e B (i due interlocutori) concordano preventivamente</p> <p align="left">&nbsp;</p> <form action="cifra.php" method="POST"> <p><strong>inserire parola chiave</strong><input type="text" size="20" name="chiave"></p> <p><strong>inserire il testo senza andare a capo</strong></p> <p><textarea name="testo" rows="2" cols="55"></textarea></p> <p><input type="submit" name="B1" value="Invia"><input type="reset" name="B2" value="Reimposta"></p> </form> </body> </html> File cifra.php <? $s=$testo; $x=$chiave; $t=crypt($s, $x); 41
  • 43. echo "password "; echo "<p>"; echo $t; ?> L'idea di base è la seguente (semplificando) : se A e B devono concordare una password comune si incontrano e stabiliscono una funzione segreta y=x^2-x+1 modulo n con n la dimensione dell’alfabeto. A trasmette a B il valore x valore che può essere intercettato da C (l'hacker). La password non è x ma y che solo A e B possono calcolare (una y per ogni carattere della password). Ogni volta che A e B comunicano decideranno di cambiare la password inviandosi una nuova x e almeno una volta l'anno potranno cambiare anche la y = f(x) per mezzo di un messaggio criptato. Nella realtà x è un codice alfanumerico trasmesso in codici ASCII e la f(x) viene calcolata modulo n dove n sono le lettere dell’alfabeto oppure un altro metodo diffuso è attraverso una matrice di codici che A e B condividono la cui coordinate (riga, colonna) trasmesse da A a B individuano di volta in volta la password da usare nell’algoritmo di cifratura. Per un approfondimento anche di tipo applicativo riporto una serie di siti web che trattano di crittografia, hash e algoritmi di hashing. CALCOLO DELL’HASH CON L’ALGORITMO SHA (ESEMPI DAL WEB)          http://www.fileformat.info/tool/hash.htm http://www.hashemall.com/ http://www.xorbin.com/tools/sha256-hash-calculator http://hash.online-convert.com/sha256-generator http://www.sha1-online.com/ http://www.convertstring.com/Hash/SHA256 http://hash.online-convert.com/sha512-generator http://www.convertstring.com/it/Hash/SHA512 http://www.tools4noobs.com/online_tools/hash/ CALCOLO DELL’HASH CON ALGORITMO MD5     http://onlinemd5.com/ http://md5-hash-online.waraxe.us/ http://www.adamek.biz/md5-generator.php http://www.md5.cz/ CRITTOGRAFIA , RSA http://www.asecuritysite.com/security/encryption Grazie all’hash possiamo essere identificati nei sistemi informatici in modo sufficientemente sicuro: 1) l'utente inserisce a = nome utente, il sistema memorizza solo l'hash del nome utente h1=hash(a), 2) l'utente inserisce la password = passw, il sistema memorizza solo l'hash della password h2 = hash(passw) 3) il sistema unisce i due hash h = h1 h2, il sistema controlla se nell'archivio delle persone autorizzare esiste h: se sì si procede altrimenti no. In questo modo il sistema controlla gli accessi ma non registra le username e le password degli utenti ma li identifica in maniera sicura perché nel suo database ha solo gli hash e non i nomi utenti e le password. Essendo un hash da h1 e/o da h2 non si può risalire al nome utente alla password e non è possibile che due utenti abbiano lo stesso hash finale h2 (l’hash è una funzione non invertibile). Con una tecnica simile possiamo tutelare la privacy dei nominativi degli studenti che hanno sostenuto un esame, ecc. 42
  • 44. BREVE GUIDA ALL’INSTALLAZIONE E ALL’USO DI PGP (PRETTY GOOD PRIVACY) Sebbene le procedura crittografiche siano estremamente complesse, il programma PGP (Pretty Good Privacy) che le utilizza è molto semplice da usare. Si avvale di due chiavi, una privata che occorre tenere assolutamente riservata e una pubblica da comunicare ai propri corrispondenti. Per inviare un messaggio cifrato si deve usare la chiave pubblica del destinatario che rende incomprensibili le informazioni a tutti coloro che non conoscono la chiave privata corrispondente, ovvero tutti eccetto il destinatario. La chiave privata serve per “firmare” il messaggio: in questo modo chi riceve il messaggio può verificare la “firma digitale” attraverso la chiave pubblica ed essere certo della sua provenienza e del fatto che il contenuto non abbia subito modifiche. PGP è un programma che facilita questa complessa procedura. La creazione delle chiavi avviene attraverso un sistema di tipo wizard, dopo di che gran parte delle funzioni può essere controllata all’interno del programma di posta elettronica a cui, in fase di installazione, sono stati aggiunti i necessari moduli supplementari. PGP è predisposto per funzionare con Eudora e Microsoft Exchange ma con programmi differenti si può crittografare e decifrare i messaggi per mezzo degli appunti di Windows. Una volta generate le chiavi occorre trasmettere la chiave pubblica a chiunque possa averne bisogno. Si tratta di un blocco di testo apparentemente insensato che è possibile distribuire senza problemi via e-mail (sarà infatti del tutto inutile a chiunque lo intercetti) . E’anche possibile pubblicarlo nel proprio sito web a disposizione di tutto coloro che intendono scaricarlo: a tale scopo sono disponibili di key servers specifici come http://pgp.mit.edu e PGP può effettuare il caricamento automaticamente. Se la chiave pubblica viene inviata tramite e-mail o scaricata da un server è buona regola verificarne la provenienza chiamando la persona titolare e facendola leggere l’univoca fingerprint (impronta digitale) al telefono oppure chiedendo di spedirla via fax o sms. Per leggere questo codice basta cliccare sulla chiave nella finestra “PGP keys” e scegliere “key proprities” dal menu Keys. Installazione del programma e creazione delle chiavi        Una volta recuperato il file di installazione nel sito ufficiale www.pgpi.com fate doppio clic su di esso. Eseguite il “setup” e installate i plug-in per il programma di posta elettronica in vostro possesso. In questo modo, sarà possibile cifrare i messaggi di posta elettronica direttamente all’interno del vostro programma. E’ possibile, ma una operazione più laboriosa, utilizzare le chiavi pubbliche generate da PGP anche con servizi web di posta gratuita. Terminato il “setup”, viene automaticamente avvisto il “wizard” che vi guiderà attraverso la creazione della vostra chiave personale. Dopo aver inserito i dati richiesti da ogni finestra fate clic sul pulsante avanti per passare alla successiva. Inserite nome, cognome e indirizzo e-mail. A questo punto, dovete stabilire il grado di complessità della vostra chiave di registrazione. Tenete presente che più è elevato il numero che si seleziona e più il documento risulterà sicuro ma nello stesso tempo maggiore sarà il tempo impiegato per generare le chiavi, cifrare e decifrare i file. Il valore predefinito di 2048 è più che accettabile. PGP offre anche l’opportunità di stabilire se assegnare alla vostra chiave una scadenza oppure se essa dovrà avere una durata illimitata. Se volete rinnovare le chiavi di tanto in tanto per una maggiore sicurezza, vi conviene impostare una scadenza contrassegnando con un clic del mouse “ key pair expire on” e digitando una data. Ora inserite una parola o una frase a piacere, di almeno 8 caratteri, che servirà per generare le chiavi. Riportatela frase anche nella casella sottostante, per confermare la vostra digitazione. 43
  • 45.       PGP impiega un po’ di tempo per procurarsi un numero sufficiente di numeri casuali sui quali generare le chiavi. Una volta creata la lista di numeri casuali, è il turno della generazione delle chiavi. Le chiavi generate sono contenute nella cartella “PGP keyrings” contenuta nella directory in cui avete installato il programma; la chiave privata è contenuta nel file secring.skr, mentre la chiave pubblica si trova nel file pubring.pkr. Arrivati al termine dell’installazione guidata fate clic sul pulsante Fine. Comparirà un archivio reimpostato delle chiavi delle persone che hanno collaborato alla creazione di PGP a cui verrà aggiunto il vostro nominativo. La salvaguardia delle chiavi personali è molto importante: sarebbe bene effettuarne una copia di sicurezza ed è proprio questo che vi viene chiesto uscendo dall’archivio di chiavi PGPkeys. Firma e crittografia di un messaggio di posta elettronica con Eudora Pro       Una volta aperto il programma, fate clic sull’icona “nuovo messaggio”. Noterete che sulla barra di formattazione è apparsa una nuova icona: “PGP Encrypt”, il pulsante che dovete selezionare per generare documenti criptati. Se la chiave pubblica del destinatario è in elenco, allora Eudora Pro provvede autonomamente alla cifratura del messaggio e al suo invio. Se invece al destinatario non è associata alcuna chiave, allora si aprirà di nuovo il menu dei contatti per permettervi di selezionare una diversa chiave pubblica. Se il destinatario non vi ha mai comunicato la sua chiave, dovrà farlo inviandovi in un messaggio di posta elettronica il file “pubring.pkr” prodotto dal suo PGP. Il messaggio, una volta cifrato, risulta essere un messaggio vuoto con allegato il file criptato contenete il vero testo del messaggio. Il destinatario del messaggio, se in possesso della chiave provata, potrà esaminare il contenuto del massaggio direttamente con Eudora Pro. Quindi il destinatario stabilisce a priori quella che sarà la chiave di decifratura o chiave privata; con questa genera una seconda chiave, detta chiave pubblica (è la chiave di cifratura), e la invia al destinatario. Il mittente cifra il messaggio utilizzando la chiave pubblica e lo invia al destinatario. Anche se la chiave pubblica venisse intercettata, il documento sarebbe comunque al sicuro perché dalla chiave pubblica non è possibile risalire alla chiave di decifratura. Il destinatario è già in possesso della chiave di decifratura (l’ha stabilita lui) e quindi è già nelle condizioni di aprire il documento. Per firmare un documento invece si usa il procedimento opposto ovvero il mittente autore del documento usa la sua chiave privata per cifrare il testo. Tutti possono cifrare il documento perché tutti possono conoscere la chiave pubblica del firmatario ma nel farlo avrebbero comunque la certezza dell’identità dell’autore in quanto l’unico a possedere la corrispondete chiave privata. Anche questa procedura è presente in modo semplice e intuitivo nelle funzionalità del programma PGP. Riassumendo: si può scaricare il PGP direttamente dal sito www.pgpi.com , quindi la procedura di installazione ha inizio con un doppio clic sul file eseguibile. Poi basta seguire questi semplici passaggi: 1. Quando appare la schermata “select components” occorre verifica che il pacchetto e-mail utilizzato compaia nell’elenco. Scegli tale opzione e fai clic su “Next”. 44
  • 46. 2. Quando ti viene chiesto se intendi usare dei keyrings (portachiavi) pre-esistenti, fai clic su “No”. Apparirà una schermata “setup complete” : assicuri che sia attiva l’opzione “Yes I want to run PGP-keys” e fai clic su “Finish” 3. Verrà lanciato il wizard per generare le chiavi. Fai clic sul pulsante “Next” 4. Inserisci il tuo nome e il tuo indirizzo email. In questo modo gli altri utenti potranno identificare il proprietario della chiave e trovarla se la carichi su un keyserver. Fai clic su “Next”. 5. Puoi scegliere tra le varie opzioni, in particolare le dimensioni della chiave (quanti più bit userai tanto più difficile sarà decrittare il codice). Scegli delle dimensioni media, quelle più grandi richiedono tempi di codifica/decodifica molto lunghi. Fai clic su “Next”. 6. Puoi definire la durata della coppia di chiavi. Fai clic su “Next” 7. Batti una frase segreta che servirà a PGP da base per generare le chiavi. Non usare né parole singole, né sequenze di tasti senza senso: le prime sono troppo semplici da indovinare, le seconde si dimenticano troppo facilmente. Scegli quindi una frase che sia già bene impressa nella tua memoria. Battila nelle caselle e fai clic sul pulsante “Next”. 8. Attiva l’opzione “send my key to the default server” e fai clic sui pulsanti “Next” fino a quando non apparirà il pulsante “finish” per porre fine all’installazione. A questo punto possiamo cifrare e decifrare messaggi e-mail ad esempio con Eudora. 1. Crea e indirizza un nuovo messaggio e-mail come al solito. Premi il pulsante col lucchetto (per crittare il messaggio) e il pulsante con la penna d’oca per aggiungere la firma digitale. 2. Clicca su “queue” per preparare il messaggio per l’invio. Apparirà la finestra che ti chiederà di battere la frase che funge da chiave. Il programma verifica la tua identità prima di applicare al messaggio la firma digitale. PGP usa l’indirizzo inserito nel campo to per ricercare il destinatario. 3. Il messaggio viene crittografato e il testo viene sostituito da lettere e numeri apparentemente insensati. Collegati a internet e invia il messaggio normalmente . 4. Quando il destinatario scaricherà il messaggio vedrà un testo che sembra senza senso. Dovrà quindi premere il pulsante “Decrypt PGP Encrypted Email message” 5. Una finestra di dialogo gli chiederà la frase segreta (senza la quale non è possibile decifrare il messaggio . Una volta inserita dovrà premere il pulsante “ok”. 6. Il messaggio verrà decifrato e visualizzato come testo normale. 7. Si aprirà inoltre la finestra PGP-log che presenta le varie informazioni sul messaggio e sulla validità della firma digitale. Uno degli aspetti più critici del PGP/GPG o delle identità digitali di Windows (certificati digitali) è il fatto che dovendo installare la chiave privata nel proprio computer può capitare che una applicazione nascosta possa non solo copiare la chiave ma anche intercettare la password nel momento in cui firmiamo un documento. Normalmente nei dispositivi di firma digitale questo passaggio non viene eseguito nel PC ma in una smart-card che teoricamente non è soggetta a questo tipo di attacchi. In quest’ultimo caso l'aspetto negativo è che i sistemi che utilizzano smart-card sono piuttosto complessi in quanto comportano l'installazione di numerosi driver, installazione che deve essere ripetuta in ogni computer dove produciamo i documenti che vogliamo firmare con firma digitale (il famoso p7m). Questa difficoltà viene superata con la firma digitale remota che però presenta sempre la necessità di un collegamento a internet e il relativo pagamento del servizio di firma. Nelle soluzioni di firma elettronica avanzata, molto semplici, pratiche da attuare e poco costose, il problema può essere parzialmente risolto impostando nel proprio computer un adeguato livello di protezione: un buon antivirus (ClamWin Antivirus, AVG, Norton Antivirus, Panda Antivirus), un ottimo anti-spyware (SpyBot o Ad-Aware) e un firewall (Zone Alarm), adottare un filtro anti-spam, 45
  • 47. tenere sempre aggiornati programmi e il sistema operativo, la navigazione in internet in modalità protetta (modalità che molti browser offrono (es. Tor, Tunnel Bear, AirVPN, Ipredator) ed evitare siti dalla dubbia provenienza e il “phishing”) o comunque usare programmi in grado di rilevare e bloccare la presenza di software "spia" (Task Manager) e di cancellare subito i file temporanei e cache (CCleaner), preferire se possibile il sistema operativo Linux (Ubuntu), in casi estremi firmare i documenti off-line. Impostando anche dei limiti d'uso delle firme elettroniche si può evitare un uso improprio delle stesse. Nel caso di una pubblica amministrazione si potrebbe stabilire che l'impiego del PGP venga limitato per regolamento interno a una determinata tipologia di documenti. Vanno comunque evitati ovviamente tutti quei comportamenti deprecabili ma molto diffusi come segnarsi password e nome utente in post-it o in foglietti incustoditi: meglio archiviare tutte queste informazioni in un unico file criptato da conservare con la massima cura, tutte semplici regole che possiamo trovare in qualunque manuale di gestione documentale. Ricordiamo che la sicurezza di un sistema informatico è di livello elevato (sistema informatico considerato sicuro) quando l’accesso al sistema stesso avviene mediante almeno due delle tre caratteristiche seguenti: qualcosa che io conosca (la password, PIN che vanno cambiati di regola ogni 3 mesi seguendo procedure ben specifiche per evitare di generare termini segreti banali o troppo difficili da ricordare), qualcosa che io ho (la smart-card, il file identificativo personale, i files chiave tenuti con estrema cura), qualcosa che mi appartiene (dati biometrici, impronte ecc) e il sistema del PGP/GPG soddisfa questi importanti requisiti di robustezza. XI. Bibliografia  Agostino Lorenzi, Richelmo Giupponi, “Informatica: sistemi operativi e reti per il sistema informativo aziendale”, ATLAS Libri Editore, 2010.  Raffaelle Brambilla, Fabrizio Amarilli, “Professione Informatica”, Volumi I, II, III, Franco Angeli Editore.  Glauco Bigini, Marco Brambilla, Cinzia Cappiello, “EUCIP: guida alla certificazione per il professionista IT, Tecniche Nuove Editore, anno 2007.  S.Leonesi, C. Toffalori, Numeri e Crittografia, Springer Editore, anno 2010.  Alessandro Languasco, Alessandro Zaccagnini, Introduzione alla Crittografia, Hoepli Informatica Editore.  Collana Mondo Matematico, volumi: “Matematici, spie e pirati informatici”, “i numeri primi”.  Simon Singh “Codici e crittografia”, Rizzoli Editore, anno 2000. XII. Sitografia  Algoritmi di hash http://it.wikipedia.org/wiki/Hash  Firme digitali http://it.wikipedia.org/wiki/Firma_digitale  Crittografia http://it.wikipedia.org/wiki/Crittografia  RSA http://it.wikipedia.org/wiki/RSA 46