SlideShare une entreprise Scribd logo
1  sur  118
UNIVERSITÀ CA’ FOSARI – VENEZIA
Facoltà di Scienze Matematiche, Fisiche e Naturali
          Corso di Laurea in Informatica




            Tesi di Laurea Triennale




           Laureando: Fabio Pustetto




  POSTA ELETTRONICA SICURA:
         X.509 E PGP


    Relatore: Chiar.mo prof. Riccardo Focardi




          Anno Accademico 2003/2004
www.unive.it        Tesi di Laurea A. A. 2003/2004       www.dsi.unive.it




              “Se la segretezza è fuorilegge,
         solamente i fuorilegge avranno segretezza”
                                                Philip R. Zimmermann




Fabio Pustetto   Posta elettronica sicura: X.509 e PGP    Pagina 2 di 118
www.unive.it              Tesi di Laurea A. A. 2003/2004                      www.dsi.unive.it




                                        SOMMARIO


   SOMMARIO ............................................................................ 3

   PREFAZIONE.......................................................................... 5

   1     INTRODUZIONE .............................................................. 6
       1.1  Contesto normativo in Europa ......................................... 8

   2     REQUISITI..................................................................... 14
       2.1  Autenticazione ............................................................. 16
       2.2  Riservatezza/Segretezza ............................................... 16
       2.3  Integrità ...................................................................... 17
       2.4  Non ripudio.................................................................. 18

   3     TECNOLOGIE ................................................................. 19
       3.1  Algoritmi crittografici simmetrici..................................... 22
       3.2  Algoritmi crittografici asimmetrici ................................... 25
       3.3  Accenni di crittoanalisi .................................................. 27
       3.4  Hashing....................................................................... 32
       3.5  Firma .......................................................................... 34
       3.6  Come funziona in realtà ................................................ 35

   4     GESTIONE DELLE CHIAVI.............................................. 37
       4.1    Distribuzione di certificati .............................................. 39
         4.1.1     Certificate Server ................................................... 39
         4.1.2     Keyserver.............................................................. 40
       4.2    Revoca di Certificati Digitali ........................................... 40
         4.2.1     Certificate Revocation List (CRL) ............................. 41
         4.2.2     Online Certificate Status Protocol (OCSP)................. 43
       4.3    Public Key Infrastructure (PKI) ...................................... 43
       4.4    Web of Trust (WoT) ..................................................... 49
         4.4.1     Signing party: un esempio ...................................... 51

   5     X.509 ............................................................................. 54
       5.1    X.509 Certificate Format ............................................... 55
         5.1.1    Standard PKCS ...................................................... 59
         5.1.2    La versione 4......................................................... 61
       5.2    Come si ottiene un nuovo certificato .............................. 61
       5.3    Come si ottiene il certificato di un utente........................ 65



Fabio Pustetto        Posta elettronica sicura: X.509 e PGP                    Pagina 3 di 118
www.unive.it              Tesi di Laurea A. A. 2003/2004                      www.dsi.unive.it



   6     PGP................................................................................ 68
       6.1    Chiavi in PGP ............................................................... 72
         6.1.1    Key ID .................................................................. 73
         6.1.2    Key Ring ............................................................... 73
       6.2    Generazione messaggi .................................................. 74
       6.3    Horizontal Trusting = fiducia ......................................... 76
         6.3.1    Web of Trust in PGP............................................... 78
       6.4    PGP certificate format ................................................... 81

   7     IN PRATICA…................................................................ 83
       7.1    Produrre un certificato X.509v3 ..................................... 84
         7.1.1    Installare una PKI in Windows ................................ 86
         7.1.2    Installare una PKI in Linux...................................... 88
       7.2    Produrre un certificato PGP ........................................... 95
         7.2.1    PGPkeys................................................................ 97
         7.2.2    PGPmail ................................................................ 97
         7.2.3    Esempio pratico ..................................................... 98
       7.3    Confronto tra PGP e X.509 ............................................ 99

   Appendice ..........................................................................104
      Legenda delle notazioni usate nelle figure ............................104
      Algoritmo di Diffie-Hellman .................................................104
      Algoritmo RSA ...................................................................105
      Comandi principali di OpenSSL ............................................106
      Log emissione certificati .....................................................108

   Glossario............................................................................111

   Bibliografia ........................................................................115




Fabio Pustetto        Posta elettronica sicura: X.509 e PGP                    Pagina 4 di 118
www.unive.it          Tesi di Laurea A. A. 2003/2004          www.dsi.unive.it



                              PREFAZIONE
         A fronte della rapida diffusione di tecnologie informatiche, dal
         trattamento delle informazioni alle comunicazioni, pochi si
         pongono il problema della gestione della sicurezza, nonostante
         lo studio di tecniche procede alla stessa velocità con cui gli
         intrusori riescono a violare le barriere.


         Un semplice messaggio di e-mail è diventato oramai il mezzo
         più diffuso di comunicare: è veloce, economico e consistente
         ma è privo di alcuni requisiti fondamentali: non si è sicuri di chi
         lo ha spedito, del contenuto originale del messaggio e della sua
         riservatezza. Questo è certamente irrilevante per lo scambio di
         barzellette tra colleghi, al contrario è fondamentale per
         professionisti che investono tempo, denaro e sacrifici nella loro
         professione, basata sulla comunicazione affidabile e sicura.


         La firma digitale è l’equivalente elettronico di una tradizionale
         firma apposta su carta. La sua funzione principale è perciò
         quella di attestare validità, autenticità e integrità di un
         documento. Si evita così che qualcuno possa intercettare e
         manipolare    un    documento      riservato,   spacciandolo   per
         autentico. Dal punto di vista tecnico è una codifica crittografica
         del documento.


         Questo elaborato intende fornire le nozioni fondamentali sulle
         attuali tecnologie per la sicurezza della posta elettronica e
         intende investigare le due soluzioni più usate in nei diversi casi:
         utente domestico e professionale (azienda, università, …).




Fabio Pustetto    Posta elettronica sicura: X.509 e PGP        Pagina 5 di 118
www.unive.it        Tesi di Laurea A. A. 2003/2004        www.dsi.unive.it




   1             INTRODUZIONE




       “L’arte della guerra ci insegna a confidare non
      sulla probabilità che il nemico non arriverà, ma
      sulla nostra stessa preparazione a riceverli; non
      sulla possibilità che essi non attaccheranno ma
           sul fatto che noi abbiamo reso le nostre
                    postazioni inattaccabili”
                                              The Art of War, Sun Tzu




Fabio Pustetto   Posta elettronica sicura: X.509 e PGP    Pagina 6 di 118
www.unive.it          Tesi di Laurea A. A. 2003/2004           www.dsi.unive.it




         L’avvento di reti “moderne” (Internet, Intranet) determina un
         utilizzo di massa delle potenzialità di connessione client-server
         al quale non è corrisposto un altrettanto rapido incremento
         della sicurezza nel nuovo ambiente.


         Il problema di Internet è che non si può mai con certezza
         sapere con chi si sta parlando o a chi si stanno inviando
         informazioni. Internet è totalmente anonima, almeno dal punto
         di vista degli utenti finali, sebbene è necessario ricordare che le
         autorità competenti hanno comunque i mezzi per identificare
         con certezza utenti nella rete commettono degli illeciti.


         Sicurezza nelle comunicazioni email significa poter richiedere
         delle condizioni o vincoli.
         Il mittente può richiedere quanto segue:
            •    I dati sono trasmessi alla persona voluta
                    o Se una spia li cattura gli deve essere impossibile
                        comprendere il testo
            •    I dati trasmessi non subiranno modifiche
                    o Se una spia riesce a catturare e modificare i dati,
                        ciò sarà segnalato a chi li riceve
            •    I dati trasmessi sono visti solo dal destinatario
                    o Solo il destinatario deve sapere in che modo poter
                        visualizzare il testo (decifrare)
            •    Il destinatario non può negare l’avvenuta ricezione del
                 messaggio inviato (servizio di notariato)
                    o La firma digitale autentica mittente, data e ora in
                        cui il messaggio è stato inviato




Fabio Pustetto     Posta elettronica sicura: X.509 e PGP        Pagina 7 di 118
www.unive.it           Tesi di Laurea A. A. 2003/2004            www.dsi.unive.it



         Analogamente il destinatario può avere la necessità di
         richiedere una o più delle seguenti condizioni:
            •     Il mittente è veramente quello dichiarato
                     o Chiunque può mandare email a nome falso; devo
                         poter riconoscere l’originale da un falso
            •     I dati ricevuti sono quelli effettivamente inviati
                     o Se il messaggio viene catturato e modificato da
                         una spia durante il tragitto, il destinatario deve
                         essere avvisato
            •     I dati ricevuti non sono stati catturati da terzi
                     o Nessuno deve poter interpretare il contenuto delle
                         nostre comunicazioni, anche se riesce a catturare
                         la nostra corrispondenza elettronica
            •     Il mittente non può negare l’invio del messaggio
                     o Avendo la certezza che il mittente è quello
                         dichiarato, non potrà disconoscere il contenuto di
                         email inviate
                     o Esempio: una grossa ditta fornisce via email un
                         preventivo per una gara d’appalto. Non potrà
                         rifiutarsi di praticare il prezzo stabilito, anche se
                         volutamente basso.


         Altre esigenze analoghe possono preoccupare i soggetti
         coinvolti, in funzione del valore che essi attribuiscono alle
         informazioni trasmesse o ricevute e quindi richiedere misure di
         sicurezza più o meno complesse.


   1.1           Contesto normativo in Europa

         L’Unione Europea, nel corso degli ultimi anni, si è impegnata sul
         fronte delle nuove forme di comunicazione. Il Parlamento



Fabio Pustetto      Posta elettronica sicura: X.509 e PGP             Pagina 8 di 118
www.unive.it          Tesi di Laurea A. A. 2003/2004           www.dsi.unive.it



         Europeo ha invitato gli Stati Membri e la Commissione Europea
         a predisporre misure consistenti per assicurare l’integrità e
         l’autenticità dei documenti trasmessi per via telematica.
         Nell’autunno del 1997 la Commissione ha adottato una
         Comunicazione rivolta al Parlamento Europeo, al Comitato
         Economico e Sociale ed al Comitato delle Regioni, sollecitando
         un disegno comune per la firma digitale e la crittografia,
         strumenti ritenuti essenziali per una maggiore sicurezza del
         commercio telematico.
         Con una successiva Comunicazione si è richiesto al Parlamento
         Europeo l’elaborazione di una direttiva che formuli un
         riconoscimento,       all’interno   dell’Unione   Europea,    delle
         sottoscrizioni elettroniche attraverso la definizione dei requisiti
         essenziali per l’armonizzazione delle legislazioni degli Stati
         membri, e determini i meccanismi di cooperazione con Paesi
         terzi per un mutuo riconoscimento sulla base di accordi
         bilaterali o multilaterali.
         Molti paesi sono ancora ad una fase preparatoria dei lavori (così
         il Regno Unito), altri, invece, hanno introdotto negli ordinamenti
         interni alcune norme significative (Francia, Germania).


         L'Italia è il primo paese europeo ad aver attribuito piena validità
         giuridica ai documenti informatici grazie alla legge Bassanini ed
         al ruolo svolto da AIPA (Autorità per l'Informatica nelle
         Pubbliche Amministrazioni), ora CNIPA (Centro Nazionale per
         l’Informatica nella Pubblica Amministrazione, [4]).


         La materia della documentazione elettronica e della firma
         digitale ha trovato una disciplina nell’ordinamento giuridico
         italiano con il D.P.R. 10 novembre 1997, n. 513, “Regolamento
         recante criteri e modalità per la formazione, l’archiviazione e la


Fabio Pustetto     Posta elettronica sicura: X.509 e PGP       Pagina 9 di 118
www.unive.it         Tesi di Laurea A. A. 2003/2004             www.dsi.unive.it



         trasmissione     di   documenti     con   strumenti   informatici   e
         telematici, a norma dell’articolo 15, comma 2, della legge 15
         marzo 1997, n.59”.
         Il risultato, prodotto dalle norme del regolamento, è la piena
         rilevanza giuridica della documentazione informatica e la sua
         equiparazione alla tradizionale documentazione “cartacea”.
         All’intenso valore giuridico della disciplina regolamentare non si
         accompagna un equivalente valore pragmatico, in quanto, per
         quest’ultimo, occorrerà attendere l’emanazione di ulteriori ed
         indispensabili        regolamenti     tecnici    di      attuazione.
         Successivamente all’emanazione di tali regolamenti, il D.P.R.
         513 diventerà pienamente operativo.


         Il regolamento si compone di tre capi.


         Il primo di questi, dedicato ai principi generali, si apre con
         l’enunciazione delle definizioni dei termini di carattere tecnico,
         utilizzati nel corso della disciplina giuridica. Alla nozione di
         documento informatico ed alla descrizione dei requisiti che lo
         caratterizzano, segue la disciplina dell’atto informatico come
         forma scritta e dell’efficacia probatoria ad esso attribuita e
         quella della validità e rilevanza attribuita alla copia di atti e
         documenti. Lo stesso capo si occupa (sommariamente) della
         disciplina delle attività da compiersi per il rilascio delle chiavi
         asimmetriche all’utente da parte dell’Autorità di certificazione,
         nonché degli obblighi inerenti entrambe le parti.


         Il secondo capo, rubricato “firma digitale”, si dedica alla validità
         e rilevanza a tutti gli effetti di legge dei contratti stipulati con
         strumenti informatici o per via telematica. L’attenzione è poi
         rivolta ai criteri di conclusione del contratto e di notifica del


Fabio Pustetto    Posta elettronica sicura: X.509 e PGP        Pagina 10 di 118
www.unive.it            Tesi di Laurea A. A. 2003/2004              www.dsi.unive.it



         documento        informatico,     nonché    alla     segretezza    della
         corrispondenza trasmessa per via informatica ed alla possibilità
         di effettuare pagamenti elettronici, come pure alla formazione
         di libri e scritture contabili, a carattere obbligatorio, in formato
         elettronico.         Le    successive      disposizioni      attengono
         all’autenticazione della firma digitale, riconosciuta ai sensi
         dell’art. 2703 cod. civ., ai criteri di validità e di applicazione
         delle chiavi di cifratura della pubblica amministrazione. Il
         secondo capo si chiude con la disciplina della firma digitale e
         del documento informatico nella pubblica amministrazione.


         Le norme di attuazione del regolamento sono contenute nel
         capo terzo, il quale pone alle pubbliche amministrazioni dei
         termini per l’adozione di piani di sviluppo e di realizzazione
         nonché di un rapporto tra costi e benefici del recupero su
         supporto informatico dei documenti e degli atti cartacei.


         Il sistema che attribuisce al documento informatico con firma
         digitale l’efficacia della scrittura privata (art.5) è così concepito:
         un’Autorità     di    certificazione,   consultata    da    un    utente
         interessato, descrive a quest’ultimo la procedura e concede il
         know how per la “generazione” di una coppia di chiavi.
         L’utente ha il dovere di custodire segretamente la propria
         “chiave privata”, che utilizzerà per apporre la firma; tuttavia, è
         data facoltà di depositare in forma segreta la chiave presso un
         notaio (secondo la disciplina del testamento segreto).
         La propria “chiave pubblica” verrà pubblicata in un registro
         telematico da parte del certificatore. Quest’ultimo, ricevuta la
         chiave pubblica dell’utente, emette un “certificato”, il quale
         garantisce la corrispondenza biunivoca tra chiave pubblica,




Fabio Pustetto    Posta elettronica sicura: X.509 e PGP             Pagina 11 di 118
www.unive.it            Tesi di Laurea A. A. 2003/2004                 www.dsi.unive.it



         necessaria per la verifica della firma, chiave privata e soggetto
         titolare.
         Il contenuto del certificato riguarda l’indicazione delle generalità
         della persona, della corrispondente chiave pubblica e del
         termine di scadenza (art. 1, h). La validità di tale certificato è
         stabilita in una durata massima di tre anni, ma può essere
         revocato, ossia perdere validità irretroattivamente, ovvero
         sospeso per un periodo di tempo determinato.


         Il regolamento si occupa di disciplinare i requisiti dei
         certificatori, i quali hanno il delicato compito di assicurare la
         corrispondenza, e quindi la titolarità, delle chiavi asimmetriche,
         e di conseguenza della firma digitale. Con riferimento al settore
         privato, per svolgere l’attività di certificatore occorre l’inclusione
         in un apposito elenco pubblico tenuto dall’Autorità per
         l’Informatica nella Pubblica Amministrazione (art. 8, comma 3).


         Il regolamento contiene norme la cui incidenza sul diritto
         sostanziale     è     estremamente       rilevante,     pur     mancando
         un’immediata        applicabilità,   rinviata   a     successive    norme
         tecniche. (tratto da [27], [5])


         Per completezza, è utile sapere che il governo americano
         impedisce l’esportazione di software di cifratura che utilizzi
         chiavi di lunghezza tale da garantire la resistenza del cifrario
         per un periodo relativamente lungo. Un’analoga limitazione non
         si applica agli algoritmi di generazione e verifica di firme
         elettroniche a patto che questi non siano modificabili in modo
         da renderli utilizzabili per la cifratura.




Fabio Pustetto       Posta elettronica sicura: X.509 e PGP             Pagina 12 di 118
www.unive.it          Tesi di Laurea A. A. 2003/2004          www.dsi.unive.it



         Per questo motivo PGP è stato coinvolto in varie controversie:
         nato come tool disponibile per tutti gratuitamente, il governo
         degli USA ha dichiarato che la possibilità da parte degli stranieri
         di ottenerlo, costituisce una violazione delle leggi riguardanti
         l’esportazione di armi. Per aggirare tali restrizioni, le ultime
         versioni sono prodotte fuori dagli Stati Uniti e con versioni
         diversificate.




Fabio Pustetto    Posta elettronica sicura: X.509 e PGP       Pagina 13 di 118
www.unive.it        Tesi di Laurea A. A. 2003/2004       www.dsi.unive.it




   2             REQUISITI




         “Ogni Egiziano riceve due nomi che sono
     conosciuti rispettivamente come il vero nome e il
      giusto nome, oppure il grande nome e il piccolo
     nome; mentre il giusto o piccolo nome sono resi
      pubblici, il vero o grande nome sembrano esser
                 stati nascosti attentamente”
                         The Golden Bought, Sir James George Frazer




Fabio Pustetto   Posta elettronica sicura: X.509 e PGP   Pagina 14 di 118
www.unive.it          Tesi di Laurea A. A. 2003/2004               www.dsi.unive.it




         Come      anticipato,     la   certificazione     elettronica   consiste
         nell’utilizzare tecniche che consentano di attribuire a documenti
         elettronici la stessa validità degli analoghi cartacei e, se
         possibile, maggior sicurezza: mentre un documento cartaceo
         può essere manomesso e spacciato per autentico, con la
         certificazione elettronica ogni alterazione viene evidenziata, sia
         esso un documento testuale o un qualsiasi file binario.


         I nemici più comuni contro cui si vuole predisporre adeguate
         contromisure sono riassunte nella successiva tabella (da [39]):


           Avversario                                Scopo
        Studente                 Divertirsi curiosando nella posta altrui
        Hacker                   Verificare i sistemi di sicurezza; rubare dati
        Venditore                Pretendere di rappresentare tutta Europa
                                 Scoprire il piano strategico di mercato di un
        Uomo d’affari
                                 concorrente
        Ex dipendente            Vendicarsi per esser stato licenziato
        Cassiere                 Appropriarsi del denaro di una società
                                 Negare una promessa fatta a un acquirente
        Agente di cambio
                                 per email
        Truffatore               Rubare numeri di carta di credito
        Spia                     Scoprire la forza militare di un nemico
        Terrorista               Rubare segreti per una guerra batteriologica


         Per proteggere, cioè rendere sicuro, si intende predisporre
         contromisure di protezione per i rischi specifici.


                     Rischio                               Requisito
        Frode                                  Autenticazione
        Intercettazioni non autorizzata        Riservatezza/Segretezza
        Modifica dati                          Integrità
        Diniego                                Non ripudio


Fabio Pustetto     Posta elettronica sicura: X.509 e PGP           Pagina 15 di 118
www.unive.it           Tesi di Laurea A. A. 2003/2004                        www.dsi.unive.it




         Un testo scritto al computer è modificabile per definizione e se
         vogliamo usarlo come documento inoppugnabile dobbiamo
         renderlo “sicuro”, ossia non più modificabile senza che tale
         modifica venga segnalata. I decreti Europei ci impongono di
         ricorre alla cifratura utilizzando la tecnica delle coppie di chiavi,
         una segreta ed una pubblica, con varie attenzioni.


   2.1           Autenticazione

         L’autenticazione è il procedimento utilizzato per verificare
         l’identità dell’utente o dell’autore di un documento. Questa
         verifica richiede lo scambio di informazioni segrete tra l’utente e
         l’applicazione     che     vuole     utilizzare.     Nel     caso      di      email
         l’autenticazione ci assicura che il documento non sia un falso e
         che il mittente è proprio chi dice di essere. A tale                    scopo la
         firma elettronica accoda al testo un riassunto firmato con la
         chiave privata del mittente.
         I   certificati   X.509,      illustrati   nel     corso     del     documento,
         consentono anche l’autenticazione tra Client e Server in una
         qualsiasi interazione che deve svolgersi in modo sicuro (es
         scambio di dati sensibili o Web Server autenticati), attraverso il
         protocollo SSL/https.


   2.2           Riservatezza/Segretezza

         La segretezza consente ad utenti autorizzati di interpretare
         informazioni      riservate     negandole        a   tutti    gli     altri.    Tali
         informazioni devono essere protette sia durante le operazioni di
         memorizzazione sia durante la trasmissione in rete. I dati
         memorizzati possono essere protetti con codifica o controllo di
         accesso. Il controllo di accesso consente all’utente di utilizzare


Fabio Pustetto     Posta elettronica sicura: X.509 e PGP                    Pagina 16 di 118
www.unive.it            Tesi di Laurea A. A. 2003/2004              www.dsi.unive.it



         la propria autorizzazione per accedere alle risorse disponibili;
         l’accesso viene limitato solo agli utenti autenticati ed autorizzati.
         Per la trasmissione in rete devono essere necessariamente
         codificate. La codifica richiede l’utilizzo di una chiave che
         consenta       solo   al   legittimo   destinatario   di   decifrare   le
         informazioni.


   2.3           Integrità

         Come un sigillo protegge il documento contenuto in una busta,
         la certificazione dovrà garantire la protezione delle informazioni
         dalle eventuali modifiche apportate da altri utenti non
         autorizzati.


         Gli algoritmi, perciò si occuperanno di applicare ai dati una
         funzione hash non invertibile. Il risultato della funzione,
         chiamato valore di controllo o impronta, viene cifrato e
         accodato ai dati. Il destinatario, per assicurarsi che i dati
         ricevuti non siano stati modificati, esegue la stessa funzione di
         hash del mittente sui dati e confronta il risultato ottenuto con il
         valore di controllo accodato ai dati. Se i dati non coincidono
         significa che sono stati modificati ed il destinatario può non
         accettarli.


         L’intruso che riuscisse ad intercettare i dati durante la
         trasmissione potrebbe modificarli con successo solamente
         conoscendo la chiave di codifica applicata con il secondo
         passaggio.




