Le 30 septembre à 17h01, heure de Moscou, expirera la durée de vie du certificat racine de la société IdenTrust (DST Root CA X3), qui a été utilisé pour la signature croisée du certificat racine de l'autorité de certification Let’s Encrypt (ISRG Root X1), contrôlée par la communauté et fournissant des certificats gratuitement à tous ceux qui le souhaitent. La signature croisée assurait la confiance envers les certificats Let’s Encrypt sur une large gamme d'appareils, systèmes d'exploitation et navigateurs pendant la période d'intégration de son propre certificat racine Let’s Encrypt dans les magasins de certificats racine.
À l'origine, il était prévu qu'après l'obsolescence de DST Root CA X3, le projet Let’s Encrypt passe à la formation de signatures n'utilisant que son propre certificat racine, mais une telle démarche entraînerait une perte de compatibilité avec un grand nombre de systèmes anciens qui n'ont pas ajouté le certificat racine Let’s Encrypt à leurs magasins. En particulier, environ 30 % des appareils Android en usage ne contiennent pas d'informations sur le certificat racine Let’s Encrypt, dont le support n'est apparu qu'à partir de la version Android 7.1.1, lancée fin 2016.
Let’s Encrypt ne prévoyait pas de conclure un nouvel accord de signature croisée, car cela impose des responsabilités supplémentaires aux participants de l'accord, enlève l'autonomie et limite les marges de manœuvre en matière de conformité à toutes les procédures et règles de l'autre autorité de certification. Mais en raison de problèmes potentiels sur un grand nombre d'appareils Android, le plan a été révisé. Un nouvel accord a été signé avec l'autorité de certification IdenTrust, dans le cadre duquel un certificat intermédiaire croisé alternatif de Let’s Encrypt a été créé. La signature croisée sera valide pendant trois ans et permettra de maintenir le support des appareils Android, à partir de la version 2.3.6.
Cependant, le nouveau certificat intermédiaire ne couvre pas de nombreux autres systèmes obsolètes. Par exemple, après l'obsolescence du certificat DST Root CA X3 le 30 septembre, les certificats Let’s Encrypt ne seront plus reconnus dans des versions de firmware et des systèmes d'exploitation qui ne sont plus pris en charge, où la confiance envers les certificats Let’s Encrypt nécessitera l'ajout manuel du certificat ISRG Root X1 dans le magasin des certificats racine. Les problèmes se manifesteront dans:
- OpenSSL jusqu'à la version 1.0.2 incluse (le support de la série 1.0.2 a été arrêté en décembre 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.
Dans le cas d'OpenSSL 1.0.2, le problème est dû à un bug qui empêche un traitement correct des certificats signés croisés, en cas d'expiration d'un des certificats racines utilisés pour la signature, même si d'autres chaînes de confiance valides sont conservées. Le problème a émergé l'année dernière après l'expiration du certificat AddTrust, utilisé pour la signature croisée des certificats de l'autorité de certification Sectigo (Comodo). La nature du problème réside dans le fait qu'OpenSSL interprétait le certificat comme une chaîne linéaire, alors que conformément à la RFC 4158, un certificat peut représenter un graphe cyclique orienté distribué avec plusieurs ancres de confiance à prendre en compte.
Aux utilisateurs de anciennes distributions basées sur OpenSSL 1.0.2, trois solutions de contournement sont proposées :
- Supprimez manuellement le certificat racine IdenTrust DST Root CA X3 et installez le certificat racine ISRG Root X1 (non signé croisé).
- Lors de l'exécution des commandes openssl verify et s_client, vous pouvez spécifier l'option «—trusted_first».
- Utilisez sur le serveur le certificat, signé par un certificat racine ISRG Root X1 sans signature croisée. Cette méthode entraînera une perte de compatibilité avec les anciens clients Android.
De plus, on peut noter que le projet Let's Encrypt a franchi le cap des deux milliards de certificats générés. Le cap d'un milliard a été atteint en février de l'année dernière. Entre 2,2 et 2,4 millions de nouveaux certificats sont générés quotidiennement. Le nombre de certificats actifs s'élève à 192 millions (un certificat est valable trois mois) et couvre environ 260 millions domaines (il y a un an, 195 millions de domaines étaient couverts, deux ans auparavant — 150 millions, trois ans auparavant — 60 millions). Selon les statistiques du service Firefox Telemetry, la part mondiale des requêtes de pages via HTTPS représente 82 % (l'année dernière — 81 %, il y a deux ans — 77 %, il y a trois ans — 69 %, il y a quatre ans — 58 %).
Source : opennet.ru
