Tecnologie di Sicurezza in Internet APPLICAZIONI AA 2009-2010 Ingegneria Informatica e dell’Automazione Public Key Infrastructures PKI Definizione Infrastruttura composta dai sistemi necessari alla fornitura e alla fruizione di servizi di crittografia a chiave pubblica e firma digitale Scopo Le PKI sono utilizzate dalle organizzazioni per effettuare la gestione di chiavi e certificati digitali e il loro utilizzo per le varie applicazioni Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – A80/2 PKI Requisiti principali • Certificati digitali • Certificate Repository • Certificate revocation • Key backup and recovery • Support for non-repudiation • Automatic update of key pairs and certs • Integrated client-side software • Trasparenza Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – A80/3 PKI basic components Read, search, modify End-Entity Certificate repository Registration/certification key pair recovery key pair update cert update revocation request Registration Authority Certificate Authority Registration Certificates Registration CRL publication CRLs Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – A80/4 PKI EE End-Entity (EE) Sono utenti o sistemi cui i certificati digitali sono intestati Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – A80/5 PKI CA Certificate Authority (CA) Firma i certificati, garantendo la corrispondenza tra una chiave pubblica e una EE soggetto Ha la responsabilità dell'identificazione del soggetto • User certs • CA certs • Cert renewal • Cert revocation Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – A80/6 PKI CR Certificate Repository (CR) Memorizza i certificati emessi e quelli revocati Directory con protocollo di accesso LDAP: bind, unbind, search, modify Componente opzionale Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – A80/7 PKI RA Registration Authority (RA) E' una End-Entity opzionale e fidata (certificata dalla CA) cui sono delegate alcune funzioni della CA, come l’identificazione del soggetto e la generazione delle chiavi Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – A80/8 X.509 certs Il formato più diffuso per i certificati digitali (TLS, S/MIME, IPSec, …) segue lo standard X.509. Campi principali: • Nome dell'autorità emittente • Periodo di validità • Soggetto • Chiave pubblica • Firma digitale dell'autorità emittente Estensioni: • Key usage • Subject Alternative Name • Certificate class Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – A80/9 X.509 CRLs Certificate Revocation Lists X.509v2 definisce il formato di una CRL, usata per dichiarare certificati inutilizzabili anche se non ancora scaduti • End-Entity termination • Compromissione di chiave privata • Passphrase loss • Cambio di informazioni nel certificato Le CRLs sono pubblicate su una directory LDAP Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – A80/10 PKI Protocols Certificate Management Protocols Protocolli di amministrazione usati fra EE e CA(RA) e fra RA e CA, scambiandosi messaggi CRMF • Registrazione iniziale e certificazione • Key pair recovery • Key pair update • Certificate renewal • Revocation request Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – A80/11 PKI Protocols Operational Protocols Protocolli usati dalle EE e CA per scambiare informazioni con un CR • Repository read • Repository search • Repository modify Online Certificate Status Protocol Protocollo usato dalle EE e CA per ottenere informazioni sullo stato dei certificati direttamente da un CR Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – A80/12 CA Hierarchies Le CA possono essere operate da terze parti o autonomamente. Le applicazioni che operano nella PKI hanno una lista di certificati di root CA considerate affidabili. Le CA formano solitamente gerarchie • La root CA è dotata di un certificato selfsigned ed è considerata affidabile • Questa emette certificati per altre CA subordinate, che possono anche non essere tra quelle considerate affidabili • E così via Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – A80/13 CA Hierarchies Per validare i Certificati emessi dalle CA terminali, le applicazioni devono risalire la catena delle autorità emittenti Si forma una certificate chain in cui ciascun certificato è seguito dal certificato del suo emittente, fino a quello di una CA affidabile. Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – A80/14 PKI Products Betrusted UniCERT (Baltimore) Verisign MPKI RSA Security Keon Entrust Lotus, Novell, Microsoft, … OpenCA, EJBCA Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – A80/15 Esempio: EJBCA architecture Client RA, request queue DB INTERNET CR, OCSP, LDAP Firewall 1. 2. 3. 4. 5. Una EE manda una request alla RA RA la verifica e la accoda per CA CA fa polling sulla coda e quando ne trova le processa e ne memorizza la risposta per la RA RA fa polling per vedere se la richiesta è stata processata, e nel caso mette a disposizione la risposta alla EE richiedente Il client fa polling sulla RA per ricevere la risposta DMZ1 CA, master DB Firewall DMZ2 Slave DB (replica), logging INT Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – A80/16 Riferimenti • Heinz Johner, Seiei Fujiwara, Amelia Sm Yeung, Anthony Stephanou, Jim Whitmore: Deploying a Public Key Infrastructure, IBM RedBook SG24-5512-00, chap. 2-5 • Introduction to Public-Key Cryptography, http://developer.netscape.com/docs/manuals/security/pkin/con tents.htm • www.entrust.com/pki.htm • RFC 2459, 2510, 2511, 2527, 2528, 2559, 2560, 2585, 2587: PKIX Tecnologie di Sicurezza in Internet: applicazioni – AA 2009-2010 – A80/17