Concetti relativi ai certificati digitali

 

Ultima modifica dell'argomento: 2005-05-19

Anche se la crittografia a chiave pubblica semplifica la gestione delle chiavi consentendo a più persone di utilizzare una stessa coppia di chiavi, rimane il problema della distribuzione di una chiave pubblica in modo che l'utente possa trovarla e avere la certezza che è valida.

Per lo standard S/MIME, la soluzione a questo problema viene fornita dai certificati digitali. Questi ultimi costituiscono l'elemento distintivo di S/MIME rispetto alle altre soluzioni concorrenti per la protezione dei messaggi.

Certificati digitali e crittografia a chiave pubblica

Un certificato digitale offre un metodo di identificazione analogo a quello del passaporto o della patente di guida. Si tratta di una credenziale digitale che fornisce informazioni relative all'identità di un'entità e altre informazioni di supporto. Un certificato digitale viene emesso da un'apposita Autorità di certificazione (CA, Certification Authority), che garantisce la validità delle informazioni riportate nel certificato. Inoltre, un certificato digitale rimane valido solo per un determinato periodo di tempo.

I certificati digitali forniscono il supporto per la crittografia a chiave pubblica perché contengono la chiave pubblica dell'entità identificata nel certificato. Poiché stabiliscono la corrispondenza tra una chiave pubblica e un determinato individuo e la relativa autenticità viene garantita dall'emittente, i certificati digitali forniscono una soluzione al problema relativo all'individuazione della chiave pubblica di un utente e alla verifica della validità della chiave. Per risolvere questo problema è infatti sufficiente che un utente ottenga la chiave pubblica di un altro utente dal certificato digitale. In questo modo, l'utente ha anche la certezza che la chiave è valida perché il certificato è stato emesso da un'Autorità di certificazione attendibile.

I certificati digitali vengono a loro volta autenticati mediante la crittografia a chiave pubblica. Quando viene emesso un certificato digitale, l'Autorità di certificazione emittente firma il certificato con la propria chiave privata. Per convalidare l'autenticità di un certificato digitale, un utente può ottenere la chiave pubblica dell'Autorità di certificazione e utilizzare tale chiave per determinare se è stata firmata dall'autorità.

Struttura dei certificati digitali

Un certificato digitale deve essere strutturato in modo chiaro e comprensibile per facilitare il recupero e la comprensione delle informazioni. In questa prospettiva, la struttura di un certificato digitale è paragonabile a quella di un passaporto, che consente alle persone di comprendere facilmente anche informazioni che non hanno mai visto prima. Analogamente ai passaporti, i certificati digitali, purché conformi agli standard, possono essere letti e compresi indipendentemente dall'Autorità di certificazione emittente.

Per S/MIME, i certificati digitali devono essere conformi allo standard X.509 definito dall'International Telecommunications Union (ITU). S/MIME versione 3 richiede esplicitamente che i certificati digitali siano conformi alla versione 3 dello standard X.509. Il riconoscimento di X.509 da parte di S/MIME come standard per la struttura dei certificati digitali ha contribuito alla diffusione e all'accettazione di questo standard.

In base allo standard X.509, i certificati digitali devono contenere informazioni standardizzate. In particolare, i certificati X.509 versione 3 contengono i seguenti campi:

  • Numero di versione   Versione dello standard X.509 a cui deve essere conforme il certificato.
  • Numero di serie   Numero emesso dall'Autorità di certificazione che identifica il certificato in maniera univoca.
  • Identificativi degli algoritmi del certificato   Nomi degli specifici algoritmi di chiave pubblica utilizzati dall'Autorità di certificazione per firmare il certificato digitale.
  • Nome dell'emittente   Identità dell'Autorità di certificazione che ha effettivamente emesso il certificato.
  • Periodo di validità   Periodo di tempo in cui un certificato digitale è valido. È indicato con un intervallo compreso tra una data di inizio e una data di scadenza.
  • Nome del soggetto   Nome del proprietario del certificato digitale.
  • Informazioni relative alla chiave pubblica del soggetto   Chiave pubblica associata al proprietario del certificato digitale e algoritmi specifici associati a tale chiave.
  • Identificativo univoco dell'emittente   Informazioni che possono essere utilizzate per identificare in modo univoco l'emittente del certificato digitale.
  • Identificativo univoco del soggetto   Informazioni che possono essere utilizzate per identificare in modo univoco il proprietario del certificato digitale.
  • Estensioni   Informazioni aggiuntive relative all'utilizzo e alla gestione del certificato.
  • Firma digitale dell'Autorità di certificazione   Firma digitale creata con la chiave privata dell'Autorità di certificazione utilizzando l'algoritmo specificato nel campo relativo agli identificativi degli algoritmi.