Fabio Pustetto     Posta elettronica sicura: X.509 e PGP            Pagina 17 di 118
www.unive.it            Tesi di Laurea A. A. 2003/2004         www.dsi.unive.it



   2.4           Non ripudio

         Per qualsiasi società è importante poter stipulare accordi
         vincolanti e legalmente validi anche tramite Internet. Fornitori e
         acquirenti esigono la certezza che un contratto stipulato non
         possa essere negato da nessuna delle due parti.


         Se da un lato chi invia non può disconoscere la paternità di un
         documento firmato digitalmente, dall’altro, chi riceve non può
         negarne l’esistenza. Entrambi si possono appellare alle varie
         informazioni che si integrano nella firma digitale quali
         potrebbero essere la data e l’ora esatta di invio del documento.


         La pubblica amministrazione, per ogni Area organizzativa, deve:
            •     mantenere un registro informatico;
            •     istituire un servizio e nominare un responsabile;
            •     assicurare che venga effettuata la registrazione di
                 protocollo dei documenti scambiati con soggetti esterni,
                 come da Dpr 445/2000 (che contiene l’ex Dpr 428/98 e
                 l’ex Dpr 513/97).
         Solo così possono garantire la non ripudiabilità di un documento
         informatico.




Fabio Pustetto      Posta elettronica sicura: X.509 e PGP      Pagina 18 di 118
www.unive.it        Tesi di Laurea A. A. 2003/2004       www.dsi.unive.it




   3             TECNOLOGIE




        “Storicamente sono stati quattro i gruppi di
      persone che hanno dato il loro contributo all’arte
        della crittografia: militari, corpo diplomatico,
                  scrittori di diari e amanti …”
                                                Andrew S. Tanenbaum




Fabio Pustetto   Posta elettronica sicura: X.509 e PGP   Pagina 19 di 118
www.unive.it           Tesi di Laurea A. A. 2003/2004            www.dsi.unive.it




         Scopo di questo elaborato è analizzare le tecniche per
         proteggere le comunicazioni di informazioni tra elaboratori
         connessi in rete. Il modello di riferimento per reti di computer è
         ISO-OSI     (Open    System    Interconnection)    dell’International
         Standard     Organization.    Si   compone    di   7   livelli:   fisico,
         collegamento dati, rete, trasporto, sessione, presentazione,
         applicazione. Per ognuno di questi livelli esistono tecnologie e
         procedure, anche estreme, per rendere sicure le comunicazioni
         e assieme partecipano al fine. Alcune proposte sono riassunte
         da [39]:


           Livello                           Procedure
                         in ambito militare le dorsali più critiche vengono
        Fisico           racchiuse in condotte sigillate contenenti gas
                         Argo ad alta pressione (un po’ drastico, in realtà)
                         su una rete punto a punto è possibile codificare
                         ogni pacchetto appena lascia una macchina e
                         decodificarlo appena arriva a destinazione,
        Data Link        lasciando all’oscuro i livelli superiori. Questa
                         soluzione fallisce se nel tragitto si attraversano
                         router: essi infatti devono decodificare i pacchetti
                         rendendoli vulnerabili agli attacchi
                         è possibile installare un firewall per accettare o
        Rete
                         scartare pacchetti
                         è possibile codificare l’intera connessione da un
        Trasporto
                         capo all’altro (da processo a processo)
                         Vari software e algoritmi. Solo in questo livello è
        Applicazione
                         possibile garantire non ripudio e autenticazione


         La tecnologia principale su cui si basano tutte le applicazioni
         inerenti alla sicurezza è la “crittografia”. Con questo termine si
         intende la tecnica per trasformare una sequenza di dati in
         chiaro in un'altra sequenza apparentemente incomprensibile:
         proteggere i dati originali rendendoli segreti. Solamente le



Fabio Pustetto      Posta elettronica sicura: X.509 e PGP       Pagina 20 di 118
www.unive.it            Tesi di Laurea A. A. 2003/2004                         www.dsi.unive.it



         persone autorizzate a conoscere quei dati possono operare il
         processo inverso, poichè solo loro posseggono la chiave per
         decifrarli.


         La crittografia classica è basata su 2 tipi di algoritmi: a chiave
         simmetrica (o segreta) e a chiave asimmetrica (o pubblica).
         I primi sono i più semplici e veloci. Si occupano della vera e
         propria crittografia del messaggio, i secondi stati sviluppati per
         ovviare alle due più grandi lacune degli algoritmi simmetrici: il
         problema della trasmissione della chiave utilizzata e del numero
         di chiavi necessarie tra coppie di utenti. A dire la verità sono
         abbastanza complessi, ma fondamentali per tutte le recenti
         applicazioni riguardanti la sicurezza online.




                                    cifratura                   decifratura
                  testo originale               testo cifrato                 testo in chiaro



         Un algoritmo crittografico
            •    Lavora su una sequenza di dati iniziale da crittografare
                 (testo in chiaro);
            •    Genera una seconda sequenza contenente i dati
                 crittografati (testo cifrato);
            •    Basa il suo lavoro su una o più chiavi.


         La seconda tecnologia è detta hashing. Basandosi su una
         sequenza di dati potenzialmente infinita, consente di generarne
         un'altra,     molto        più     piccola     e       di   dimensione            fissa,
         “rappresentativa” del contenuto della sequenza iniziale, detta
         hash, digest, riassunto o impronta.



Fabio Pustetto       Posta elettronica sicura: X.509 e PGP                     Pagina 21 di 118
www.unive.it              Tesi di Laurea A. A. 2003/2004                www.dsi.unive.it




         Utilizzandole entrambe è possibile realizzare firma digitale e
         crittografia delle email, ma anche applicazioni come trasmissioni
         dati crittografati con controllo degli errori, siti web sicuri (SSL),
         identificazione delle persone e altro ancora.


   3.1           Algoritmi crittografici simmetrici

         Questi tipi di algoritmi si basano sulla conoscenza comune e
         assolutamente riservata tra mittente e destinatario di una
         chiave. Spesso l’algoritmo di codifica è conosciuto, secondo il
         principio di Kerckhoffs: “La sicurezza di un crittosistema non
         deve dipendere dalla segretezza dell’algoritmo usato, ma solo
         dalla segretezza della chiave”.


         Affinché gli estranei non riescano a comprendere il documento,
         potremmo sostituire ogni lettera nel documento con una
         successiva nell'alfabeto. Questo tipo di cifrario è detto “a
         sostituzione”. Uno dei primi esempi di utilizzo è attribuito a
         Cesare, che usava comunicare con i suoi legionari trasponendo
         di 3 lettere l’intero testo. In questo modo:


         a   b    c   d   e   f   g   h   i   l   m n   o   p   q   r   s   t   u   v   z
         D   E   F    G H     I   L   M N O       P   Q R   S   T   U   V   Z   A   B   C



         Con questo cifrario, se un nemico avesse ricevuto il messaggio
         IALLN SUNPD GHO ZUDPRQZR


         non avrebbe potuto coglierne il significato. Un Romano, invece
         lo avrebbe tradotto facilmente in
         fuggi prima del tramonto




Fabio Pustetto        Posta elettronica sicura: X.509 e PGP             Pagina 22 di 118
www.unive.it              Tesi di Laurea A. A. 2003/2004                          www.dsi.unive.it



         Solo il destinatario reale dovrà essere in grado di decifrarla,
         poichè è a conoscenza di come è stata trasformata la sequenza
         originale. La chiave per decifrare il messaggio è appunto sapere
         che ogni lettera è stata trasposta circolarmente di 3 posti
         nell'alfabeto. Per quanto semplice, questo algoritmo può essere
         considerato un algoritmo crittografico a chiave segreta.


         Lo stesso algoritmo, lavorando sugli stessi dati, avrebbe portato
         a sequenze cifrate diverse in base alla chiave utilizzata: +1
         (successive), -1 (precedenti), +2 (successive delle successive),
         ecc... In questo algoritmo la chiave è rappresentata da un
         numero intero.


         Per decodificare il documento cifrato si utilizza un algoritmo che
         funziona al contrario, data una sequenza di dati e una chiave.
         La chiave utilizzata è la stessa che ha utilizzato l'algoritmo
         iniziale per cifrare i dati.




                                   cifratura                   decifratura
                 testo originale               testo cifrato                 testo in chiaro




         Con un algoritmo di questo tipo e una chiave così banale, si
         potrebbe provare a decifrarlo provando con tutte le 26 (il
         numero delle lettere nell’alfabeto inglese) chiavi possibili: non ci
         vuole molto a provarle tutte.




Fabio Pustetto        Posta elettronica sicura: X.509 e PGP                      Pagina 23 di 118
www.unive.it         Tesi di Laurea A. A. 2003/2004           www.dsi.unive.it



         Potremmo allora pensare di sostituire ogni lettera con un’altra
         con distanza casuale secondo una funzione stabilita. Le possibili
         chiavi sono ora una permutazione sulle 26 lettere dell’alfabeto:
         26!≈4*1026 ma con le attuali tecniche (analisi della frequenza
         delle lettere) la crittoanalisi non è molto complessa.


         In realtà gli algoritmi utilizzati sono ben altri e le chiavi che
         utilizzano non sono numeri interi come nel nostro esempio ma
         sequenze di bit.


         Un tipico algoritmo di crittografia è RC2 con chiavi da 40 bit.
         Tutte le possibili chiavi che si possono ottenere sono 240, circa
         1012. Ci sono algoritmi che lavorano con chiavi da 168 bit, come
         il Triple-DES: in questo caso il numero di chiavi possibili ha ben
         51 cifre. Si è calcolato che, con i computer più potenti realizzati
         al momento, il tempo necessario per provarle tutte è maggiore
         del tempo che rimane al Sole prima di spegnersi. (cit. [1])


         La debolezza di questo algoritmo sta nella necessità di dover
         trasmettere la chiave segreta in chiaro e nell’uso ripetuto della
         stessa: se una spia non ha intercettato la chiave durante la
         trasmissione, ha comunque molto tempo per poterla trovare.
         La riservatezza del messaggio si basa sul fatto che la chiave
         segreta è stata scambiata in un momento diverso rispetto al
         messaggio e che questa non è stata intercettata.


         Con n (grande) destinatari, avere una chiave segreta per
         ognuno di essi è impensabile, nell’ordine di O(n2), così come
         averne una condivisa tra più utenti renderebbe inutile la
         cifratura. A tale scopo sono stati realizzati gli algoritmi
         crittografici a chiave asimmetrica, o pubblica.


Fabio Pustetto    Posta elettronica sicura: X.509 e PGP       Pagina 24 di 118
www.unive.it            Tesi di Laurea A. A. 2003/2004                   www.dsi.unive.it



   3.2           Algoritmi crittografici asimmetrici

         Pubblicati per la prima volta su “Le Scienze” nel 1976 da
         Whitfield Diffie e Martin Hellman, gli algoritmi a chiave pubblica
         si basano su una coppia di chiavi: pubblica e privata. La chiave
         privata non viene mai scambiata mentre quella pubblica è nel
         nostro interesse diffonderla. Quello che si cifra con l’una lo si
         decifra con l’altra; per cifrare un testo si utilizza la chiave
         pubblica del destinatario, per firmare quella privata del
         mittente. Nel caso di cifratura:



                           Algoritmo asimmetrico              Algoritmo simmetrico

          Creazione      il destinatario genera una il destinatario genera una
            chiavi       coppia di chiavi, KU e KR. chiave.

            Invio        il destinatario invia o pubblica il destinatario invia la chiave
            chiavi       la chiave KU al mittente per al mittente per crittografare i
                         crittografare i dati.            dati.

         Crittografia il mittente utilizza la chiave il mittente utilizza la chiave
             dati     KU     con    un     algoritmo appena       ricevuta      per
                      asimmetrico per crittografare crittografare il messaggio da
                      il messaggio da inviare.       inviare.

          Invio dati     i dati cifrati vengono inviati al i dati cifrati vengono inviati al
                         destinatario. Nessuno può destinatario. Se qualcuno
                         decodificare il messaggio avesse messo le mani sulla
                         perché         solamente        il chiave        precedentemente
                         destinatario      possiede     la inviata potrebbe decodificare
                         chiave KR per farlo.               i dati.

         Decodifica      il destinatario usa la chiave il destinatario usa la chiave
            dati         KR        con        l'algoritmo con l'algoritmo simmetrico
                         asimmetrico      giusto       per giusto per decodificare i dati.
                         decodificare i dati.



         Quindi con l’uso di algoritmi crittografici asimmetrici l'unica
         chiave capace di decodificare (KR), non è mai trasmessa.
         Circola solo la chiave KU, che non permette di decodificare
         nulla! Da ciò derivano i nomi chiave pubblica (KU) e chiave
         privata (KR). (notazione da [37]).


Fabio Pustetto       Posta elettronica sicura: X.509 e PGP               Pagina 25 di 118
www.unive.it             Tesi di Laurea A. A. 2003/2004                                   www.dsi.unive.it




         Non è possibile risalire alla chiave privata data la pubblica o
         risalire al testo da crittogramma e chiave pubblica.


         La chiave di codifica KU e quella di decodifica KR vengono
         utilizzate all’interno delle rispettive funzioni E e D per
         trasformare la sequenza binaria che costituisce un messaggio M
         nel corrispondente messaggio cifrato X=E(KU,M) e M=D(KR,X).


                                   chiave pubblica                   chiave privata




                                     cifratura                         decifratura
                 testo originale                     testo cifrato                    testo in chiaro




         Gli algoritmi asimmetrici più comuni sono RSA (chiavi da 512 bit
         e 1024) e l'algoritmo di Diffie-Hellman.



                         Vantaggi                                             Svantaggi

         Non richiede trasmissione della Utilizzo di chiavi molto lunghe
         chiave segreta tra i comunicanti

         La chiave di decodifica e di firma dei Algoritmi                   complessi      e   crittografia
         messaggi è sempre la stessa.           lenta

         Crescita lineare del numero di chiavi Necessità di nascondere la chiave
         (con n utenti, O(n) chiavi)           privata nel nostro sistema



         Questo è solo un primo passo verso una comunicazione sicura
         ma non è sufficiente: se una spia genera una coppia di chiavi e
         invia la pubblica a nome nostro, c’è una falsa autenticazione. Si
         deve allora prevedere un meccanismo di firma.


Fabio Pustetto       Posta elettronica sicura: X.509 e PGP                               Pagina 26 di 118
www.unive.it            Tesi di Laurea A. A. 2003/2004         www.dsi.unive.it



   3.3           Accenni di crittoanalisi

         L’evoluzione verso cifrari più sicuri e consistenti deriva dalla
         necessità di rendere sempre più difficile risalire al testo in
         chiaro dato il testo cifrato, senza conoscere la chiave: la
         crittoanalisi.


         Alla base di tutti gli algoritmi crittografici ci sono i cifrari
         monoalfabetici in cui si sostituisce ogni lettera del testo con
         un’altra dello stesso alfabeto: semplici e obsoleti ma ideali per
         comprendere il funzionamento.
         Violare questi cifrari è possibile con una semplice analisi statica:
            •      ricerca esaustiva (o forza bruta)
            •      proprietà statistiche del linguaggio


         La ricerca esaustiva consiste nel provare tutte le chiavi possibili.
         Nel caso di cifrari monoalfabetici a spostamento le chiavi sono
         solo 21 (alfabeto italiano): non serve ingegnarsi molto e sarà
         sufficiente provarle tutte. Con forza bruta, appunto.


         Nel caso di cifrari monoalfabetici a sostituzione in cui le lettere
         siano mappate con distanze diverse, attraverso lo studio delle
         proprietà statistiche sulla frequenze dei caratteri o sottostringhe
         (digrammi come il, al, su, … o trigrammi come nel, dal, sul, …)
         del testo cifrato si ottengono informazioni utili sul testo in
         chiaro.


         In tutti i cifrari monoalfabetici, i più semplici e facilmente
         “rompibili”, le proprietà statistiche del linguaggio vengono
         mantenute anche nel crittogramma: effettuando una semplice
         analisi statistica delle lettere contenute nel testo cifrato e


Fabio Pustetto       Posta elettronica sicura: X.509 e PGP     Pagina 27 di 118
www.unive.it         Tesi di Laurea A. A. 2003/2004            www.dsi.unive.it



         confrontando i risultati con le frequenze assolute dell’alfabeto
         della lingua italiana, cercando di isolare delle coppie o terzine di
         lettere che si ripetono associandole a dei trigrammi conosciuti,
         si può ricostruire il messaggio originale.




         Come esempio si decifrari un testo abbastanza lungo (tratto da
         [36]) in cui accenti e punteggiatura sono spariti.
         FQVBZQSDUFVU A HZGESUDA ZUSQVANA QSSQ
         VZQCDACCAGFU U QSSQ RGFCUZNQMAGFU TUSS
         AFIGZDQMAGFU CGFG NURRPA LBQFVG AS SAFOBQOOAG U
         QSRBFU TUSSU CRZAVVU HAB QFVARPU Q FGA
         HUZNUFBVU A OUZGOSAIARA UOAMAQFA G S UEZQARG
         RSQCCARG DGCVZQFG CGSBMAGFA AFOUOFGCU U
         RGFVZQCVQFVA TA QSRBFA TA LBUA HZGESUDA SQ
         FGMAGFU TA ZATGFTQFMQ CUDEZQ UCCUZ CVQVQ
         QIIUZZQVQ DGSVG HZUCVG RGF QSRBFU TUSSU CBU HAB
         ADHGZVQFVA ADHSARQMAGFA RGDU TADGCVZQ QT
         UCUDHAG S AFNUFMAGFU TUSSQ CVUFGOZQIAQ Q ZGDQ
         FUS HZADG CURGSG QNQFVA RZACVG QFRPU SQ
         CBIIARAUFMQ TA BF RGTARU TA TBU CADEGSA HUZ
         ZUOACVZQZU S AFIGZDQMAGFU CUDEZQ UCCUZ CVQVQ
         RGDHZUCQ TQ OZQF VUDHG RGDU CA HBG NUTUZU TQSS
         QSIQEUVG RUSVARG GOQD Q BF QSVZG QCHUVVG TUSSQ
         VZQCDACCAGFU TUSS AFIGZDQMAGFU IB TUTARQVQ
         DGSVQ QVVUFMAGFU OAQ FUSSQ EAEEAQ SQ CUOZUVUMMQ
         TUSSQ RGDBFARQMAGFU BFG TUA HZADA RGTARA
         RAIZQVA U QVVZAEBAVG Q OABSAG RUCQZU U DGSVA


Fabio Pustetto    Posta elettronica sicura: X.509 e PGP       Pagina 28 di 118
www.unive.it           Tesi di Laurea A. A. 2003/2004              www.dsi.unive.it


         QZQEA CA TUTARQZGFG FUS RGZCG TUA CURGSA QSSG
         CVBTAG TUA RAIZQZA SU RBA QHHSARQMAGFA DASAVQZA
         CGFG UNATUFVA IB HZGHZAG FUS RGZCG TUSSU TBU
         OBUZZU DGFTAQSA RPU LBUCVG CVBTAG ZARUNUVVU BF
         OZQFTU ADHBSCG GOOA LBUCVU ZARUZRPU CGFG CVQVU
         ZAHZUCU RGF ZAFFGNQVQ SUFQ AF NACVQ TA
         ADHGZVQFVA QHHSARQMAGFA RGDDUZRAQSA U
         AFTBCVZAQSA TGNU U IGFTQDUFVQSU QCCARBZQZU SQ
         HZANQVUMMQ TUSS AFIGZDQMAGFU


         Troviamo le seguenti frequenze per ogni lettera:
          A    B   C   D   E   F   G   H   I   L M   N   O P   Q   R   S   T   U   V   Z
         133 34 55 36 12 74 96 26 16 4 20 13 19 5 107 49 71 41 123 61 68




         Le lettere con maggior frequenza risultano essere A, U, Q, G e
         così via. Come prima fase si possono associare a queste lettere
         le più frequenti corrispondenti all’alfabeto italiano, anche se una
         più accorta procedura richiederebbe lo studio di eventuali
         digrammi o trigrammi, doppie e alla posizione delle lettere nel
         testo.




Fabio Pustetto     Posta elettronica sicura: X.509 e PGP           Pagina 29 di 118
www.unive.it           Tesi di Laurea A. A. 2003/2004          www.dsi.unive.it




         È probabile che le frequenze portino ad associare solo poche
         lettere subito nel modo corretto, ma tanto basta per intuire il
         significato di qualche parola. Nel nostro caso i successi sono
         C=s, G=o, H=p, L=q, O=g, R=c, T=d, U=e; le altre lettere
         distano,    invece,   pochi   decimi   percentuale.    Sostituendo
         comunque tutte le lettere in modo automatico, si ottiene:
         tinmliruetne a plofreua lerinaba irri
         nlisuassaote e irri cotselbivaote derr
         atholuivaote soto beccza qmitno ar ratgmiggao e
         ircmte derre sclanne pam itnacze i toa
         pelbetmne a gelograhaca egavaita o r efliaco
         crissaco uosnlito sormvaota atgegtose e
         cotnlisnitna da ircmta da qmea plofreua ri
         tovaote da ladotditvi seufli essel snini
         ihhellini uorno plesno cot ircmte derre sme pam
         aupolnitna aupracivaota coue dauosnli id
         eseupao r atbetvaote derri snetoglihai i loui
         ter plauo secoro ibitna clasno itcze ri
         smhhacaetvi da mt codace da dme saufora pel
         legasnlile r atholuivaote seufli essel snini
         couplesi di glit neupo coue sa pmo bedele dirr
         irhifeno cernaco ogiu i mt irnlo ispenno derri
         nlisuassaote derr atholuivaote hm dedacini
         uorni innetvaote gai terri faffai ri seglenevvi
         derri coumtacivaote mto dea plaua codaca
         cahlina e innlafmano i gamrao cesile e uorna


Fabio Pustetto      Posta elettronica sicura: X.509 e PGP      Pagina 30 di 118
www.unive.it         Tesi di Laurea A. A. 2003/2004          www.dsi.unive.it


         ilifa sa dedaciloto ter colso dea secora irro
         snmdao dea cahlila re cma ippracivaota uaranila
         soto ebadetna hm ploplao ter colso derre dme
         gmelle uotdaira cze qmesno snmdao lacebenne mt
         glitde aupmrso ogga qmesne lacelcze soto snine
         laplese cot lattobini reti at basni da
         aupolnitna ippracivaota couuelcaira e
         atdmsnlaira dobe e hotdiuetnire issacmlile ri
         plabinevvi derr atholuivaote


         che è molto poco incoraggiante ma valutando attentamente il
         testo facendo particolare attenzione alle doppie, si scopre che
         “essene” potrebbe diventare facilmente “essere” poiché r e n
         hanno frequenze simili; “ogga” potrebbe per lo stesso motivo
         diventare “oggi”, “irri” in “alla” e così via, fino ad ottenere il
         testo in chiaro:
         naturalmente i problemi relativi alla
         trasmissione e alla conservazione dell
         informazione sono vecchi quanto il linguaggio e
         alcune delle scritte piu antiche a noi
         pervenute i geroglifici egiziani o l ebraico
         classico mostrano soluzioni ingegnose e
         contrastanti di alcuni di quei problemi la
         nozione di ridondanza sembra esser stata
         afferrata molto presto con alcune delle sue piu
         importanti implicazioni come dimostra ad
         esempio l invenzione della stenografia a roma
         nel primo secolo avanti cristo anche la
         sufficienza di un codice di due simboli per
         registrare l informazione sembra esser stata
         compresa da gran tempo come si puo vedere dall
         alfabeto celtico ogam a un altro aspetto della
         trasmissione dell informazione fu dedicata
         molta attenzione gia nella bibbia la segretezza
         della comunicazione uno dei primi codici
         cifrati e attribuito a giulio cesare e molti
         arabi si dedicarono nel corso dei secoli allo
         studio dei cifrari le cui applicazioni militari
         sono evidenti fu proprio nel corso delle due
         guerre mondiali che questo studio ricevette un
         grande impulso oggi queste ricerche sono state
         riprese con rinnovata lena in vista di
         importanti applicazioni commerciali e
         industriali dove e fondamentale assicurare la
         privatezza dell informazione


Fabio Pustetto    Posta elettronica sicura: X.509 e PGP      Pagina 31 di 118
www.unive.it                 Tesi di Laurea A. A. 2003/2004                          www.dsi.unive.it




         da cui l’esatta corrispondenza del crittogramma:
         A   B       C   D   E   F   G H       I    L   M N O       P   Q R     S      T    U   V    Z
         i   u       s   m b     n   o   p     f    q   z   v   g   h   a   c    l     d    e    t   r



         Come ultima analisi si veda come lo scarto tra la frequenza di
         ogni carattere nel testo cifrato con il corrispondente nei testi in
         italiano sia contenuto:




   3.4           Hashing

         Si tratta di un algoritmo che partendo da un documento (o un
         oggetto) di qualsiasi dimensione lo elabora e lo riassume in un
         codice di dimensione fissa. Il metodo di elaborazione garantisce
         che:
                 •       se il documento (o l’oggetto) viene cambiato in
                         qualunque       sua       parte,   l’hash      cambia        con       molta
                         probabilità (in effetti può avere collisioni, improbabile)
                 •       applicato ad un documento in tempi diversi deve
                         restituire lo stesso risultato.




Fabio Pustetto           Posta elettronica sicura: X.509 e PGP                   Pagina 32 di 118
www.unive.it          Tesi di Laurea A. A. 2003/2004            www.dsi.unive.it



         Possiamo pensare al codice prodotto dall'algoritmo di hashing
         come ad una impronta del documento. L’utilità dell’impronta si
         può ricondurre a 4 punti essenziali:
            •    se il documento cambia, anche solo in minima parte,
                 cambia anche l'impronta;
            •    dall'impronta non è possibile risalire al documento;
            •    consente di evitare che per la generazione della firma si
                 debba applicare l’algoritmo di cifratura all’intero testo;
            •    consente l’autenticazione, da parte di una terza parte
                 fidata, della sottoscrizione di un documento senza che
                 questa venga a conoscenza del suo contenuto;


         Questa tecnologia è principalmente utilizzata nelle firme digitali,
         per controllare se una email è stata alterata. Nella firma digitale
         è incluso l'hash del messaggio, calcolato dal mittente. Il
         destinatario, ricevuta l'email, ne calcola l'hash e lo confronta
         con quello calcolato dal mittente. Solo se i 2 hash sono uguali è
         possibile dire che l'email non è stata modificata.


         In realtà la funzione di hash è non iniettiva: si mappa un
         insieme infinito di messaggi in un insieme finito (160 bit nel
         caso di SHA-1) e ciò può portare a collisioni, nel caso in cui testi
         diversi portino ad uno stesso hash. Una buona funzione deve
         rendere minima questa eventualità.


         Per evitare che vengano modificati messaggio e impronta
         associata, l’hash viene cifrato con la chiave privata del mittente.
         L'hash è quindi protetto e può essere rigenerato solo dal vero
         mittente dell'email.




Fabio Pustetto     Posta elettronica sicura: X.509 e PGP        Pagina 33 di 118
www.unive.it              Tesi di Laurea A. A. 2003/2004                               www.dsi.unive.it



         L’uso di algoritmi di hash non permette la falsificazione dei
         certificati digitali. In ogni certificato è incluso l'hash calcolato
         dall'autorità di certificazione che lo ha emesso. Qualsiasi
         modifica al certificato sarebbe immediatamente scoperta.


         Attualmente vengono utilizzati principalmente 3 algoritmi: MD2
         [11], MD4 [34], MD5 [12] a 128 bit. Una variante potenziata
         dell’algoritmo MD5 è l’algoritmo SHA-1 [18], sviluppato nel
         1993 presso il NIST (National Institute of Standards and
         Technology), che produce un codice a 160 bit.


   3.5           Firma

         Attraverso gli algoritmi a chiave pubblica si può effettuare
         anche un’operazione di firma digitale del messaggio: si
         utilizzano le chiavi inversamente alla cifratura, ossia la chiave
         privata per firmare e quella pubblica per verificarne la validità.


                                   chiave privata                   chiave pubblica




                                        firma
                 testo originale                    testo firmato                 testo verificato

                                                                       verifica




         Tale operazione permette ad un destinatario di verificare
         l’autenticità delle informazioni originate dal mittente; inoltre si
         ha modo di verificare che le informazioni non siano state
         modificate durante il percorso di consegna.



Fabio Pustetto       Posta elettronica sicura: X.509 e PGP                            Pagina 34 di 118
www.unive.it             Tesi di Laurea A. A. 2003/2004                   www.dsi.unive.it




                    Chiave privata                         Chiave pubblica

         è conosciuta solo dal titolare        è pubblicamente nota e distribuita

         per apporre la firma digitale su un per verificare la firma digitale
         documento o messaggio informatico apposta sul documento dal titolare
                                             delle chiavi

         per decifrare il documento o per cifrare un documento che andrà
         messaggio cifrato in precedenza con decifrato con relativa chiave privata
         la chiave pubblica corrispondente


   3.6           Come funziona in realtà

         Il sistema di firma digitale a chiave pubblica descritto in
         precedenza ha degli inconvenienti: è lento e produce una
         quantità di dati pari al doppio della dimensione del testo.
         Vediamo come si risolvono i due problemi nei due casi distinti di
         cifratura (senza firma) e firma (senza cifratura).


         Il problema della lentezza è dovuto alla cifratura con algoritmi
         asimmetrici che perciò vengono utilizzati solo per cifrare una
         terza chiave generata casualmente (chiave di sessione), e
         utilizzata da un algoritmo simmetrico più veloce e semplice che
         cifra tutto il messaggio.




             il testo è cifrato con
              la chiave di sessione




                                          chiave di sessione cifrata
                                            con la chiave pubblica

                                                       testo cifrato +
                                                  chiave di sessione cifrata




Fabio Pustetto       Posta elettronica sicura: X.509 e PGP               Pagina 35 di 118
www.unive.it              Tesi di Laurea A. A. 2003/2004                          www.dsi.unive.it



         Solamente il destinatario può accedere ai dati, poichè
         solamente egli possiede la chiave privata per accedere alla
         chiave intermedia, necessaria a sua volta per decrittografare i
         dati.


                                    chiave di sessione         chiave di sessione decifrata
            messaggio cifrato            cifrata                   con la chiave privata




                                      testo cifrato
                                                            chiave di sessione usata     testo originale
                                                             per decifrare il testo         in chiaro




         Il problema della dimensione, invece, è risolto proprio dall’uso
         di una funzione di hash: la firma non sarà applicata all’intero
         testo ma solo all’impronta ricavata.




                                            funzione di hash




            testo
           originale
                                                         riassunto firmato con
                                                            la chiave privata




                            sintesi del messaggio
                                                                                   testo originale +
                                                                                        firma




                                               chiave privata
                                             usata per firmare




Fabio Pustetto         Posta elettronica sicura: X.509 e PGP                     Pagina 36 di 118
www.unive.it        Tesi di Laurea A. A. 2003/2004        www.dsi.unive.it




   4             GESTIONE DELLE
                 CHIAVI




     “La funzione di una postazione forte è rendere le
        forze presidiate praticamente inattaccabili”
                                          On War, Carl Von Clausewitz




Fabio Pustetto   Posta elettronica sicura: X.509 e PGP   Pagina 37 di 118
www.unive.it           Tesi di Laurea A. A. 2003/2004                www.dsi.unive.it




         Da questo capitolo si cominceranno a delineare le differenze tra
         certificati   X.509     e   PGP,      oggetto   della      tesi     (discussi
         approfonditamente nei capitoli 5 e 6): dalla generazione alle
         gestione delle chiavi, dalla richiesta alla gestione di certificati.


         Una chiave è un valore con cui un algoritmo cifra un oggetto.
         La dimensione si misura in bit e tanto più grande è la chiave,
         tanto più sicuro sarà il testo cifrato, ma anche più lenta sarà la
         computazione. Mediamente si propongono 4 tipi di dimensioni
         come compromesso tra sicurezza e velocità:
             •   Casual grade: (348 bit) facilmente violabile
             •   Low Commercial Grade: (512) bit possibilmente violabile
                 ma ancora veloce computazionalmente
             •   High Commercial Grade: (768) difficilmente violabile
             •   Military       Grade:        (1024)     ritenuta          inviolabile,
                 computazionalmente intrattabile.


         La certificazione della chiave serve ad attestarne la validità e la
         corrispondenza col proprietario. PGP e X.509 utilizzano due
         modelli differenti:
             •   horizontal trusting: fiducia reciproca tra firmatari (PGP);
             •   hierarchical     trusting:     infrastruttura   gerarchica         di
                 certificazione, la Public Key Infrastructure (X.509)


         Un certificato digitale può allora essere inteso come un
         contenitore che lega chiave pubblica al proprietario:
             •   chiave pubblica
             •   informazioni sul soggetto
             •   una o più firme digitali




Fabio Pustetto     Posta elettronica sicura: X.509 e PGP             Pagina 38 di 118
www.unive.it           Tesi di Laurea A. A. 2003/2004          www.dsi.unive.it



         La chiave privata, non essendo mai condivisa, non richiede un
         contenitore, ma deve essere archiviata in modo sicuro, magari
         protetta con password.
         Le firme digitali annesse certificano che le informazioni
         contenute sono attestate dal firmatario (altro soggetto o
         autorità).


   4.1           Distribuzione di certificati

         Come detto, lo scopo principale dei certificati digitali è quello di
         far corrispondere ai dati personali del soggetto, la sua chiave
         pubblica, indispensabile per ricevere messaggi crittografati e
         per permettere la verifica della nostra firma digitale a chi la
         riceve. Per questo motivo la distribuzione capillare dei certificati
         è importantissima e, a differenza di quanto avviene con la
         crittografia simmetrica, non è necessario un canale sicuro.


         In questo senso, la distribuzione può avvenire:
            •     manualmente (scambio di email, dischetti, …)
            •     tramite infrastrutture dedicate (Key Server, …)

   4.1.1 Certificate Server

         Server di certificati sono dei semplici contenitori online di
         certificati digitali; permettono di inserire o scaricare e la loro
         architettura è spesso basata su Directory Server LDAP
         (Lightweight     Directory   Access   Protocol,    vedi    glossario),
         piuttosto che su database relazionali.


         I directory server LDAP (qualche esempio in [26]) privilegiano
         la velocità di ricerca e prevedono linguaggio di interrogazione
         molto semplice; sono un’ottima scelta quando le letture sono


Fabio Pustetto      Posta elettronica sicura: X.509 e PGP      Pagina 39 di 118
www.unive.it          Tesi di Laurea A. A. 2003/2004           www.dsi.unive.it



         prevedibilmente più frequenti delle scritture e i dati in esso
         contenuti non variano di frequente.


         I Certificate Server sono spesso orientati a fornire ulteriori
         servizi a garanzia della security policies delle aziende, come
         accettare solo chiavi che rispondano a determinati requisiti.

   4.1.2 Keyserver

         Usato dagli utenti PGP, ha funzionalità molto simili a quelle di
         un Certificate Server. È un punto di raccolta e distribuzioni di
         chiavi pubbliche. Riceve le chiavi pubbliche da parte degli utenti
         PGP e le inserisce nel proprio database.


         Quando riceve una richiesta, invece, il server consulta il suo
         database e, se presente, restituisce la chiave pubblica trovata.
         Il keyserver fornisce agli utenti un indice; utilizza nomi e
         indirizzi email per ritrovare le chiavi desiderate cosicché
         chiunque possa firmare la nostra chiave pubblica presente nel
         keyserver modificando la fiducia ad essa associata.


         Naturalmente è possibile creare keyserver privati (tramite
         l’apposito software PGP Keyserver Enterprise Edition Version)
         per una ristretta selezione di utenti ma è altresì opportuno
         pubblicare la propria chiave su keyserver conosciuti e
         facilmente individuabili (keyservers pgp sono in [26]).


   4.2           Revoca di Certificati Digitali

         Come i documenti d’identità rilasciati dal nostro comune, anche
         i certificati digitali hanno una scadenza. Per sapere se un
         certificato è ancora valido bisogna verificarne il termine


Fabio Pustetto     Posta elettronica sicura: X.509 e PGP       Pagina 40 di 118
www.unive.it          Tesi di Laurea A. A. 2003/2004            www.dsi.unive.it



         temporale. Tuttavia certificati ancora “giovani”, potrebbero
         esser stati revocati per svariati motivi (chiave segreta o
         certificato dell’utente compromessi, l’utente non è più certificato
         dalla CA, …). Per tali verifiche si hanno a disposizione :
            •    Certificate Revocation Lists (CRL)
            •    Online Certificate Status Protocol (OCSP)


         In PGP, invece, affinché un utente possa revocare una coppia di
         chiavi, è necessario che il possessore distribuisca un “Key
         Revocation Certificate” firmato da egli stesso. Questo certificato
         ha la stessa forma di una normale firma ma include un
         indicatore che specifica lo scopo di questo certificato: revocare
         l’uso della chiave pubblica allegata. Naturalmente sarà cura del
         possessore disseminare tale certificato il più rapidamente e
         diffusamente possibile.

   4.2.1 Certificate Revocation List (CRL)

         Le CA pubblicano un elenco di revoche di certificati (CRL)
         contenente i certificati che non devono più essere utilizzati
         anche se non ancora scaduti. Quante più voci sono contenute in
         un CRL, tanto più lungo sarà l'elenco e maggiore il tempo
         necessario per scaricarlo. Spesso le liste CRL possono risultare
         particolarmente pesanti a causa del gran numero di revoche
         unito alla bassa frequenza con cui vengono le liste.


         Il procedimento di ricerca all’interno delle CRL e' simile
         all’analisi di un tabulato. Il metodo di elaborazione delle CRL
         può inoltre richiedere alle società la configurazione dei propri pc
         client perché elaborino le CRL provenienti da diverse CA. Ogni
         CRL è firmata dalla CA e include, oltre alla lista di revoche, il



Fabio Pustetto     Posta elettronica sicura: X.509 e PGP      Pagina 41 di 118
www.unive.it         Tesi di Laurea A. A. 2003/2004         www.dsi.unive.it



         proprio nome, la data di creazione della lista e la prossima
         pubblicazione.




         Ciascuna distribuzione di CRL influisce sull’ampiezza di banda
         della rete e sulla potenza di elaborazione del client. Infine,
         possono essere necessari diversi giorni per ricevere notifica di
         un certificato revocato, aumentando la possibilità di una falla
         nella sicurezza.




Fabio Pustetto    Posta elettronica sicura: X.509 e PGP    Pagina 42 di 118
www.unive.it            Tesi di Laurea A. A. 2003/2004         www.dsi.unive.it




   4.2.2 Online Certificate Status Protocol (OCSP)

         OCSP è lo standard emergente dell’IETF (Internet Engineering
         Task Force). Comunica on line agli utenti la situazione dei
         certificati in tempo reale, ne consegue una maggiore velocità
         rispetto al sistema CRL, senza le stesse preoccupazioni
         logistiche, sul carico di elaborazione e sui tempi di notifica.


         Per controllare immediatamente le revoche, un’applicazione
         client di un’organizzazione forma una richiesta e la invia a un
         OCSP responder, cioè un’applicazione server in rete che
         raccoglie le informazioni aggiornate sulle revoche.


         Il responder replica con uno dei tre messaggi sulla validità di un
         certificato:
            •     GOOD
            •     REVOKED
                    o Revocation Time
                    o Revocation Reason
            •     UNKNOWN


         La richiesta OCSP e' indipendente dal protocollo utilizzato,
         sebbene        quello   HTTP   (HyperText    Transport     Protocol)
         rappresenti l’approccio più comune.


   4.3           Public Key Infrastructure (PKI)

         Il termine infrastruttura a chiave pubblica (PKI, Public Key
         Infrastructure) è utilizzato per descrivere software, criteri e




Fabio Pustetto     Posta elettronica sicura: X.509 e PGP       Pagina 43 di 118
www.unive.it          Tesi di Laurea A. A. 2003/2004              www.dsi.unive.it



         standard che consentono di disciplinare e gestire i certificati e le
         chiavi pubbliche e private. Complessivamente si occupa di:
            •    Identificare il firmatario e gli eventuali compiti
            •    Garantire unicità delle firme
            •    Mantenere registro dei possessori delle chiavi
            •    Gestire chiavi a rischio, revocate o sospese
            •    Rendere noti i certificati non più validi
            •    Agire da terza parte fidata per distribuire le chiavi
                 pubbliche


         PKI, quindi, integra le funzionalità dei server di certificati, con
         ulteriori servizi e protocolli per la gestione delle chiavi
         pubbliche:
            •    emissione
            •    distribuzione
            •    revoca
            •    validazione


         Un'incomprensione       comune     porta   spesso    a    considerare
         l'infrastruttura a chiave pubblica come un'entità fisica, e non
         come funzionalità. La PKI è costituita da un gruppo di
         componenti distinti che interagiscono per consentire agli utenti
         l'utilizzo semplice e lineare delle chiavi pubbliche e della
         crittografia a chiave pubblica.


         A tale scopo PKI è costituita da tre entità:
            •    Registration Autority (RA)
            •    Certification Autority (CA)
            •    Certificate Server (CS)




Fabio Pustetto     Posta elettronica sicura: X.509 e PGP          Pagina 44 di 118
www.unive.it          Tesi di Laurea A. A. 2003/2004                 www.dsi.unive.it



         RA è un’interazione tra entità umane (una persona, un gruppo
         o un dipartimento), processi e strumenti usati per provvedere
         alla verifica degli utenti, relative chiavi e registrazione degli
         stessi alla PKI (iscrizione).


         CA è spesso costituito solamente da un software che crea un
         certificato digitale e lo firma digitalmente con la propria chiave
         privata. Utilizzando la relativa chiave pubblica, chiunque può
         verificare se un certificato digitale è autentico, integro, a chi
         appartiene e da quale autorità di certificazione è garantito.


         PKI possono essere organizzate in modo da soddisfare al meglio
         le esigenze specifiche di un'azienda:
            •    CA autonoma (standalone): la chiave principale e i
                 certificati di un'organizzazione sono gestiti da terze parti
                 responsabili del rilascio e della revoca di tutti i certificati
                 per gli utenti
                    o Esempio: certificati rilasciati da CA commerciali
                        come Verisign, Thawte o altre ma anche studi
                        legali, banche e altre organizzazioni alle quali si
                        riconosce un’autorità per il rilascio di certificati.
                    o Pro:        relazioni   di   fiducia   sia   all’interno   che
                        all’esterno      dell’organizzazione.      Riduzione     del
                        carico di lavoro per la gestione dei certificati
                        (emissione, mantenimento, revoca).
                    o Contro: Fiducia totale tra azienda ed entità di
                        certificazione. Costo per ogni certificato emesso.
            •    CA globale (enterprise): l'azienda stessa funge da
                 autorità di certificazione per il rilascio e la revoca dei
                 propri certificati in base ai requisiti aziendali




Fabio Pustetto     Posta elettronica sicura: X.509 e PGP             Pagina 45 di 118
www.unive.it          Tesi di Laurea A. A. 2003/2004               www.dsi.unive.it



                    o Esempio:        controllare     accesso      alle   risorse
                        attraverso i certificati: ogni dipendente potrà
                        accedere alle infrastrutture anche dall’estero.
                    o Pro: nessun costo verso altre entità. Controllo
                        totali dei possessori del certificato (solo utenti
                        noti) e della policy.
                    o Contro: carico di lavoro per il mantenimento dei
                        certificati e dell’infrastruttura.
            •    Combinazione di CA: La disponibilità di una CA principale
                 autonoma consente lo scambio di dati con partner e
                 clienti senza che questi debbano accedere direttamente
                 alla PKI, mentre la disponibilità di CA subordinate
                 consente di mantenere il controllo sul rilascio e la revoca
                 dei certificati all'interno dell'organizzazione
                    o Esempio: impiegati ricevono certificati dalla CA di
                        reparto, collaboratori esterni dalla rispettiva CA,
                        clienti e partner da una CA commerciale.
                    o Pro: massima flessibilità, si sfruttano i vantaggi di
                        entrambi i modelli. Si presta alla gerarchia di CA.
                    o Contro: si deve comunque mantenere una propria
                        infrastruttura.


         Le CA possono essere organizzate in modo gerarchico: una CA
         principale emette certificati per delle autorità intermedie che a
         loro volta emetteranno certificati per entità finali (utenti) o per
         altre infrastrutture.




Fabio Pustetto     Posta elettronica sicura: X.509 e PGP           Pagina 46 di 118
www.unive.it         Tesi di Laurea A. A. 2003/2004             www.dsi.unive.it




         Il sistema operativo rappresenta la posizione più appropriata
         per l'implementazione di un'infrastruttura PKI. I sistemi
         operativi ospitano normalmente numerose infrastrutture come
         quella di stampa (per l'invio dei documenti alla stampante) e
         quella per il servizio di gestione dei file (per il recupero dei file
         dalle aree di memorizzazione condivise). In entrambi gli
         esempi, il sistema operativo rende disponibile una funzionalità
         per l'utilizzo semplice e trasparente di un servizio di rete,
         proprio come nel caso della PKI.


         Windows e Unix/Linux offrono notevoli possibilità per la
         configurazione di PKI.
         Nelle versioni di Windows professionali (NT, XP Professional,
         2000 Server, 2003 Server) ci sono funzionalità integrate come il
         server ISS (Internet Information Services), Active Directory™ e
         l'area di lavoro MMC (Microsoft Management Console).


         L'infrastruttura PKI di Windows 2000 si basa su quattro
         elementi cardine (come definito in [22]):



Fabio Pustetto    Posta elettronica sicura: X.509 e PGP        Pagina 47 di 118
www.unive.it          Tesi di Laurea A. A. 2003/2004            www.dsi.unive.it



            •    Interoperabilità: supporto dello scambio di messaggi,
                 certificati e servizi con altri componenti standard PKI
                    o Si supportano standard aperti e indipendenti dal
                        produttore, spesso definiti da enti quali W3C o
                        IETF.
            •    Sicurezza: garantita sia da algoritmi di protezione e
                 procedure affidabili
                    o Componenti inaffidabili in PKI possono creare più
                        danni della mancanza dell’infrastruttura stessa.
                    o Algoritmi affidabili, sicuri e conosciuti come RSA,
                        MD5 e SHA-1 per crittografia e firma, ma anche
                        SSL o IPSec per le comunicazioni.
            •    Flessibilità: possibilità di configurare la PKI in modo da
                 soddisfare al meglio le esigenze organizzative specifiche
                 di un'azienda con un impegno minimo
                    o Modelli di CA autonoma e globale, riduzione dei
                        costi e maggiore protezione in base alle esigenze.
            •    Semplicità di utilizzo per amministratori di PKI, utenti
                 finali che ricevono e utilizzano i certificati e sviluppatori
                 che creano applicazioni abilitate all'uso della PKI
                    o componenti incorporati nella piattaforma, il più
                        possiblile automatici e integrati con gli altri
                        strumenti utilizati da utenti e amministratori.


         Linux si basa su pacchetti di terze parti da installare. Ci sono
         vari progetti in corso, tra i quali ElyCA [30] e OpenCA [32].


         Entrambi i progetti si basano su altri pacchetti necessari:
            •    Apache: il web server più famoso e l’estensione per la
                 sicurezza ApacheSSL (vedi [29])
            •    OpenSSL: toolkit crittografico (vedi [33])


Fabio Pustetto     Posta elettronica sicura: X.509 e PGP       Pagina 48 di 118
www.unive.it          Tesi di Laurea A. A. 2003/2004            www.dsi.unive.it




         I Certificati Digitali possono avere credenziali molto elevate se
         rilasciati e firmati da CA di nota autorevolezza; se oltretutto
         sono iscritte nell’apposito elenco pubblico mantenuto dalla
         CNIPA (Centro Nazionale per l’Informatica nella Pubblica
         Amministrazione), tali certificati hanno validità legale (vedi §1.1
         e [5]). I certificati X.509 vengono rilasciati dalle PKI.


   4.4           Web of Trust (WoT)

         Usato solitamente da PGP, Web of Trust (Rete di Fiducia) è un
         termine usato per descrivere le relazioni di fiducia esistenti tra
         un gruppo di chiavi, secondo il modello “horizontal trusting”,
         senza avere una catena di certificazione gerarchica in cui si
         deve conoscere ogni singolo emettitore ma una cooperazione
         orizzontale tra gli stessi utenti dell’applicazione. Questo è
         necessario in progetti come PGP, appunto, nei quali i certificati
         vengono emessi dal possessore stesso e non da un’autorità
         fidata.


         Come per PKI con i certificati X.509, WoT si prefigge lo scopo di
         risolvere il problema di autenticazione della chiave pubblica,
         quindi il legame con il relativo nome utente: devo verificare la
         firma di una email ricevuta, necessito della chiave pubblica del
         mittente, ma come posso essere sicuro che sia veramente sua?


         Per verificare l’autenticità della chiave pubblica del mittente, le
         alternative sono:
         1. Chiedo conferma della chiave pubblica per telefono,
               supponendo di conoscere la sua voce;




Fabio Pustetto     Posta elettronica sicura: X.509 e PGP        Pagina 49 di 118
www.unive.it            Tesi di Laurea A. A. 2003/2004       www.dsi.unive.it



         2. Lo incontro, verifico i suoi documenti e confronto la stringa
               (magari in un altro stato…);
         3. Confronto la chiave in mio possesso con la chiave
               autenticata in possesso di un altro utente.


         Spesso l’unica alternativa possibile è la 3, ed è su questa che si
         basa il concetto di Web of Trust.


         La firma su una chiave rappresenta un collegamento nella rete
         della fiducia. Questi collegamenti sono chiamati percorsi di
         fiducia e possono essere bidirezionali o a senso unico. La rete
         della fiducia ideale è quella in cui ogni persona è connessa ad
         ogni altra in modo bidirezionale, così che ognuno abbia la
         fiducia che ogni chiave appartenga veramente al proprio
         proprietario. La rete della fiducia può essere pensata come la
         somma dei percorsi di fiducia, o collegamenti, tra tutti i
         proprietari delle chiavi.



                                          A

                 E                                            B



                            D                            C



         Un grafo simile rappresenta i legami tra le chiavi degli utenti A,
         B, C, D, E. Un arco da A a B rappresenta la firma dell’utente A
         sulla chiave pubblica di B. In questo caso l’utente A può fidarsi



Fabio Pustetto       Posta elettronica sicura: X.509 e PGP   Pagina 50 di 118
www.unive.it          Tesi di Laurea A. A. 2003/2004          www.dsi.unive.it



         della chiave pubblica B poiché conosce C che ne ha autenticato
         la chiave.


         Ogni chiave valida in possesso dell’utente A può autenticata da
         egli stesso o da qualcun altro; ogni chiave non valida non può
         essere un certificatore fidato per altre chiavi.


         Esistono progetti sperimentali che consentono di generare grafi
         simili; uno di essi è Graphviz (AT&T Labs-Research, [10]).

   4.4.1 Signing party: un esempio

         (tratto da [3])
         Un key signing party è una riunione di persone che usano il
         sistema di crittografia PGP, durante la quale ogni partecipante
         ha la possibilità di firmare la chiave degli altri. I key signing
         party aiutano in modo consistente a estendere la propria rete
         della fiducia, inoltre offrono un'opportunità per discutere di
         questioni sociali e politiche che riguardano la crittografia forte,
         la sovranità e le libertà individuali, dell'implementazione di
         tecnologie crittografiche, o perfino degli sviluppi futuri del
         software libero per la crittografia.


         Poniamo che Alice e Bob creino delle chiavi PGP e organizzino
         un key signing party. Durante il party, Alice e Bob verificano
         ognuno le chiavi dell'altro e successivamente le firmano. Poiché
         PGP firma automaticamente le chiavi pubbliche che genera
         usando la chiave privata associata, Alice e Bob avranno almeno
         due firme che indicano che la chiave appartiene veramente a
         loro: la chiave di Alice è stata firmata da Alice stessa e da Bob,
         così pure per la chiave di Bob. In seguito Alice e Bob conoscono



Fabio Pustetto    Posta elettronica sicura: X.509 e PGP       Pagina 51 di 118
www.unive.it          Tesi di Laurea A. A. 2003/2004          www.dsi.unive.it



         Cathy, che genera un paio di chiavi e spedisce la propria chiave
         pubblica ad Alice e Bob. Alice però non vuole che Bob
         comunichi con Cathy in modo cifrato, così crea una chiave con il
         nome di Cathy e la spedisce a Bob. Bob riceve così due chiavi
         che portano entrambe il nome di Cathy e la firma della chiave
         privata di Cathy, ma non sa quale delle due è veramente la
         chiave di Cathy. Cathy scopre che Bob ha ricevuto due chiavi,
         sospetta subito di Alice e decide di vendicarsi; per farlo, manda
         a Bob una finta e-mail a nome di Alice comunicandogli di aver
         generato una nuova coppia di chiavi e includendo la "nuova"
         chiave di Alice (che in realtà è una falsa chiave generata da
         Cathy). Ma Bob scopre subito che si tratta di un trucco, visto
         che una delle due chiavi di Alice che possiede è stata firmata da
         più persone (Alice e Bob), confermando che essa appartiene
         davvero ad Alice, mentre l'altra chiave (la falsa chiave creata da
         Cathy) ha solo una firma.


         L'esempio mostra i concetti base della firma delle chiavi e la sua
         importanza: Cathy non è riuscita a introdurre una falsa chiave
         di Alice, grazie alle interconnessioni esistenti tra Bob e Alice
         nella loro rete della fiducia.
         Tuttavia, firme e reti della fiducia non garantiscono chiavi di cui
         ci si possa fidare ciecamente. Ad esempio, supponiamo che
         quando Bob e Alice hanno conosciuto Cathy fosse presente
         anche Donald, un amico di Cathy. Donald potrebbe aver
         generato una coppia di false chiavi di Alice e Bob, potrebbe
         aver firmato ognuna delle due chiavi con quella dell'altro, oltre
         che con la propria chiave, in modo che ogni chiave contenesse
         tre firme, e potrebbe aver spedito le chiavi a Cathy. Cathy ora si
         troverebbe di fronte un gruppo di chiavi e di firme tutte "false":
         come potrebbe usare il meccanismo della firma per proteggersi


Fabio Pustetto    Posta elettronica sicura: X.509 e PGP       Pagina 52 di 118
www.unive.it         Tesi di Laurea A. A. 2003/2004           www.dsi.unive.it



         da questo tipo di attacchi? Supponiamo che tutte le persone
         coinvolte scambino le chiavi attraverso un keyserver. Se Cathy
         cercasse le chiavi di Alice e Bob sul keyserver, troverebbe due
         paia di chiavi per Alice e Bob, ma se Alice e Bob avessero
         raccolto venti firme durante un key signing party, è ovvio che
         Cathy si fiderebbe di più delle chiavi firmate venti volte,
         piuttosto che di quelle firmate solo tre volte. Inoltre, Cathy
         potrebbe ricavare altre informazioni riguardanti le venti chiavi
         usate per le firme, ad esempio le loro date di generazione,
         ricostruendo così la rete di fiducia che lega le chiavi.
         Probabilmente le chiavi usate per apporre le firme durante il
         party saranno state a loro volta firmate con altre chiavi, quasi
         sicuramente avranno date di generazione molto diverse. Di
         certo non sarebbe così se Donald avesse generato venti false
         chiavi e le avesse usate per creare una falsa rete della fiducia.




Fabio Pustetto    Posta elettronica sicura: X.509 e PGP       Pagina 53 di 118
www.unive.it        Tesi di Laurea A. A. 2003/2004         www.dsi.unive.it




   5             X.509




          “I problemi significativi che ci troviamo ad
      affrontare, non possono essere risolti utilizzando
     un livello di pensiero pari a quello che li ha ideati”
                                                         Albert Einstein




Fabio Pustetto   Posta elettronica sicura: X.509 e PGP     Pagina 54 di 118
www.unive.it          Tesi di Laurea A. A. 2003/2004            www.dsi.unive.it




         Lo standard per eccellenza nella certificazione digitale è senza
         dubbio X.509, riconosciuto legalmente anche all’estero. A
         questo, però, si aggiunge lo standard PGP che così non fornisce
         solo uno strumento crittografico ma anche una certificazione
         completa, efficiente e facile da gestire.


         È importante ricordare che questo elaborato si concentra sulle
         problematiche dello scambio di messaggi via email. Gli standard
         presentati, perciò devono essere in grado di proporre una
         soluzione al problema, compatibilmente allo standard S/MIME
         (Secure/Multipurpose Internet Mail Standard).


   5.1           X.509 Certificate Format

         Standard di riferimento definito dall’ITU-T, è una parte delle
         specifiche X.500 che definiscono un Directory Service. X.509
         definisce la struttura per i servizi di autenticazione tramite
         X.500 che funge da deposito dei certificati a chiave pubblica,
         basandosi su PKI.


         Nato nel 1988, rivisto nel 1993 e nell’odierno X.509v3 del 1995,
         per essere utilizzato da qualsiasi applicazione, in realtà oggi
         ogni azienda ha la propria estensione di X.509 infatti uno dei
         punti di forza della versione 3 di X.509 è la possibilità di
         modificare la policy di sicurezza dei certificati aggiungendo dei
         campi a quelli standard: per un’azienda potrebbe essere
         necessario certificare (oltre alle informazioni di default) anche il
         reparto in cui l’utente lavora e il ruolo svolto all’interno di esso.




Fabio Pustetto     Posta elettronica sicura: X.509 e PGP        Pagina 55 di 118
www.unive.it            Tesi di Laurea A. A. 2003/2004           www.dsi.unive.it



         Questi certificati richiedono che qualcuno attesti in modo
         inequivocabile la corrispondenza tra la chiave pubblica e le
         informazioni contenute. L’unica entità in grado di apporre la
         propria firma è l’Autorità di Certificazione che ha emesso il
         certificato (che a sua volta può essere stata certificata da
         un’altra CA, in accordo alla gerarchia PKI precedentemente
         illustrata).


         Solitamente vengono emessi quattro tipi di certificati X.509:
            •    Precaricati di una Autorità di Certificazione. Alcuni di
                 questi certificati sono precaricati nei browser, cosicché si
                 possano riconoscere in modo automatico e trasparente
                 tutti i certificati emessi dalle CA più importanti. Quando
                 qualcuno       riceve   un’informazione   firmata    con    un
                 certificato deve solo verificare la firma della CA che ha
                 emesso il certificato per fidarsi dei dati contenuti nel
                 certificato;
            •    Server di un sito (www, ftp, ecc.). Questo certificato
                 viene emesso per garantire che il server, che sta
                 “mostrando” quel certificato, è il server di un particolare
                 sito; questo tipo di certificati è particolarmente utile per il
                 commercio elettronico, il cliente vuole essere certo di
                 rivolgersi ad un particolare server, il certificato lo
                 garantisce in questo senso;
            •    Personali, contenenti quindi informazioni quali nome,
                 cognome, indirizzo, casella e-mail, ecc.; possono essere
                 utilizzati per garantire la provenienza di una e-mail, per
                 inviare un numero di carta di credito, ecc.
            •    Software, per garantire l'autenticità della provenienza del
                 software, specialmente se questo viene distribuito in
                 Rete.


Fabio Pustetto     Posta elettronica sicura: X.509 e PGP         Pagina 56 di 118
www.unive.it           Tesi di Laurea A. A. 2003/2004                 www.dsi.unive.it




         Lo standard X.509v3 prevede i seguenti campi:



                  nome campo                            descrizione

                    Versione            Attualmente l’ultima versione è la 3

               numero seriale del       intero,     unico   all’interno    della    CA
                  certificato           distributrice

                identificatore          algoritmo usato per firmare il certificato
           dell’algoritmo di firma      con vari parametri
                    usato

           nome del certificatore       nome X.500 della CA che ha creato e
                                        firmato il certificato

           periodo di validità del      inizio e fine della validità temporale del
                 certificato            certificato

            nome del possessore         il nome al quale il certificato appartiene e
                                        lega la chiave pubblica contenuta

               chiave pubblica del      chiave pubblica, algoritmo         usato    ed
                   possessore           eventuali parametri

         bit identificatore unico del   opzionale, per identificare unicamente la
                 certificatore          CA emittente nel caso in cui il nome sia
                                        usato per altre entità

         bit identificatore unico del   opzionale, per identificare unicamente il
                 possessore             possessore nel caso in cui il nome sia usato
                                        per altre entità

                   Estensioni           Uno o più campi, previsti dalla versione 3

               Firma digitale del       protegge tutti gli altri campi del certificato;
                  certificatore         contiene l’hash costituito su di essi
                                        crittografato con la chiave provata della
                                        CA. Include anche l’identificativo degli
                                        algoritmi usati




Fabio Pustetto      Posta elettronica sicura: X.509 e PGP            Pagina 57 di 118
www.unive.it          Tesi di Laurea A. A. 2003/2004          www.dsi.unive.it




         Lo standard definisce tale notazione per definire un certificato:
         CA<<A>> = CA {V, SN, AI, CA, TA, A, AP}


         Dove:
            •    Y<<X>> significa che il certificato dell’utente X è stato
                 emesso da Y,
            •    Y{I} è la firma di I per Y. Consiste di I con il suo hash
                 code cifrato.


         Questo è il tipico approccio di firma digitale:




Fabio Pustetto     Posta elettronica sicura: X.509 e PGP     Pagina 58 di 118
www.unive.it            Tesi di Laurea A. A. 2003/2004                  www.dsi.unive.it



   5.1.1 Standard PKCS

         I PKCS (Public-Key Cryptography Standard) sono un insieme di
         standard sviluppati dai Laboratori RSA in cooperazione con gli
         sviluppatori mondiali di sistemi sicuri, allo scopo di accelerare
         l'impiego     di   crittografia   a     chiave     pubblica.      Inizialmente
         pubblicati nel 1991, sono diventati ampiamente riferiti ed
         implementati. Gli standard attualmente pubblicati sono PKCS
         #1, #3, #5, #7, #8, #9, #10, #11, #12 e #15; PKCS #13 e
         #14 sono attualmente in sviluppo.
         Gli standard della crittografia a chiave pubblica sono i seguenti:
            •    PKCS#1: standard per la crittografia RSA;
            •    PKCS#2: incorporato in PKCS #1;
            •    PKCS#3: standard per l'accordo su chiavi di Diffie-
                 Hellman;
            •    PKCS#4: incorporato in PKCS #1;
            •    PKCS#5: standard per crittografia basata su password;
            •    PKCS#6: standard per la sintassi dei certificati estesi
                 (sostituito da X.509 v3);
            •    PKCS#7: standard          per     la     sintassi   dei     messaggi
                 crittografici;
            •    PKCS#8: standard per la sintassi di informazioni di chiavi
                 private;
            •    PKCS#9: tipi degli attributi selezionati usati nei PKCS;
            •    PKCS#10: standard per la sintassi delle richieste di
                 certificazione;
            •    PKCS#11:         standard       per    l'interfaccia      dei   token
                 crittografici;
            •    PKCS#12: standard per la sintassi dello scambio di
                 informazioni personali;




Fabio Pustetto       Posta elettronica sicura: X.509 e PGP              Pagina 59 di 118
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP

Contenu connexe

Tendances

Konsep dasar management bandwidth-AIJTKJGNC
Konsep dasar management bandwidth-AIJTKJGNCKonsep dasar management bandwidth-AIJTKJGNC
Konsep dasar management bandwidth-AIJTKJGNCAsepSukarya2
 
Configuring NAT & DHCP Service Using Cisco Router
Configuring NAT & DHCP Service Using Cisco RouterConfiguring NAT & DHCP Service Using Cisco Router
Configuring NAT & DHCP Service Using Cisco RouterI Putu Hariyadi
 
98533162 tim-hiểu-tổng-quan-wcdma
98533162 tim-hiểu-tổng-quan-wcdma98533162 tim-hiểu-tổng-quan-wcdma
98533162 tim-hiểu-tổng-quan-wcdmaTran Trung
 
Tailieu.vncty.com tim hieu bluetooth va ung dung minh hoa
Tailieu.vncty.com   tim hieu bluetooth va ung dung minh hoaTailieu.vncty.com   tim hieu bluetooth va ung dung minh hoa
Tailieu.vncty.com tim hieu bluetooth va ung dung minh hoaTrần Đức Anh
 
Proteksi Brute Force pada Proxmox Virtual Environment (PVE) menggunakan Fail2Ban
Proteksi Brute Force pada Proxmox Virtual Environment (PVE) menggunakan Fail2BanProteksi Brute Force pada Proxmox Virtual Environment (PVE) menggunakan Fail2Ban
Proteksi Brute Force pada Proxmox Virtual Environment (PVE) menggunakan Fail2BanI Putu Hariyadi
 
Chuyen giao trong gsm
Chuyen giao trong gsmChuyen giao trong gsm
Chuyen giao trong gsmLinh Dinh
 
Toi uu hoa_mang_ttdd
Toi uu hoa_mang_ttddToi uu hoa_mang_ttdd
Toi uu hoa_mang_ttddvanliemtb
 
Laporan prakerin TKJ kontrol Tiemviewer
Laporan prakerin TKJ kontrol TiemviewerLaporan prakerin TKJ kontrol Tiemviewer
Laporan prakerin TKJ kontrol Tiemvieweramenk mezzo
 
Soal Ujian Kompetensi Keahlian TKJ - SMK
Soal Ujian Kompetensi Keahlian TKJ - SMKSoal Ujian Kompetensi Keahlian TKJ - SMK
Soal Ujian Kompetensi Keahlian TKJ - SMKWalid Umar
 
1 chi tiet dau noi day quang truyen dan - port antena 2-g-3g-4g
1 chi tiet dau noi day quang   truyen dan - port antena 2-g-3g-4g 1 chi tiet dau noi day quang   truyen dan - port antena 2-g-3g-4g
1 chi tiet dau noi day quang truyen dan - port antena 2-g-3g-4g Thang Dang
 
đề tài công nghệ wifi và ứng dụng
đề tài công nghệ wifi và ứng dụngđề tài công nghệ wifi và ứng dụng
đề tài công nghệ wifi và ứng dụngnataliej4
 
Tcc apresentacao redes wi-fi
Tcc apresentacao redes wi-fiTcc apresentacao redes wi-fi
Tcc apresentacao redes wi-fiKelve Aragão
 
Pengantar Administrasi Infrastruktur Jaringan kelas 12.pptx
Pengantar Administrasi Infrastruktur Jaringan kelas 12.pptxPengantar Administrasi Infrastruktur Jaringan kelas 12.pptx
Pengantar Administrasi Infrastruktur Jaringan kelas 12.pptxZulmiArifah2
 
TTN V3対応最新版LoRaWANゲートウェイLPS8-JP日本語マニュアル
TTN V3対応最新版LoRaWANゲートウェイLPS8-JP日本語マニュアルTTN V3対応最新版LoRaWANゲートウェイLPS8-JP日本語マニュアル
TTN V3対応最新版LoRaWANゲートウェイLPS8-JP日本語マニュアルCRI Japan, Inc.
 
Cara Install Aplikasi pada OS Windows XP di VirtualBox
Cara Install Aplikasi pada OS Windows XP di VirtualBoxCara Install Aplikasi pada OS Windows XP di VirtualBox
Cara Install Aplikasi pada OS Windows XP di VirtualBoxGadiskuil
 
Pelatihan Interkoneksi Jaringan OPD PEMKOT Mataram menggunakan VPN
Pelatihan Interkoneksi Jaringan OPD PEMKOT Mataram menggunakan VPNPelatihan Interkoneksi Jaringan OPD PEMKOT Mataram menggunakan VPN
Pelatihan Interkoneksi Jaringan OPD PEMKOT Mataram menggunakan VPNI Putu Hariyadi
 

Tendances (20)

Konsep dasar management bandwidth-AIJTKJGNC
Konsep dasar management bandwidth-AIJTKJGNCKonsep dasar management bandwidth-AIJTKJGNC
Konsep dasar management bandwidth-AIJTKJGNC
 
Configuring NAT & DHCP Service Using Cisco Router
Configuring NAT & DHCP Service Using Cisco RouterConfiguring NAT & DHCP Service Using Cisco Router
Configuring NAT & DHCP Service Using Cisco Router
 
98533162 tim-hiểu-tổng-quan-wcdma
98533162 tim-hiểu-tổng-quan-wcdma98533162 tim-hiểu-tổng-quan-wcdma
98533162 tim-hiểu-tổng-quan-wcdma
 
Daftar riwayat hidup
Daftar riwayat hidupDaftar riwayat hidup
Daftar riwayat hidup
 
Tailieu.vncty.com tim hieu bluetooth va ung dung minh hoa
Tailieu.vncty.com   tim hieu bluetooth va ung dung minh hoaTailieu.vncty.com   tim hieu bluetooth va ung dung minh hoa
Tailieu.vncty.com tim hieu bluetooth va ung dung minh hoa
 
Proteksi Brute Force pada Proxmox Virtual Environment (PVE) menggunakan Fail2Ban
Proteksi Brute Force pada Proxmox Virtual Environment (PVE) menggunakan Fail2BanProteksi Brute Force pada Proxmox Virtual Environment (PVE) menggunakan Fail2Ban
Proteksi Brute Force pada Proxmox Virtual Environment (PVE) menggunakan Fail2Ban
 
Chuyen giao trong gsm
Chuyen giao trong gsmChuyen giao trong gsm
Chuyen giao trong gsm
 
Toi uu hoa_mang_ttdd
Toi uu hoa_mang_ttddToi uu hoa_mang_ttdd
Toi uu hoa_mang_ttdd
 
Laporan PRAKERIN MIKROTIK
Laporan PRAKERIN MIKROTIKLaporan PRAKERIN MIKROTIK
Laporan PRAKERIN MIKROTIK
 
Laporan routing ospf
Laporan routing ospfLaporan routing ospf
Laporan routing ospf
 
Laporan prakerin TKJ kontrol Tiemviewer
Laporan prakerin TKJ kontrol TiemviewerLaporan prakerin TKJ kontrol Tiemviewer
Laporan prakerin TKJ kontrol Tiemviewer
 
Makalah sharing printer
Makalah sharing printerMakalah sharing printer
Makalah sharing printer
 
Soal Ujian Kompetensi Keahlian TKJ - SMK
Soal Ujian Kompetensi Keahlian TKJ - SMKSoal Ujian Kompetensi Keahlian TKJ - SMK
Soal Ujian Kompetensi Keahlian TKJ - SMK
 
1 chi tiet dau noi day quang truyen dan - port antena 2-g-3g-4g
1 chi tiet dau noi day quang   truyen dan - port antena 2-g-3g-4g 1 chi tiet dau noi day quang   truyen dan - port antena 2-g-3g-4g
1 chi tiet dau noi day quang truyen dan - port antena 2-g-3g-4g
 
đề tài công nghệ wifi và ứng dụng
đề tài công nghệ wifi và ứng dụngđề tài công nghệ wifi và ứng dụng
đề tài công nghệ wifi và ứng dụng
 
Tcc apresentacao redes wi-fi
Tcc apresentacao redes wi-fiTcc apresentacao redes wi-fi
Tcc apresentacao redes wi-fi
 
Pengantar Administrasi Infrastruktur Jaringan kelas 12.pptx
Pengantar Administrasi Infrastruktur Jaringan kelas 12.pptxPengantar Administrasi Infrastruktur Jaringan kelas 12.pptx
Pengantar Administrasi Infrastruktur Jaringan kelas 12.pptx
 
TTN V3対応最新版LoRaWANゲートウェイLPS8-JP日本語マニュアル
TTN V3対応最新版LoRaWANゲートウェイLPS8-JP日本語マニュアルTTN V3対応最新版LoRaWANゲートウェイLPS8-JP日本語マニュアル
TTN V3対応最新版LoRaWANゲートウェイLPS8-JP日本語マニュアル
 
Cara Install Aplikasi pada OS Windows XP di VirtualBox
Cara Install Aplikasi pada OS Windows XP di VirtualBoxCara Install Aplikasi pada OS Windows XP di VirtualBox
Cara Install Aplikasi pada OS Windows XP di VirtualBox
 
Pelatihan Interkoneksi Jaringan OPD PEMKOT Mataram menggunakan VPN
Pelatihan Interkoneksi Jaringan OPD PEMKOT Mataram menggunakan VPNPelatihan Interkoneksi Jaringan OPD PEMKOT Mataram menggunakan VPN
Pelatihan Interkoneksi Jaringan OPD PEMKOT Mataram menggunakan VPN
 

En vedette

Tesi Laurea Sergio Taddia
Tesi Laurea Sergio TaddiaTesi Laurea Sergio Taddia
Tesi Laurea Sergio TaddiaSergio Taddia
 
Presentazione Laurea triennale - X509 e PGP
Presentazione Laurea triennale - X509 e PGPPresentazione Laurea triennale - X509 e PGP
Presentazione Laurea triennale - X509 e PGPFabio Pustetto
 
Mini tesi "lo stile costa crociere"
Mini tesi "lo stile costa crociere" Mini tesi "lo stile costa crociere"
Mini tesi "lo stile costa crociere" filippo rossi
 
Tesi di laurea - L'industria culturale in Italia - il caffé letterario - Davi...
Tesi di laurea - L'industria culturale in Italia - il caffé letterario - Davi...Tesi di laurea - L'industria culturale in Italia - il caffé letterario - Davi...
Tesi di laurea - L'industria culturale in Italia - il caffé letterario - Davi...Davide Trebbi
 
Tesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMPTesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMPFabio Pustetto
 
Progettazione e realizzazione di un sistema DRM utilizzando SSL e GStreamer
Progettazione e realizzazione di un sistema DRM utilizzando SSL e GStreamerProgettazione e realizzazione di un sistema DRM utilizzando SSL e GStreamer
Progettazione e realizzazione di un sistema DRM utilizzando SSL e GStreamerLorenzo Sfarra
 
Tesi laurea triennale - Fertilia la città incompiuta
Tesi laurea triennale - Fertilia la città incompiutaTesi laurea triennale - Fertilia la città incompiuta
Tesi laurea triennale - Fertilia la città incompiutaRiccardo Gnani
 
L'audace colpo dei soliti noti. Dalla commedia all'italiana ai film di serie B
L'audace colpo dei soliti noti. Dalla commedia all'italiana ai film di serie BL'audace colpo dei soliti noti. Dalla commedia all'italiana ai film di serie B
L'audace colpo dei soliti noti. Dalla commedia all'italiana ai film di serie BStefano D'Alessandro
 
Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...
Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...
Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...Antonio Sanfelice
 
Il Mobbing Secondario e gli effetti sulla prole in età evolutiva - Tesi di La...
Il Mobbing Secondario e gli effetti sulla prole in età evolutiva - Tesi di La...Il Mobbing Secondario e gli effetti sulla prole in età evolutiva - Tesi di La...
Il Mobbing Secondario e gli effetti sulla prole in età evolutiva - Tesi di La...Drughe .it
 
Tesi di Laurea in Comunicazione
Tesi di Laurea in ComunicazioneTesi di Laurea in Comunicazione
Tesi di Laurea in ComunicazioneVincenzo Calabrò
 
Tesi di Laurea di Federica Perra
Tesi di Laurea di Federica PerraTesi di Laurea di Federica Perra
Tesi di Laurea di Federica PerraFederica Perra
 
Strumenti e modelli per la gestione dei servizi idrici
Strumenti e modelli per la gestione dei servizi idriciStrumenti e modelli per la gestione dei servizi idrici
Strumenti e modelli per la gestione dei servizi idriciCarlo Signor
 
Tesi quadernucci intelligenza emotiva v
Tesi quadernucci intelligenza emotiva vTesi quadernucci intelligenza emotiva v
Tesi quadernucci intelligenza emotiva vimartini
 

En vedette (20)

Tesi Laurea Sergio Taddia
Tesi Laurea Sergio TaddiaTesi Laurea Sergio Taddia
Tesi Laurea Sergio Taddia
 
Presentazione Laurea triennale - X509 e PGP
Presentazione Laurea triennale - X509 e PGPPresentazione Laurea triennale - X509 e PGP
Presentazione Laurea triennale - X509 e PGP
 
Mini tesi "lo stile costa crociere"
Mini tesi "lo stile costa crociere" Mini tesi "lo stile costa crociere"
Mini tesi "lo stile costa crociere"
 
Tesi di laurea - L'industria culturale in Italia - il caffé letterario - Davi...
Tesi di laurea - L'industria culturale in Italia - il caffé letterario - Davi...Tesi di laurea - L'industria culturale in Italia - il caffé letterario - Davi...
Tesi di laurea - L'industria culturale in Italia - il caffé letterario - Davi...
 
Tesi
TesiTesi
Tesi
 
Ringraziamenti
RingraziamentiRingraziamenti
Ringraziamenti
 
Tesi peiretti
Tesi peirettiTesi peiretti
Tesi peiretti
 
Tesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMPTesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMP
 
Vertical Branding nella Moda
Vertical  Branding nella ModaVertical  Branding nella Moda
Vertical Branding nella Moda
 
Progettazione e realizzazione di un sistema DRM utilizzando SSL e GStreamer
Progettazione e realizzazione di un sistema DRM utilizzando SSL e GStreamerProgettazione e realizzazione di un sistema DRM utilizzando SSL e GStreamer
Progettazione e realizzazione di un sistema DRM utilizzando SSL e GStreamer
 
Conettività cnipa
Conettività cnipaConettività cnipa
Conettività cnipa
 
Tesi laurea triennale - Fertilia la città incompiuta
Tesi laurea triennale - Fertilia la città incompiutaTesi laurea triennale - Fertilia la città incompiuta
Tesi laurea triennale - Fertilia la città incompiuta
 
L'audace colpo dei soliti noti. Dalla commedia all'italiana ai film di serie B
L'audace colpo dei soliti noti. Dalla commedia all'italiana ai film di serie BL'audace colpo dei soliti noti. Dalla commedia all'italiana ai film di serie B
L'audace colpo dei soliti noti. Dalla commedia all'italiana ai film di serie B
 
Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...
Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...
Sviluppo di una libreria orientata agli oggetti per il calcolo di NURBS con a...
 
Il Mobbing Secondario e gli effetti sulla prole in età evolutiva - Tesi di La...
Il Mobbing Secondario e gli effetti sulla prole in età evolutiva - Tesi di La...Il Mobbing Secondario e gli effetti sulla prole in età evolutiva - Tesi di La...
Il Mobbing Secondario e gli effetti sulla prole in età evolutiva - Tesi di La...
 
Tecnologie di libertà
Tecnologie di libertà Tecnologie di libertà
Tecnologie di libertà
 
Tesi di Laurea in Comunicazione
Tesi di Laurea in ComunicazioneTesi di Laurea in Comunicazione
Tesi di Laurea in Comunicazione
 
Tesi di Laurea di Federica Perra
Tesi di Laurea di Federica PerraTesi di Laurea di Federica Perra
Tesi di Laurea di Federica Perra
 
Strumenti e modelli per la gestione dei servizi idrici
Strumenti e modelli per la gestione dei servizi idriciStrumenti e modelli per la gestione dei servizi idrici
Strumenti e modelli per la gestione dei servizi idrici
 
Tesi quadernucci intelligenza emotiva v
Tesi quadernucci intelligenza emotiva vTesi quadernucci intelligenza emotiva v
Tesi quadernucci intelligenza emotiva v
 

Similaire à Tesi Triennale - X509 e PGP

Realizzazione di un workflow integrato per la rilevazione di domini phishing
Realizzazione di un workflow integrato per la rilevazione di domini phishingRealizzazione di un workflow integrato per la rilevazione di domini phishing
Realizzazione di un workflow integrato per la rilevazione di domini phishingGiuliaMilan4
 
Tecnologie per la traccibilità
Tecnologie per la traccibilitàTecnologie per la traccibilità
Tecnologie per la traccibilitàLie Chen
 
Sviluppo di un sistema per la classificazione di URL di phishing mediante tec...
Sviluppo di un sistema per la classificazione di URL di phishing mediante tec...Sviluppo di un sistema per la classificazione di URL di phishing mediante tec...
Sviluppo di un sistema per la classificazione di URL di phishing mediante tec...Federico Cergol
 
Strategie ingestigative in ambito di criminalità informatica
Strategie ingestigative in ambito di criminalità informaticaStrategie ingestigative in ambito di criminalità informatica
Strategie ingestigative in ambito di criminalità informaticapeppespe
 
Tesi di Laurea sulla Sicurezza delle Reti Informatiche: Le vulnerabilità
Tesi di Laurea sulla Sicurezza delle Reti Informatiche: Le vulnerabilitàTesi di Laurea sulla Sicurezza delle Reti Informatiche: Le vulnerabilità
Tesi di Laurea sulla Sicurezza delle Reti Informatiche: Le vulnerabilitàRiccardo Melioli
 
Costruzione e Sviluppo in ambiente STNucleo di un Quadricottero con Stabilizz...
Costruzione e Sviluppo in ambiente STNucleo di un Quadricottero con Stabilizz...Costruzione e Sviluppo in ambiente STNucleo di un Quadricottero con Stabilizz...
Costruzione e Sviluppo in ambiente STNucleo di un Quadricottero con Stabilizz...Simone Fini
 
Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...
Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...
Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...danieledegan
 
2 ecdl modulo2-online-essential explorer+gmail
2 ecdl modulo2-online-essential explorer+gmail2 ecdl modulo2-online-essential explorer+gmail
2 ecdl modulo2-online-essential explorer+gmailPietro Latino
 
Collaboration Suite: realizzazione di una piattaforma open source per la Pubb...
Collaboration Suite: realizzazione di una piattaforma open source per la Pubb...Collaboration Suite: realizzazione di una piattaforma open source per la Pubb...
Collaboration Suite: realizzazione di una piattaforma open source per la Pubb...Pierluigi Conti
 
Italian deft 7 manual 50
Italian deft 7 manual 50Italian deft 7 manual 50
Italian deft 7 manual 50mstrom62
 
Lo standard MPEG-7 per la definizione di metadati di oggetti multimediali
Lo standard MPEG-7 per la definizione di metadati di oggetti multimedialiLo standard MPEG-7 per la definizione di metadati di oggetti multimediali
Lo standard MPEG-7 per la definizione di metadati di oggetti multimedialidelfinostefano
 
LinuxBeach 2006 - Criptografia e firma digitale con GnuPG - trascrizione
LinuxBeach 2006 - Criptografia e firma digitale con GnuPG - trascrizioneLinuxBeach 2006 - Criptografia e firma digitale con GnuPG - trascrizione
LinuxBeach 2006 - Criptografia e firma digitale con GnuPG - trascrizioneMaurizio Antonelli
 
Soothsayer multisource system for text prediction
Soothsayer multisource system for text predictionSoothsayer multisource system for text prediction
Soothsayer multisource system for text predictionmikkelfh
 
Rilevamento di attacchi di rete tramite protocolli di monitoraggio per router...
Rilevamento di attacchi di rete tramite protocolli di monitoraggio per router...Rilevamento di attacchi di rete tramite protocolli di monitoraggio per router...
Rilevamento di attacchi di rete tramite protocolli di monitoraggio per router...Ce.Se.N.A. Security
 
Web Application Security Testing
Web Application Security TestingWeb Application Security Testing
Web Application Security TestingFilippo Maria Raeli
 
Tesi laurea triennale Ingegneria Informatica - Francesco Bianchi
Tesi laurea triennale Ingegneria Informatica - Francesco BianchiTesi laurea triennale Ingegneria Informatica - Francesco Bianchi
Tesi laurea triennale Ingegneria Informatica - Francesco BianchiFrancesco Bianchi
 

Similaire à Tesi Triennale - X509 e PGP (20)

Rilevamento intrusioni in wlan
Rilevamento intrusioni in wlanRilevamento intrusioni in wlan
Rilevamento intrusioni in wlan
 
Realizzazione di un workflow integrato per la rilevazione di domini phishing
Realizzazione di un workflow integrato per la rilevazione di domini phishingRealizzazione di un workflow integrato per la rilevazione di domini phishing
Realizzazione di un workflow integrato per la rilevazione di domini phishing
 
Tecnologie per la traccibilità
Tecnologie per la traccibilitàTecnologie per la traccibilità
Tecnologie per la traccibilità
 
Sviluppo di un sistema per la classificazione di URL di phishing mediante tec...
Sviluppo di un sistema per la classificazione di URL di phishing mediante tec...Sviluppo di un sistema per la classificazione di URL di phishing mediante tec...
Sviluppo di un sistema per la classificazione di URL di phishing mediante tec...
 
Strategie ingestigative in ambito di criminalità informatica
Strategie ingestigative in ambito di criminalità informaticaStrategie ingestigative in ambito di criminalità informatica
Strategie ingestigative in ambito di criminalità informatica
 
Tesi di Laurea sulla Sicurezza delle Reti Informatiche: Le vulnerabilità
Tesi di Laurea sulla Sicurezza delle Reti Informatiche: Le vulnerabilitàTesi di Laurea sulla Sicurezza delle Reti Informatiche: Le vulnerabilità
Tesi di Laurea sulla Sicurezza delle Reti Informatiche: Le vulnerabilità
 
Peroli_Tesi_v3.5
Peroli_Tesi_v3.5Peroli_Tesi_v3.5
Peroli_Tesi_v3.5
 
Costruzione e Sviluppo in ambiente STNucleo di un Quadricottero con Stabilizz...
Costruzione e Sviluppo in ambiente STNucleo di un Quadricottero con Stabilizz...Costruzione e Sviluppo in ambiente STNucleo di un Quadricottero con Stabilizz...
Costruzione e Sviluppo in ambiente STNucleo di un Quadricottero con Stabilizz...
 
Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...
Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...
Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...
 
2 ecdl modulo2-online-essential explorer+gmail
2 ecdl modulo2-online-essential explorer+gmail2 ecdl modulo2-online-essential explorer+gmail
2 ecdl modulo2-online-essential explorer+gmail
 
Insider attack
Insider attackInsider attack
Insider attack
 
Collaboration Suite: realizzazione di una piattaforma open source per la Pubb...
Collaboration Suite: realizzazione di una piattaforma open source per la Pubb...Collaboration Suite: realizzazione di una piattaforma open source per la Pubb...
Collaboration Suite: realizzazione di una piattaforma open source per la Pubb...
 
Italian deft 7 manual 50
Italian deft 7 manual 50Italian deft 7 manual 50
Italian deft 7 manual 50
 
ITDM & PR SOFTWARE vs APT
ITDM & PR SOFTWARE vs APTITDM & PR SOFTWARE vs APT
ITDM & PR SOFTWARE vs APT
 
Lo standard MPEG-7 per la definizione di metadati di oggetti multimediali
Lo standard MPEG-7 per la definizione di metadati di oggetti multimedialiLo standard MPEG-7 per la definizione di metadati di oggetti multimediali
Lo standard MPEG-7 per la definizione di metadati di oggetti multimediali
 
LinuxBeach 2006 - Criptografia e firma digitale con GnuPG - trascrizione
LinuxBeach 2006 - Criptografia e firma digitale con GnuPG - trascrizioneLinuxBeach 2006 - Criptografia e firma digitale con GnuPG - trascrizione
LinuxBeach 2006 - Criptografia e firma digitale con GnuPG - trascrizione
 
Soothsayer multisource system for text prediction
Soothsayer multisource system for text predictionSoothsayer multisource system for text prediction
Soothsayer multisource system for text prediction
 
Rilevamento di attacchi di rete tramite protocolli di monitoraggio per router...
Rilevamento di attacchi di rete tramite protocolli di monitoraggio per router...Rilevamento di attacchi di rete tramite protocolli di monitoraggio per router...
Rilevamento di attacchi di rete tramite protocolli di monitoraggio per router...
 
Web Application Security Testing
Web Application Security TestingWeb Application Security Testing
Web Application Security Testing
 
Tesi laurea triennale Ingegneria Informatica - Francesco Bianchi
Tesi laurea triennale Ingegneria Informatica - Francesco BianchiTesi laurea triennale Ingegneria Informatica - Francesco Bianchi
Tesi laurea triennale Ingegneria Informatica - Francesco Bianchi
 

