Firma digitale e certificati Roberto Cecchini INFN Sezione
Firma digitale e certificati Roberto Cecchini INFN, Sezione di Firenze I corso Web avanzato Bari, 29 Settembre - 2 Ottobre 1998 Copia di queste trasparenze in http: //security. fi. infn. it/relazioni/firma/ I corso Web avanzato Bari, 29 Settembre - 2 Ottobre 1998
Roberto Cecchini Firma digitale e certificati Sicurezza: necessità di base • Riservatezza: – Il messaggio è stato letto da qualcun altro? • Autenticazione: – Il mittente è veramente chi afferma di essere? • Integrità: – Il messaggio è stato modificato prima della consegna? • Non ripudio: – Il mittente può negare di aver scritto il messaggio? I corso Web avanzato Bari, 29 Settembre - 2 Ottobre 1998 1
Roberto Cecchini Firma digitale e certificati Crittografia • La crittografia risponde alle esigenze di sicurezza. – Riservatezza: • cifratura. – Autenticazione: • firma digitale; • certificati. – Integrità: • one-way hash (message digest). – Non ripudio: • Integrità e Autenticazione. I corso Web avanzato Bari, 29 Settembre - 2 Ottobre 1998 2
Roberto Cecchini Firma digitale e certificati Riservatezza: cifratura • Converte un testo “in chiaro” in uno inintelligibile. • Richiede almeno una “chiave” (un numero). • Può essere di due tipi: – simmetrica (a chiave “privata”) • relativamente veloce; • come recapitare la chiave ai corrispondenti in modo sicuro? – asimmetrica (a chiave “pubblica”) • lenta: si usa di solito insieme a quella simmetrica; • senza il problema della trasmissione della chiave “privata”. I corso Web avanzato Bari, 29 Settembre - 2 Ottobre 1998 3
Roberto Cecchini Firma digitale e certificati Cifratura a chiave privata • Richiede una chiave segreta nota solo ai corrispondenti • La stessa chiave serve per cifrare e decifrare il messaggio • Come trasferire la chiave in modo sicuro? I corso Web avanzato A ciao B 3$r A ciao Bari, 29 Settembre - 2 Ottobre 1998 3$r ciao B 3$r ciao 4
Roberto Cecchini Firma digitale e certificati Cifratura a chiave pubblica • Ogni utente ha due chiavi generate contemporaneamente: una privata ed una pubblica: – dalla chiave pubblica è praticamente impossibile scoprire quella privata; – quello che si cifra con una, si può decifrare solo con l’altra. A ciao B 3$r A ciao 3$r ciao B cy 7 ciao • Non è necessario nessuno scambio di chiavi segrete: – il mittente cifra con la chiave pubblica del destinatario; – il destinatario decifra con la propria chiave privata. I corso Web avanzato Bari, 29 Settembre - 2 Ottobre 1998 Chiavi di A Chiavi di B pubblica privata 5
Roberto Cecchini Firma digitale e certificati Integrità: one-way hash • Funzioni che hanno in ingresso un messaggio di lunghezza variabile e producono una stringa di lunghezza fissa (hash). • È praticamente impossibile trovare un messaggio che produca un hash specificato. • Modificando anche un solo bit del messaggio si ottiene un hash completamente diverso. I corso Web avanzato Bari, 29 Settembre - 2 Ottobre 1998 6
Roberto Cecchini Firma digitale e certificati Autenticazione: firma digitale • A calcola l’hash del messaggio e lo cifra con la sua chiave privata: l’hash cifrato è la firma digitale • A invia il messaggio e l’hash a B. • B ricalcola l’hash sul messaggio e lo confronta con quello cifrato da A. • Se i due hash sono uguali, il messaggio non è stato modificato e A non può ripudiarlo. I corso Web avanzato A ciao hash (A) ciao Chiavi di A B Bari, 29 Settembre - 2 Ottobre 1998 pubblica privata hash (B) ciao =? hash (A) 7
Roberto Cecchini Firma digitale e certificati Autenticazione: certificati • La firma digitale rende sicuro un messaggio se: – la chiave privata di A non è stata compromessa; – B è in possesso della vera chiave pubblica di A. • La convalida delle chiavi pubbliche viene fatta tramite i certificati: un’autorità esterna (Certification Authority) garantisce dell’autenticità delle chiavi pubbliche. • Due modelli esistenti: – X. 509: organizzazione gerarchica; – PGP: “web of trust” • non se ne parla qui, gli interessati possono guardare in: http: //security. fi. infn. it/PGP/ I corso Web avanzato Bari, 29 Settembre - 2 Ottobre 1998 8
Roberto Cecchini Firma digitale e certificati Certificati: struttura (X. 509) • Un certificato X. 509 è composto fondamentalmente da: – – informazioni sul propietario; la data di scadenza; la chiave pubblica del proprietario; informazioni sull’autorità garante (la Certification Authority o CA); • Il certificato è firmato dalla CA: – cioè il certificato contiene anche un hash del suo contenuto, cifrato con la chiave privata della CA. I corso Web avanzato Bari, 29 Settembre - 2 Ottobre 1998 9
Roberto Cecchini Firma digitale e certificati Certificati: catene gerarchiche • Anche le CA hanno un proprio certificato. • Una CA può garantire anche altre CA, di livello inferiore: Root CA – catene gerarchiche di certificati • All’origine della catena c’ è una Root CA, che ha un certificato auto-firmato (root certificate). CA 1 A I corso Web avanzato Bari, 29 Settembre - 2 Ottobre 1998 CA 2 C B D 10
Roberto Cecchini Firma digitale e certificati Certificati: Root CA • I browser contengono preinstallati alcuni root certificates, visibili sotto Signers nel menu Security. • Si possono aggiungere, eliminare e modificare i certificati. I corso Web avanzato Bari, 29 Settembre - 2 Ottobre 1998 11
Roberto Cecchini Firma digitale e certificati Certificati: come si ottengono A sceglie una Certification Authority e se ne procura il certificato; genera una coppia di chiavi: pubblica e privata; sottopone una richiesta di certificato alla CA scelta; la CA si accerta che la richiesta provenga veramente da A; la CA emette il certificato per A; A memorizza il certificato e lo pubblica. I corso Web avanzato Bari, 29 Settembre - 2 Ottobre 1998 12
Roberto Cecchini Firma digitale e certificati Certificati: come si usano • B vuole scambiare messaggi “sicuri” con A: – si procura il certificato di A (e i certificati della catena di CA di A che ancora non possiede); – verifica la validità del certificato di A (una tantum): • decifra l’hash del certificato di A con la chiave pubblica della CA di A (ricavata del certificato di quest’ultima); • calcola l’hash del certificato di A; • controlla che i due hash, quello calcolato e quello decifrato, siano uguali; • controlla la data di scadenza; – verifica che il certificato di A non sia revocato o sospeso; – usa il certificato di A per: • verificare la firma dei messaggi che riceve da A; • cifrare i messaggi per A. I corso Web avanzato Bari, 29 Settembre - 2 Ottobre 1998 13
Roberto Cecchini Firma digitale e certificati La pratica • Software supportato: – browsers: Communicator 4. x e Internet Explorer 4. 0 x; – clienti di e-mail: Messenger e Outlook Explorer o 98. • Buona parte delle operazioni descritte prima vengono svolte in modo trasparente dai browser e dai loro clienti di e-mail. • Gli esempi seguenti sono con Communicator, ma Explorer non è molto diverso. • È in funzione una CA (sperimentale, gestita dal sottoscritto) per l’INFN (una root CA) che rilascia certificati utenti con un minimo di controlli. I corso Web avanzato Bari, 29 Settembre - 2 Ottobre 1998 14
Roberto Cecchini Firma digitale e certificati Proteggere i propri certificati! • Senza password chiunque può leggere i vostri mail e spedirli a vostro nome • Dal menu Security selezionare Passwords • Cliccare Set Password • Scegliere una buona password • Selezionare il campo Every time … • Ad ogni accesso ai certificati vi verrà richiesta la password. I corso Web avanzato Bari, 29 Settembre - 2 Ottobre 1998 15
Roberto Cecchini Firma digitale e certificati Scarico root certificate INFN (1/3) • http: //security. fi. infn. it/cgibin/ucert. pl • Cliccare su Scarica Certificato CA; • compariranno una serie di finestre di dialogo: per procedere cliccare ogni volta su Next> I corso Web avanzato Bari, 29 Settembre - 2 Ottobre 1998 16
Roberto Cecchini Firma digitale e certificati Scarico root certificate INFN (2/3) • Quando compare la pagina con il nome della CA, cliccando su More Info … si possono ottenere ulteriori dettagli: – il fingerprint deve essere AD: 88: B 9: 3 E: E 5: 10: 86: 2 C: A 6: 23: DF: 9 B: A 2: E 5: 24: 86 • Quando compare la pagina in basso, abilitare tutti e tre i campi cliccando sulle caselle all’inizio; • Quando vi viene chiesto il nickname della CA, digitate INFN. I corso Web avanzato Bari, 29 Settembre - 2 Ottobre 1998 17
Roberto Cecchini Firma digitale e certificati Scarico root certificate INFN (3/3) • Se tutto è andato bene nella pagina delle root CA deve comparire anche l’INFN. • Cliccando su Edit compare una pagina con i dettagli del certificato. • Cliccando su Verify non devono comparire errori I corso Web avanzato Bari, 29 Settembre - 2 Ottobre 1998 18
Roberto Cecchini Firma digitale e certificati Richiesta certificato utente (1/3) • URL http: //security. fi. infn. it/cgibin/ucert. pl • Riempire i dettagli del certificato: – Nome sezione; – Nome e Cognome; – Indirizzo di e-mail: deve essere quello ufficiale, Nome. Cognome@sezione. infn. it. • Cliccare Sottometti Richiesta. • Se va tutto bene compare una pagina che informa dell’avvenuta sottomissione. • All’indirizzo della richiesta verrà spedito un messaggio con l’URL da aprire per completare lo scarico. I corso Web avanzato Bari, 29 Settembre - 2 Ottobre 1998 19
Roberto Cecchini Firma digitale e certificati Richiesta certificato utente (2/3) • Aprendo l’URL comincerà un dialogo per l’inserimento del vostro certificato nel browser. • Vi verrà chiesto se volete una copia di salvataggio: fatela! – scegliete un floppy come device di output; – scegliete una password per proteggere la vostra copia di salvataggio; attenzione: contiene anche la vostra chiave privata; – non modificate il tipo di file di output (PKCS 12); – la copia può servire anche per inserire il certificato in un altro browser. I corso Web avanzato Bari, 29 Settembre - 2 Ottobre 1998 20
Roberto Cecchini Firma digitale e certificati Richiesta certificato utente (3/3) • Se tutto è andato bene il vostro certificato deve essere visibile sotto Yours • Cliccando Verify non devono comparire messaggi di errore • Il bottone Export consente di fare altre copie di salvataggio. I corso Web avanzato Bari, 29 Settembre - 2 Ottobre 1998 21
Roberto Cecchini Firma digitale e certificati Scarico certificati dei corrispondenti • automaticamente al ricevimento di un messaggio firmato; • aprendo l’URL http: //security. fi. infn. it/cgi -bin/scerts. pl e cliccando sul numero del certificato che interessa. I corso Web avanzato Bari, 29 Settembre - 2 Ottobre 1998 22
Roberto Cecchini Firma digitale e certificati Lettura dei messaggi I corso Web avanzato Bari, 29 Settembre - 2 Ottobre 1998 23
Roberto Cecchini Firma digitale e certificati Preparazione dei messaggi • Dalla voce Messenger del menu Security potete richiedere che tutti i vostri messaggi siano firmati. • In alternativa, potete specificare firma e cifratura, questa solo se avete il certificato del destinatario, caso per caso. I corso Web avanzato Bari, 29 Settembre - 2 Ottobre 1998 24
- Slides: 25