„Mozilla“ įdiegia CRLite, kad patikrintų, ar nėra probleminių TLS sertifikatų

„Mozilla“ kompanija paskelbė apie naktinių „Firefox“ versijų testavimo pradžią – naujas atšauktų sertifikatų aptikimo mechanizmas – CRLite. CRLite leidžia organizuoti veiksmingą sertifikato atšaukimo tikrinimą pagal vartotojo sistemoje esančią duomenų bazę. „Mozilla“ CRLite diegimas paskelbta pagal nemokamą MPL 2.0 licenciją. Įrašytas duomenų bazės ir serverio komponentų generavimo kodas Pitonas ir eik. Prie „Firefox“ pridėtos kliento dalys, skirtos duomenims iš duomenų bazės nuskaityti paruoštas rūdžių kalba.

Sertifikato patvirtinimas naudojant išorines paslaugas pagal vis dar naudojamą protokolą OCSP (Online Certificate Status Protocol) reikalauja garantuotos prieigos prie tinklo, labai vėluoja užklausų apdorojimas (vidutiniškai 350 ms) ir kyla problemų užtikrinant konfidencialumą (OCSP serveriai, atsakantys į užklausas, gauna informaciją apie konkrečius sertifikatus, pagal kuriuos galima spręsti, ar svetainės, kurias atidaro vartotojas). Taip pat yra galimybė atlikti vietinį patikrinimą pagal sąrašus C.R.L. (Sertifikatų panaikinimo sąrašas), tačiau šio metodo trūkumas yra labai didelis atsisiunčiamų duomenų dydis – šiuo metu atšauktų sertifikatų duomenų bazė užima apie 300 MB ir jos augimas tęsiasi.

Siekdama blokuoti sertifikatus, kuriems buvo pakenkta ir kuriuos atšaukė sertifikavimo institucijos, „Firefox“ nuo 2015 m. naudojo centralizuotą juodąjį sąrašą. OneCRL kartu su iškvietimu į servisą „Google“ saugus naršymas nustatyti galimą kenkėjišką veiklą. OneCRL, kaip CRLSets „Chrome“ veikia kaip tarpinė nuoroda, kaupianti sertifikavimo institucijų CRL sąrašus ir teikianti vieną centralizuotą OCSP paslaugą atšauktiems sertifikatams tikrinti, todėl užklausų negalima siųsti tiesiogiai sertifikavimo institucijoms. Nepaisant daug darbo siekiant pagerinti internetinės sertifikatų tikrinimo paslaugos patikimumą, telemetrijos duomenys rodo, kad daugiau nei 7% OCSP užklausų skirtas laikas baigiasi (prieš kelerius metus šis skaičius buvo 15%).

Pagal numatytuosius nustatymus, jei neįmanoma patikrinti naudojant OCSP, naršyklė laiko sertifikatą galiojančiu. Paslauga gali būti nepasiekiama dėl tinklo problemų ir vidinių tinklų apribojimų arba užblokuota užpuolikų – norėdami apeiti OCSP patikrinimą MITM atakos metu, tiesiog užblokuokite prieigą prie patikrinimo paslaugos. Iš dalies siekiant užkirsti kelią tokiems išpuoliams, buvo įdiegta technika Must-Staple, leidžianti OCSP prieigos klaidą arba OCSP nepasiekiamumą traktuoti kaip sertifikato problemą, tačiau ši funkcija yra neprivaloma ir jai reikalinga speciali sertifikato registracija.

CRLite leidžia sujungti visą informaciją apie visus atšauktus sertifikatus į lengvai atnaujinamą, tik 1 MB dydžio struktūrą, kuri leidžia saugoti visą CRL duomenų bazę kliento pusėje.
Naršyklė galės kasdien sinchronizuoti savo duomenų apie atšauktus sertifikatus kopiją ir ši duomenų bazė bus prieinama bet kokiomis sąlygomis.

