Mozilla efektivigas CRLite por kontroli pri problemaj TLS-atestiloj

Kompanio Mozilla anoncita pri la komenco de testado en noktaj konstruoj de Fajrovulpo novan mekanismon por detekti revokitajn atestojn - CRLite. CRLite permesas al vi organizi efikan kontrolon pri revoko de atestilo kontraŭ datumbazo gastigita en la sistemo de la uzanto. La CRLite-efektivigo de Mozilla eldonita sub la senpaga licenco MPL 2.0. La kodo por generi la datumbazon kaj servilkomponentojn estas skribitaj enen python kaj Iru. Klientpartoj aldonitaj al Firefox por legi datumojn el la datumbazo preparita en Rust-lingvo.

Atestila konfirmo uzante eksterajn servojn bazitajn sur la protokolo, kiu ankoraŭ estas uzata OCSP (Reta Atestila Statuso-Protokolo) postulas garantiitan retaliron, kondukas al grava prokrasto en petotraktado (350ms averaĝe) kaj havas problemojn kun certigado de konfidenco (OCSP-serviloj respondantaj al petoj ricevas informojn pri specifaj atestiloj, kiuj povas esti uzataj por juĝi ĉu kio retejoj, kiujn la uzanto malfermas). Ekzistas ankaŭ la ebleco de loka kontrolo kontraŭ listoj C.R.L. (Atestila Revoka Listo), sed la malavantaĝo de ĉi tiu metodo estas la tre granda grandeco de la elŝutitaj datumoj - nuntempe la datumbazo de nuligitaj atestiloj okupas ĉirkaŭ 300 MB kaj ĝia kresko daŭras.

Por bloki atestojn endanĝerigitajn kaj nuligitajn de atestaj aŭtoritatoj, Fajrovulpo uzas centralizitan nigran liston ekde 2015 OneCRL kombine kun voko al servo Google Sekura Foliumado identigi eblan malican agadon. OneCRL, kiel CRLSets en Chrome, funkcias kiel meza ligo kiu agregas CRL-listojn de atestadaŭtoritatoj kaj disponigas ununuran centralizitan OCSP-servon por kontroli revokitajn atestojn, ebligante ne sendi petojn rekte al atestadaŭtoritatoj. Malgraŭ multe da laboro por plibonigi la fidindecon de la interreta atestila konfirmservo, telemetriaj datumoj montras, ke pli ol 7% de OCSP-petoj eltempo (antaŭ kelkaj jaroj ĉi tiu cifero estis 15%).

Defaŭlte, se estas neeble kontroli per OCSP, la retumilo konsideras la atestilon valida. La servo povas esti neatingebla pro retaj problemoj kaj restriktoj sur internaj retoj, aŭ blokita de atakantoj - por preteriri la OCSP-kontrolon dum MITM-atako, simple bloku aliron al la ĉekservo. Parte por malhelpi tiajn atakojn, tekniko estis efektivigita Devas-agrafa, kiu ebligas al vi trakti eraron de aliro de OCSP aŭ nedisponeblecon de OCSP kiel problemon kun la atestilo, sed ĉi tiu funkcio estas laŭvola kaj postulas specialan registradon de la atestilo.

CRLite permesas vin solidigi kompletajn informojn pri ĉiuj revokitaj atestiloj en facile ĝisdatigitan strukturon, nur 1 MB en grandeco, kiu ebligas stoki kompletan CRL-datumbazon ĉe la kliento.
La retumilo povos sinkronigi sian kopion de la datumoj pri revokitaj atestiloj ĉiutage, kaj ĉi tiu datumbazo estos disponebla laŭ iuj kondiĉoj.

