In che modo i browser gestiscono SSL revocato /TLS I certificati?

Dettagli degli attuali programmi browser per il controllo dello stato di revoca di SSL /TLS certificati, incluso un test cross-browser.

Introduzione

Verifica dello stato di revoca di SSL /TLS certificati presentati da HTTPS i siti Web rappresentano un problema in corso nella sicurezza Web. A meno che un server non sia configurato per l'uso Pinzatura OCSP, il controllo della revoca in linea da parte dei browser web è lento e compromette la privacy. Poiché le query OCSP online falliscono così spesso e sono impossibili in alcune situazioni (come con i captive portal), i browser generalmente implementano il controllo OCSP in modalità "soft-fail", rendendolo inefficace nel dissuadere un determinato aggressore. (Per una cronologia più completa di questo problema, leggi l'articolo di SSL.com, Ottimizzazione del caricamento della pagina: pinzatura OCSP).

Per questi motivi, i browser Web hanno implementato una gamma di soluzioni per ridurre o eliminare la necessità di un controllo di revoca online. I dettagli esatti variano tra i fornitori, ma queste soluzioni generalmente comportano la raccolta di elenchi di certificati revocati dalle autorità di certificazione (CA) e il loro invio ai browser.

Questo articolo fornisce riepiloghi di alto livello delle strategie di controllo della convalida utilizzate dai principali browser desktop (Chrome, Firefox, Safarie bordo) e confronta le risposte di questi browser con alcuni esempi certificati revocati ospitato da SSL.com.

Per esempi di messaggi di errore del browser risultanti da certificati revocati, fare riferimento a questa guida. Puoi controllare lo stato di revoca di un certificato su certificate.revocationcheck.com

Google Chrome

Chrome fa affidamento CRLSet per controllo di revoca. Un CRLSet è semplicemente un elenco di certificati revocati che viene inviato al browser come aggiornamento software. Secondo il Sito Web di Chromium Projects, i processi con cui Google genera i CRLSet sono proprietari, ma anche quello

I CRLSet ... sono principalmente un mezzo con cui Chrome può bloccare rapidamente i certificati in situazioni di emergenza. Come funzione secondaria possono contenere anche un certo numero di revoche non urgenti. Queste ultime revoche si ottengono eseguendo la scansione dei CRL pubblicati dalle CA.

L'affermazione di cui sopra indica che almeno alcuni i certificati di entità finale revocati a bassa priorità potrebbero finire in CRLSet, ma sono una considerazione secondaria.

Puoi controllare la versione di CRLSet attualmente installata in un'istanza di Chrome navigando su chrome://components/:

Versione CRLSet

Nota: Il browser Opera basato su Chromium utilizza anche i set CRL per il controllo della revoca. È possibile verificare la versione installata accedendo a opera://components. Come sottolineato sotto, anche la versione corrente del browser Microsoft Edge è basata su Chromium e utilizza CRLSets.

Al momento non è possibile configurare direttamente Chrome per eseguire query di validità dei certificati online. Tuttavia, a seconda del sistema operativo, questi controlli possono essere eseguiti dalla libreria di certificati sottostante utilizzata dal sistema operativo. (Come si può vedere sotto nei risultati di test del browser limitati, abbiamo riscontrato che le installazioni di Chrome con lo stesso numero di versione e CRLSet hanno effettivamente risposto a due certificati revocati in modo diverso su Windows rispetto a macOS.)


Mozilla Firefox

Come Google, Mozilla mantiene un elenco centralizzato di certificati revocati, chiamato OneCRL. OneCRL è un elenco di certificati intermedi che sono stati revocati dalle CA nel programma root di Mozilla e viene inviato agli utenti di Firefox negli aggiornamenti dell'applicazione. Per quanto riguarda i certificati di entità finale, Mozilla's piano di revoca osserva che "In futuro, una volta che l'implementazione iniziale avrà funzionato, potremmo esaminare i certificati EE con OneCRL, possibilmente concentrandoci inizialmente su classi specifiche (ad esempio, certificati EV)".