Poiché lo standard S/MIME richiede l'utilizzo di un certificato X.509 v3, queste informazioni sono valide anche per i certificati specifici di S/MIME.

Importante

X.509 v3 è uno standard che regola l'emissione di qualsiasi certificato digitale e non solo di quelli specifici di S/MIME. Le informazioni sui certificati digitali di S/MIME sono riportate nelle specifiche RFC di S/MIME.

Sebbene i certificati digitali siano in formato elettronico, è opportuno tenere presente che, essendo standardizzati, possono essere utilizzati anche su dispositivi diversi dai personal computer, ad esempio dispositivi palmari, cellulari e smart card. Queste ultime, in particolare, possono essere a loro volta utilizzate su una vasta gamma di dispositivi e rappresentano l'applicazione ideale dei certificati digitali. Le smart card consentono di potenziare le caratteristiche di portabilità e usabilità dei certificati digitali rendendoli simili a un documento di identificazione.

La standardizzazione dei certificati S/MIME, tramite le specifiche RFC S/MIME e lo standard X.509 versione 3, svolge un ruolo fondamentale per la diffusione di S/MIME poiché rende comprensibili i certificati digitali a qualsiasi applicazione conforme allo standard.

Certificati digitali e infrastruttura a chiave pubblica

Uno dei vantaggi offerti dalla crittografia a chiave pubblica è quello di ridurre le attività di gestione delle chiavi poiché consente di utilizzare una sola coppia di chiavi in sostituzione di numerose chiavi simmetriche. Questo vantaggio è ulteriormente potenziato dai certificati digitali, che consentono la distribuzione e la gestione delle chiavi pubbliche. Tuttavia, i certificati digitali richiedono un'attività di gestione che tenga conto della natura di questi certificati, destinati a una vasta distribuzione. Per la gestione dei certificati digitali nel contesto in cui verranno utilizzati è richiesta un'apposita infrastruttura: PKI (Public Key Infrastructure). L'infrastruttura PKI è responsabile dell'emissione, della distribuzione tramite una directory e della convalida dei certificati. È in grado di gestire le attività di supporto dei certificati digitali e fornisce le funzionalità su cui si basano i servizi quali S/MIME.

Considerate le dimensioni e la complessità dell'argomento, le informazioni sull'infrastruttura PKI riportate in questa guida riguardano essenzialmente la modalità di interazione di tale infrastruttura e dei certificati digitali con la protezione dei messaggi. Per una presentazione più dettagliata dell'infrastruttura PKI sono disponibili diverse fonti di informazioni, ad esempio la documentazione del fornitore o altre risorse specifiche.

Interazione dell'infrastruttura PKI con la protezione dei messaggi

L'infrastruttura PKI fornisce il supporto per l'utilizzo dei certificati digitali consentendone l'emissione e rendendoli accessibili tramite una directory. PKI esegue anche la convalida dei certificati digitali verificandone l'autenticità, la validità e l'attendibilità. Questi servizi sono fondamentali per i certificati digitali, che si basano su un modello distribuito utilizzando Autorità di certificazione di terze parti.

L'emissione dei certificati digitali e la relativa pubblicazione in una directory dipendono dal prodotto PKI specifico e dalla relativa implementazione. In generale, l'infrastruttura PKI emette certificati digitali e pubblica in una directory le informazioni corrispondenti, a cui possono accedere altre applicazioni. Alcune di queste informazioni vengono utilizzate per la convalida dei certificati digitali. Come descritto nella sezione precedente "Crittografia a chiave pubblica e protezione dei messaggi" in Concetti relativi alla crittografia a chiave pubblica, le operazioni relative alla protezione dei messaggi richiedono l'accesso alle chiavi pubbliche dei mittenti e dei destinatari. Poiché queste informazioni vengono fornite dai certificati digitali, l'accesso ai certificati digitali degli utenti è un elemento fondamentale per un sistema di protezione dei messaggi. Fornendo l'accesso ai certificati digitali, PKI sfrutta i vantaggi offerti dalla crittografia a chiave pubblica in termini di gestione semplificata delle chiavi, eliminando la necessità di scambiare le chiavi in modo manuale. I certificati digitali sono infatti resi disponibili tramite una directory, da cui le applicazioni possono recuperarli al momento opportuno.

