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/
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
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:
A
ciao
B
3$r
3$r
ciao
– dalla chiave pubblica è
praticamente impossibile
scoprire quella privata;
– quello che si cifra con una, si
può decifrare solo con l’altra.
A
ciao
B
cy7
cy7
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
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.0x;
– 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:B9:3E:E5:10:86:2C:A6:
23:DF:9B:A2:E5: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,
[email protected].
• 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 (PKCS12);
– 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
Scarica

presentation source