Mozilla Company
Certifikatverifiering med hjälp av externa tjänster baserat på det protokoll som fortfarande används
För att blockera certifikat som har äventyrats och återkallats av certifieringsmyndigheter har Firefox använt en centraliserad svartlista sedan 2015
Som standard, om det är omöjligt att verifiera via OCSP, anser webbläsaren att certifikatet är giltigt. Tjänsten kan vara otillgänglig på grund av nätverksproblem och restriktioner på interna nätverk, eller blockerad av angripare - för att kringgå OCSP-kontrollen under en MITM-attack, blockera helt enkelt åtkomsten till kontrolltjänsten. Delvis för att förhindra sådana attacker har en teknik implementerats
CRLite låter dig konsolidera fullständig information om alla återkallade certifikat till en lätt uppdaterad struktur, endast 1 MB stor, vilket gör det möjligt att lagra en komplett CRL-databas på klientsidan.
Webbläsaren kommer att kunna synkronisera sin kopia av data om återkallade certifikat dagligen, och denna databas kommer att vara tillgänglig under alla förhållanden.
CRLite kombinerar information från
För att eliminera falska positiva resultat har CRLite infört ytterligare korrigerande filternivåer. Efter generering av strukturen genomsöks alla källposter och eventuella falska positiva identifieras. Baserat på resultaten av denna kontroll skapas en ytterligare struktur, som kaskaderas till den första och korrigerar de resulterande falska positiva. Operationen upprepas tills falska positiva resultat under kontrollkontrollen är helt eliminerade. Vanligtvis är det tillräckligt att skapa 7-10 lager för att helt täcka all data. Eftersom tillståndet för databasen, på grund av periodisk synkronisering, släpar något efter det nuvarande tillståndet för CRL, utförs kontroll av nya certifikat som utfärdats efter den senaste uppdateringen av CRLite-databasen med hjälp av OCSP-protokollet, inklusive användning av
Med hjälp av Bloom-filter kunde decemberinformationen från WebPKI, som täcker 100 miljoner aktiva certifikat och 750 tusen återkallade certifikat, packas in i en struktur på 1.3 MB i storlek. Strukturgenereringsprocessen är ganska resurskrävande, men den utförs på Mozilla-servern och användaren får en färdig uppdatering. Till exempel, i binär form, kräver källdata som används under genereringen cirka 16 GB minne när de lagras i Redis DBMS, och i hexadecimal form tar en dumpning av alla certifikats serienummer cirka 6.7 GB. Processen att sammanställa alla återkallade och aktiva certifikat tar cirka 40 minuter, och processen att generera en paketerad struktur baserad på Bloom-filtret tar ytterligare 20 minuter.
Mozilla ser för närvarande till att CRLite-databasen uppdateras fyra gånger om dagen (alla uppdateringar levereras inte till klienter). Generering av deltauppdateringar har ännu inte implementerats - användningen av bsdiff4, som används för att skapa deltauppdateringar för releaser, ger inte tillräcklig effektivitet för CRLite och uppdateringarna är orimligt stora. För att eliminera denna nackdel är det planerat att omarbeta formatet på lagringsstrukturen för att eliminera onödig ombyggnad och radering av lager.
CRLite fungerar för närvarande i Firefox i passivt läge och används parallellt med OCSP för att samla statistik om korrekt funktion. CRLite kan växlas till huvudskanningsläge, för att göra detta måste du ställa in parametern security.pki.crlite_mode = 2 i about:config.
Källa: opennet.ru