Tesi Triennale - X509 e PGP

2,231 views
1,952 views

Published on

Tesi triennale su certificati X.509 e PGP

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,231
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tesi Triennale - X509 e PGP

  1. 1. UNIVERSITÀ CA’ FOSARI – VENEZIAFacoltà 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. 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. ZimmermannFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 2 di 118
  3. 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........................ 65Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 3 di 118
  4. 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 ........................................................................115Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 4 di 118
  5. 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. 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 TzuFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 6 di 118
  7. 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 inviatoFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 7 di 118
  8. 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 ParlamentoFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 8 di 118
  9. 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). LItalia è 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 lInformatica 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 laFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 9 di 118
  10. 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 delFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 10 di 118
  11. 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. 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. 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. 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 FrazerFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 14 di 118
  15. 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 ripudioFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 15 di 118
  16. 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 utilizzareFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 16 di 118
  17. 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. 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. 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. TanenbaumFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 19 di 118
  20. 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 unaltra sequenza apparentemente incomprensibile: proteggere i dati originali rendendoli segreti. Solamente leFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 20 di 118
  21. 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 unaltra, 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. 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 nellalfabeto. 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 tramontoFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 22 di 118
  23. 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 nellalfabeto. 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 lalgoritmo 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. 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. 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 lalgoritmo con lalgoritmo simmetrico asimmetrico giusto per giusto per decodificare i dati. decodificare i dati. Quindi con l’uso di algoritmi crittografici asimmetrici lunica 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. 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 lalgoritmo 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. 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 eFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 27 di 118
  28. 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 DGSVAFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 28 di 118
  29. 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. 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 uornaFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 30 di 118
  31. 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 informazioneFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 31 di 118
  32. 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. 33. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it Possiamo pensare al codice prodotto dallalgoritmo 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 limpronta; • dallimpronta 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 lhash del messaggio, calcolato dal mittente. Il destinatario, ricevuta lemail, ne calcola lhash e lo confronta con quello calcolato dal mittente. Solo se i 2 hash sono uguali è possibile dire che lemail 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. Lhash è quindi protetto e può essere rigenerato solo dal vero mittente dellemail.Fabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 33 di 118
  34. 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 lhash calcolato dallautorità 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. 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 cifrataFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 35 di 118
  36. 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 firmareFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 36 di 118
  37. 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 ClausewitzFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 37 di 118
  38. 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 digitaliFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 38 di 118
  39. 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 sonoFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 39 di 118
  40. 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 termineFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 40 di 118
  41. 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à lelenco 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, ilFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 41 di 118
  42. 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. 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 eFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 43 di 118
  44. 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 Unincomprensione comune porta spesso a considerare linfrastruttura a chiave pubblica come unentità fisica, e non come funzionalità. La PKI è costituita da un gruppo di componenti distinti che interagiscono per consentire agli utenti lutilizzo 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. 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 unazienda: • CA autonoma (standalone): la chiave principale e i certificati di unorganizzazione 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): lazienda stessa funge da autorità di certificazione per il rilascio e la revoca dei propri certificati in base ai requisiti aziendaliFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 45 di 118
  46. 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 allinterno dellorganizzazione 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. 47. www.unive.it Tesi di Laurea A. A. 2003/2004 www.dsi.unive.it Il sistema operativo rappresenta la posizione più appropriata per limplementazione di uninfrastruttura PKI. I sistemi operativi ospitano normalmente numerose infrastrutture come quella di stampa (per linvio 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 lutilizzo 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 larea di lavoro MMC (Microsoft Management Console). Linfrastruttura 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. 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 unazienda 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 alluso 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. 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. 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ò fidarsiFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 50 di 118
  51. 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 unopportunità per discutere di questioni sociali e politiche che riguardano la crittografia forte, la sovranità e le libertà individuali, dellimplementazione 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 dellaltro 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 conosconoFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 51 di 118
  52. 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 laltra chiave (la falsa chiave creata da Cathy) ha solo una firma. Lesempio 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 dellaltro, 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 proteggersiFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 52 di 118
  53. 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. 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 EinsteinFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 54 di 118
  55. 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. 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 lautenticità 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. 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 usatiFabio Pustetto Posta elettronica sicura: X.509 e PGP Pagina 57 di 118
  58. 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

×