Certificati a chiave pubblica
• strutture dati che legano una chiave
pubblica ad alcuni attributi di una persona
• sono firmati elettronicamente dall’ente
emettitore: la Certification Authority (CA)
• possono essere verificati mediante la chiave
pubblica della CA
• hanno scadenza temporale e sono revocabili
sia dall’utente che dall’emettitore
1
Uso dei certificati
2
Il servizio di autenticazione X.509
• appartiene alla serie di documenti X.500 dell'ITUT che definiscono un servizio di directory
• X.509 specifica come fornire un servizio di
autenticazione agli utenti
• definisce
– la struttura dei certificati
– protocolli di autenticazione
• è usato in molti contesti: S/MIME, SSL/TLS, SET
• è stato emesso nel 1988, X.509v2 nel 1993,
X.509v3 nel 1995
3
Certificato X.509
4
X.509: un modello
gerarchico per le CA
5
X.509: revoca dei certificati
6
X.509: procedure di autenticazione
7
Limiti di X.509v2
• il campo Subject è inadeguato per gli utenti
• il campo Subject è inadeguato per molte
applicazioni
• mancano informazioni su politiche di
sicurezza
• mancano limiti di applicabilità dei certificati
• non supporta la gestione del ciclo di vita
delle chiavi
8
Estensioni di X.509v3
• X.509v3 prevede alcune estensioni opzionali
• ogni estensione comprende
– un identificatore
– un indicatore di criticità
– un valore
• le estensioni si dividono in tre categorie:
– key and policy information
– subject and issuer attributes
– certification path constraints
9
Estensioni di X.509v3
• Key and policy information
– Authority key identifier: una CA può avere più coppie
di chiavi
– Subject key identifier: un soggetto può avere più
coppie di chiavi
– Key usage: scopi per cui un certificato può essere usato
– Private-key usage period: periodo d'uso della
corrispondente chiave privata
– Certificate policies: politiche che il certificato supporta
– Policy mappings: una o più politiche dell'emettitore
sono equivalenti a una politica del soggetto
Estensioni di X.509v3
• Subject and Issuer attributes
– Subject alternative name: nomi alternativi del
soggetto in varie forme
– Issuer alternative name: nomi alternativi
dell'emettitore in varie forme
– Subject directory attributes: qualsiasi attributo
della directory X.500 per il soggetto
11
Estensioni di X.509v3
• Certificate path constraints
– Basic constraints: se il soggetto può agire da CA e,
in tal caso, lunghezza della catena di certificazione
– Name constraints: spazio di nomi per i soggetti di
tutti i certificati seguenti nella catena
– Policy constraints: limiti sulle politiche nel resto
della catena (richiesta di specifiche politiche o
inibizione del policy mapping)
12
Sicurezza della posta elettronica
MUA
POP /
IMAP
MS
MS
MUA
SMTP
MTA
SMTP
MTA
MTA
SMTP
• funzioni da realizzare:
– autenticazione del mittente
– integrità del messaggio
– non ripudio da parte del mittente
– riservatezza del messaggio
13
Sistemi per la sicurezza
della posta elettronica
• sicurezza dei messaggi testuali
(RFC-822)
– PEM
– PGP
• sicurezza dei messaggi multimediali
(RFC-1521)
* MOSS
* S/MIME
14
PGP (Pretty Good Privacy)
• Programma per lo scambio sicuro di messaggi
testuali (confidenzialità, autenticazione)
• sviluppato da P. Zimmerman, simbolo del diritto
alla privacy elettronica
• integra algoritmi di crittografia consolidati
• è indipendente dall'architettura e dal sistema
operativo
• sorgenti, librerie e documentazione disponibili
gratuitamente su Internet
• esiste una versione commerciale di basso costo
PGP: servizi offerti
• Autenticazione
– SHA-1, RSA
– supporta firme staccate
• Confidenzialità
– CAST-128 o IDEA o Triplo DES
– si utilizza una chiave di sessione one-time
• Compressione
• Codifica per compatibilità
– radix-64
• Segmentazione
16
PGP: descrizione operativa
17
PGP: gestione delle chiavi
• Generazione delle chiavi di sessione
– le chiavi segrete sono numeri casuali di 128 bit
generati usando lo stesso algoritmo CAST-128
• Identificatori delle chiavi
– PGP consente ad ogni utente di avere più
coppie di chiavi pubblica/privata
• Key rings
– ogni utente deve mantenere un file delle sue
coppie di chiavi pubbliche/private e un file
delle chiavi pubbliche dei corrispondenti
18
PGP: formato del messaggio
19
PGP: key rings
20
PGP: trasmissione dei messaggi
• Firma del messaggio (opzionale)
– PGP recupera la chiave privata del mittente dal private key
ring usando il suo userID come indice
– PGP chiede all'utente la passphrase e la usa per decriptare la
chiave privata
– viene composta la componente signature
• Compressione del messaggio
• Crittografia del messaggio (opzionale)
– PGP genera una chiave di sessione e cripta il messaggio
– PGP recupera la chiave pubblica del destinatario dal public
key ring usando il suo userID come indice
– viene composta la componente chiave di sessione
• Codifica del messaggio
21
PGP: ricezione dei messaggi
• Decodifica del messaggio
• Decrittografia del messaggio (opzionale)
– PGP recupera la chiave privata del ricevente dal private key ring
usando come indice il campo keyID della componente chiave di
sessione
– PGP chiede all'utente la passphrase e la usa per decriptare la
chiave privata
– PGP recupera la chiave di sessione e decripta il messaggio
• Decompressione del messaggio
• Autenticazione del messaggio (opzionale)
– PGP recupera la chiave pubblica del mittente dal public key ring
usando come indice il campo keyID della componente signature
– PGP decripta il digest e lo confronta con quello che ottiene
22
PGP: uso della fiducia
• È compito dell'utente assegnare un livello di fiducia ad
ogni conoscente ed intermediario
– il campo owner trust esprime il grado di fiducia nel
proprietario come certificatore; è assegnato dall'utente
(unknown, untrusted, marginally trusted, completely
trusted)
– il campo signature trust esprime il grado di fiducia
nel firmatario come certificatore; è uguale a owner
trust se il firmatario è tra i conoscenti, altrimenti vale
unknown
• il PGP assegna il livello di fiducia nell'abbinamento
chiave pubblica - utente
– il campo key legitimacy viene calcolato dal PGP in23
PGP: il modello di fiducia
24
Scarica

ppt