CRLite kombinas informojn de Atestilo de Travidebleco, publika protokolo de ĉiuj eldonitaj kaj revokitaj atestiloj, kaj la rezultoj de skanado de atestiloj en la Interreto (diversaj CRL-listoj de atestadaŭtoritatoj estas kolektitaj kaj informoj pri ĉiuj konataj atestiloj estas aldonitaj). Datumoj estas pakitaj per kaskadado florfiltriloj, probabla strukturo kiu permesas malveran detekton de mankanta elemento, sed ekskludas la preterlason de ekzistanta elemento (t.e., kun certa verŝajneco, falsa pozitivo por ĝusta atestilo estas ebla, sed revokitaj atestiloj estas garantiitaj esti identigitaj).

Por forigi falsajn pozitivojn, CRLite enkondukis pliajn korektajn filtrilnivelojn. Post generado de la strukturo, ĉiuj fontrekordoj estas serĉataj kaj iuj falsaj pozitivoj estas identigitaj. Surbaze de la rezultoj de ĉi tiu kontrolo, plia strukturo estas kreita, kiu estas kaskadita sur la unua kaj korektas la rezultajn falsajn pozitivojn. La operacio estas ripetita ĝis falsaj pozitivoj dum la kontrola kontrolo estas tute forigitaj. Kutime, krei 7-10 tavolojn sufiĉas por tute kovri ĉiujn datumojn. Ĉar la stato de la datumbazo, pro perioda sinkronigo, restas iomete malantaŭ la nuna stato de la CRL, kontrolo de novaj atestiloj eldonitaj post la lasta ĝisdatigo de la CRLite-datumbazo estas farita per la OCSP-protokolo, inkluzive de uzado de la datumbazo. OCSP-agrafado (respondo de OCSP atestita de atestadaŭtoritato estas elsendita de la servilo servanta la retejon dum negocado de TLS-konekto).

Mozilla efektivigas CRLite por kontroli pri problemaj TLS-atestiloj

Uzante Bloom-filtrilojn, la decembra tranĉaĵo de informoj de WebPKI, kovranta 100 milionojn da aktivaj atestiloj kaj 750 mil revokitajn atestojn, povis esti pakita en strukturon de 1.3 MB en grandeco. La strukturo-genera procezo estas sufiĉe rimeda, sed ĝi estas farita sur la Mozilla-servilo kaj la uzanto ricevas pretan ĝisdatigon. Ekzemple, en binara formo, la fontodatenoj uzitaj dum generacio postulas proksimume 16 GB da memoro kiam stokita en la Redis DBMS, kaj en deksesuma formo, rubejo de ĉiuj atestitaj seriaj numeroj prenas proksimume 6.7 GB. La procezo de agregado de ĉiuj revokitaj kaj aktivaj atestiloj daŭras ĉirkaŭ 40 minutojn, kaj la procezo de generado de pakita strukturo bazita sur la Bloom-filtrilo daŭras aliajn 20 minutojn.

Mozilla nuntempe certigas, ke la datumbazo CRLite estas ĝisdatigita kvar fojojn tage (ne ĉiuj ĝisdatigoj estas liveritaj al klientoj). Generacio de deltaj ĝisdatigoj ankoraŭ ne estis efektivigita - la uzo de bsdiff4, uzata por krei deltajn ĝisdatigojn por eldonoj, ne provizas adekvatan efikecon por CRLite kaj la ĝisdatigoj estas neracie grandaj. Por forigi ĉi tiun malavantaĝon, oni planas reverki la formaton de la stokada strukturo por forigi nenecesan rekonstruadon kaj forigon de tavoloj.

CRLite nuntempe funkcias en Fajrovulpo en pasiva reĝimo kaj estas uzata paralele kun OCSP por amasigi statistikojn pri la ĝusta funkciado. CRLite povas esti ŝanĝita al ĉefa skana reĝimo; por fari tion, vi devas agordi la parametron security.pki.crlite_mode = 2 en about:config.

Mozilla efektivigas CRLite por kontroli pri problemaj TLS-atestiloj

fonto: opennet.ru

Aldoni komenton