Come fanno le CA a fornire le prove dei log CT?
A partire dal 1° gennaio 2015, tutte le principali autorità di certificazione (CA) devono disporre di funzionalità di log CT (Certificate Transparency) per i certificati SSL EV. A partire dal 1° maggio 2018, tutte le principali Autorità di Certificazione (CA) devono disporre di funzionalità di log CT (Certificate Transparency) per i certificati SSL/TLS DV e OV.
Tuttavia, il meccanismo utilizzato per fornire le prove può variare da CA a CA. Attualmente DigiCert supporta tutti e tre i metodi di delivery degli SCT. Come impostazione predefinita, DigiCert incorpora gli SCT dei due log di Google e del log di DigiCert. L'incorporazione degli SCT è il metodo più semplice per fornire le prove, perché non richiede alcuna azione da parte degli operatori del server. I clienti interessati a utilizzare un'estensione TLS o la pinzatura OCSP possono mettersi in contatto con noi per avere maggiori informazioni sulle modifiche potenzialmente necessarie sul loro server.
Quali sono i metodi di delivery di un SCT?
Le CA possono registrare i certificati in qualsiasi log attendibile in cui sia inclusa la loro root. I log elaborano le richieste di inclusione e rispondono con un timestamp del certificato firmato (SCT, Signed Certificate Timestamp). L'SCT funziona in pratica come una ricevuta e mostra che il certificato sarà aggiunto al log entro un certo periodo di tempo (noto come ritardo massimo di unione o MMD). In questo modo c'è la certezza che il certificato verrà aggiunto al log entro un tempo stabilito, ma senza rallentarne l'emissione o impedirne l'uso. L'MMD massimo consentito è di 24 ore, il che significa che tutti i certificati appena emessi e registrati appariranno in un log entro 24 ore dalla generazione dell'SCT.
L'SCT rimane incluso nel certificato per tutta la sua durata e fa parte del processo di handshake TLS. Questo processo valuta gli SCT per verificare che provengano sempre da un log CT approvato.
La funzione CT supporta tre metodi per il delivery di un SCT con il certificato
Inclusione del certificato
Le CA possono allegare l'SCT a un certificato incorporando le prove dell'SCT direttamente nelle estensioni del certificato. Prima dell'emissione, la CA invia un precertificato al log, il quale restituisce l'SCT. La CA include gli SCT restituiti nel certificato emesso come estensione del certificato, prima che questo venga firmato dall'intermediario appropriato.
Questo metodo non richiede alcuna modifica o azione da parte dell'operatore del server, tuttavia richiede alla CA di ottenere gli SCT prima di emettere il certificato.
Estensione TLS
Gli operatori dei server possono fornire gli SCT al di fuori del certificato effettivo usando una speciale estensione TLS. Dopo che la CA ha emesso il certificato, l'operatore del server lo invia al log. Il log invia l'SCT all'operatore del server e il server utilizza l'estensione TLS per fornire l'SCT nel corso dell'handshake.
In questo modo si riducono le dimensioni del certificato e non occorre alcuna azione da parte della CA.
Pinzatura OCSP
Gli operatori dei server possono fornire gli SCT anche con il protocollo di pinzatura OCSP (Online Certificate Status Protocol). Con la pinzatura OCSP, la CA rilascia il certificato sia al server di log che all'operatore del server. La CA restituisce l'SCT all'operatore del server nell'ambito della richiesta del server per la risposta OCSP. Questa risposta, che include l'SCT come estensione, viene quindi fornita ai client dal server durante l'handshake TLS.
Questo metodo richiede che la CA invii il certificato al log durante l'emissione, ma consente alla CA di fornire il certificato già prima di ricevere l'SCT. Infine, questo metodo richiede anche che l'operatore del server abiliti la pinzatura OCSP sul server.