Het verlopen van het IdenTrust-rootcertificaat zal op oudere apparaten leiden tot verlies van vertrouwen in Let's Encrypt

Op 30 september om 17:01 uur Moskouse tijd werd het IdenTrust-rootcertificaat (DST Root CA X3), dat werd gebruikt voor de kruisondertekening van het rootcertificaat van de certificeringsinstantie Let's Encrypt (ISRG Root X1), die wordt beheerd door de gemeenschap en verstrekt gratis certificaten aan iedereen, vervalt. Cross-signing zorgde ervoor dat Let's Encrypt-certificaten vertrouwd werden op een breed scala aan apparaten, besturingssystemen en browsers, terwijl Let's Encrypt's eigen rootcertificaat werd geïntegreerd in de rootcertificaatarchieven.

Oorspronkelijk was het de bedoeling dat het Let's Encrypt-project na de beëindiging van DST Root CA X3 zou overschakelen naar het genereren van handtekeningen met alleen het rootcertificaat, maar een dergelijke stap zou leiden tot een verlies aan compatibiliteit met een groot aantal oudere systemen die dat niet deden. voeg het Let's Encrypt-rootcertificaat toe aan hun repository's. In het bijzonder beschikt ongeveer 30% van de gebruikte Android-apparaten niet over gegevens over het Let's Encrypt-rootcertificaat, waarvoor de ondersteuning pas verscheen vanaf het Android 7.1.1-platform, dat eind 2016 werd uitgebracht.

Let's Encrypt was niet van plan een nieuwe kruisondertekeningsovereenkomst aan te gaan, omdat dit extra verantwoordelijkheid oplegt aan de partijen bij de overeenkomst, hen hun onafhankelijkheid ontneemt en hun handen bindt wat betreft de naleving van alle procedures en regels van een andere certificeringsinstantie. Maar vanwege mogelijke problemen op een groot aantal Android-apparaten werd het plan herzien. Met de certificeringsinstantie IdenTrust werd een nieuwe overeenkomst gesloten, in het kader waarvan een alternatief kruisondertekend Let's Encrypt tussencertificaat werd gecreëerd. De kruisondertekening is drie jaar geldig en blijft ondersteuning bieden voor Android-apparaten vanaf versie 2.3.6.

Het nieuwe tussencertificaat dekt echter niet veel andere oudere systemen. Wanneer het DST Root CA X3-certificaat bijvoorbeeld op 30 september wordt beëindigd, worden Let's Encrypt-certificaten niet langer geaccepteerd op niet-ondersteunde firmware en besturingssystemen waarvoor het ISRG Root X1-certificaat handmatig moet worden toegevoegd aan het rootcertificaatarchief om het vertrouwen in Let's Encrypt-certificaten te garanderen. . Problemen zullen zich manifesteren in:

  • OpenSSL tot en met tak 1.0.2 (onderhoud van tak 1.0.2 is stopgezet in december 2019);
  • 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.

In het geval van OpenSSL 1.0.2 wordt het probleem veroorzaakt door een bug die voorkomt dat kruisondertekende certificaten correct worden verwerkt als een van de basiscertificaten die voor ondertekening worden gebruikt verloopt, zelfs als er andere geldige vertrouwensketens overblijven. Het probleem dook vorig jaar voor het eerst op nadat het AddTrust-certificaat dat werd gebruikt om certificaten van de certificeringsinstantie Sectigo (Comodo) te kruisen, verouderd was. De kern van het probleem is dat OpenSSL het certificaat parseerde als een lineaire keten, terwijl volgens RFC 4158 een certificaat een gerichte gedistribueerde cirkelvormige grafiek kan vertegenwoordigen met meerdere vertrouwensankers waarmee rekening moet worden gehouden.

Gebruikers van oudere distributies gebaseerd op OpenSSL 1.0.2 krijgen drie oplossingen aangeboden om het probleem op te lossen:

  • Handmatig het IdenTrust DST Root CA X3-basiscertificaat verwijderd en het zelfstandige (niet kruisondertekende) ISRG Root X1-basiscertificaat geïnstalleerd.
  • Wanneer u de opdrachten openssl verificatie en s_client uitvoert, kunt u de optie “--trusted_first” opgeven.
  • Gebruik op de server een certificaat dat is gecertificeerd door een afzonderlijk basiscertificaat SRG Root X1, dat geen kruishandtekening heeft. Deze methode leidt tot verlies van compatibiliteit met oudere Android-clients.

Bovendien kunnen we vaststellen dat het Let's Encrypt-project de mijlpaal van twee miljard gegenereerde certificaten heeft overschreden. De mijlpaal van één miljard werd in februari vorig jaar bereikt. Dagelijks worden er 2.2 tot 2.4 miljoen nieuwe certificaten gegenereerd. Het aantal actieve certificaten bedraagt ​​192 miljoen (een certificaat is drie maanden geldig) en bestrijkt ongeveer 260 miljoen domeinen (195 miljoen domeinen waren een jaar geleden gedekt, 150 miljoen twee jaar geleden, 60 miljoen drie jaar geleden). Volgens statistieken van de Firefox Telemetry-service bedraagt ​​het wereldwijde aandeel van paginaverzoeken via HTTPS 82% (een jaar geleden - 81%, twee jaar geleden - 77%, drie jaar geleden - 69%, vier jaar geleden - 58%).

Bron: opennet.ru

Voeg een reactie