Mozilla implementa CRLite per comprovar si hi ha certificats TLS problemàtics

Companyia Mozilla va anunciar sobre l'inici de les proves a les versions nocturnes de Firefox un nou mecanisme per detectar certificats revocats - CRLite. CRLite us permet organitzar una comprovació efectiva de la revocació de certificats amb una base de dades allotjada al sistema de l'usuari. Implementació CRLite de Mozilla publicat sota la llicència gratuïta MPL 2.0. S'escriu el codi per generar la base de dades i els components del servidor Pitó i anar. S'han afegit parts de client a Firefox per llegir dades de la base de dades preparat en llengua Rust.

Verificació de certificats mitjançant serveis externs basats en el protocol que encara s'utilitza OCSP (Protocol d'estat del certificat en línia) requereix un accés garantit a la xarxa, comporta un retard important en el processament de la sol·licitud (350 ms de mitjana) i té problemes per garantir la confidencialitat (els servidors OCSP que responen a les sol·licituds reben informació sobre certificats específics, que es poden utilitzar per jutjar si llocs que l'usuari obre). També hi ha la possibilitat de verificar localment les llistes CRL (Llista de revocació de certificats), però el desavantatge d'aquest mètode és la mida molt gran de les dades descarregades; actualment la base de dades de certificats revocats ocupa uns 300 MB i el seu creixement continua.

Per bloquejar els certificats que han estat compromesos i revocats per les autoritats de certificació, Firefox utilitza una llista negra centralitzada des del 2015 OneCRL en combinació amb una trucada al servei Navegació segura de Google per identificar possibles activitats malicioses. OneCRL, com CRLSets a Chrome, actua com un enllaç intermedi que agrupa les llistes de CRL de les autoritats de certificació i proporciona un únic servei OCSP centralitzat per comprovar els certificats revocats, cosa que permet no enviar sol·licituds directament a les autoritats de certificació. Malgrat que es treballa per millorar la fiabilitat del servei de verificació de certificats en línia, les dades de telemetria mostren que més del 7% de les sol·licituds d'OCSP es van expirar (fa uns anys aquesta xifra era del 15%).

Per defecte, si és impossible verificar mitjançant OCSP, el navegador considera vàlid el certificat. És possible que el servei no estigui disponible a causa de problemes de xarxa i restriccions a les xarxes internes, o bloquejat per atacants; per evitar la comprovació OCSP durant un atac MITM, només cal bloquejar l'accés al servei de comprovació. Parcialment per prevenir aquests atacs, s'ha implementat una tècnica Imprescindible, que us permet tractar un error d'accés OCSP o una indisponibilitat d'OCSP com un problema amb el certificat, però aquesta funció és opcional i requereix un registre especial del certificat.

CRLite us permet consolidar la informació completa sobre tots els certificats revocats en una estructura fàcilment actualitzada, de només 1 MB de mida, que permet emmagatzemar una base de dades CRL completa al costat del client.
El navegador podrà sincronitzar diàriament la seva còpia de les dades dels certificats revocats, i aquesta base de dades estarà disponible sota qualsevol condició.

CRLite combina informació de Certificat de transparència, un registre públic de tots els certificats emesos i revocats i els resultats de l'escaneig de certificats a Internet (es recullen diverses llistes de CRL d'autoritats de certificació i s'agrega la informació sobre tots els certificats coneguts). Les dades s'empaqueten mitjançant la cascada filtres de floració, una estructura probabilística que permet una detecció falsa d'un element que falta, però exclou l'omissió d'un element existent (és a dir, amb una certa probabilitat, és possible un fals positiu per a un certificat correcte, però es garanteix la identificació dels certificats revocats).

Per eliminar els falsos positius, CRLite ha introduït nivells de filtre correctius addicionals. Després de generar l'estructura, es cerquen tots els registres d'origen i s'identifiquen els falsos positius. A partir dels resultats d'aquesta comprovació, es crea una estructura addicional, que es posa en cascada a la primera i corregeix els falsos positius resultants. L'operació es repeteix fins que s'eliminin completament els falsos positius durant el control de control. Normalment, la creació de 7-10 capes és suficient per cobrir completament totes les dades. Atès que l'estat de la base de dades, a causa de la sincronització periòdica, queda lleugerament per darrere de l'estat actual de la CRL, la comprovació dels nous certificats emesos després de l'última actualització de la base de dades CRLite es realitza mitjançant el protocol OCSP, inclòs l'ús del Grapat OCSP (una resposta OCSP certificada per una autoritat de certificació es transmet pel servidor que serveix el lloc quan es negocia una connexió TLS).

Mozilla implementa CRLite per comprovar si hi ha certificats TLS problemàtics

Mitjançant els filtres Bloom, la porció d'informació de desembre de WebPKI, que cobria 100 milions de certificats actius i 750 mil certificats revocats, es va poder empaquetar en una estructura d'1.3 MB de mida. El procés de generació d'estructures requereix força recursos, però es realitza al servidor Mozilla i l'usuari rep una actualització ja feta. Per exemple, en forma binària, les dades d'origen utilitzades durant la generació requereixen uns 16 GB de memòria quan s'emmagatzemen al SGBD de Redis i, en forma hexadecimal, un abocament de tots els números de sèrie del certificat triga uns 6.7 GB. El procés d'agregació de tots els certificats revocats i actius triga uns 40 minuts i el procés de generació d'una estructura empaquetada basada en el filtre Bloom triga 20 minuts més.

Actualment, Mozilla assegura que la base de dades CRLite s'actualitza quatre vegades al dia (no totes les actualitzacions es lliuren als clients). La generació d'actualitzacions delta encara no s'ha implementat: l'ús de bsdiff4, utilitzat per crear actualitzacions delta per a versions, no proporciona una eficiència adequada per a CRLite i les actualitzacions són excessivament grans. Per eliminar aquest inconvenient, es preveu reelaborar el format de l'estructura d'emmagatzematge per eliminar la reconstrucció i la supressió innecessàries de capes.

Actualment, CRLite funciona al Firefox en mode passiu i s'utilitza en paral·lel amb OCSP per acumular estadístiques sobre el funcionament correcte. CRLite es pot canviar al mode d'exploració principal; per fer-ho, heu d'establir el paràmetre security.pki.crlite_mode = 2 a about:config.

Mozilla implementa CRLite per comprovar si hi ha certificats TLS problemàtics

Font: opennet.ru

Afegeix comentari