Jak przeglądarki obsługują unieważniony protokół SSL /TLS Certyfikaty

Szczegóły aktualnych przeglądarek do sprawdzania statusu odwołania SSL /TLS certyfikaty, w tym test w różnych przeglądarkach.

Wprowadzenie

Sprawdzanie statusu unieważnienia SSL /TLS certyfikaty przedstawione przez HTTPS strony internetowe to stały problem bezpieczeństwa sieci. Chyba że serwer jest skonfigurowany do używania Zszywanie OCSP, sprawdzanie unieważnień online przez przeglądarki internetowe jest powolne i zagraża prywatności. Ponieważ zapytania OCSP online tak często zawodzą i są niemożliwe w niektórych sytuacjach (na przykład w przypadku portali przechwytujących), przeglądarki zazwyczaj implementują sprawdzanie protokołu OCSP w trybie „miękkiego niepowodzenia”, przez co jest ono nieskuteczne w odstraszaniu zdecydowanego napastnika. (Aby uzyskać pełniejszą historię tego problemu, przeczytaj artykuł SSL.com, Optymalizacja ładowania strony: Zszywanie OCSP).

Z tych powodów przeglądarki internetowe wprowadziły szereg rozwiązań w celu ograniczenia lub wyeliminowania konieczności sprawdzania odwołania online. Dokładne szczegóły różnią się w zależności od dostawcy, ale rozwiązania te zazwyczaj obejmują pobieranie list unieważnionych certyfikatów z urzędów certyfikacji i przekazywanie ich do przeglądarek.

Ten artykuł zawiera ogólne podsumowania strategii sprawdzania poprawności stosowanych przez główne przeglądarki na komputerach stacjonarnych (Chrom, Firefox, Safari, krawędź) i porównuje odpowiedzi tych przeglądarek z pewną próbką odwołane certyfikaty hostowany przez SSL.com.

Przykłady komunikatów o błędach przeglądarki wynikających z unieważnionych certyfikatów można znaleźć na stronie ten przewodnik. Stan odwołania certyfikatu możesz sprawdzić pod adresem Certificate.revocationcheck.com

Google Chrome

Chrome polega na Zestawy CRLS do sprawdzania odwołania. CRLSet to po prostu lista unieważnionych certyfikatów, które są przekazywane do przeglądarki jako aktualizacja oprogramowania. Według Strona projektów Chromium, procesy, za pomocą których Google generuje zestawy CRLS są zastrzeżone, ale także to

Zestawy CRL… są przede wszystkim środkiem, za pomocą którego Chrome może szybko blokować certyfikaty w sytuacjach awaryjnych. Jako funkcja drugorzędna mogą również zawierać pewną liczbę odwołań innych niż awaryjne. Te ostatnie odwołania są uzyskiwane przez przeszukiwanie list CRL opublikowanych przez urzędy certyfikacji.

Powyższe stwierdzenie wskazuje, że przynajmniej kilka unieważnione certyfikaty encji końcowych o niskim priorytecie mogą skończyć w CRLSets, ale są one kwestią drugorzędną.

Możesz sprawdzić wersję CRLSet aktualnie zainstalowaną w instancji Chrome, przechodząc do chrome://components/:

Wersja zestawu CRLSet

Uwaga: Przeglądarka Opera oparta na Chromium używa również zestawów CRL do sprawdzania odwołania. Możesz sprawdzić zainstalowaną wersję, przechodząc do opera://components. Jak wskazano poniżej, aktualna wersja przeglądarki Microsoft Edge jest również oparta na Chromium i używa CRLSets.

Obecnie nie jest możliwe bezpośrednie skonfigurowanie Chrome do wykonywania zapytań dotyczących ważności certyfikatu online. Jednak w zależności od systemu operacyjnego kontrole te mogą być wykonywane przez bazową bibliotekę certyfikatów używaną przez system operacyjny. (Jak widać poniżej w wynikach z ograniczonych testów przeglądarki stwierdziliśmy, że instalacje Chrome z tym samym numerem wersji i CRLSet w rzeczywistości odpowiadały na dwa unieważnione certyfikaty inaczej w systemie Windows niż macOS).


Mozilla Firefox

Podobnie jak Google, Mozilla utrzymuje scentralizowaną listę odwołanych certyfikatów o nazwie Jedna lista CRL. OneCRL to lista certyfikatów pośrednich, które zostały odwołane przez urzędy certyfikacji w programie głównym Mozilli i są przekazywane użytkownikom przeglądarki Firefox w aktualizacjach aplikacji. Jeśli chodzi o certyfikaty jednostek końcowych, Mozilla's plan odwołania zauważa, że ​​„w przyszłości, gdy początkowa implementacja zadziała, możemy rozważyć objęcie certyfikatów EE OneCRL, prawdopodobnie skupiając się początkowo na określonych klasach (np. certyfikaty EV)”.