OneCRL può essere scaricato come oggetto JSON quio visualizzato come pagina Web all'indirizzo crt.sh.

A differenza di Chrome, le impostazioni predefinite di Firefox interrogano anche i risponditori OCSP per confermare la validità di SSL /TLS certificati. (Puoi modificare questa impostazione nelle preferenze di sicurezza di Firefox.)

Interroga i server di risposta OCSP

Tuttavia, poiché gli errori di query OCSP sono così comuni, Firefox (come altri browser) implementa una politica di "errore parziale". Se lo desideri, puoi richiedere un rigoroso controllo OCSP accedendo a about:config e alternare security.OCSP.require a true.


apple Safari

L'attuale approccio di Apple alla revoca è coperto da Bailey Basile nel suo discorso sul WWDC del 2017, Le tue app e gli standard di sicurezza della rete in evoluzione. Apple raccoglie le informazioni sulla revoca dei certificati dalle CA attendibili sui suoi dispositivi e le aggrega in un unico bundle che viene periodicamente recuperato dal software client di Apple (suona ancora come un piano familiare?).

Quando un'applicazione client incontra un certificato visualizzato nell'elenco di Apple, esegue un controllo OCSP per confermare che il certificato è effettivamente revocato (a meno che il server non fornisca una risposta OCSP pinzata). Tieni presente che i controlli OCSP online vengono effettuati solo nel caso di certificati che Apple ritiene già revocati; i certificati che non sono elencati nel bundle recuperato da Apple non vengono controllati.

È disponibile un collegamento all'elenco di revoche di Apple e al codice per analizzarlo qui.


Microsoft Edge

Windows mantiene un elenco di certificati revocati o altrimenti inseriti nella lista nera in un file chiamato disallowedcert.stl. Questo post di blog fornisce informazioni sullo scarico del contenuto del file con PowerShell. crt.sh fornisce inoltre informazioni sul fatto che un determinato certificato sia elencato in disallowedcert.stl.

Come Firefox, Windows è impostato per verificare la revoca del certificato per impostazione predefinita. Questa impostazione può essere visualizzata e modificata in Proprietà Internet pannello di controllo:

Tuttavia, la versione corrente (basata su Chromium) di Edge, come Chrome, si basa su CRLSet per il controllo delle revoche e risulta dai nostri test sotto essere indipendente dalle impostazioni di controllo della revoca nelle proprietà Internet. (Nota: In una versione precedente di questi test, eseguita a settembre 2019, Internet Explorer e una versione pre-Chromium di Edge ha fatto seguire queste impostazioni in Proprietà Internet.)


Variazione tra i browser

Poiché SSL.com gestisce un gruppo di server Web che ospitano certificati revocati di esempio, abbiamo deciso di testarli su una vasta gamma di browser desktop. Questo piccolo test, non eccessivamente scientifico, è stato effettuato il 23 febbraio 2020. I browser utilizzati sono stati:

  • Chrome 88.0.4324.182, CRLSet versione 6444 (macOS 10.15.7)
  • Chrome 88.0.4324.182, CRLSet versione 6444 (Windows 10 Pro)
  • Edge 88.0.705.74, CRLSet versione 6444 (Windows 10 Enterprise)
  • Firefox 86.0 - query OCSP su (macOS 10.15.7)
  • Firefox 86.0 - query OCSP disattivate (macOS 10.15.7)
  • Safari 14.0.3 (macOS 10.15.1)

Inoltre, abbiamo testato Chrome ed Edge in Windows con il controllo della revoca online disabilitato nel pannello di controllo Proprietà Internet e (per Chrome, Firefox ed Edge) abbiamo verificato se il certificato pertinente era elencato come revocato con un particolare programma browser in crt.sh.

  Cromo (macOS) Cromo (Windows) Bordo (Windows) Firefox (Mac) (OCSP attivo) Firefox (Mac) (OCSP disattivato) Safari (Mac)
revocato-rsa-dv.ssl.com revocato Non revocato Non revocato revocato Non revocato revocato
revocato-rsa-ev.ssl.com revocato revocato revocato revocato Non revocato revocato
revocato-ecc-dv.ssl.com revocato Non revocato Non revocato revocato Non revocato revocato
revocato-ecc-ev.ssl.com revocato revocato revocato revocato Non revocato revocato

Discussione dei risultati

Cromo: Su Windows, Chrome mostrava erroneamente due dei certificati revocati (revocato-rsa-dv.ssl.com ed revocato-ecc-dv.ssl.com) valido e gli altri revocati. La disabilitazione del controllo di validazione nel sistema operativo non ha modificato questa risposta. È interessante notare che nessuno dei quattro certificati è stato mostrato come revocato in CRL crt.sh al momento del test, suggerendo ulteriori domande sui processi di controllo della revoca di Chrome. Su macOS, Chrome ha mostrato correttamente tutti e quattro i certificati come revocati, illustrando le differenze basate sulla piattaforma nel comportamento di Chrome.

bordo: La versione corrente (basata su Chromium) di Edge rispecchiava Chrome in mostra revocato-rsa-dv.ssl.com ed revocato-ecc-dv.ssl.com come valido. Come Chrome, Edge ha mostrato gli stessi risultati indipendentemente dal fatto che il controllo di convalida fosse abilitato o meno nel sistema operativo. Nessuno dei quattro certificati è stato mostrato come elencato in disallowedcert.stl on crt.sh.

Firefox: Come ci si potrebbe aspettare dall'attenzione dichiarata da OneCRL sui certificati intermedi, Firefox ha riconosciuto solo tutti e quattro i certificati come revocati con le query OCSP abilitate nelle preferenze del browser, ma ha accettato tutti e quattro come validi se le query OCSP erano disabilitate. (Nota: Tutti e quattro questi certificati di entità finale revocati sono stati emessi da intermedi validi e non revocati. Come per Chrome, crt.sh non mostra nessuno dei certificati come revocato in OneCRL.

Safari: Safari su macOS ha riconosciuto correttamente tutti e quattro i certificati come revocati. crt.sh non visualizza le informazioni di revoca di Apple e non abbiamo verificato se questi certificati particolari sono elencati come revocati da Apple.

Conclusione

I risultati sembrano indicare che la revoca è ancora un problema problematico per i browser Web desktop (i dispositivi mobili rappresentano un mondo completamente diverso, ma questo è un argomento per un altro articolo). L'abilitazione del controllo OCSP online (lento, non sicuro) era necessario per riconoscere i certificati revocati in Firefox, mentre Chrome ed Edge non sono riusciti a riconoscere due certificati revocati su Windows indipendentemente dal fatto che il controllo della revoca fosse abilitato o meno nel sistema operativo.

Per i proprietari di siti Web, sembra saggio supporre che i vari programmi del browser siano focalizzati su incidenti ad alta priorità / di emergenza come i certificati CA radice e intermediati revocati e che le revoche di certificati di entità end varietà di giardino passino probabilmente inosservate per un periodo indefinito. Per questo motivo, implementando Pinzatura e pinzatura OCSP sembra essere il modo più privato, sicuro ed efficace per garantire che gli utenti finali ricevano informazioni accurate sulla revoca dei certificati delle entità finali.

 

SSL.com fornisce un'ampia varietà di file SSL /TLS certificati del server per i siti Web HTTPS.

CONFRONTA SSL /TLS CERTIFICATI

Iscriviti alla Newsletter di SSL.com

Non perdere nuovi articoli e aggiornamenti da SSL.com

Ci piacerebbe il tuo feedback

Partecipa al nostro sondaggio e facci sapere cosa ne pensi del tuo recente acquisto.