1 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
2 Uso dei certificati
3 Il servizio di autenticazione X.509 appartiene alla serie di documenti X.500 dell'ITU- T 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
4 Certificato X.509
5 X.509: un modello gerarchico per le CA
6 X.509: revoca dei certificati
7 X.509: procedure di autenticazione
8 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
9 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
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
11 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
12 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)
13 Sicurezza della posta elettronica funzioni da realizzare: –autenticazione del mittente –integrità del messaggio –non ripudio da parte del mittente –riservatezza del messaggio MUA MS MTA POP / IMAP SMTP
14 Sistemi per la sicurezza della posta elettronica sicurezza dei messaggi testuali (RFC-822) –PEM –PGP sicurezza dei messaggi multimediali (RFC-1521) *MOSS *S/MIME
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
16 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
17 PGP: descrizione operativa
18 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
19 PGP: formato del messaggio
20 PGP: key rings
21 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
22 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
23 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 in base al valore dei campi signature trust
24 PGP: il modello di fiducia