Certificati digitali cosa sono, come funzionano, come si ottengono | [email protected] | Certificati digitali “Un certificato digitale è un documento elettronico che associa l'identità di una persona ad una chiave pubblica. Viene emesso, da una autorità di certificazione riconosciuta, secondo standard internazionali (es. X.509) e viene firmato con la chiave privata dell'autorità. Gli enti che fanno da autorità devono sottostare a regole rigidissime per quanto riguarda la gestione dei dati personali, pertanto si possono considerare sicuri.” Wikipedia (http://it.wikipedia.org/) | [email protected] | Agenda Basi di crittografia Formato dei certificati Richiesta e rilascio dei certificati Policy associate al rilascio dei certificati Revoca dei certificati Certification Revocation List Validazione dei certificati | [email protected] | Basi di crittografia “La crittografia tratta delle "scritture segrete“... ovvero i metodi per rendere un messaggio "offuscato" in modo da non essere comprensibile a persone non autorizzate” Wikipedia (http://it.wikipedia.org/) | [email protected] | Tipi di crittografia Crittografia a chiavi simmetriche La stessa chiave è usata per il processo di crittatura e decrittatura Come scambiarsi le chiavi in modo sicuro? Alice | [email protected] | Bob Scambio di chiavi simmetriche Diffie-Hellman key agreement Alice e Bob scelgono p=23 e g=5 (pubblici) Alice sceglie la chiave segreta a=6 Alice manda a Bob (ga mod p): 56 mod 23 = 8 La chiave di sessione è stata scambiata Bob sceglie la chiave segreta b=15 senza farla transitare in rete 15 Bob manda ad Alice (gb mod p): 5 mod 23 = 19 Alice calcola ((gb mod p)a mod p): 196 mod 23 = 2 Bob calcola ((ga mod p)b mod p): 815 mod 23 = 2 | [email protected] | Algoritmi a chiave simmetrica Esempi Data Encryption Standard Cifratura a blocchi (64 bit) Usa chiavi di cifratura di 56 bit Considerato insicuro per la maggior parte degli usi Triple DES (TDEA) Cifratura a blocchi (64 bit) DES ripetuto 3 volte (chiavi di 168 bit) Modalità EEE: DES(k3;DES(k2;DES(k1;M))) Modalità EDE: DES(k3;DES−1(k2;DES(k1;M))) Advanced Encryption Standard (Rijndael) Cifratura a blocchi (128 bit – Rijndael 128, 160, 192, 224, 256) Chiavi di 128, 192, 256 (Rijndael 128, 160, 192, 224, 256) | [email protected] | Tipi di crittografia Crittografia a chiavi asimmetriche Si usano chiavi diverse (matematicamente relate) La crittografia simmetrica per i processi di crittatura e decrittatura è da 100 a 1000 volte più rapida Una chiave è pubblica e l’altra DEVE essere della crittografia asimmetrica mantenuta SEGRETA Store delle chiavi pubbliche Alice Testoin in cifrato chiaro Testo | [email protected] | Bob Testo in chiaro Firma digitale con chiavi asimmetriche Store delle chiavi pubbliche Hash AliceTesto in chiaro | [email protected] | Hash Hash Bob Algoritmi di hash Message Digest 5 (MD5) Testo in chiaro di lunghezza arbitraria digest di 128 bit Secure Hash Algorithm 1 (SHA1) Blocchi di 264 bit digest di 160 bit più lento di MD5 Possibile avere lo stesso hash da due testi diversi Si ritiene sia più difficile trovare due testi in chiaro che diano lo stesso hash con SHA1 | [email protected] | Algoritmi a chiave asimmetrica Rivest Shamir Adleman (RSA) Proposto nel 1977 Per crittografare e decrittografare Usato anche come metodo di scambio di chiavi simmetriche La sicurezza dell’algoritmo aumenta all’aumentare della lunghezza delle chiave usata (1024 bit o maggiore) Digital Signature Algorithm (DSA) Standard registrato dal governo degli Stati Uniti Solo per firma digitale Inizialmente pensato per chiavi lunghe al massimo 1024 bit, ora supporta chiavi più lunghe | [email protected] | Combinazione di tecniche Firma digitale + crittografia Assicura non ripudibilità, non modificabilità segretezza Crittografia mista Crittografia a chiave pubblica per scambiare chiavi simmetriche Chiavi simmetriche usate per crittografare il flusso di dati | [email protected] | Certificati | [email protected] | Certificati Sono la base di una infrastruttura PKI Per distribuzione di chiavi pubbliche associate al Subject, in modo certificato Rilasciati da entità terze (Certification Authority) dopo verifica dell’identità Subject Standard più usato X.509 X.509 v1 X.509 v2 X.509 v3 | [email protected] | * Template di certificati * Usati dalla CA Enterprise per definire le caratteristiche dei certificati rilasciati Salvati in Active directory Gestione effettuata via management console Due versioni di template v1: non consentono la personalizzazione v2: consentono la modifica e la personalizzazione Si devono avere i diritti di Read ed Enroll/Autoenroll per ricevere un certificato | [email protected] | Certification authorities (CA) Componente essenziale di una PKI Offline Root CA Può essere pubblica o privata Responsabilità: Verifica l’identità EU Policy CA (Subject) JP Policy CA di chi chiede il certificato Rilascio del certificato del tipo richiesto Gestione della revoca dei certificati EU Employee CA JP Employee CA JP Finance CA Normalmente in un’organizzazione esistono diverse CA di diverso livello e che rilasciano certificati per uso diverso | [email protected] | Policy associate al rilascio dei certificati Una PKI è sicura quanto lo sono le procedure adottate per gestirla Le procedure di gestione di una PKI sono regolate da: Security policy Certificate policy Certificate practice statement (CPS) Queste policy sono di solito scritte da un team misto di persone dei dipartimenti Legale, Personale, IT L’implementazione della PKI deve rispecchiare queste policy | [email protected] | Security policy Definisce le classi di dati proteggere e le misure da adottare Le domande da porsi nella definizione di una security policy sono: Quali dati/applicazioni/servizi devono essere protetti con i certificati digitali Quali misure adottare per proteggere le chiavi private (smart card, token, Hardware Security Module, ...) Quali misure usare per verificare l’identità di chi richiede un certificato | [email protected] | Certificate policy Procedure adottate per validare il Subject Policy di emissione del certificato Determina se ci si può fidare del certificato Dovrebbe contenere : Com’è verificata l’identità del richiedente Uso dei certificati rilasciati dalla CA Il device in cui le chiavi private devono essere conservate La responsabilità del subject nel caso la chiave privata sia compromessa o persa Le policy di revoca, le procedure e le responsabilità | [email protected] | Certificate practice statement (CPS) Misure usate per rendere sicure le operazioni della CA e la gestione dei certificati È un documento pubblico Deve essere accessibile a chiunque Deve contenere: Come la CA applica le misure per la verifica delle identità dei Subject La responsabilità dell’organizzazione in caso di frode verso un servizio protetto dal certificato nel caso in cui si dimostri il problema essere nel certificato Le circostanze che possono portare ad una revoca preventiva dei certificati Quando il CPS è inserito nel certificato di una CA si applica alla CA stessa e a tutte le subordinate | [email protected] | Certificate practice statement (CPS) RFC 2527 definisce un framework per i CPS in otto punti: Introduzione: descrizione generale della CA, dei certificati erogati e a chi sono erogati Provvedimenti generali: definizioni legali riguardanti la responsabilità dei diversi soggetti coinvolti Identificazione e autenticazione: misure prese per identificare il Subject. Deve riflettere la Certificate Policy Procedure operative: procedure usate per la gestione dei certificati e della CA Controlli di sicurezza fisici, procedurali del personale: controlli di sicurezza effettuati nelle diverse fasi di gestione di una CA Controlli di sicurezza tecnici: misure tecniche adottate per la protezione della chiave privata della CA (es. Uso di dispositivi compatibili FIPS 140-2 o 140-3) Profili dei certificati e delle CRL: tipi di certificati rilasciati e procedure di pubblicazione delle CRL Specifiche amministrative: procedure amministrative della CA | [email protected] | * Richiesta di un certificato 1. Il Subject genera una coppia di chiavi (pubblica e privata: tenuta segreta ) 2. Creazione del Certificate Signing Request (PKCS#10) 1. informazioni per identificare il Subject, 2. tipo di certificato richiesto 3. chiave pubblica 4. informazioni aggiuntive utili ad identificare il Subject (opzionali) 3. CSR è firmato con la chiave privata appena creata 4. CRS è inviato alla CA 5. CA verifica l’identità del richiedente 6. CA rilascia un certificato digitale per lo scopo richiesto firmato con la propria chiave privata | [email protected] | * Revoca dei certificati e CRL | [email protected] | Revoca dei certificati Necessaria per impedire l’uso di un certificato prima della scadenza naturale È responsabilità degli amministratori della CA che l’ha rilasciato Inserimento di numero seriale e ragione della revoca nel database dei certificati revocati Periodicamente l’elenco dei certificati revocati è pubblicato nella Certificate Revocation List (CRL) | [email protected] | Revoca dei certificati * Motivazioni della revoca (reason code) AffiliationChanged: il Subject lascia l’organizzazione o cambia ruolo CAComprimise: sospetto di compromissione dei chiave privata della CA. Tutti i certificati derivanti dalla CA sono considerati revocati CertificateHold: revoca temporanea (sconsigliato l’uso) CessationOfOperation: CA cessa di essere operativa. Tutti i certificati dipendenti sono revocati KeyCompromise: sospetto di compromissione della chiave privata del certificato RemoveFromCRL: per certificati rimessi in uso dopo un CertificateHold Superseded: un nuovo certificato (es. nuovo template) rimpiazza il certificato Unspecified: ragione non specificata | [email protected] | Certificate Revocation List Le CRL = lista dei certificati revocati da una CA Base CRL Lista di tutti i certificati revocati alla data della pubblicazione Pubblicata periodicamente Se si rinnova le chiavi della CA, Windows Server 2003 manterrà due CRL distinte Delta CRL Elenco dei certificati revocati dall’ultima Base CRL Pubblicata con maggiore frequenza della Base CRL Ha dimensioni ridotte Riduzione del traffico di rete Supportata solo da Windows XP e Windows Server 2003 | [email protected] | * Validazione dei certificati | [email protected] | Validazione dei certificati Assicura che Le informazioni riportate nel certificato siano valide Il certificato possa essere usato solo per i servizi dichiarati Il certificato sia fidato Divisibile logicamente in due fasi Costruzione della “catena della fiducia” Controllo di validità dei certificati | [email protected] | Costruzione della “catena della fiducia” * Le applicazioni usano il Certificate Chaining Engine (CCE) per la verifica dei certificati CCE colleziona tutti i certificati fino a una Root CA Certificati sono raccolti da Cache delle CryptoAPI Group Policy Authority Information Access | [email protected] | Controllo di validità dei certificati * Per ogni certificato della catena CCE verifica Contenuto del certificato: validità e completezza dei campi richiesti dallo standard X.509 Formato: deve essere compatibile X.509 (v1, v2, v3) Estensioni critiche: sono passate all’applicazione se non le riconosce il certificato è considerato non valido Presenza di policy specifiche: l’applicazione richiede uno specifico policy OID OID non presente nella catena certificato non valido Revoca: controllata la CRL della Issuing CA (per ogni certificato) Root CA: una Root CA fidata o inclusa in una Certificate Trust List (CTL – configurata manualmente o via Windows Update) deve chiudere la catena Signature: controllata la firma digitale del ceritificato Scadenza: Valid From < Today < Valid to | [email protected] | Verifica dei punti di pubblicazione Errore di configurazione di AIA e dei punti di pubblicazione delle CRL è il più diffuso Certutil certutil –verify –urlfetch certificato.cer PKI Health tool Installare Windows Server 2003 ResKit regsvr32 pkiview.dll pkiview.msc CryptoAMI Monitor (CAPIMON) | [email protected] | * Riferimenti RFC 3280 Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile Frequently Asked Questions about Today’s Cryptography RSA Laboratories – version 4.1 – May 2000 ISO 17799/BS7799 Code of practice for information security managemen RFC 2196 The site security handbook X.509 certificate policy for the United State Department of Defence (www.defenselink.mil/nii/org/sio/ia/pki/DoD_CP_V60_31Ma y2002.pdf) RFC 2527 Internet X.509 public key infrastructure certificate policy and certificate practice statement | [email protected] | Pubblicazioni | [email protected] | © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.