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.
Scarica

Valid From - Microsoft