Tesi Triennale - X509 e PGP

  • 1. UNIVERSITÀ CA’ FOSARI – VENEZIA Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica Tesi di Laurea Triennale Laureando: Fabio Pustetto POSTA ELETTRONICA SICURA: X.509 E PGP Relatore: Chiar.mo prof. Riccardo Focardi Anno Accademico 2003/2004
  • 2. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it “Se la segretezza è fuorilegge, solamente i fuorilegge avranno segretezza” Philip R. Zimmermann Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 2 di 118
  • 3. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it SOMMARIO SOMMARIO ............................................................................ 3 PREFAZIONE.......................................................................... 5 1 INTRODUZIONE .............................................................. 6 1.1 Contesto normativo in Europa ......................................... 8 2 REQUISITI..................................................................... 14 2.1 Autenticazione ............................................................. 16 2.2 Riservatezza/Segretezza ............................................... 16 2.3 Integrità ...................................................................... 17 2.4 Non ripudio.................................................................. 18 3 TECNOLOGIE ................................................................. 19 3.1 Algoritmi crittografici simmetrici..................................... 22 3.2 Algoritmi crittografici asimmetrici ................................... 25 3.3 Accenni di crittoanalisi .................................................. 27 3.4 Hashing....................................................................... 32 3.5 Firma .......................................................................... 34 3.6 Come funziona in realtà ................................................ 35 4 GESTIONE DELLE CHIAVI.............................................. 37 4.1 Distribuzione di certificati .............................................. 39 4.1.1 Certificate Server ................................................... 39 4.1.2 Keyserver.............................................................. 40 4.2 Revoca di Certificati Digitali ........................................... 40 4.2.1 Certificate Revocation List (CRL) ............................. 41 4.2.2 Online Certificate Status Protocol (OCSP)................. 43 4.3 Public Key Infrastructure (PKI) ...................................... 43 4.4 Web of Trust (WoT) ..................................................... 49 4.4.1 Signing party: un esempio ...................................... 51 5 X.509 ............................................................................. 54 5.1 X.509 Certificate Format ............................................... 55 5.1.1 Standard PKCS ...................................................... 59 5.1.2 La versione 4......................................................... 61 5.2 Come si ottiene un nuovo certificato .............................. 61 5.3 Come si ottiene il certificato di un utente........................ 65 Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 3 di 118
  • 4. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it 6 PGP................................................................................ 68 6.1 Chiavi in PGP ............................................................... 72 6.1.1 Key ID .................................................................. 73 6.1.2 Key Ring ............................................................... 73 6.2 Generazione messaggi .................................................. 74 6.3 Horizontal Trusting = fiducia ......................................... 76 6.3.1 Web of Trust in PGP............................................... 78 6.4 PGP certificate format ................................................... 81 7 IN PRATICA…................................................................ 83 7.1 Produrre un certificato X.509v3 ..................................... 84 7.1.1 Installare una PKI in Windows ................................ 86 7.1.2 Installare una PKI in Linux...................................... 88 7.2 Produrre un certificato PGP ........................................... 95 7.2.1 PGPkeys................................................................ 97 7.2.2 PGPmail ................................................................ 97 7.2.3 Esempio pratico ..................................................... 98 7.3 Confronto tra PGP e X.509 ............................................ 99 Appendice ..........................................................................104 Legenda delle notazioni usate nelle figure ............................104 Algoritmo di Diffie-Hellman .................................................104 Algoritmo RSA ...................................................................105 Comandi principali di OpenSSL ............................................106 Log emissione certificati .....................................................108 Glossario............................................................................111 Bibliografia ........................................................................115 Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 4 di 118
  • 5. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it PREFAZIONE A fronte della rapida diffusione di tecnologie informatiche, dal trattamento delle informazioni alle comunicazioni, pochi si pongono il problema della gestione della sicurezza, nonostante lo studio di tecniche procede alla stessa velocità con cui gli intrusori riescono a violare le barriere. Un semplice messaggio di e-mail è diventato oramai il mezzo più diffuso di comunicare: è veloce, economico e consistente ma è privo di alcuni requisiti fondamentali: non si è sicuri di chi lo ha spedito, del contenuto originale del messaggio e della sua riservatezza. Questo è certamente irrilevante per lo scambio di barzellette tra colleghi, al contrario è fondamentale per professionisti che investono tempo, denaro e sacrifici nella loro professione, basata sulla comunicazione affidabile e sicura. La firma digitale è l’equivalente elettronico di una tradizionale firma apposta su carta. La sua funzione principale è perciò quella di attestare validità, autenticità e integrità di un documento. Si evita così che qualcuno possa intercettare e manipolare un documento riservato, spacciandolo per autentico. Dal punto di vista tecnico è una codifica crittografica del documento. Questo elaborato intende fornire le nozioni fondamentali sulle attuali tecnologie per la sicurezza della posta elettronica e intende investigare le due soluzioni più usate in nei diversi casi: utente domestico e professionale (azienda, università, …). Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 5 di 118
  • 6. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it 1 INTRODUZIONE “L’arte della guerra ci insegna a confidare non sulla probabilità che il nemico non arriverà, ma sulla nostra stessa preparazione a riceverli; non sulla possibilità che essi non attaccheranno ma sul fatto che noi abbiamo reso le nostre postazioni inattaccabili” The Art of War, Sun Tzu Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 6 di 118
  • 7. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it L’avvento di reti “moderne” (Internet, Intranet) determina un utilizzo di massa delle potenzialità di connessione client-server al quale non è corrisposto un altrettanto rapido incremento della sicurezza nel nuovo ambiente. Il problema di Internet è che non si può mai con certezza sapere con chi si sta parlando o a chi si stanno inviando informazioni. Internet è totalmente anonima, almeno dal punto di vista degli utenti finali, sebbene è necessario ricordare che le autorità competenti hanno comunque i mezzi per identificare con certezza utenti nella rete commettono degli illeciti. Sicurezza nelle comunicazioni email significa poter richiedere delle condizioni o vincoli. Il mittente può richiedere quanto segue: • I dati sono trasmessi alla persona voluta o Se una spia li cattura gli deve essere impossibile comprendere il testo • I dati trasmessi non subiranno modifiche o Se una spia riesce a catturare e modificare i dati, ciò sarà segnalato a chi li riceve • I dati trasmessi sono visti solo dal destinatario o Solo il destinatario deve sapere in che modo poter visualizzare il testo (decifrare) • Il destinatario non può negare l’avvenuta ricezione del messaggio inviato (servizio di notariato) o La firma digitale autentica mittente, data e ora in cui il messaggio è stato inviato Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 7 di 118
  • 8. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it Analogamente il destinatario può avere la necessità di richiedere una o più delle seguenti condizioni: • Il mittente è veramente quello dichiarato o Chiunque può mandare email a nome falso; devo poter riconoscere l’originale da un falso • I dati ricevuti sono quelli effettivamente inviati o Se il messaggio viene catturato e modificato da una spia durante il tragitto, il destinatario deve essere avvisato • I dati ricevuti non sono stati catturati da terzi o Nessuno deve poter interpretare il contenuto delle nostre comunicazioni, anche se riesce a catturare la nostra corrispondenza elettronica • Il mittente non può negare l’invio del messaggio o Avendo la certezza che il mittente è quello dichiarato, non potrà disconoscere il contenuto di email inviate o Esempio: una grossa ditta fornisce via email un preventivo per una gara d’appalto. Non potrà rifiutarsi di praticare il prezzo stabilito, anche se volutamente basso. Altre esigenze analoghe possono preoccupare i soggetti coinvolti, in funzione del valore che essi attribuiscono alle informazioni trasmesse o ricevute e quindi richiedere misure di sicurezza più o meno complesse. 1.1 Contesto normativo in Europa L’Unione Europea, nel corso degli ultimi anni, si è impegnata sul fronte delle nuove forme di comunicazione. Il Parlamento Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 8 di 118
  • 9. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it Europeo ha invitato gli Stati Membri e la Commissione Europea a predisporre misure consistenti per assicurare l’integrità e l’autenticità dei documenti trasmessi per via telematica. Nell’autunno del 1997 la Commissione ha adottato una Comunicazione rivolta al Parlamento Europeo, al Comitato Economico e Sociale ed al Comitato delle Regioni, sollecitando un disegno comune per la firma digitale e la crittografia, strumenti ritenuti essenziali per una maggiore sicurezza del commercio telematico. Con una successiva Comunicazione si è richiesto al Parlamento Europeo l’elaborazione di una direttiva che formuli un riconoscimento, all’interno dell’Unione Europea, delle sottoscrizioni elettroniche attraverso la definizione dei requisiti essenziali per l’armonizzazione delle legislazioni degli Stati membri, e determini i meccanismi di cooperazione con Paesi terzi per un mutuo riconoscimento sulla base di accordi bilaterali o multilaterali. Molti paesi sono ancora ad una fase preparatoria dei lavori (così il Regno Unito), altri, invece, hanno introdotto negli ordinamenti interni alcune norme significative (Francia, Germania). L'Italia è il primo paese europeo ad aver attribuito piena validità giuridica ai documenti informatici grazie alla legge Bassanini ed al ruolo svolto da AIPA (Autorità per l'Informatica nelle Pubbliche Amministrazioni), ora CNIPA (Centro Nazionale per l’Informatica nella Pubblica Amministrazione, [4]). La materia della documentazione elettronica e della firma digitale ha trovato una disciplina nell’ordinamento giuridico italiano con il D.P.R. 10 novembre 1997, n. 513, “Regolamento recante criteri e modalità per la formazione, l’archiviazione e la Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 9 di 118
  • 10. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it trasmissione di documenti con strumenti informatici e telematici, a norma dell’articolo 15, comma 2, della legge 15 marzo 1997, n.59”. Il risultato, prodotto dalle norme del regolamento, è la piena rilevanza giuridica della documentazione informatica e la sua equiparazione alla tradizionale documentazione “cartacea”. All’intenso valore giuridico della disciplina regolamentare non si accompagna un equivalente valore pragmatico, in quanto, per quest’ultimo, occorrerà attendere l’emanazione di ulteriori ed indispensabili regolamenti tecnici di attuazione. Successivamente all’emanazione di tali regolamenti, il D.P.R. 513 diventerà pienamente operativo. Il regolamento si compone di tre capi. Il primo di questi, dedicato ai principi generali, si apre con l’enunciazione delle definizioni dei termini di carattere tecnico, utilizzati nel corso della disciplina giuridica. Alla nozione di documento informatico ed alla descrizione dei requisiti che lo caratterizzano, segue la disciplina dell’atto informatico come forma scritta e dell’efficacia probatoria ad esso attribuita e quella della validità e rilevanza attribuita alla copia di atti e documenti. Lo stesso capo si occupa (sommariamente) della disciplina delle attività da compiersi per il rilascio delle chiavi asimmetriche all’utente da parte dell’Autorità di certificazione, nonché degli obblighi inerenti entrambe le parti. Il secondo capo, rubricato “firma digitale”, si dedica alla validità e rilevanza a tutti gli effetti di legge dei contratti stipulati con strumenti informatici o per via telematica. L’attenzione è poi rivolta ai criteri di conclusione del contratto e di notifica del Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 10 di 118
  • 11. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it documento informatico, nonché alla segretezza della corrispondenza trasmessa per via informatica ed alla possibilità di effettuare pagamenti elettronici, come pure alla formazione di libri e scritture contabili, a carattere obbligatorio, in formato elettronico. Le successive disposizioni attengono all’autenticazione della firma digitale, riconosciuta ai sensi dell’art. 2703 cod. civ., ai criteri di validità e di applicazione delle chiavi di cifratura della pubblica amministrazione. Il secondo capo si chiude con la disciplina della firma digitale e del documento informatico nella pubblica amministrazione. Le norme di attuazione del regolamento sono contenute nel capo terzo, il quale pone alle pubbliche amministrazioni dei termini per l’adozione di piani di sviluppo e di realizzazione nonché di un rapporto tra costi e benefici del recupero su supporto informatico dei documenti e degli atti cartacei. Il sistema che attribuisce al documento informatico con firma digitale l’efficacia della scrittura privata (art.5) è così concepito: un’Autorità di certificazione, consultata da un utente interessato, descrive a quest’ultimo la procedura e concede il know how per la “generazione” di una coppia di chiavi. L’utente ha il dovere di custodire segretamente la propria “chiave privata”, che utilizzerà per apporre la firma; tuttavia, è data facoltà di depositare in forma segreta la chiave presso un notaio (secondo la disciplina del testamento segreto). La propria “chiave pubblica” verrà pubblicata in un registro telematico da parte del certificatore. Quest’ultimo, ricevuta la chiave pubblica dell’utente, emette un “certificato”, il quale garantisce la corrispondenza biunivoca tra chiave pubblica, Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 11 di 118
  • 12. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it necessaria per la verifica della firma, chiave privata e soggetto titolare. Il contenuto del certificato riguarda l’indicazione delle generalità della persona, della corrispondente chiave pubblica e del termine di scadenza (art. 1, h). La validità di tale certificato è stabilita in una durata massima di tre anni, ma può essere revocato, ossia perdere validità irretroattivamente, ovvero sospeso per un periodo di tempo determinato. Il regolamento si occupa di disciplinare i requisiti dei certificatori, i quali hanno il delicato compito di assicurare la corrispondenza, e quindi la titolarità, delle chiavi asimmetriche, e di conseguenza della firma digitale. Con riferimento al settore privato, per svolgere l’attività di certificatore occorre l’inclusione in un apposito elenco pubblico tenuto dall’Autorità per l’Informatica nella Pubblica Amministrazione (art. 8, comma 3). Il regolamento contiene norme la cui incidenza sul diritto sostanziale è estremamente rilevante, pur mancando un’immediata applicabilità, rinviata a successive norme tecniche. (tratto da [27], [5]) Per completezza, è utile sapere che il governo americano impedisce l’esportazione di software di cifratura che utilizzi chiavi di lunghezza tale da garantire la resistenza del cifrario per un periodo relativamente lungo. Un’analoga limitazione non si applica agli algoritmi di generazione e verifica di firme elettroniche a patto che questi non siano modificabili in modo da renderli utilizzabili per la cifratura. Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 12 di 118
  • 13. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it Per questo motivo PGP è stato coinvolto in varie controversie: nato come tool disponibile per tutti gratuitamente, il governo degli USA ha dichiarato che la possibilità da parte degli stranieri di ottenerlo, costituisce una violazione delle leggi riguardanti l’esportazione di armi. Per aggirare tali restrizioni, le ultime versioni sono prodotte fuori dagli Stati Uniti e con versioni diversificate. Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 13 di 118
  • 14. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it 2 REQUISITI “Ogni Egiziano riceve due nomi che sono conosciuti rispettivamente come il vero nome e il giusto nome, oppure il grande nome e il piccolo nome; mentre il giusto o piccolo nome sono resi pubblici, il vero o grande nome sembrano esser stati nascosti attentamente” The Golden Bought, Sir James George Frazer Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 14 di 118
  • 15. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it Come anticipato, la certificazione elettronica consiste nell’utilizzare tecniche che consentano di attribuire a documenti elettronici la stessa validità degli analoghi cartacei e, se possibile, maggior sicurezza: mentre un documento cartaceo può essere manomesso e spacciato per autentico, con la certificazione elettronica ogni alterazione viene evidenziata, sia esso un documento testuale o un qualsiasi file binario. I nemici più comuni contro cui si vuole predisporre adeguate contromisure sono riassunte nella successiva tabella (da [39]): Avversario Scopo Studente Divertirsi curiosando nella posta altrui Hacker Verificare i sistemi di sicurezza; rubare dati Venditore Pretendere di rappresentare tutta Europa Scoprire il piano strategico di mercato di un Uomo d’affari concorrente Ex dipendente Vendicarsi per esser stato licenziato Cassiere Appropriarsi del denaro di una società Negare una promessa fatta a un acquirente Agente di cambio per email Truffatore Rubare numeri di carta di credito Spia Scoprire la forza militare di un nemico Terrorista Rubare segreti per una guerra batteriologica Per proteggere, cioè rendere sicuro, si intende predisporre contromisure di protezione per i rischi specifici. Rischio Requisito Frode Autenticazione Intercettazioni non autorizzata Riservatezza/Segretezza Modifica dati Integrità Diniego Non ripudio Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 15 di 118
  • 16. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it Un testo scritto al computer è modificabile per definizione e se vogliamo usarlo come documento inoppugnabile dobbiamo renderlo “sicuro”, ossia non più modificabile senza che tale modifica venga segnalata. I decreti Europei ci impongono di ricorre alla cifratura utilizzando la tecnica delle coppie di chiavi, una segreta ed una pubblica, con varie attenzioni. 2.1 Autenticazione L’autenticazione è il procedimento utilizzato per verificare l’identità dell’utente o dell’autore di un documento. Questa verifica richiede lo scambio di informazioni segrete tra l’utente e l’applicazione che vuole utilizzare. Nel caso di email l’autenticazione ci assicura che il documento non sia un falso e che il mittente è proprio chi dice di essere. A tale scopo la firma elettronica accoda al testo un riassunto firmato con la chiave privata del mittente. I certificati X.509, illustrati nel corso del documento, consentono anche l’autenticazione tra Client e Server in una qualsiasi interazione che deve svolgersi in modo sicuro (es scambio di dati sensibili o Web Server autenticati), attraverso il protocollo SSL/https. 2.2 Riservatezza/Segretezza La segretezza consente ad utenti autorizzati di interpretare informazioni riservate negandole a tutti gli altri. Tali informazioni devono essere protette sia durante le operazioni di memorizzazione sia durante la trasmissione in rete. I dati memorizzati possono essere protetti con codifica o controllo di accesso. Il controllo di accesso consente all’utente di utilizzare Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 16 di 118
  • 17. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it la propria autorizzazione per accedere alle risorse disponibili; l’accesso viene limitato solo agli utenti autenticati ed autorizzati. Per la trasmissione in rete devono essere necessariamente codificate. La codifica richiede l’utilizzo di una chiave che consenta solo al legittimo destinatario di decifrare le informazioni. 2.3 Integrità Come un sigillo protegge il documento contenuto in una busta, la certificazione dovrà garantire la protezione delle informazioni dalle eventuali modifiche apportate da altri utenti non autorizzati. Gli algoritmi, perciò si occuperanno di applicare ai dati una funzione hash non invertibile. Il risultato della funzione, chiamato valore di controllo o impronta, viene cifrato e accodato ai dati. Il destinatario, per assicurarsi che i dati ricevuti non siano stati modificati, esegue la stessa funzione di hash del mittente sui dati e confronta il risultato ottenuto con il valore di controllo accodato ai dati. Se i dati non coincidono significa che sono stati modificati ed il destinatario può non accettarli. L’intruso che riuscisse ad intercettare i dati durante la trasmissione potrebbe modificarli con successo solamente conoscendo la chiave di codifica applicata con il secondo passaggio. Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 17 di 118
  • 18. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it 2.4 Non ripudio Per qualsiasi società è importante poter stipulare accordi vincolanti e legalmente validi anche tramite Internet. Fornitori e acquirenti esigono la certezza che un contratto stipulato non possa essere negato da nessuna delle due parti. Se da un lato chi invia non può disconoscere la paternità di un documento firmato digitalmente, dall’altro, chi riceve non può negarne l’esistenza. Entrambi si possono appellare alle varie informazioni che si integrano nella firma digitale quali potrebbero essere la data e l’ora esatta di invio del documento. La pubblica amministrazione, per ogni Area organizzativa, deve: • mantenere un registro informatico; • istituire un servizio e nominare un responsabile; • assicurare che venga effettuata la registrazione di protocollo dei documenti scambiati con soggetti esterni, come da Dpr 445/2000 (che contiene l’ex Dpr 428/98 e l’ex Dpr 513/97). Solo così possono garantire la non ripudiabilità di un documento informatico. Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 18 di 118
  • 19. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it 3 TECNOLOGIE “Storicamente sono stati quattro i gruppi di persone che hanno dato il loro contributo all’arte della crittografia: militari, corpo diplomatico, scrittori di diari e amanti …” Andrew S. Tanenbaum Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 19 di 118
  • 20. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it Scopo di questo elaborato è analizzare le tecniche per proteggere le comunicazioni di informazioni tra elaboratori connessi in rete. Il modello di riferimento per reti di computer è ISO-OSI (Open System Interconnection) dell’International Standard Organization. Si compone di 7 livelli: fisico, collegamento dati, rete, trasporto, sessione, presentazione, applicazione. Per ognuno di questi livelli esistono tecnologie e procedure, anche estreme, per rendere sicure le comunicazioni e assieme partecipano al fine. Alcune proposte sono riassunte da [39]: Livello Procedure in ambito militare le dorsali più critiche vengono Fisico racchiuse in condotte sigillate contenenti gas Argo ad alta pressione (un po’ drastico, in realtà) su una rete punto a punto è possibile codificare ogni pacchetto appena lascia una macchina e decodificarlo appena arriva a destinazione, Data Link lasciando all’oscuro i livelli superiori. Questa soluzione fallisce se nel tragitto si attraversano router: essi infatti devono decodificare i pacchetti rendendoli vulnerabili agli attacchi è possibile installare un firewall per accettare o Rete scartare pacchetti è possibile codificare l’intera connessione da un Trasporto capo all’altro (da processo a processo) Vari software e algoritmi. Solo in questo livello è Applicazione possibile garantire non ripudio e autenticazione La tecnologia principale su cui si basano tutte le applicazioni inerenti alla sicurezza è la “crittografia”. Con questo termine si intende la tecnica per trasformare una sequenza di dati in chiaro in un'altra sequenza apparentemente incomprensibile: proteggere i dati originali rendendoli segreti. Solamente le Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 20 di 118
  • 21. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it persone autorizzate a conoscere quei dati possono operare il processo inverso, poichè solo loro posseggono la chiave per decifrarli. La crittografia classica è basata su 2 tipi di algoritmi: a chiave simmetrica (o segreta) e a chiave asimmetrica (o pubblica). I primi sono i più semplici e veloci. Si occupano della vera e propria crittografia del messaggio, i secondi stati sviluppati per ovviare alle due più grandi lacune degli algoritmi simmetrici: il problema della trasmissione della chiave utilizzata e del numero di chiavi necessarie tra coppie di utenti. A dire la verità sono abbastanza complessi, ma fondamentali per tutte le recenti applicazioni riguardanti la sicurezza online. cifratura decifratura testo originale testo cifrato testo in chiaro Un algoritmo crittografico • Lavora su una sequenza di dati iniziale da crittografare (testo in chiaro); • Genera una seconda sequenza contenente i dati crittografati (testo cifrato); • Basa il suo lavoro su una o più chiavi. La seconda tecnologia è detta hashing. Basandosi su una sequenza di dati potenzialmente infinita, consente di generarne un'altra, molto più piccola e di dimensione fissa, “rappresentativa” del contenuto della sequenza iniziale, detta hash, digest, riassunto o impronta. Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 21 di 118
  • 22. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it Utilizzandole entrambe è possibile realizzare firma digitale e crittografia delle email, ma anche applicazioni come trasmissioni dati crittografati con controllo degli errori, siti web sicuri (SSL), identificazione delle persone e altro ancora. 3.1 Algoritmi crittografici simmetrici Questi tipi di algoritmi si basano sulla conoscenza comune e assolutamente riservata tra mittente e destinatario di una chiave. Spesso l’algoritmo di codifica è conosciuto, secondo il principio di Kerckhoffs: “La sicurezza di un crittosistema non deve dipendere dalla segretezza dell’algoritmo usato, ma solo dalla segretezza della chiave”. Affinché gli estranei non riescano a comprendere il documento, potremmo sostituire ogni lettera nel documento con una successiva nell'alfabeto. Questo tipo di cifrario è detto “a sostituzione”. Uno dei primi esempi di utilizzo è attribuito a Cesare, che usava comunicare con i suoi legionari trasponendo di 3 lettere l’intero testo. In questo modo: a b c d e f g h i l m n o p q r s t u v z D E F G H I L M N O P Q R S T U V Z A B C Con questo cifrario, se un nemico avesse ricevuto il messaggio IALLN SUNPD GHO ZUDPRQZR non avrebbe potuto coglierne il significato. Un Romano, invece lo avrebbe tradotto facilmente in fuggi prima del tramonto Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 22 di 118
  • 23. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it Solo il destinatario reale dovrà essere in grado di decifrarla, poichè è a conoscenza di come è stata trasformata la sequenza originale. La chiave per decifrare il messaggio è appunto sapere che ogni lettera è stata trasposta circolarmente di 3 posti nell'alfabeto. Per quanto semplice, questo algoritmo può essere considerato un algoritmo crittografico a chiave segreta. Lo stesso algoritmo, lavorando sugli stessi dati, avrebbe portato a sequenze cifrate diverse in base alla chiave utilizzata: +1 (successive), -1 (precedenti), +2 (successive delle successive), ecc... In questo algoritmo la chiave è rappresentata da un numero intero. Per decodificare il documento cifrato si utilizza un algoritmo che funziona al contrario, data una sequenza di dati e una chiave. La chiave utilizzata è la stessa che ha utilizzato l'algoritmo iniziale per cifrare i dati. cifratura decifratura testo originale testo cifrato testo in chiaro Con un algoritmo di questo tipo e una chiave così banale, si potrebbe provare a decifrarlo provando con tutte le 26 (il numero delle lettere nell’alfabeto inglese) chiavi possibili: non ci vuole molto a provarle tutte. Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 23 di 118
  • 24. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it Potremmo allora pensare di sostituire ogni lettera con un’altra con distanza casuale secondo una funzione stabilita. Le possibili chiavi sono ora una permutazione sulle 26 lettere dell’alfabeto: 26!≈4*1026 ma con le attuali tecniche (analisi della frequenza delle lettere) la crittoanalisi non è molto complessa. In realtà gli algoritmi utilizzati sono ben altri e le chiavi che utilizzano non sono numeri interi come nel nostro esempio ma sequenze di bit. Un tipico algoritmo di crittografia è RC2 con chiavi da 40 bit. Tutte le possibili chiavi che si possono ottenere sono 240, circa 1012. Ci sono algoritmi che lavorano con chiavi da 168 bit, come il Triple-DES: in questo caso il numero di chiavi possibili ha ben 51 cifre. Si è calcolato che, con i computer più potenti realizzati al momento, il tempo necessario per provarle tutte è maggiore del tempo che rimane al Sole prima di spegnersi. (cit. [1]) La debolezza di questo algoritmo sta nella necessità di dover trasmettere la chiave segreta in chiaro e nell’uso ripetuto della stessa: se una spia non ha intercettato la chiave durante la trasmissione, ha comunque molto tempo per poterla trovare. La riservatezza del messaggio si basa sul fatto che la chiave segreta è stata scambiata in un momento diverso rispetto al messaggio e che questa non è stata intercettata. Con n (grande) destinatari, avere una chiave segreta per ognuno di essi è impensabile, nell’ordine di O(n2), così come averne una condivisa tra più utenti renderebbe inutile la cifratura. A tale scopo sono stati realizzati gli algoritmi crittografici a chiave asimmetrica, o pubblica. Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 24 di 118
  • 25. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it 3.2 Algoritmi crittografici asimmetrici Pubblicati per la prima volta su “Le Scienze” nel 1976 da Whitfield Diffie e Martin Hellman, gli algoritmi a chiave pubblica si basano su una coppia di chiavi: pubblica e privata. La chiave privata non viene mai scambiata mentre quella pubblica è nel nostro interesse diffonderla. Quello che si cifra con l’una lo si decifra con l’altra; per cifrare un testo si utilizza la chiave pubblica del destinatario, per firmare quella privata del mittente. Nel caso di cifratura: Algoritmo asimmetrico Algoritmo simmetrico Creazione il destinatario genera una il destinatario genera una chiavi coppia di chiavi, KU e KR. chiave. Invio il destinatario invia o pubblica il destinatario invia la chiave chiavi la chiave KU al mittente per al mittente per crittografare i crittografare i dati. dati. Crittografia il mittente utilizza la chiave il mittente utilizza la chiave dati KU con un algoritmo appena ricevuta per asimmetrico per crittografare crittografare il messaggio da il messaggio da inviare. inviare. Invio dati i dati cifrati vengono inviati al i dati cifrati vengono inviati al destinatario. Nessuno può destinatario. Se qualcuno decodificare il messaggio avesse messo le mani sulla perché solamente il chiave precedentemente destinatario possiede la inviata potrebbe decodificare chiave KR per farlo. i dati. Decodifica il destinatario usa la chiave il destinatario usa la chiave dati KR con l'algoritmo con l'algoritmo simmetrico asimmetrico giusto per giusto per decodificare i dati. decodificare i dati. Quindi con l’uso di algoritmi crittografici asimmetrici l'unica chiave capace di decodificare (KR), non è mai trasmessa. Circola solo la chiave KU, che non permette di decodificare nulla! Da ciò derivano i nomi chiave pubblica (KU) e chiave privata (KR). (notazione da [37]). Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 25 di 118
  • 26. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it Non è possibile risalire alla chiave privata data la pubblica o risalire al testo da crittogramma e chiave pubblica. La chiave di codifica KU e quella di decodifica KR vengono utilizzate all’interno delle rispettive funzioni E e D per trasformare la sequenza binaria che costituisce un messaggio M nel corrispondente messaggio cifrato X=E(KU,M) e M=D(KR,X). chiave pubblica chiave privata cifratura decifratura testo originale testo cifrato testo in chiaro Gli algoritmi asimmetrici più comuni sono RSA (chiavi da 512 bit e 1024) e l'algoritmo di Diffie-Hellman. Vantaggi Svantaggi Non richiede trasmissione della Utilizzo di chiavi molto lunghe chiave segreta tra i comunicanti La chiave di decodifica e di firma dei Algoritmi complessi e crittografia messaggi è sempre la stessa. lenta Crescita lineare del numero di chiavi Necessità di nascondere la chiave (con n utenti, O(n) chiavi) privata nel nostro sistema Questo è solo un primo passo verso una comunicazione sicura ma non è sufficiente: se una spia genera una coppia di chiavi e invia la pubblica a nome nostro, c’è una falsa autenticazione. Si deve allora prevedere un meccanismo di firma. Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 26 di 118
  • 27. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it 3.3 Accenni di crittoanalisi L’evoluzione verso cifrari più sicuri e consistenti deriva dalla necessità di rendere sempre più difficile risalire al testo in chiaro dato il testo cifrato, senza conoscere la chiave: la crittoanalisi. Alla base di tutti gli algoritmi crittografici ci sono i cifrari monoalfabetici in cui si sostituisce ogni lettera del testo con un’altra dello stesso alfabeto: semplici e obsoleti ma ideali per comprendere il funzionamento. Violare questi cifrari è possibile con una semplice analisi statica: • ricerca esaustiva (o forza bruta) • proprietà statistiche del linguaggio La ricerca esaustiva consiste nel provare tutte le chiavi possibili. Nel caso di cifrari monoalfabetici a spostamento le chiavi sono solo 21 (alfabeto italiano): non serve ingegnarsi molto e sarà sufficiente provarle tutte. Con forza bruta, appunto. Nel caso di cifrari monoalfabetici a sostituzione in cui le lettere siano mappate con distanze diverse, attraverso lo studio delle proprietà statistiche sulla frequenze dei caratteri o sottostringhe (digrammi come il, al, su, … o trigrammi come nel, dal, sul, …) del testo cifrato si ottengono informazioni utili sul testo in chiaro. In tutti i cifrari monoalfabetici, i più semplici e facilmente “rompibili”, le proprietà statistiche del linguaggio vengono mantenute anche nel crittogramma: effettuando una semplice analisi statistica delle lettere contenute nel testo cifrato e Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 27 di 118
  • 28. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it confrontando i risultati con le frequenze assolute dell’alfabeto della lingua italiana, cercando di isolare delle coppie o terzine di lettere che si ripetono associandole a dei trigrammi conosciuti, si può ricostruire il messaggio originale. Come esempio si decifrari un testo abbastanza lungo (tratto da [36]) in cui accenti e punteggiatura sono spariti. FQVBZQSDUFVU A HZGESUDA ZUSQVANA QSSQ VZQCDACCAGFU U QSSQ RGFCUZNQMAGFU TUSS AFIGZDQMAGFU CGFG NURRPA LBQFVG AS SAFOBQOOAG U QSRBFU TUSSU CRZAVVU HAB QFVARPU Q FGA HUZNUFBVU A OUZGOSAIARA UOAMAQFA G S UEZQARG RSQCCARG DGCVZQFG CGSBMAGFA AFOUOFGCU U RGFVZQCVQFVA TA QSRBFA TA LBUA HZGESUDA SQ FGMAGFU TA ZATGFTQFMQ CUDEZQ UCCUZ CVQVQ QIIUZZQVQ DGSVG HZUCVG RGF QSRBFU TUSSU CBU HAB ADHGZVQFVA ADHSARQMAGFA RGDU TADGCVZQ QT UCUDHAG S AFNUFMAGFU TUSSQ CVUFGOZQIAQ Q ZGDQ FUS HZADG CURGSG QNQFVA RZACVG QFRPU SQ CBIIARAUFMQ TA BF RGTARU TA TBU CADEGSA HUZ ZUOACVZQZU S AFIGZDQMAGFU CUDEZQ UCCUZ CVQVQ RGDHZUCQ TQ OZQF VUDHG RGDU CA HBG NUTUZU TQSS QSIQEUVG RUSVARG GOQD Q BF QSVZG QCHUVVG TUSSQ VZQCDACCAGFU TUSS AFIGZDQMAGFU IB TUTARQVQ DGSVQ QVVUFMAGFU OAQ FUSSQ EAEEAQ SQ CUOZUVUMMQ TUSSQ RGDBFARQMAGFU BFG TUA HZADA RGTARA RAIZQVA U QVVZAEBAVG Q OABSAG RUCQZU U DGSVA Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 28 di 118
  • 29. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it QZQEA CA TUTARQZGFG FUS RGZCG TUA CURGSA QSSG CVBTAG TUA RAIZQZA SU RBA QHHSARQMAGFA DASAVQZA CGFG UNATUFVA IB HZGHZAG FUS RGZCG TUSSU TBU OBUZZU DGFTAQSA RPU LBUCVG CVBTAG ZARUNUVVU BF OZQFTU ADHBSCG GOOA LBUCVU ZARUZRPU CGFG CVQVU ZAHZUCU RGF ZAFFGNQVQ SUFQ AF NACVQ TA ADHGZVQFVA QHHSARQMAGFA RGDDUZRAQSA U AFTBCVZAQSA TGNU U IGFTQDUFVQSU QCCARBZQZU SQ HZANQVUMMQ TUSS AFIGZDQMAGFU Troviamo le seguenti frequenze per ogni lettera: A B C D E F G H I L M N O P Q R S T U V Z 133 34 55 36 12 74 96 26 16 4 20 13 19 5 107 49 71 41 123 61 68 Le lettere con maggior frequenza risultano essere A, U, Q, G e così via. Come prima fase si possono associare a queste lettere le più frequenti corrispondenti all’alfabeto italiano, anche se una più accorta procedura richiederebbe lo studio di eventuali digrammi o trigrammi, doppie e alla posizione delle lettere nel testo. Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 29 di 118
  • 30. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it È probabile che le frequenze portino ad associare solo poche lettere subito nel modo corretto, ma tanto basta per intuire il significato di qualche parola. Nel nostro caso i successi sono C=s, G=o, H=p, L=q, O=g, R=c, T=d, U=e; le altre lettere distano, invece, pochi decimi percentuale. Sostituendo comunque tutte le lettere in modo automatico, si ottiene: tinmliruetne a plofreua lerinaba irri nlisuassaote e irri cotselbivaote derr atholuivaote soto beccza qmitno ar ratgmiggao e ircmte derre sclanne pam itnacze i toa pelbetmne a gelograhaca egavaita o r efliaco crissaco uosnlito sormvaota atgegtose e cotnlisnitna da ircmta da qmea plofreua ri tovaote da ladotditvi seufli essel snini ihhellini uorno plesno cot ircmte derre sme pam aupolnitna aupracivaota coue dauosnli id eseupao r atbetvaote derri snetoglihai i loui ter plauo secoro ibitna clasno itcze ri smhhacaetvi da mt codace da dme saufora pel legasnlile r atholuivaote seufli essel snini couplesi di glit neupo coue sa pmo bedele dirr irhifeno cernaco ogiu i mt irnlo ispenno derri nlisuassaote derr atholuivaote hm dedacini uorni innetvaote gai terri faffai ri seglenevvi derri coumtacivaote mto dea plaua codaca cahlina e innlafmano i gamrao cesile e uorna Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 30 di 118
  • 31. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it ilifa sa dedaciloto ter colso dea secora irro snmdao dea cahlila re cma ippracivaota uaranila soto ebadetna hm ploplao ter colso derre dme gmelle uotdaira cze qmesno snmdao lacebenne mt glitde aupmrso ogga qmesne lacelcze soto snine laplese cot lattobini reti at basni da aupolnitna ippracivaota couuelcaira e atdmsnlaira dobe e hotdiuetnire issacmlile ri plabinevvi derr atholuivaote che è molto poco incoraggiante ma valutando attentamente il testo facendo particolare attenzione alle doppie, si scopre che “essene” potrebbe diventare facilmente “essere” poiché r e n hanno frequenze simili; “ogga” potrebbe per lo stesso motivo diventare “oggi”, “irri” in “alla” e così via, fino ad ottenere il testo in chiaro: naturalmente i problemi relativi alla trasmissione e alla conservazione dell informazione sono vecchi quanto il linguaggio e alcune delle scritte piu antiche a noi pervenute i geroglifici egiziani o l ebraico classico mostrano soluzioni ingegnose e contrastanti di alcuni di quei problemi la nozione di ridondanza sembra esser stata afferrata molto presto con alcune delle sue piu importanti implicazioni come dimostra ad esempio l invenzione della stenografia a roma nel primo secolo avanti cristo anche la sufficienza di un codice di due simboli per registrare l informazione sembra esser stata compresa da gran tempo come si puo vedere dall alfabeto celtico ogam a un altro aspetto della trasmissione dell informazione fu dedicata molta attenzione gia nella bibbia la segretezza della comunicazione uno dei primi codici cifrati e attribuito a giulio cesare e molti arabi si dedicarono nel corso dei secoli allo studio dei cifrari le cui applicazioni militari sono evidenti fu proprio nel corso delle due guerre mondiali che questo studio ricevette un grande impulso oggi queste ricerche sono state riprese con rinnovata lena in vista di importanti applicazioni commerciali e industriali dove e fondamentale assicurare la privatezza dell informazione Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 31 di 118
  • 32. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it da cui l’esatta corrispondenza del crittogramma: A B C D E F G H I L M N O P Q R S T U V Z i u s m b n o p f q z v g h a c l d e t r Come ultima analisi si veda come lo scarto tra la frequenza di ogni carattere nel testo cifrato con il corrispondente nei testi in italiano sia contenuto: 3.4 Hashing Si tratta di un algoritmo che partendo da un documento (o un oggetto) di qualsiasi dimensione lo elabora e lo riassume in un codice di dimensione fissa. Il metodo di elaborazione garantisce che: • se il documento (o l’oggetto) viene cambiato in qualunque sua parte, l’hash cambia con molta probabilità (in effetti può avere collisioni, improbabile) • applicato ad un documento in tempi diversi deve restituire lo stesso risultato. Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 32 di 118
  • 33. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it Possiamo pensare al codice prodotto dall'algoritmo di hashing come ad una impronta del documento. L’utilità dell’impronta si può ricondurre a 4 punti essenziali: • se il documento cambia, anche solo in minima parte, cambia anche l'impronta; • dall'impronta non è possibile risalire al documento; • consente di evitare che per la generazione della firma si debba applicare l’algoritmo di cifratura all’intero testo; • consente l’autenticazione, da parte di una terza parte fidata, della sottoscrizione di un documento senza che questa venga a conoscenza del suo contenuto; Questa tecnologia è principalmente utilizzata nelle firme digitali, per controllare se una email è stata alterata. Nella firma digitale è incluso l'hash del messaggio, calcolato dal mittente. Il destinatario, ricevuta l'email, ne calcola l'hash e lo confronta con quello calcolato dal mittente. Solo se i 2 hash sono uguali è possibile dire che l'email non è stata modificata. In realtà la funzione di hash è non iniettiva: si mappa un insieme infinito di messaggi in un insieme finito (160 bit nel caso di SHA-1) e ciò può portare a collisioni, nel caso in cui testi diversi portino ad uno stesso hash. Una buona funzione deve rendere minima questa eventualità. Per evitare che vengano modificati messaggio e impronta associata, l’hash viene cifrato con la chiave privata del mittente. L'hash è quindi protetto e può essere rigenerato solo dal vero mittente dell'email. Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 33 di 118
  • 34. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it L’uso di algoritmi di hash non permette la falsificazione dei certificati digitali. In ogni certificato è incluso l'hash calcolato dall'autorità di certificazione che lo ha emesso. Qualsiasi modifica al certificato sarebbe immediatamente scoperta. Attualmente vengono utilizzati principalmente 3 algoritmi: MD2 [11], MD4 [34], MD5 [12] a 128 bit. Una variante potenziata dell’algoritmo MD5 è l’algoritmo SHA-1 [18], sviluppato nel 1993 presso il NIST (National Institute of Standards and Technology), che produce un codice a 160 bit. 3.5 Firma Attraverso gli algoritmi a chiave pubblica si può effettuare anche un’operazione di firma digitale del messaggio: si utilizzano le chiavi inversamente alla cifratura, ossia la chiave privata per firmare e quella pubblica per verificarne la validità. chiave privata chiave pubblica firma testo originale testo firmato testo verificato verifica Tale operazione permette ad un destinatario di verificare l’autenticità delle informazioni originate dal mittente; inoltre si ha modo di verificare che le informazioni non siano state modificate durante il percorso di consegna. Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 34 di 118
  • 35. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it Chiave privata Chiave pubblica è conosciuta solo dal titolare è pubblicamente nota e distribuita per apporre la firma digitale su un per verificare la firma digitale documento o messaggio informatico apposta sul documento dal titolare delle chiavi per decifrare il documento o per cifrare un documento che andrà messaggio cifrato in precedenza con decifrato con relativa chiave privata la chiave pubblica corrispondente 3.6 Come funziona in realtà Il sistema di firma digitale a chiave pubblica descritto in precedenza ha degli inconvenienti: è lento e produce una quantità di dati pari al doppio della dimensione del testo. Vediamo come si risolvono i due problemi nei due casi distinti di cifratura (senza firma) e firma (senza cifratura). Il problema della lentezza è dovuto alla cifratura con algoritmi asimmetrici che perciò vengono utilizzati solo per cifrare una terza chiave generata casualmente (chiave di sessione), e utilizzata da un algoritmo simmetrico più veloce e semplice che cifra tutto il messaggio. il testo è cifrato con la chiave di sessione chiave di sessione cifrata con la chiave pubblica testo cifrato + chiave di sessione cifrata Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 35 di 118
  • 36. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it Solamente il destinatario può accedere ai dati, poichè solamente egli possiede la chiave privata per accedere alla chiave intermedia, necessaria a sua volta per decrittografare i dati. chiave di sessione chiave di sessione decifrata messaggio cifrato cifrata con la chiave privata testo cifrato chiave di sessione usata testo originale per decifrare il testo in chiaro Il problema della dimensione, invece, è risolto proprio dall’uso di una funzione di hash: la firma non sarà applicata all’intero testo ma solo all’impronta ricavata. funzione di hash testo originale riassunto firmato con la chiave privata sintesi del messaggio testo originale + firma chiave privata usata per firmare Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 36 di 118
  • 37. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it 4 GESTIONE DELLE CHIAVI “La funzione di una postazione forte è rendere le forze presidiate praticamente inattaccabili” On War, Carl Von Clausewitz Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 37 di 118
  • 38. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it Da questo capitolo si cominceranno a delineare le differenze tra certificati X.509 e PGP, oggetto della tesi (discussi approfonditamente nei capitoli 5 e 6): dalla generazione alle gestione delle chiavi, dalla richiesta alla gestione di certificati. Una chiave è un valore con cui un algoritmo cifra un oggetto. La dimensione si misura in bit e tanto più grande è la chiave, tanto più sicuro sarà il testo cifrato, ma anche più lenta sarà la computazione. Mediamente si propongono 4 tipi di dimensioni come compromesso tra sicurezza e velocità: • Casual grade: (348 bit) facilmente violabile • Low Commercial Grade: (512) bit possibilmente violabile ma ancora veloce computazionalmente • High Commercial Grade: (768) difficilmente violabile • Military Grade: (1024) ritenuta inviolabile, computazionalmente intrattabile. La certificazione della chiave serve ad attestarne la validità e la corrispondenza col proprietario. PGP e X.509 utilizzano due modelli differenti: • horizontal trusting: fiducia reciproca tra firmatari (PGP); • hierarchical trusting: infrastruttura gerarchica di certificazione, la Public Key Infrastructure (X.509) Un certificato digitale può allora essere inteso come un contenitore che lega chiave pubblica al proprietario: • chiave pubblica • informazioni sul soggetto • una o più firme digitali Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 38 di 118
  • 39. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it La chiave privata, non essendo mai condivisa, non richiede un contenitore, ma deve essere archiviata in modo sicuro, magari protetta con password. Le firme digitali annesse certificano che le informazioni contenute sono attestate dal firmatario (altro soggetto o autorità). 4.1 Distribuzione di certificati Come detto, lo scopo principale dei certificati digitali è quello di far corrispondere ai dati personali del soggetto, la sua chiave pubblica, indispensabile per ricevere messaggi crittografati e per permettere la verifica della nostra firma digitale a chi la riceve. Per questo motivo la distribuzione capillare dei certificati è importantissima e, a differenza di quanto avviene con la crittografia simmetrica, non è necessario un canale sicuro. In questo senso, la distribuzione può avvenire: • manualmente (scambio di email, dischetti, …) • tramite infrastrutture dedicate (Key Server, …) 4.1.1 Certificate Server Server di certificati sono dei semplici contenitori online di certificati digitali; permettono di inserire o scaricare e la loro architettura è spesso basata su Directory Server LDAP (Lightweight Directory Access Protocol, vedi glossario), piuttosto che su database relazionali. I directory server LDAP (qualche esempio in [26]) privilegiano la velocità di ricerca e prevedono linguaggio di interrogazione molto semplice; sono un’ottima scelta quando le letture sono Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 39 di 118
  • 40. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it prevedibilmente più frequenti delle scritture e i dati in esso contenuti non variano di frequente. I Certificate Server sono spesso orientati a fornire ulteriori servizi a garanzia della security policies delle aziende, come accettare solo chiavi che rispondano a determinati requisiti. 4.1.2 Keyserver Usato dagli utenti PGP, ha funzionalità molto simili a quelle di un Certificate Server. È un punto di raccolta e distribuzioni di chiavi pubbliche. Riceve le chiavi pubbliche da parte degli utenti PGP e le inserisce nel proprio database. Quando riceve una richiesta, invece, il server consulta il suo database e, se presente, restituisce la chiave pubblica trovata. Il keyserver fornisce agli utenti un indice; utilizza nomi e indirizzi email per ritrovare le chiavi desiderate cosicché chiunque possa firmare la nostra chiave pubblica presente nel keyserver modificando la fiducia ad essa associata. Naturalmente è possibile creare keyserver privati (tramite l’apposito software PGP Keyserver Enterprise Edition Version) per una ristretta selezione di utenti ma è altresì opportuno pubblicare la propria chiave su keyserver conosciuti e facilmente individuabili (keyservers pgp sono in [26]). 4.2 Revoca di Certificati Digitali Come i documenti d’identità rilasciati dal nostro comune, anche i certificati digitali hanno una scadenza. Per sapere se un certificato è ancora valido bisogna verificarne il termine Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 40 di 118
  • 41. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it temporale. Tuttavia certificati ancora “giovani”, potrebbero esser stati revocati per svariati motivi (chiave segreta o certificato dell’utente compromessi, l’utente non è più certificato dalla CA, …). Per tali verifiche si hanno a disposizione : • Certificate Revocation Lists (CRL) • Online Certificate Status Protocol (OCSP) In PGP, invece, affinché un utente possa revocare una coppia di chiavi, è necessario che il possessore distribuisca un “Key Revocation Certificate” firmato da egli stesso. Questo certificato ha la stessa forma di una normale firma ma include un indicatore che specifica lo scopo di questo certificato: revocare l’uso della chiave pubblica allegata. Naturalmente sarà cura del possessore disseminare tale certificato il più rapidamente e diffusamente possibile. 4.2.1 Certificate Revocation List (CRL) Le CA pubblicano un elenco di revoche di certificati (CRL) contenente i certificati che non devono più essere utilizzati anche se non ancora scaduti. Quante più voci sono contenute in un CRL, tanto più lungo sarà l'elenco e maggiore il tempo necessario per scaricarlo. Spesso le liste CRL possono risultare particolarmente pesanti a causa del gran numero di revoche unito alla bassa frequenza con cui vengono le liste. Il procedimento di ricerca all’interno delle CRL e' simile all’analisi di un tabulato. Il metodo di elaborazione delle CRL può inoltre richiedere alle società la configurazione dei propri pc client perché elaborino le CRL provenienti da diverse CA. Ogni CRL è firmata dalla CA e include, oltre alla lista di revoche, il Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 41 di 118
  • 42. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it proprio nome, la data di creazione della lista e la prossima pubblicazione. Ciascuna distribuzione di CRL influisce sull’ampiezza di banda della rete e sulla potenza di elaborazione del client. Infine, possono essere necessari diversi giorni per ricevere notifica di un certificato revocato, aumentando la possibilità di una falla nella sicurezza. Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 42 di 118
  • 43. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it 4.2.2 Online Certificate Status Protocol (OCSP) OCSP è lo standard emergente dell’IETF (Internet Engineering Task Force). Comunica on line agli utenti la situazione dei certificati in tempo reale, ne consegue una maggiore velocità rispetto al sistema CRL, senza le stesse preoccupazioni logistiche, sul carico di elaborazione e sui tempi di notifica. Per controllare immediatamente le revoche, un’applicazione client di un’organizzazione forma una richiesta e la invia a un OCSP responder, cioè un’applicazione server in rete che raccoglie le informazioni aggiornate sulle revoche. Il responder replica con uno dei tre messaggi sulla validità di un certificato: • GOOD • REVOKED o Revocation Time o Revocation Reason • UNKNOWN La richiesta OCSP e' indipendente dal protocollo utilizzato, sebbene quello HTTP (HyperText Transport Protocol) rappresenti l’approccio più comune. 4.3 Public Key Infrastructure (PKI) Il termine infrastruttura a chiave pubblica (PKI, Public Key Infrastructure) è utilizzato per descrivere software, criteri e Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 43 di 118
  • 44. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it standard che consentono di disciplinare e gestire i certificati e le chiavi pubbliche e private. Complessivamente si occupa di: • Identificare il firmatario e gli eventuali compiti • Garantire unicità delle firme • Mantenere registro dei possessori delle chiavi • Gestire chiavi a rischio, revocate o sospese • Rendere noti i certificati non più validi • Agire da terza parte fidata per distribuire le chiavi pubbliche PKI, quindi, integra le funzionalità dei server di certificati, con ulteriori servizi e protocolli per la gestione delle chiavi pubbliche: • emissione • distribuzione • revoca • validazione Un'incomprensione comune porta spesso a considerare l'infrastruttura a chiave pubblica come un'entità fisica, e non come funzionalità. La PKI è costituita da un gruppo di componenti distinti che interagiscono per consentire agli utenti l'utilizzo semplice e lineare delle chiavi pubbliche e della crittografia a chiave pubblica. A tale scopo PKI è costituita da tre entità: • Registration Autority (RA) • Certification Autority (CA) • Certificate Server (CS) Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 44 di 118
  • 45. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it RA è un’interazione tra entità umane (una persona, un gruppo o un dipartimento), processi e strumenti usati per provvedere alla verifica degli utenti, relative chiavi e registrazione degli stessi alla PKI (iscrizione). CA è spesso costituito solamente da un software che crea un certificato digitale e lo firma digitalmente con la propria chiave privata. Utilizzando la relativa chiave pubblica, chiunque può verificare se un certificato digitale è autentico, integro, a chi appartiene e da quale autorità di certificazione è garantito. PKI possono essere organizzate in modo da soddisfare al meglio le esigenze specifiche di un'azienda: • CA autonoma (standalone): la chiave principale e i certificati di un'organizzazione sono gestiti da terze parti responsabili del rilascio e della revoca di tutti i certificati per gli utenti o Esempio: certificati rilasciati da CA commerciali come Verisign, Thawte o altre ma anche studi legali, banche e altre organizzazioni alle quali si riconosce un’autorità per il rilascio di certificati. o Pro: relazioni di fiducia sia all’interno che all’esterno dell’organizzazione. Riduzione del carico di lavoro per la gestione dei certificati (emissione, mantenimento, revoca). o Contro: Fiducia totale tra azienda ed entità di certificazione. Costo per ogni certificato emesso. • CA globale (enterprise): l'azienda stessa funge da autorità di certificazione per il rilascio e la revoca dei propri certificati in base ai requisiti aziendali Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 45 di 118
  • 46. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it o Esempio: controllare accesso alle risorse attraverso i certificati: ogni dipendente potrà accedere alle infrastrutture anche dall’estero. o Pro: nessun costo verso altre entità. Controllo totali dei possessori del certificato (solo utenti noti) e della policy. o Contro: carico di lavoro per il mantenimento dei certificati e dell’infrastruttura. • Combinazione di CA: La disponibilità di una CA principale autonoma consente lo scambio di dati con partner e clienti senza che questi debbano accedere direttamente alla PKI, mentre la disponibilità di CA subordinate consente di mantenere il controllo sul rilascio e la revoca dei certificati all'interno dell'organizzazione o Esempio: impiegati ricevono certificati dalla CA di reparto, collaboratori esterni dalla rispettiva CA, clienti e partner da una CA commerciale. o Pro: massima flessibilità, si sfruttano i vantaggi di entrambi i modelli. Si presta alla gerarchia di CA. o Contro: si deve comunque mantenere una propria infrastruttura. Le CA possono essere organizzate in modo gerarchico: una CA principale emette certificati per delle autorità intermedie che a loro volta emetteranno certificati per entità finali (utenti) o per altre infrastrutture. Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 46 di 118
  • 47. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it Il sistema operativo rappresenta la posizione più appropriata per l'implementazione di un'infrastruttura PKI. I sistemi operativi ospitano normalmente numerose infrastrutture come quella di stampa (per l'invio dei documenti alla stampante) e quella per il servizio di gestione dei file (per il recupero dei file dalle aree di memorizzazione condivise). In entrambi gli esempi, il sistema operativo rende disponibile una funzionalità per l'utilizzo semplice e trasparente di un servizio di rete, proprio come nel caso della PKI. Windows e Unix/Linux offrono notevoli possibilità per la configurazione di PKI. Nelle versioni di Windows professionali (NT, XP Professional, 2000 Server, 2003 Server) ci sono funzionalità integrate come il server ISS (Internet Information Services), Active Directory™ e l'area di lavoro MMC (Microsoft Management Console). L'infrastruttura PKI di Windows 2000 si basa su quattro elementi cardine (come definito in [22]): Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 47 di 118
  • 48. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it • Interoperabilità: supporto dello scambio di messaggi, certificati e servizi con altri componenti standard PKI o Si supportano standard aperti e indipendenti dal produttore, spesso definiti da enti quali W3C o IETF. • Sicurezza: garantita sia da algoritmi di protezione e procedure affidabili o Componenti inaffidabili in PKI possono creare più danni della mancanza dell’infrastruttura stessa. o Algoritmi affidabili, sicuri e conosciuti come RSA, MD5 e SHA-1 per crittografia e firma, ma anche SSL o IPSec per le comunicazioni. • Flessibilità: possibilità di configurare la PKI in modo da soddisfare al meglio le esigenze organizzative specifiche di un'azienda con un impegno minimo o Modelli di CA autonoma e globale, riduzione dei costi e maggiore protezione in base alle esigenze. • Semplicità di utilizzo per amministratori di PKI, utenti finali che ricevono e utilizzano i certificati e sviluppatori che creano applicazioni abilitate all'uso della PKI o componenti incorporati nella piattaforma, il più possiblile automatici e integrati con gli altri strumenti utilizati da utenti e amministratori. Linux si basa su pacchetti di terze parti da installare. Ci sono vari progetti in corso, tra i quali ElyCA [30] e OpenCA [32]. Entrambi i progetti si basano su altri pacchetti necessari: • Apache: il web server più famoso e l’estensione per la sicurezza ApacheSSL (vedi [29]) • OpenSSL: toolkit crittografico (vedi [33]) Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 48 di 118
  • 49. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it I Certificati Digitali possono avere credenziali molto elevate se rilasciati e firmati da CA di nota autorevolezza; se oltretutto sono iscritte nell’apposito elenco pubblico mantenuto dalla CNIPA (Centro Nazionale per l’Informatica nella Pubblica Amministrazione), tali certificati hanno validità legale (vedi §1.1 e [5]). I certificati X.509 vengono rilasciati dalle PKI. 4.4 Web of Trust (WoT) Usato solitamente da PGP, Web of Trust (Rete di Fiducia) è un termine usato per descrivere le relazioni di fiducia esistenti tra un gruppo di chiavi, secondo il modello “horizontal trusting”, senza avere una catena di certificazione gerarchica in cui si deve conoscere ogni singolo emettitore ma una cooperazione orizzontale tra gli stessi utenti dell’applicazione. Questo è necessario in progetti come PGP, appunto, nei quali i certificati vengono emessi dal possessore stesso e non da un’autorità fidata. Come per PKI con i certificati X.509, WoT si prefigge lo scopo di risolvere il problema di autenticazione della chiave pubblica, quindi il legame con il relativo nome utente: devo verificare la firma di una email ricevuta, necessito della chiave pubblica del mittente, ma come posso essere sicuro che sia veramente sua? Per verificare l’autenticità della chiave pubblica del mittente, le alternative sono: 1. Chiedo conferma della chiave pubblica per telefono, supponendo di conoscere la sua voce; Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 49 di 118
  • 50. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it 2. Lo incontro, verifico i suoi documenti e confronto la stringa (magari in un altro stato…); 3. Confronto la chiave in mio possesso con la chiave autenticata in possesso di un altro utente. Spesso l’unica alternativa possibile è la 3, ed è su questa che si basa il concetto di Web of Trust. La firma su una chiave rappresenta un collegamento nella rete della fiducia. Questi collegamenti sono chiamati percorsi di fiducia e possono essere bidirezionali o a senso unico. La rete della fiducia ideale è quella in cui ogni persona è connessa ad ogni altra in modo bidirezionale, così che ognuno abbia la fiducia che ogni chiave appartenga veramente al proprio proprietario. La rete della fiducia può essere pensata come la somma dei percorsi di fiducia, o collegamenti, tra tutti i proprietari delle chiavi. A E B D C Un grafo simile rappresenta i legami tra le chiavi degli utenti A, B, C, D, E. Un arco da A a B rappresenta la firma dell’utente A sulla chiave pubblica di B. In questo caso l’utente A può fidarsi Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 50 di 118
  • 51. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it della chiave pubblica B poiché conosce C che ne ha autenticato la chiave. Ogni chiave valida in possesso dell’utente A può autenticata da egli stesso o da qualcun altro; ogni chiave non valida non può essere un certificatore fidato per altre chiavi. Esistono progetti sperimentali che consentono di generare grafi simili; uno di essi è Graphviz (AT&T Labs-Research, [10]). 4.4.1 Signing party: un esempio (tratto da [3]) Un key signing party è una riunione di persone che usano il sistema di crittografia PGP, durante la quale ogni partecipante ha la possibilità di firmare la chiave degli altri. I key signing party aiutano in modo consistente a estendere la propria rete della fiducia, inoltre offrono un'opportunità per discutere di questioni sociali e politiche che riguardano la crittografia forte, la sovranità e le libertà individuali, dell'implementazione di tecnologie crittografiche, o perfino degli sviluppi futuri del software libero per la crittografia. Poniamo che Alice e Bob creino delle chiavi PGP e organizzino un key signing party. Durante il party, Alice e Bob verificano ognuno le chiavi dell'altro e successivamente le firmano. Poiché PGP firma automaticamente le chiavi pubbliche che genera usando la chiave privata associata, Alice e Bob avranno almeno due firme che indicano che la chiave appartiene veramente a loro: la chiave di Alice è stata firmata da Alice stessa e da Bob, così pure per la chiave di Bob. In seguito Alice e Bob conoscono Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 51 di 118
  • 52. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it Cathy, che genera un paio di chiavi e spedisce la propria chiave pubblica ad Alice e Bob. Alice però non vuole che Bob comunichi con Cathy in modo cifrato, così crea una chiave con il nome di Cathy e la spedisce a Bob. Bob riceve così due chiavi che portano entrambe il nome di Cathy e la firma della chiave privata di Cathy, ma non sa quale delle due è veramente la chiave di Cathy. Cathy scopre che Bob ha ricevuto due chiavi, sospetta subito di Alice e decide di vendicarsi; per farlo, manda a Bob una finta e-mail a nome di Alice comunicandogli di aver generato una nuova coppia di chiavi e includendo la "nuova" chiave di Alice (che in realtà è una falsa chiave generata da Cathy). Ma Bob scopre subito che si tratta di un trucco, visto che una delle due chiavi di Alice che possiede è stata firmata da più persone (Alice e Bob), confermando che essa appartiene davvero ad Alice, mentre l'altra chiave (la falsa chiave creata da Cathy) ha solo una firma. L'esempio mostra i concetti base della firma delle chiavi e la sua importanza: Cathy non è riuscita a introdurre una falsa chiave di Alice, grazie alle interconnessioni esistenti tra Bob e Alice nella loro rete della fiducia. Tuttavia, firme e reti della fiducia non garantiscono chiavi di cui ci si possa fidare ciecamente. Ad esempio, supponiamo che quando Bob e Alice hanno conosciuto Cathy fosse presente anche Donald, un amico di Cathy. Donald potrebbe aver generato una coppia di false chiavi di Alice e Bob, potrebbe aver firmato ognuna delle due chiavi con quella dell'altro, oltre che con la propria chiave, in modo che ogni chiave contenesse tre firme, e potrebbe aver spedito le chiavi a Cathy. Cathy ora si troverebbe di fronte un gruppo di chiavi e di firme tutte "false": come potrebbe usare il meccanismo della firma per proteggersi Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 52 di 118
  • 53. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it da questo tipo di attacchi? Supponiamo che tutte le persone coinvolte scambino le chiavi attraverso un keyserver. Se Cathy cercasse le chiavi di Alice e Bob sul keyserver, troverebbe due paia di chiavi per Alice e Bob, ma se Alice e Bob avessero raccolto venti firme durante un key signing party, è ovvio che Cathy si fiderebbe di più delle chiavi firmate venti volte, piuttosto che di quelle firmate solo tre volte. Inoltre, Cathy potrebbe ricavare altre informazioni riguardanti le venti chiavi usate per le firme, ad esempio le loro date di generazione, ricostruendo così la rete di fiducia che lega le chiavi. Probabilmente le chiavi usate per apporre le firme durante il party saranno state a loro volta firmate con altre chiavi, quasi sicuramente avranno date di generazione molto diverse. Di certo non sarebbe così se Donald avesse generato venti false chiavi e le avesse usate per creare una falsa rete della fiducia. Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 53 di 118
  • 54. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it 5 X.509 “I problemi significativi che ci troviamo ad affrontare, non possono essere risolti utilizzando un livello di pensiero pari a quello che li ha ideati” Albert Einstein Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 54 di 118
  • 55. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it Lo standard per eccellenza nella certificazione digitale è senza dubbio X.509, riconosciuto legalmente anche all’estero. A questo, però, si aggiunge lo standard PGP che così non fornisce solo uno strumento crittografico ma anche una certificazione completa, efficiente e facile da gestire. È importante ricordare che questo elaborato si concentra sulle problematiche dello scambio di messaggi via email. Gli standard presentati, perciò devono essere in grado di proporre una soluzione al problema, compatibilmente allo standard S/MIME (Secure/Multipurpose Internet Mail Standard). 5.1 X.509 Certificate Format Standard di riferimento definito dall’ITU-T, è una parte delle specifiche X.500 che definiscono un Directory Service. X.509 definisce la struttura per i servizi di autenticazione tramite X.500 che funge da deposito dei certificati a chiave pubblica, basandosi su PKI. Nato nel 1988, rivisto nel 1993 e nell’odierno X.509v3 del 1995, per essere utilizzato da qualsiasi applicazione, in realtà oggi ogni azienda ha la propria estensione di X.509 infatti uno dei punti di forza della versione 3 di X.509 è la possibilità di modificare la policy di sicurezza dei certificati aggiungendo dei campi a quelli standard: per un’azienda potrebbe essere necessario certificare (oltre alle informazioni di default) anche il reparto in cui l’utente lavora e il ruolo svolto all’interno di esso. Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 55 di 118
  • 56. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it Questi certificati richiedono che qualcuno attesti in modo inequivocabile la corrispondenza tra la chiave pubblica e le informazioni contenute. L’unica entità in grado di apporre la propria firma è l’Autorità di Certificazione che ha emesso il certificato (che a sua volta può essere stata certificata da un’altra CA, in accordo alla gerarchia PKI precedentemente illustrata). Solitamente vengono emessi quattro tipi di certificati X.509: • Precaricati di una Autorità di Certificazione. Alcuni di questi certificati sono precaricati nei browser, cosicché si possano riconoscere in modo automatico e trasparente tutti i certificati emessi dalle CA più importanti. Quando qualcuno riceve un’informazione firmata con un certificato deve solo verificare la firma della CA che ha emesso il certificato per fidarsi dei dati contenuti nel certificato; • Server di un sito (www, ftp, ecc.). Questo certificato viene emesso per garantire che il server, che sta “mostrando” quel certificato, è il server di un particolare sito; questo tipo di certificati è particolarmente utile per il commercio elettronico, il cliente vuole essere certo di rivolgersi ad un particolare server, il certificato lo garantisce in questo senso; • Personali, contenenti quindi informazioni quali nome, cognome, indirizzo, casella e-mail, ecc.; possono essere utilizzati per garantire la provenienza di una e-mail, per inviare un numero di carta di credito, ecc. • Software, per garantire l'autenticità della provenienza del software, specialmente se questo viene distribuito in Rete. Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 56 di 118
  • 57. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it Lo standard X.509v3 prevede i seguenti campi: nome campo descrizione Versione Attualmente l’ultima versione è la 3 numero seriale del intero, unico all’interno della CA certificato distributrice identificatore algoritmo usato per firmare il certificato dell’algoritmo di firma con vari parametri usato nome del certificatore nome X.500 della CA che ha creato e firmato il certificato periodo di validità del inizio e fine della validità temporale del certificato certificato nome del possessore il nome al quale il certificato appartiene e lega la chiave pubblica contenuta chiave pubblica del chiave pubblica, algoritmo usato ed possessore eventuali parametri bit identificatore unico del opzionale, per identificare unicamente la certificatore CA emittente nel caso in cui il nome sia usato per altre entità bit identificatore unico del opzionale, per identificare unicamente il possessore possessore nel caso in cui il nome sia usato per altre entità Estensioni Uno o più campi, previsti dalla versione 3 Firma digitale del protegge tutti gli altri campi del certificato; certificatore contiene l’hash costituito su di essi crittografato con la chiave provata della CA. Include anche l’identificativo degli algoritmi usati Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 57 di 118
  • 58. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it Lo standard definisce tale notazione per definire un certificato: CA<<A>> = CA {V, SN, AI, CA, TA, A, AP} Dove: • Y<<X>> significa che il certificato dell’utente X è stato emesso da Y, • Y{I} è la firma di I per Y. Consiste di I con il suo hash code cifrato. Questo è il tipico approccio di firma digitale: Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 58 di 118
  • 59. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it 5.1.1 Standard PKCS I PKCS (Public-Key Cryptography Standard) sono un insieme di standard sviluppati dai Laboratori RSA in cooperazione con gli sviluppatori mondiali di sistemi sicuri, allo scopo di accelerare l'impiego di crittografia a chiave pubblica. Inizialmente pubblicati nel 1991, sono diventati ampiamente riferiti ed implementati. Gli standard attualmente pubblicati sono PKCS #1, #3, #5, #7, #8, #9, #10, #11, #12 e #15; PKCS #13 e #14 sono attualmente in sviluppo. Gli standard della crittografia a chiave pubblica sono i seguenti: • PKCS#1: standard per la crittografia RSA; • PKCS#2: incorporato in PKCS #1; • PKCS#3: standard per l'accordo su chiavi di Diffie- Hellman; • PKCS#4: incorporato in PKCS #1; • PKCS#5: standard per crittografia basata su password; • PKCS#6: standard per la sintassi dei certificati estesi (sostituito da X.509 v3); • PKCS#7: standard per la sintassi dei messaggi crittografici; • PKCS#8: standard per la sintassi di informazioni di chiavi private; • PKCS#9: tipi degli attributi selezionati usati nei PKCS; • PKCS#10: standard per la sintassi delle richieste di certificazione; • PKCS#11: standard per l'interfaccia dei token crittografici; • PKCS#12: standard per la sintassi dello scambio di informazioni personali; Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 59 di 118