1. UNIVERSITÀ CA’ FOSARI – VENEZIA
Facoltà di Scienze Matematiche, Fisiche e Naturali
Corso di Laurea in Informatica
Tesi di Laurea Triennale
Laureando: Fabio Pustetto
POSTA ELETTRONICA SICURA:
X.509 E PGP
Relatore: Chiar.mo prof. Riccardo Focardi
Anno Accademico 2003/2004
2. RISCHI E REQUISITI
Per proteggere, cioè rendere sicuro, si intende predisporre contromisure di
protezione per i rischi specifici.
• Frode => Autenticazione
• Assicura che il documento non sia un falso e che il mittente è proprio
chi dice di essere
• Intercettazioni non autorizzata => Riservatezza/Segretezza
• consente ai soli utenti autorizzati di interpretare informazioni riservate
negandole a tutti gli altri.
• Modifica dati => Integrità
• protezione delle informazioni dalle eventuali modifiche apportate da
altri utenti non autorizzati.
• Diniego => Non ripudio
• 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.
3. TECNOLOGIE
Tecnologia principali su cui si basano tutte le applicazioni inerenti alla sicurezza
• “crittografia”
• Trasforma una sequenza di dati in chiaro in un'altra sequenza
apparentemente incomprensibile
• Da testo in chiaro a testo cifrato tramite chiavi
• Principio di Kerckhoffs: “La sicurezza di un crittosistema non deve dipendere dalla
segretezza dell’algoritmo usato, ma solo dalla segretezza della chiave”.
• “hashing”
• Trasforma una sequenza di dati potenzialmente infinita in una
rappresentativa di dimensione prefissata (digest)
1. Se documento cambia cambia anche digest (con molta probabilità)
2. Da digest non si risale a documento
3. Funzione applicata in tempi diversi su stesso messaggio da stesso digest
4. ALGORITMI CRITTOGRAFICI
• Algoritmi a chiave segreta
• Conoscenza comune e riservata tra
mittente e destinatario
• Stessa chiave cifra e decifra
• Trasmissione e uso ripetuto chiave
• Con n destinatari, O(n2) chiavi
• Algoritmi a chiave pubblica
• Coppia di chiavi: pubblica e privata
• Una cifra, l’altra decifra
• Non si riconducono
• n destinatari, O(n) coppie di chiavi
• Cifratura lenta, chiavi lunghe
X=E(KU,M) M=D(KR,X)
5. FIRMA DIGITALE
• Serve al destinatario per verificare l’autenticità e integrità
• Si usano algoritmi crittografici asimmetrici
• Chiave privata firma, chiave pubblica verifica
CERTIFICATI
DIGITALI
Lega
• Chiave pubblica
• Informazioni su
soggetto
• Una o più firme
Consente
• Autenticazione
• Integrità
• Non ripudio
• Segretezza
6. GESTIONE DELLE CHIAVI
PKI (PUBLIC KEY INFRASTRUCTURE )
Si occupa di Costituita da
• Emissione, distribuzione, revoca, validazione • Registration Autority (RA)
• Catena di certificazione • Verifica utenti e chiavi
• Certification Autority (CA)
CA1 • Crea e firma certificato
• Certificate Sever (CS)
• Distribuisce certificato
CA2 CA3 CA4
Architettura
• CA autonoma
CA5 D • Gestita da terze parti
A B
• CA globale
• Gestita internamente
C • Combinazione di CA
7. GESTIONE DELLE CHIAVI
WOT (WEB OF TRUST)
Rete di Fiducia
• OBIETTIVO: autenticare chiavi pubbliche A autentica D
• Nessuna infrastruttura o fiducia implicita
• Cooperazione tra utenti
• Ogni firma su chiave pubblica D
• Autentica la chiave corrispondente A
• corrisponde ad un collegamento nella B
rete di fiducia
A autentica C C
C autentica A
B si fida di A
passando per C, in
cui ha fiducia
8. X.509
(VERSIONE 3)
Ottenere un certificato:
• Autocertificazione
• Utente genera chiavi e certificato e li
firma da se
• CA esterna
• Ci si affida a strutture commerciali
affidabili e legalmente riconosciute
(Thawte, Verisign, …)
• Firma con valore legale, CNIPA
Uhm… Non
falsificabile
• CA interna
• Es: azienda funge da CA ed emette
certificati ad hoc per i dipendenti
10. PGP Genera
Ks
(FUNZIONAMENTO) Cifra Ks
con KUb
Comprimi
RSA
ZIP
Digest
SHA-1
Cifra
IDEA
Firma
con KRa Converti
RSA RADIX
11. IN PRATICA…
(IMPLEMENTARE CA PER X.509 IN LINUX)
Installare un Server: Apache + ApacheSSL + OpenSSL
• Certificato per CA
1. Creare coppia di chiavi
openssl genrsa –des3 -out CA.key 2048
2. Creare certificato auto-firmato
openssl req -new -x509 -key CA.key -out CA.cert
• Certificato personale
1. Creare coppia di chiavi
openssl genrsa –des3 -out fabio.key 1024
2. Preparare una CSR
openssl req -new -key fabio.key -out fabio.csr
3. Inviare tutto alla CA
openssl ca -keyfile CA.key -cert CA.cert -in fabio.csr -out fabio.cert
12. CONCLUSIONI
X.509: PGP:
• Professionali • Orientati agli utenti
• Orientati alle aziende • Facili da produrre
• Difficili da mantenere • WoT difficile da sfruttare a pieno
• Affidabilità intrinseca PKI