Per comprendere come un certificato viene convalidato dall'infrastruttura PKI, occorre tenere presente il ruolo svolto dall'Autorità di certificazione nell'emissione del certificato digitale. Come descritto in "Certificati digitali e crittografia a chiave pubblica" in questo argomento, l'Autorità di certificazione emittente si fa garante della validità dell'identità utilizzando la propria chiave pubblica per firmare il certificato digitale. Il controllo dell'autenticità di un certificato consiste nella verifica della firma digitale dell'Autorità di certificazione. L'infrastruttura PKI convalida un certificato fornendo lo strumento per la verifica della firma dell'Autorità di certificazione emittente. Se la firma non può essere verificata, il certificato non sarà attendibile.

Come descritto all'inizio di questo argomento, nessun metodo di protezione è perfetto. Un certificato digitale può essere compromesso, in genere a causa della perdita della chiave privata. Per garantire l'attendibilità dei certificati digitali, deve essere disponibile un metodo per annullare o "revocare" un certificato digitale prima della scadenza, come quando viene annullata una carta di credito rubata. La revoca è un altro dei servizi fondamentali forniti dall'infrastruttura PKI per il supporto dei certificati digitali e fa parte del processo di verifica di un certificato.

L'infrastruttura PKI è parte integrante del servizio dei certificati digitali poiché ne garantisce l'attendibilità. Non è possibile utilizzare le firme digitali senza PKI. Poiché in Exchange Server 2003 sono supportati i certificati X.509 v3, l'infrastruttura PKI di supporto a un'installazione di Exchange dipenderà dai certificati digitali utilizzati con Exchange. Dal punto di vista della protezione dei messaggi, tuttavia, tutte le infrastrutture PKI forniscono questi servizi fondamentali di supporto ai certificati digitali. Le differenze tra PKI sono legate all'implementazione e alla progettazione del sistema in uso.

Certificati digitali e protezione dei messaggi

Una volta acquisite le nozioni fondamentali sui certificati digitali e sul supporto fornito da tali certificati alla crittografia a chiave pubblica, è opportuno verificare l'applicabilità di queste informazioni alla protezione dei messaggi. Nella sezione successiva verrà spiegato come i certificati digitali forniscono il supporto per i servizi di protezione di base, ovvero le firme digitali e la crittografia dei messaggi.

Utilizzo dei certificati digitali per le firme digitali

Come descritto in "Crittografia a chiave pubblica e firme digitali" di Concetti relativi alla crittografia a chiave pubblica, la relazione tra chiave pubblica e chiave privata consente a un destinatario di autenticare e convalidare il messaggio di un mittente. I certificati digitali supportano la crittografia a chiave pubblica fornendo un sistema affidabile per la distribuzione e l'accesso alle chiavi pubbliche. Quando il mittente firma un messaggio, fornisce la chiave privata associata alla chiave pubblica disponibile sul certificato digitale. Quando invece il destinatario convalida una firma digitale su un messaggio, ottiene la chiave pubblica per tale operazione dal certificato digitale del mittente. Nella seguente figura è illustrata la sequenza relativa alla firma di un messaggio di posta elettronica con l'aggiunta degli elementi di supporto dei certificati digitali.

35451fb8-5e11-4d67-ba6e-e5d4da6febca

  1. Cattura del messaggio.
  2. Calcolo del valore hash del messaggio.
  3. Recupero della chiave privata del mittente dal relativo certificato digitale.
  4. Crittografia del valore hash con la chiave privata del mittente.
  5. Aggiunta al messaggio, come firma digitale, del valore hash crittografato.
  6. Invio del messaggio.

Nella seguente figura è illustrata la sequenza relativa alla verifica di un messaggio di posta elettronica con l'aggiunta degli elementi di supporto dei certificati digitali.

d1b14a27-5cfb-4df2-89f7-990219378716

  1. Ricezione del messaggio.
  2. Recupero della firma digitale contenente il valore hash crittografato dal messaggio.
  3. Recupero del messaggio.
  4. Calcolo del valore hash del messaggio.
  5. Recupero della chiave pubblica del mittente dal relativo certificato digitale.
  6. Decrittografia del valore hash crittografato con la chiave pubblica del mittente.
  7. Confronto del valore hash decrittografato con quello generato al momento della ricezione.
  8. Se i valori corrispondono, il messaggio è valido.

Come illustrato in queste sequenze, i certificati digitali forniscono l'accesso alle chiavi pubbliche per la verifica della firma digitale.

Utilizzo dei certificati digitali per la crittografia dei messaggi