OneCRL można pobrać jako obiekt JSON tutajlub przeglądany jako strona internetowa pod adresem crt.sh.

W przeciwieństwie do Chrome, domyślne ustawienia Firefoksa wysyłają również zapytania do respondentów OCSP, aby potwierdzić ważność SSL /TLS certyfikaty. (Możesz zmienić to ustawienie w preferencjach zabezpieczeń przeglądarki Firefox).

Zapytaj serwery odpowiadające OCSP

Jednak ponieważ błędy zapytań OCSP są tak powszechne, Firefox (podobnie jak inne przeglądarki) wdraża zasadę „miękkiego niepowodzenia”. Jeśli chcesz, możesz wymagać ścisłego sprawdzania protokołu OCSP, przechodząc do about:config i przełączanie security.OCSP.require do true.


Apple Safari

Obecne podejście Apple do unieważnienia jest omówione przez Bailey Basile w jej przemówieniu WWDC 2017, Twoje aplikacje i zmieniające się standardy bezpieczeństwa sieci. Apple zbiera informacje o odwołaniu certyfikatów z urzędów certyfikacji zaufanych na swoich urządzeniach i agreguje je w jednym pakiecie, który jest okresowo pobierany przez oprogramowanie klienckie Apple (brzmi to jak znajomy plan?).

Gdy aplikacja kliencka napotka certyfikat pokazany na liście Apple, przeprowadza kontrolę OCSP, aby potwierdzić, że certyfikat został faktycznie odwołany (chyba że serwer dostarcza zszytą odpowiedź OCSP). Należy pamiętać, że kontrole OCSP w trybie online są przeprowadzane tylko w przypadku certyfikatów, które według Apple zostały już unieważnione; certyfikaty, które nie są wymienione w pakiecie pobranym z Apple, nie są sprawdzane.

Dostępne jest łącze do listy odwołań firmy Apple i kodu do jej analizowania tutaj.


Microsoft Edge

System Windows przechowuje listę odwołanych lub w inny sposób umieszczonych na czarnej liście certyfikatów w pliku o nazwie disallowedcert.stl, To wpis na blogu dostarcza informacji o zrzucaniu zawartości pliku za pomocą PowerShell. crt.sh zawiera także informacje, czy dany certyfikat jest wymieniony w disallowedcert.stl.

Podobnie jak Firefox, system Windows domyślnie sprawdza, czy certyfikat został odwołany. To ustawienie można wyświetlić i zmienić w Właściwości internetowe panel sterowania:

Jednak obecna (oparta na Chromium) wersja Edge, taka jak Chrome, polega na CRLSets do sprawdzania unieważnień i pojawia się w naszych testach poniżej być niezależnym od ustawień sprawdzania odwołań w Właściwościach internetowych. (Uwaga: W poprzedniej wersji tych testów, wykonanych we wrześniu 2019 r., Internet Explorer i wersja Edge sprzed Chromium zrobił postępuj zgodnie z tymi ustawieniami w Właściwościach internetowych).


Różnice między przeglądarkami

Ponieważ SSL.com utrzymuje grupę serwerów WWW, na których znajdują się przykładowe unieważnione certyfikaty, zdecydowaliśmy się przetestować je w różnych przeglądarkach stacjonarnych. Ten mały, niezbyt naukowy test został przeprowadzony 23 lutego 2020 r. Użyte przeglądarki to:

  • Chrome 88.0.4324.182, CRLSet wersja 6444 (macOS 10.15.7)
  • Chrome 88.0.4324.182, CRLSet wersja 6444 (Windows 10 Pro)
  • Edge 88.0.705.74, CRLSet wersja 6444 (Windows 10 Enterprise)
  • Firefox 86.0 - zapytania OCSP włączone (macOS 10.15.7)
  • Firefox 86.0 - zapytania OCSP wyłączone (macOS 10.15.7)
  • Safari 14.0.3 (macOS 10.15.1)

Ponadto przetestowaliśmy Chrome i Edge w systemie Windows z wyłączonym sprawdzaniem unieważnień online w panelu sterowania Właściwości internetowe i (w przypadku Chrome, Firefox i Edge) sprawdziliśmy, czy odpowiedni certyfikat został wymieniony jako odwołany za pomocą określonego programu przeglądarki w crt.sh.

  Chrome (macOS) Chrome (Windows) Krawędź (Windows) Firefox (Mac) (włączony OCSP) Firefox (Mac) (wyłączone OCSP) Safari (Mac)
