Wygaszenie głównego certyfikatu IdenTrust spowoduje utratę zaufania do Let's Encrypt na starych urządzeniach

30 września o 17:01 czasu moskiewskiego wygasa okres ważności głównego certyfikatu firmy IdenTrust (DST Root CA X3), który był używany do krzyżowego podpisu głównego certyfikatu urzędowego Let’s Encrypt (ISRG Root X1). Jest to certyfikat wydawany społecznościowo i bezpłatnie wszystkim zainteresowanym. Krzyżowy podpis zapewniał zaufanie do certyfikatów Let’s Encrypt w szerokim zakresie urządzeń, systemów operacyjnych i przeglądarek w trakcie integracji własnego głównego certyfikatu Let’s Encrypt w repozytoriach certyfikatów głównych.

Początkowo planowano, że po wygaśnięciu DST Root CA X3 projekt Let’s Encrypt przejdzie na tworzenie podpisów wyłącznie z użyciem swojego głównego certyfikatu. Jednak taki krok prowadziłby do utraty kompatybilności z wieloma starymi systemami, które nie dodały do swoich repozytoriów głównego certyfikatu Let’s Encrypt. W szczególności około 30% urządzeń z systemem Android w obiegu nie ma informacji o głównym certyfikacie Let’s Encrypt, którego wsparcie pojawiło się dopiero od platformy Android 7.1.1, wydanej pod koniec 2016 roku.

Let’s Encrypt nie planował zawierać nowej umowy o krzyżowym podpisie, ponieważ wiąże to z dodatkowymi obowiązkami uczestników umowy, ogranicza samodzielność i utrudnia przestrzeganie wszystkich procedur i norm innego urzędowego centrum certyfikacji. Jednak z powodu potencjalnych problemów na dużej liczbie urządzeń z systemem Android plan został zrewidowany. Z urzędowym centrum certyfikacji IdenTrust zawarto nową umowę w ramach której stworzono alternatywny krzyżowo podpisany certyfikat pośredni Let’s Encrypt. Krzyżowy podpis będzie obowiązywał przez trzy lata i umożliwi dalsze wsparcie dla urządzeń z systemem Android od wersji 2.3.6.

Niemniej jednak nowy certyfikat pośredni nie obejmuje wielu innych przestarzałych systemów. Na przykład po wygaśnięciu certyfikatu DST Root CA X3 30 września certyfikaty Let’s Encrypt przestaną być rozpoznawane w już nieobsługiwanych wersjach oprogramowania i systemach operacyjnych, w których dla zapewnienia zaufania do certyfikatów Let’s Encrypt będzie konieczne ręczne dodanie certyfikatu ISRG Root X1 do repozytoriów certyfikatów głównych. Problemy będą się objawiać w:

  • OpenSSL do gałęzi 1.0.2 włącznie (wsparcie gałęzi 1.0.2 zostało zakończone w grudniu 2019 roku);
  • NSS < 3.26;
  • Java 8 < 8u141, Java 7 < 7u151;
  • Windows < XP SP3;
  • macOS < 10.12.1;
  • iOS < 10 (iPhone < 5);
  • Android < 2.3.6;
  • Mozilla Firefox < 50;
  • Ubuntu < 16.04;
  • Debian < 8.

W przypadku OpenSSL 1.0.2 problem został spowodowany błędem, który uniemożliwia prawidłowe przetwarzanie certyfikatów podpisywanych krzyżowo w przypadku wygaśnięcia jednego z root certyfikatów, które były używane do podpisu, nawet jeśli inne ważne łańcuchy zaufania są nadal utrzymywane. Problem ujawnił się po raz pierwszy w zeszłym roku po wygaśnięciu certyfikatu AddTrust, stosowanego do krzyżowego podpisywania w certyfikatach centrów certyfikacji Sectigo (Comodo). Istotą problemu jest to, że OpenSSL interpretował certyfikat jako liniowy łańcuch, podczas gdy zgodnie z RFC 4158 certyfikat może reprezentować skierowany, rozproszony cykliczny graf z wieloma punktami zaufania, które należy uwzględnić.

Użytkownikom starych dystrybucji, opartych na OpenSSL 1.0.2, proponuje się trzy okoliczne obejścia problemu:

  • Ręcznie usunąć root certyfikat IdenTrust DST Root CA X3 i zainstalować oddzielny (nie krzyżowo podpisany) root certyfikat ISRG Root X1.
  • Podczas uruchamiania poleceń openssl verify i s_client można указать опцию «—trusted_first».
  • Używać na serwerze certyfikacie z podpisem oddzielnego root certyfikatu SRG Root X1, który nie ma podpisu krzyżowego. Podana metoda doprowadzi do utraty kompatybilności ze starymi klientami Androida.

Dodatkowo warto odnotować, że projekt Let’s Encrypt przekroczył próg dwóch miliardów wygenerowanych certyfikatów. Próg jednego miliarda został osiągnięty w lutym ubiegłego roku. Codziennie generuje się od 2,2 do 2,4 miliona nowych certyfikatów. Liczba aktywnych certyfikatów wynosi 192 mln (certyfikat jest ważny przez trzy miesiące) i obejmuje około 260 mln. domenów (rok temu obejmował 195 mln domen, dwa lata temu — 150 mln, trzy lata temu — 60 mln). Z danych serwisu Firefox Telemetry wynika, że globalny udział zapytań stron po HTTPS wynosi 82% (rok temu — 81%, dwa lata temu — 77%, trzy lata temu — 69%, cztery lata temu — 58%).

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster