Ho notato che almeno una CA principale (Comodo) pubblica il CRL su HTTP anziché su HTTPS.
Questo mi sembra un po 'una vulnerabilità, in quanto un utente malintenzionato potrebbe dirottare la connessione HTTP che cerca di scaricare il CRL e quando HSTS è in uso per lo meno eseguire ciò che effettivamente equivale a un attacco DoS sul dominio. (Poiché con HSTS attivo, i browser non dovrebbero consentire all'utente di ignorare l'avviso di certificato non valido; vedere RFC 6797 sezione 8.4 e sezione 12.1 .)
Mentre CRL sono normalmente firmati , e sembrerebbe che qualsiasi implementazione sana dovrebbe rifiutare un CRL firmato che non ha superato la convalida della firma, non ho visto alcun modo per determinare il firmatario del CRL in qualsiasi browser Web, quindi anche firma un la sostituzione del CRL con la chiave del certificato di root sembra essere un'operazione a rischio relativamente basso. E questo ovviamente presuppone che il browser richieda che il CRL sia firmato in primo luogo; in caso contrario, puoi semplicemente sostituirlo con un CRL non firmato. (E, naturalmente, se l'implementazione respinge un CRL firmato che fallisce la convalida della firma, o persino i CRL non firmati, diventa banale ingannare l'UA nell'utilizzare un certificato che è stato revocato ma che ha non ha ancora raggiunto la data di scadenza.)
Questo è un potenziale problema reale? Quali controlli vengono normalmente eseguiti dagli UA relativamente ai CRL per evitare che diventino un problema reale?