Public Key Infrastructure
Costruire la fiducia in una PKI con catene di certificati, Root CA e CA intermedie e una convalida sicura dei certificati.

Stabilire la fiducia
Come indica un client la propria fiducia in una determinata Root CA?
Un client manifesta la propria fiducia in una determinata autorità di certificazione (CA) radice attraverso un processo che si basa sulla catena di fiducia dei certificati. Ecco come funziona:
- Certificati radice preinstallati: la maggior parte dei sistemi operativi e dei browser web include una serie di certificati radice preinstallati, provenienti da CA attendibili. Questi certificati radice sono conservati in un archivio radice attendibile.
- Convalida del certificato: quando un client si connette a un server, ad esempio visitando un sito web, il server presenta il proprio certificato TLS. Di norma questo certificato è firmato da una CA intermedia, a sua volta firmata da una Root CA.
- Verifica della catena di fiducia: il client verifica la catena di fiducia controllando se il certificato presentato è firmato da una Root CA attendibile. Verifica inoltre se le CA intermedie della catena sono attendibili.
- Firme digitali: ogni certificato della catena è firmato digitalmente dalla CA che lo precede. Il client utilizza la chiave pubblica della CA per verificare queste firme, accertando che i certificati non siano stati manomessi.
- Decisione di fiducia: se l'intera catena di fiducia è valida e risale a una Root CA attendibile, il client considera attendibile il certificato del server. La comunicazione sicura può quindi proseguire.
Qual è il vantaggio delle CA intermedie rispetto a una sola Root CA?
Per le PKI di infrastruttura, una sola CA radice può in realtà risultare vantaggiosa.
Come ottiene il proprio certificato una CA intermedia?
Un'autorità di certificazione (CA) intermedia ottiene il proprio certificato attraverso un processo chiamato cross-signing da parte di una Root CA. Ecco come funziona:
- Richiesta di firma del certificato (CSR): l'organizzazione che intende allestire una CA intermedia genera una CSR. Questa CSR include la chiave pubblica e le informazioni identificative della CA intermedia.
- Invio alla Root CA: la CSR viene inviata a una Root CA attendibile.
- Verifica: la Root CA verifica l'identità e la legittimità dell'organizzazione che richiede il certificato intermedio.
- Firma: una volta completata la verifica, la Root CA utilizza la propria chiave privata per firmare la CSR e creare il certificato intermedio. Questo certificato firmato collega la CA intermedia alla Root CA, stabilendo una catena di fiducia.
- Emissione: la Root CA emette il certificato intermedio firmato a favore dell'organizzazione richiedente, che può quindi utilizzarlo per firmare certificati di entità finale, ad esempio certificati TLS per siti web.
Questo processo garantisce che la CA intermedia sia considerata attendibile in virtù del suo collegamento con la Root CA, già ritenuta attendibile da browser e sistemi operativi.
Che cos'è una catena di certificati? Come funziona?
Una catena di certificati, nota anche come catena di fiducia, è una sequenza di certificati che garantisce l'autenticità e l'affidabilità di un certificato digitale. Ecco come funziona:
- Processo di verifica: quando un client, ad esempio un browser web, si connette a un server, il server presenta il proprio certificato di entità finale. Il client verifica quindi la catena di certificati per accertare che ogni certificato sia firmato dal certificato successivo della catena, fino al certificato radice.
- Catena di fiducia: ogni certificato della catena viene verificato utilizzando la chiave pubblica del certificato che lo precede. Il procedimento continua fino al certificato radice, già considerato attendibile dal client.
- Costruzione della fiducia: se l'intera catena è valida e risale a un certificato radice attendibile, il client considera attendibile il certificato di entità finale e la comunicazione sicura può proseguire.
Questo sistema garantisce che il certificato di entità finale sia legittimo e sia stato emesso da un'autorità attendibile, preservando l'integrità e la sicurezza delle comunicazioni digitali.
Quale problema cerca di risolvere l'estensione Basic Constraints?
L'estensione Basic Constraints di un certificato digitale affronta il problema di distinguere i diversi tipi di certificati e i loro ruoli all'interno di una Public Key Infrastructure (PKI). Ecco come funziona:
- Identificazione dell'autorità di certificazione (CA): indica se un certificato è un certificato CA oppure un certificato di entità finale. Questa distinzione è fondamentale, perché i certificati CA possono emettere altri certificati, mentre i certificati di entità finale non possono farlo.
- Vincolo sulla lunghezza del percorso: può limitare il numero di CA intermedie che possono esistere al di sotto di questa CA nella catena di certificati. Questo aiuta a evitare catene di certificati eccessivamente lunghe, che possono risultare inefficienti e potenzialmente insicure.
Problemi risolti:
- Prevenzione dell'emissione non autorizzata di certificati: indicando chiaramente quali certificati possono agire da CA, impedisce che i certificati di entità finale emettano altri certificati, preservando così l'integrità della PKI.
- Gestione della lunghezza della catena di certificati: limitare la lunghezza del percorso assicura che la catena di certificati resti gestibile e sicura, prevenendo le potenziali vulnerabilità legate alle catene lunghe
Quali meccanismi utilizza per risolvere questi problemi?
L'estensione Basic Constraints di un certificato digitale utilizza i meccanismi seguenti per risolvere i problemi legati alla distinzione tra certificati CA e certificati di entità finale e alla gestione della lunghezza della catena di certificati:
- Flag CA: questo flag indica se il certificato è un certificato di autorità di certificazione (CA) oppure un certificato di entità finale. Se il flag è impostato su TRUE, il certificato può essere utilizzato per firmare altri certificati, ossia è un certificato CA. Se è impostato su FALSE, si tratta di un certificato di entità finale e non può emettere altri certificati.
- Vincolo sulla lunghezza del percorso: specifica il numero massimo di certificati intermedi non auto-emessi che possono seguire questo certificato in un percorso di certificazione valido. Impostando questo vincolo, l'estensione limita la lunghezza della catena di certificati, mantenendola gestibile e sicura.
Come funzionano questi meccanismi:
- Flag CA: quando un certificato viene emesso, il flag CA viene impostato in base all'uso previsto del certificato. Durante il processo di convalida del certificato, i client controllano questo flag per stabilire se il certificato può essere ritenuto affidabile per emettere altri certificati.
- Vincolo sulla lunghezza del percorso: questo valore viene controllato durante il processo di convalida per accertare che la catena di certificati non superi la lunghezza indicata. Se la catena è troppo lunga, il certificato è considerato non valido.
Questi meccanismi contribuiscono a preservare l'integrità e la sicurezza della Public Key Infrastructure (PKI), assicurando che solo i certificati autorizzati possano emettere altri certificati e impedendo catene di certificati eccessivamente lunghe.