Oltre a supportare le firme digitali, rendendo disponibili le chiavi pubbliche per il processo di verifica, i certificati digitali supportano la crittografia dei messaggi rendendo disponibili le chiavi pubbliche per il processo di crittografia. Come descritto in "Crittografia a chiave pubblica e crittografia dei messaggi" di Concetti relativi alla crittografia a chiave pubblica, un mittente può accedere alla chiave pubblica del destinatario e crittografare il messaggio in modo che questo possa essere decrittografato solo dal destinatario. In questo caso, è il certificato digitale del destinatario a rendere possibile la crittografia. Analogamente alle firme digitali, la crittografia viene effettuata con la chiave pubblica riportata nel certificato digitale. Nella seguente figura è illustrata la sequenza relativa alla crittografia di un messaggio di posta elettronica con l'aggiunta degli elementi di supporto dei certificati digitali.

21058391-2d70-42f9-bf25-8ead79705b27

  1. Cattura del messaggio.
  2. Recupero della chiave pubblica dal certificato digitale del destinatario.
  3. Generazione di una chiave di sessione simmetrica per uso singolo.
  4. Crittografia del messaggio mediante la chiave di sessione.
  5. Crittografia della chiave di sessione mediante la chiave pubblica del destinatario.
  6. Aggiunta della chiave di sessione crittografata al messaggio crittografato.
  7. Invio del messaggio.

Nella seguente figura è illustrata la sequenza relativa alla decrittografia di un messaggio di posta elettronica con l'aggiunta degli elementi di supporto dei certificati digitali.

50f0afca-e520-46b5-8e12-6e295dfe86d9

  1. Ricezione del messaggio.
  2. Recupero del messaggio crittografato e della chiave di sessione crittografata.
  3. Recupero della chiave privata del destinatario dal relativo certificato digitale.
  4. Decrittografia della chiave di sessione con la chiave privata del destinatario recuperata dal relativo certificato digitale.
  5. Decrittografia del messaggio con la chiave di sessione decrittografata.
  6. Recapito del messaggio non crittografato al destinatario.

Utilizzo dei certificati digitali per le firme digitali e la crittografia dei messaggi

Le firme digitali e la crittografia dei messaggi sono servizi complementari. Nella seguente figura è illustrata la sequenza relativa alla firma e alla crittografia di un messaggio di posta elettronica con l'aggiunta degli elementi di supporto di una firma digitale.

e81cca9b-c780-49d9-a3f9-69cc3c442183

  1. Cattura del messaggio.
  2. Calcolo del valore hash del messaggio.
  3. Recupero della chiave privata del mittente dal relativo certificato digitale.
  4. Recupero della chiave pubblica del destinatario dal relativo certificato digitale.
  5. Crittografia del valore hash con la chiave privata del mittente.
  6. Aggiunta al messaggio, come firma digitale, del valore hash crittografato.
  7. Generazione di una chiave di sessione simmetrica per uso singolo.
  8. Crittografia del messaggio mediante la chiave di sessione.
  9. Crittografia della chiave di sessione mediante la chiave pubblica del destinatario.
  10. Aggiunta della chiave di sessione crittografata al messaggio crittografato.
  11. Invio del messaggio.

Nella seguente figura è illustrata la sequenza relativa alla decrittografia e alla verifica della firma digitale con l'aggiunta degli elementi di supporto della crittografia a chiave pubblica.

97705e57-0a94-4197-99c3-40bb58a9eaa0

  1. Ricezione del messaggio.
  2. Recupero del messaggio crittografato e della chiave di sessione crittografata.
  3. Recupero della chiave privata del destinatario dal relativo certificato digitale.
  4. Decrittografia della chiave di sessione con la chiave privata del destinatario recuperata dal relativo certificato digitale.
  5. Decrittografia del messaggio con la chiave di sessione decrittografata.
  6. Recupero della firma digitale contenente il valore hash crittografato dal messaggio.
  7. Calcolo del valore hash del messaggio.
  8. Recupero della chiave pubblica del mittente dal relativo certificato digitale.
  9. Decrittografia del valore hash crittografato con la chiave pubblica del mittente.
  10. Confronto del valore hash decrittografato con quello generato al momento della ricezione.
  11. Se i valori corrispondono, il messaggio è valido.
  12. Recapito del messaggio non crittografato al destinatario.

Dal supporto fornito dai certificati digitali per la crittografia a chiave pubblica e dalla modalità di funzionamento di questo tipo di crittografia per offrire i servizi di protezione di base per le firme digitali e la crittografia dei messaggi, è possibile comprendere il funzionamento della protezione dei messaggi S/MIME. Questi concetti costituiscono il nucleo fondamentale della protezione dei messaggi.