Mozilla implementeer CRLite om te kyk vir problematiese TLS-sertifikate

Mozilla Maatskappy aangekondig oor die begin van toetsing in nagtelike weergawes van Firefox 'n nuwe meganisme vir die opsporing van herroepe sertifikate - CRLite. CRLite laat jou toe om effektiewe sertifikaatherroepingskontrole te organiseer teen 'n databasis wat op die gebruiker se stelsel gehuisves word. Mozilla se CRLite-implementering gepubliseer onder die gratis MPL 2.0-lisensie. Die kode vir die generering van die databasis en bedienerkomponente word in geskryf Python en Gaan. Kliëntdele is by Firefox gevoeg vir die lees van data vanaf die databasis voorberei in Roestaal.

Sertifikaatverifikasie met behulp van eksterne dienste gebaseer op die protokol wat steeds gebruik word OCSP (Online Certificate Status Protocol) vereis gewaarborgde netwerktoegang, lei tot 'n aansienlike vertraging in versoekverwerking (gemiddeld 350ms) en het probleme met die versekering van vertroulikheid (OCSP-bedieners wat op versoeke reageer, ontvang inligting oor spesifieke sertifikate, wat gebruik kan word om te oordeel of wat werwe wat die gebruiker oopmaak). Daar is ook die moontlikheid van plaaslike kontrolering teen lyste C.R.L. (Certificate Revocation List), maar die nadeel van hierdie metode is die baie groot grootte van die afgelaaide data - tans beslaan die databasis van herroepe sertifikate ongeveer 300 MB en die groei daarvan duur voort.

Firefox het sedert 2015 'n gesentraliseerde swartlys gebruik om sertifikate wat deur sertifiseringsowerhede gekompromitteer en herroep is, te blokkeer EenCRL in kombinasie met 'n oproep tot diens Google Veilig navigeer om moontlike kwaadwillige aktiwiteit te identifiseer. OneCRL, soos CRL -stelle in Chrome, dien as 'n tussenskakel wat CRL-lyste van sertifiseringsowerhede saamvoeg en 'n enkele gesentraliseerde OCSP-diens verskaf om herroepe sertifikate na te gaan, wat dit moontlik maak om nie versoeke direk na sertifiseringsowerhede te stuur nie. Ten spyte van baie werk om die betroubaarheid van die aanlyn sertifikaatverifikasiediens te verbeter, toon telemetriedata dat meer as 7% van OCSP-versoeke uittel ('n paar jaar gelede was hierdie syfer 15%).

By verstek, as dit onmoontlik is om via OCSP te verifieer, beskou die blaaier die sertifikaat as geldig. Die diens is dalk onbeskikbaar as gevolg van netwerkprobleme en beperkings op interne netwerke, of geblokkeer deur aanvallers - om die OCSP-tjek tydens 'n MITM-aanval te omseil, blokkeer eenvoudig toegang tot die tjekdiens. Gedeeltelik om sulke aanvalle te voorkom, is 'n tegniek geïmplementeer Moet-kram, wat jou toelaat om 'n OCSP-toegangsfout of OCSP-onbeskikbaarheid as 'n probleem met die sertifikaat te hanteer, maar hierdie kenmerk is opsioneel en vereis spesiale registrasie van die sertifikaat.

CRLite laat jou toe om volledige inligting oor alle herroepe sertifikate te konsolideer in 'n maklik bygewerkte struktuur, slegs 1 MB groot, wat dit moontlik maak om 'n volledige CRL-databasis aan die kliëntkant te stoor.
Die blaaier sal daagliks sy kopie van die data oor herroepe sertifikate kan sinchroniseer, en hierdie databasis sal onder enige voorwaardes beskikbaar wees.

CRLite kombineer inligting van Sertifikaatdeursigtigheid, 'n publieke log van alle uitgereikte en herroepe sertifikate, en die resultate van skandering van sertifikate op die internet (verskeie CRL-lyste van sertifiseringsowerhede word ingesamel en inligting oor alle bekende sertifikate word saamgevoeg). Data word verpak deur gebruik te maak van kaskade blom filters, 'n probabilistiese struktuur wat 'n valse opsporing van 'n ontbrekende element toelaat, maar die weglating van 'n bestaande element uitsluit (d.w.s. met 'n sekere waarskynlikheid is 'n vals positiewe vir 'n korrekte sertifikaat moontlik, maar herroepe sertifikate word gewaarborg om geïdentifiseer te word).

Om vals positiewe uit te skakel, het CRLite bykomende korrektiewe filtervlakke ingestel. Nadat die struktuur gegenereer is, word alle bronrekords deursoek en enige vals positiewe word geïdentifiseer. Op grond van die resultate van hierdie kontrole word 'n bykomende struktuur geskep, wat na die eerste een oorgedra word en die gevolglike vals positiewe korrigeer. Die operasie word herhaal totdat vals positiewe tydens die kontroletoets heeltemal uitgeskakel is. Tipies is die skep van 7-10 lae voldoende om alle data heeltemal te bedek. Aangesien die toestand van die databasis, as gevolg van periodieke sinchronisasie, effens agter die huidige toestand van die CRL bly, word die kontrolering van nuwe sertifikate wat uitgereik is na die laaste opdatering van die CRLite-databasis uitgevoer met behulp van die OCSP-protokol, insluitend die gebruik van die OCSP-krammetjie ('n OCSP-reaksie wat deur 'n sertifiseringsowerheid gesertifiseer is, word oorgedra deur die bediener wat die webwerf bedien wanneer 'n TLS-verbinding beding word).

Mozilla implementeer CRLite om te kyk vir problematiese TLS-sertifikate

Deur Bloom-filters te gebruik, kon die Desember-stuk inligting van WebPKI, wat 100 miljoen aktiewe sertifikate en 750 duisend herroepe sertifikate dek, verpak word in 'n struktuur van 1.3 MB groot. Die struktuurgenereringsproses is redelik hulpbron-intensief, maar dit word op die Mozilla-bediener uitgevoer en die gebruiker kry 'n klaargemaakte opdatering. Byvoorbeeld, in binêre vorm, benodig die brondata wat tydens generering gebruik word, ongeveer 16 GB geheue wanneer dit in die Redis DBMS gestoor word, en in heksadesimale vorm neem 'n storting van alle sertifikaatreeksnommers ongeveer 6.7 GB. Die proses om alle herroepe en aktiewe sertifikate saam te voeg, neem ongeveer 40 minute, en die proses om 'n verpakte struktuur te genereer gebaseer op die Bloom-filter neem nog 20 minute.

Mozilla verseker tans dat die CRLite-databasis vier keer per dag opgedateer word (nie alle opdaterings word aan kliënte gelewer nie). Generering van delta-opdaterings is nog nie geïmplementeer nie - die gebruik van bsdiff4, wat gebruik word om delta-opdaterings vir vrystellings te skep, bied nie voldoende doeltreffendheid vir CRLite nie en die opdaterings is onredelik groot. Om hierdie nadeel uit te skakel, word beplan om die formaat van die stoorstruktuur te herwerk om onnodige herbou en uitvee van lae uit te skakel.

CRLite werk tans in Firefox in passiewe modus en word parallel met OCSP gebruik om statistieke oor die korrekte werking te versamel. CRLite kan oorgeskakel word na hoofskanderingmodus; om dit te doen, moet jy die parameter security.pki.crlite_mode = 2 in about:config stel.

Mozilla implementeer CRLite om te kyk vir problematiese TLS-sertifikate

Bron: opennet.ru

Voeg 'n opmerking