OCSP Stapling e Certificate Transparency
Configuri OCSP stapling per migliorare le prestazioni e comprenda i log di Certificate Transparency ai fini della verificabilità.
OCSP Stapling e Certificate Transparency è una lezione Cryptology Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cryptology Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cryptology Academy include 4 lezioni in totale.
Problemi delle CRL
Le Certificate Revocation List (CRL) sono file pubblicati dalle CA che elencano tutti i certificati revocati. Le CRL presentano diversi problemi: diventano grandi nel tempo, i client devono scaricarle completamente, hanno un livello di aggiornamento limitato perché vengono pubblicate secondo una pianificazione e i browser storicamente adottavano un comportamento soft-fail, accettando i certificati quando il recupero della CRL non riusciva, rendendo di fatto inaffidabile la revoca.
OCSP per controlli dello stato in tempo reale
Online Certificate Status Protocol (OCSP, RFC 6960) consente ai client di interrogare in tempo reale il responder OCSP di una CA per conoscere lo stato di revoca di un certificato specifico. Una risposta OCSP indica che il certificato è "good", "revoked" oppure "unknown" ed è firmata dalla CA. È più efficiente che scaricare un'intera CRL.
Il problema di privacy di OCSP
OCSP standard presenta un significativo problema di privacy: il client deve contattare il responder OCSP della CA indicando il numero di serie del certificato da verificare, rivelando alla CA, o a un osservatore della rete, quali siti web l'utente sta visitando e quando. Questo crea un meccanismo di sorveglianza che viola la privacy dell'utente a livello dell'autorità di certificazione.
Meccanismo dell'OCSP stapling
L'OCSP stapling (RFC 6066) risolve il problema della privacy facendo sì che il server recuperi in anticipo la risposta OCSP dalla CA e la memorizzi nella cache. Durante l'handshake TLS, il server "allega" questa risposta memorizzata nella cache all'handshake, consegnandola direttamente al client. Il client ottiene lo stato di revoca aggiornato senza contattare direttamente la CA.
Configurazione dell'OCSP stapling
La configurazione dell'OCSP stapling di Nginx richiede: "ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8;" nel blocco server. La direttiva ssl_certificate_by_lua_block o ssl_trusted_certificate fornisce la catena necessaria per la verifica. Apache richiede "SSLUseStapling on" nel VirtualHost. Entrambi i server memorizzano la risposta nella cache e la aggiornano prima della scadenza.
Estensione OCSP Must-Staple
L'estensione X.509 OCSP Must-Staple (RFC 7633) comunica ai browser che il server associato a questo certificato allegherà sempre una risposta OCSP. Se un browser si connette al server e non riceve una risposta allegata, rifiuta la connessione. In questo modo si impedisce a un attaccante in possesso di un certificato revocato di bloccare le risposte OCSP per forzare un comportamento soft-fail.
Concetto di Certificate Transparency
Certificate Transparency (CT) è un sistema in cui tutte le CA pubblicamente attendibili devono registrare ogni certificato emesso in log pubblici, verificabili e append-only prima che il certificato venga consegnato. Questi log consentono ai proprietari dei domini, ai ricercatori e ai servizi di monitoraggio di rilevare certificati emessi erroneamente o ottenuti fraudolentemente per qualsiasi dominio.
Signed Certificate Timestamp di CT
Quando una CA invia un certificato a un log CT, il log restituisce un Signed Certificate Timestamp (SCT). L'SCT è una promessa firmata crittograficamente che il certificato è stato registrato. Gli SCT sono incorporati nel certificato stesso, consegnati tramite un'estensione TLS oppure allegati nella risposta OCSP. Chrome richiede almeno due SCT per considerare attendibile il certificato.
Requisito CT di Chrome
Google Chrome richiede Certificate Transparency per tutti i certificati TLS pubblicamente attendibili dall'aprile 2018. I certificati privi di SCT validi vengono rifiutati da Chrome con un errore del certificato. Questo requisito impone di fatto la registrazione nei log CT da parte di tutte le principali CA, poiché una CA i cui certificati vengono rifiutati da Chrome non può operare come CA pubblica.
Rilevamento dei certificati emessi erroneamente tramite CT
I log CT consentono a chiunque di monitorare i certificati emessi per il proprio dominio. Servizi come crt.sh e Facebook's CT Monitor permettono ai proprietari dei domini di cercare in tutti i log CT i certificati che contengono il proprio dominio nei campi subject o SAN. L'emissione non autorizzata di certificati, ad esempio da parte di una CA compromessa o tramite un dirottamento BGP, diventa rilevabile entro poche ore.
Ecosistema dei log CT
I log CT sono gestiti da diverse organizzazioni indipendenti, tra cui Google (Argon, Xenon), Cloudflare (Nimbus), DigiCert, Sectigo e altre. La presenza di più gestori dei log impedisce a una singola entità di sopprimere un certificato registrato. I browser richiedono SCT provenienti dai log presenti nell'elenco approvato, mantenendo il controllo della qualità sui log considerati attendibili.
Controllo dell'OCSP stapling
Quale problema risolve l'OCSP stapling rispetto all'OCSP standard?
Riepilogo della lezione: OCSP e CT
Le CRL sono grandi e poco aggiornate; OCSP fornisce la revoca in tempo reale, ma divulga i dati di navigazione alle CA. L'OCSP stapling trasmette lo stato di revoca recuperato in anticipo durante l'handshake TLS, tutelando la privacy. OCSP Must-Staple impedisce di aggirare la verifica tramite soft-fail. Certificate Transparency registra tutti i certificati emessi e consente di rilevare i certificati emessi erroneamente tramite gli SCT. Chrome richiede CT dal 2018.
Domande Frequenti
La lezione «OCSP Stapling e Certificate Transparency» è gratuita?
Sì — il testo completo di «OCSP Stapling e Certificate Transparency» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cryptology Academy, passa a CoddyKit PRO. Il corso Cryptology Academy include 4 lezioni in totale.
Cosa imparerò in «OCSP Stapling e Certificate Transparency»?
Configuri OCSP stapling per migliorare le prestazioni e comprenda i log di Certificate Transparency ai fini della verificabilità. Eserciti Cryptology Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Cryptology Academy?
Non è richiesta alcuna esperienza precedente. Cryptology Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «OCSP Stapling e Certificate Transparency»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Cryptology Academy?
Sì. Ogni lezione Cryptology Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Fondamenti della riga di comando di OpenSSL
- Creazione e gestione delle catene di certificati
- OCSP Stapling e Certificate Transparency
- Let's Encrypt e automazione del protocollo ACME