CRLite sujungia informaciją iš Sertifikato skaidrumas, viešas visų išduotų ir panaikintų sertifikatų žurnalas bei sertifikatų nuskaitymo internete rezultatai (renkami įvairūs sertifikavimo institucijų CRL sąrašai ir apibendrinama informacija apie visus žinomus sertifikatus). Duomenys supakuoti naudojant pakopinę sistemą Bloom filtrai, tikimybinė struktūra, leidžianti klaidingai aptikti trūkstamą elementą, tačiau neleidžianti praleisti esamo elemento (t. y. su tam tikra tikimybe galimas klaidingas teisingo sertifikato teigiamas rezultatas, tačiau atšaukti sertifikatai garantuojami).

Siekdama pašalinti klaidingus teigiamus rezultatus, CRLite įdiegė papildomus korekcinius filtrų lygius. Sukūrus struktūrą, ieškoma visų šaltinio įrašų ir nustatomi visi klaidingi teigiami rezultatai. Remiantis šio patikrinimo rezultatais, sukuriama papildoma struktūra, kuri kaskaduojama ant pirmosios ir ištaiso gautus klaidingus teigiamus rezultatus. Operacija kartojama tol, kol kontrolinio patikrinimo metu gauti klaidingi teigiami rezultatai bus visiškai pašalinti. Paprastai, norint visiškai padengti visus duomenis, pakanka sukurti 7–10 sluoksnių. Kadangi duomenų bazės būsena dėl periodinio sinchronizavimo šiek tiek atsilieka nuo dabartinės CRL būsenos, naujų sertifikatų, išduotų po paskutinio CRLite duomenų bazės atnaujinimo, tikrinimas atliekamas naudojant OCSP protokolą, įskaitant OCSP susegimas (sertifikavimo institucijos patvirtintą OCSP atsakymą perduoda svetainę aptarnaujantis serveris, derantis dėl TLS ryšio).

„Mozilla“ įdiegia CRLite, kad patikrintų, ar nėra probleminių TLS sertifikatų

Naudojant Bloom filtrus, gruodžio mėnesio WebPKI informacijos dalis, apimanti 100 milijonų aktyvių sertifikatų ir 750 tūkstančių atšauktų sertifikatų, galėjo būti supakuota į 1.3 MB dydžio struktūrą. Struktūros generavimo procesas yra gana daug resursų reikalaujantis procesas, tačiau jis atliekamas Mozilla serveryje ir vartotojui pateikiamas paruoštas atnaujinimas. Pavyzdžiui, dvejetaine forma generavimo metu naudojamiems šaltinio duomenims reikia apie 16 GB atminties, kai jie saugomi Redis DBMS, o šešioliktaine forma visų sertifikatų serijos numerių išmetimui reikia apie 6.7 GB. Visų atšauktų ir aktyvių sertifikatų sujungimo procesas užtrunka apie 40 minučių, o supakuotos struktūros generavimas pagal „Bloom“ filtrą – dar 20 minučių.

Šiuo metu „Mozilla“ užtikrina, kad CRLite duomenų bazė būtų atnaujinama keturis kartus per dieną (ne visi atnaujinimai pristatomi klientams). Delta atnaujinimų generavimas dar neįdiegtas – bsdiff4 naudojimas, naudojamas kuriant delta naujinimus leidimams, neužtikrina tinkamo CRLite efektyvumo, o atnaujinimai yra neprotingai dideli. Siekiant pašalinti šį trūkumą, planuojama pertvarkyti saugyklos struktūros formatą, kad būtų išvengta nereikalingo sluoksnių perstatymo ir ištrynimo.

CRLite šiuo metu veikia Firefox pasyviuoju režimu ir yra naudojamas lygiagrečiai su OCSP, kad būtų kaupiama statistika apie teisingą veikimą. CRLite galima perjungti į pagrindinį nuskaitymo režimą; norėdami tai padaryti, apie:config turite nustatyti parametrą security.pki.crlite_mode = 2.

„Mozilla“ įdiegia CRLite, kad patikrintų, ar nėra probleminių TLS sertifikatų

Šaltinis: opennet.ru

Добавить комментарий