odwołane-rsa-dv.ssl.com Odwołany Nie odwołano Nie odwołano Odwołany Nie odwołano Odwołany
odwołane-rsa-ev.ssl.com Odwołany Odwołany Odwołany Odwołany Nie odwołano Odwołany
odwołane-ecc-dv.ssl.com Odwołany Nie odwołano Nie odwołano Odwołany Nie odwołano Odwołany
odwołane-ecc-ev.ssl.com Odwołany Odwołany Odwołany Odwołany Nie odwołano Odwołany

Dyskusja wyników

Chrom: W systemie Windows Chrome nieprawidłowo wyświetlał dwa odwołane certyfikaty (odwołane-rsa-dv.ssl.com i odwołane-ecc-dv.ssl.com) jako ważne, a pozostałe jako odwołane. Wyłączenie sprawdzania poprawności w systemie operacyjnym nie zmieniło tej odpowiedzi. Co ciekawe, żaden z czterech certyfikatów nie został wykazany jako odwołany w CRLSet w crt.sh w czasie testu, sugerując dalsze pytania dotyczące procesów sprawdzania unieważnień w Chrome. W systemie macOS Chrome poprawnie pokazał wszystkie cztery certyfikaty jako odwołane, co ilustruje różnice w zachowaniu Chrome związane z platformami.

Krawędź: Obecna (oparta na Chromium) wersja przeglądarki Edge dublowała Chrome na ekranie odwołane-rsa-dv.ssl.com i odwołane-ecc-dv.ssl.com jako ważne. Podobnie jak Chrome, Edge pokazał te same wyniki niezależnie od tego, czy sprawdzanie poprawności było włączone w systemie operacyjnym. Żaden z czterech certyfikatów nie został wymieniony jako wymieniony w disallowedcert.stl on crt.sh.

Firefox: Jak można się było spodziewać po tym, jak OneCRL koncentruje się na certyfikatach pośrednich, Firefox rozpoznał tylko wszystkie cztery certyfikaty jako odwołane z zapytaniami OCSP włączonymi w preferencjach przeglądarki, ale zaakceptował wszystkie cztery jako prawidłowe, jeśli zapytania OCSP były wyłączone. (Uwaga: Wszystkie cztery unieważnione certyfikaty podmiotów końcowych zostały wydane z ważnych, nieodwołanych produktów pośrednich). Podobnie jak w przypadku Chrome, crt.sh nie pokazuje żadnego z certyfikatów unieważnionych w OneCRL.

Safari: Safari na macOS poprawnie rozpoznało wszystkie cztery certyfikaty jako odwołane. crt.sh nie wyświetla informacji o odwołaniu Apple i nie sprawdziliśmy, czy te konkretne certyfikaty są wymienione jako odwołane przez Apple.

Wnioski

Wyniki wydają się wskazywać, że unieważnienie nadal stanowi problem w przypadku przeglądarek internetowych na komputerach stacjonarnych (urządzenia mobilne reprezentują zupełnie inny świat, ale to temat na inny artykuł). Włączenie (powolnego, niezabezpieczonego) sprawdzania OCSP online było konieczne, aby rozpoznać certyfikaty jako odwołane w przeglądarce Firefox, podczas gdy Chrome i Edge nie rozpoznały dwóch odwołanych certyfikatów w systemie Windows, niezależnie od tego, czy w systemie operacyjnym włączono sprawdzanie odwołań.

W przypadku właścicieli witryn rozsądnie wydaje się założenie, że różne programy przeglądarki koncentrują się na incydentach o wysokim priorytecie / nagłych wypadkach, takich jak odwołanie certyfikatu root i pośrednich urzędów certyfikacji, oraz że odwołania certyfikatów podmiotów końcowych odmiany ogrodowej prawdopodobnie nie zostaną niezauważone dla czas nieokreślony. Z tego powodu wdrażanie Zszywanie i zszywanie OCSP wydaje się być najbardziej prywatnym, bezpiecznym i skutecznym sposobem zagwarantowania, że ​​użytkownicy końcowi otrzymają dokładne informacje na temat odwołania certyfikatów podmiotów końcowych.

 

SSL.com zapewnia szeroką gamę domen SSL /TLS certyfikaty serwera dla witryn HTTPS.

PORÓWNAJ SSL /TLS CERTYFIKATY

Subskrybuj biuletyn SSL.com

Nie przegap nowych artykułów i aktualizacji z SSL.com

Będziemy wdzięczni za Twoją opinię

Weź udział w naszej ankiecie i daj nam znać, co myślisz o swoim ostatnim zakupie.