05. Certificato digitale
Un certificato digitale è un documento elettronico che attesta l'associazione tra una chiave pubblica e l'identità di un soggetto (una persona, una società, un nome di dominio, etc), nell'ambito della crittografia asimmetrica.
Il certificato è rilasciato da un ente terzo fidato e riconosciuto come autorità di certificazione (CA): l'autorità di certificazione utilizza la propria chiave privata per firmare il documento costituito dai dati identificativi e la chiave pubblica del soggetto cui il certificato appartiene. Il processo di firma da parte della CA consiste dei seguenti passi:
Estrazione dell'impronta del documento da firmare (valore di hash);
Cifratura dell'impronta con la propria chiave privata;
Accoppiamento della cifratura al documento originario in chiaro.
Chiunque riceva un certificato può verificarne l'autenticità nel seguente modo:
Estrae l'impronta del documento in chiaro;
Utilizzando la chiave della CA, decifra la firma;
Confronta l'impronta estratta con la firma decifrata.
Il formato più comune per i certificati digitali è definito dallo standard X.509.
L'affidabilità del meccanismo discende dall'affidabilità dell'autorità di certificazione e dalla capacità di distribuire in modo certo la chiave pubblica dell'autorità.
Nei browser le chiavi pubbliche delle principali autorità di certificazione sono inserite "in fabbrica" e tramite esse è possibile verificare l'autenticità dei certificali digitali. Gli utenti, inoltre, possono aggiungere altre autorità di certificazione di cui si fidano.
I certificati digitali sono utilizzati in diversi ambiti di uso comune.
Nella navigazione Internet i siti raggiunti con il protocollo https sono verificati con un certificato digitale. Il certificato attesta la corrispondenza tra la chiave pubblica e il nome di dominio del sito. La chiave pubblica del sito è utilizzata per lo scambio sicuro della chiave di sessione.
Lo scambio di messaggi di posta elettronica su Internet avviene con il protocollo SMTP. Una sua estensione, denominata S/MIME, consente di proteggere i messaggi con la crittografia asimmetrica e l'uso dei certificati. In questo modo è possibile ottenere una crittografia end to end.
Nel procedimento di firma digitale di un documento elettronico i certificati consentono di verificare l'autenticità della firma.
X.509
Una Infrastruttura a Chiave Pubblica (PKI - Public Key Infrastructure) è un insieme di tecnologie che consentono di associare in modo sicuro una chiave pubblica ad un soggetto (persona fisica, nome di dominio, indirizzo di posta elettronica ecc.) e di verificarne successivamente la corrispondenza.
Una PKI quindi definisce:
L'autorità di certificazione (CA - Certification Authority), che emana il certificato;
La Registration Authority, alla quale gli utenti si rivolgono per richiedere la certificazione delle chiavi, identificandosi e fornendo almeno la chiave pubblica e l'indirizzo e-mail;
Il Certificate Server, ovvero un servizio di directory contenente la lista di pubblicazione dei certificati e le liste dei certificati revocati e sospesi (un servizio di directory è uno strumento che consente di organizzare risorse e che mette a disposizione un meccanismo di interrogazione).
Lo standard X.509 definisce il formato dei certificati nell'ambito di una PKI. Esso include le seguenti informazioni (elenco non esaustivo):
Anagrafica del titolare;
Autorità emittente;
Chiave Pubblica;
Utilizzo della chiave;
Periodo di validità.
Algoritmo di firma;
Funzione hash.
Naturalmente il certificato include anche la firma dall'autorità emittente.
Nell'ambito della PKI, le CA sono organizzate in modo gerarchico e il certificato che attesta l'autorevolezza di una CA di livello intermedio è firmato dalla CA posta gerarchicamente al livello superiore.
Il certificato appartenente alla autorità posta al vertice viene definito certificato root (o ancora di fiducia, trust anchor) . Una violazione di tale certificato, autofirmato dalla stessa autorità, comprometterebbe l'intero sistema.
Il percorso completo, che mostra la CA che ha firmato un certificato e tutte le CA poste ad un livello gerarchico superiore, è detto certification path.
Una CA può essere presente in più gerarchie di certificazione indipendenti, nel senso che può disporre di più certificati con la stessa chiave pubblica, firmate da CA appartenenti a gerarchie differenti (cross-certificate). Questa pratica facilita il riconoscimento delle chiavi delle CA, infatti riduce il numero delle chiavi pubbliche che devono essere note a priori al programma che effettua il controllo di validità del certificato (ad esempio il browser).
L'immagine riproduce alcuni campi di un certificato.
Nell'intestazione è evidenziato il certification path con l'identificazione del soggetto titolare, la CA intermediaria che ha firmato il certificato e la CA root.
Sito: 7ecnologie
Sezione: 14. Sicurezza informatica
Capitolo: 02. Crittografia
Paragrafo: 05. Certificato digitale
Indice dei capitoli: 00. Risorse - 01. Il quadro normativo - 02. Crittografia - 03. Protocolli per la sicurezza - 04. Applicazioni e Servizi - 98. Esercizi
Indice dei paragrafi: 01. Cifrari nella storia - 02. Crittografia simmetrica - 03. Crittografia asimmetrica - 04. Funzione hash - 05. Certificato digitale - 06. Firma digitale - 07. Codifica base 64 - 08. LAB