240 likes | 449 Views
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
E N D
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
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
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
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
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
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)
Sicurezza della posta elettronica MUA MS MS MUA • funzioni da realizzare: • autenticazione del mittente • integrità del messaggio • non ripudio da parte del mittente • riservatezza del messaggio POP / IMAP SMTP MTA MTA MTA SMTP SMTP
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
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
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
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
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
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