Firma Mozilla
Weryfikacja certyfikatu za pomocą usług zewnętrznych w oparciu o protokół, który jest nadal używany
Aby blokować certyfikaty, które zostały przejęte i unieważnione przez urzędy certyfikacji, od 2015 roku Firefox korzysta ze scentralizowanej czarnej listy
Domyślnie, jeśli nie ma możliwości weryfikacji poprzez OCSP, przeglądarka uznaje certyfikat za ważny. Usługa może być niedostępna z powodu problemów sieciowych i ograniczeń w sieciach wewnętrznych lub zablokowana przez atakujących - aby ominąć kontrolę OCSP podczas ataku MITM, po prostu zablokuj dostęp do usługi sprawdzania. Częściowo, aby zapobiec takim atakom, wdrożono technikę
CRLite pozwala na skonsolidowanie pełnych informacji o wszystkich unieważnionych certyfikatach w łatwo aktualizowaną strukturę o rozmiarze zaledwie 1 MB, co umożliwia przechowywanie pełnej bazy danych CRL po stronie klienta.
Przeglądarka będzie mogła codziennie synchronizować swoją kopię danych o unieważnionych certyfikatach, a baza ta będzie dostępna pod każdym warunkiem.
CRLite łączy informacje z
Aby wyeliminować fałszywe alarmy, CRLite wprowadził dodatkowe poziomy filtrów korekcyjnych. Po wygenerowaniu struktury przeszukiwane są wszystkie rekordy źródłowe i identyfikowane są fałszywe alarmy. Na podstawie wyników tej kontroli tworzona jest dodatkowa struktura, która jest kaskadowana na pierwszą i koryguje powstałe fałszywe alarmy. Operację powtarza się aż do całkowitego wyeliminowania wyników fałszywie dodatnich podczas kontroli kontrolnej. Zazwyczaj wystarczy utworzyć 7–10 warstw, aby całkowicie pokryć wszystkie dane. Ponieważ stan bazy danych na skutek okresowej synchronizacji odbiega nieco od aktualnego stanu listy CRL, sprawdzanie nowych certyfikatów wydanych po ostatniej aktualizacji bazy CRLite odbywa się z wykorzystaniem protokołu OCSP, w tym z wykorzystaniem protokołu OCSP
Dzięki filtrom Blooma grudniowy fragment informacji z WebPKI, obejmujący 100 milionów aktywnych certyfikatów i 750 tysięcy unieważnionych certyfikatów, udało się spakować w strukturę o rozmiarze 1.3 MB. Proces generowania struktury wymaga dużych zasobów, ale odbywa się na serwerze Mozilla, a użytkownik otrzymuje gotową aktualizację. Przykładowo w formie binarnej dane źródłowe wykorzystywane podczas generowania wymagają około 16 GB pamięci, gdy są przechowywane w systemie Redis DBMS, a w formie szesnastkowej zrzut wszystkich numerów seryjnych certyfikatów zajmuje około 6.7 GB. Proces agregacji wszystkich unieważnionych i aktywnych certyfikatów zajmuje około 40 minut, natomiast proces generowania spakowanej struktury w oparciu o filtr Blooma zajmuje kolejne 20 minut.
Mozilla obecnie zapewnia aktualizację bazy danych CRLite cztery razy dziennie (nie wszystkie aktualizacje są dostarczane klientom). Generowanie aktualizacji delta nie zostało jeszcze zaimplementowane - użycie bsdiff4, używanego do tworzenia aktualizacji delta dla wydań, nie zapewnia odpowiedniej wydajności dla CRLite, a aktualizacje są nieracjonalnie duże. Aby wyeliminować tę wadę, planuje się przerobić format struktury magazynu, aby wyeliminować niepotrzebne przebudowywanie i usuwanie warstw.
CRLite aktualnie działa w Firefoksie w trybie pasywnym i jest używany równolegle z OCSP do gromadzenia statystyk dotyczących poprawności działania. CRLite można przełączyć do głównego trybu skanowania, w tym celu należy ustawić parametr security.pki.crlite_mode = 2 w about:config.
Źródło: opennet.ru