Let's Encrypt, une autorité de certification (CA) de confiance publique utilisée par Cloudflare pour émettre des certificats TLS, s'appuyait sur deux chaînes de certificats distinctes. L'un a été signé de manière croisée avec IdenTrust, une autorité de certification mondiale de confiance qui existe depuis 2000, et l'autre était l'autorité de certification racine de Let's Encrypt, ISRG Root X1. Depuis le lancement de Let's Encrypt, ISRG Root X1 a progressivement acquis une plus grande compatibilité avec les appareils.
Le 30 septembre 2024, la chaîne de certificats Let's Encrypt signée de manière croisée avec IdenTrust expirera. Afin de se préparer de manière proactive à ce changement, le 15 mai 2024, Cloudflare cessera de délivrer des certificats à partir de la chaîne à signature croisée et utilisera à la place la chaîne ISRG Root X1 de Let's Encrypt pour tous les futurs certificats.
Le changement dans la chaîne de certificats affectera les appareils et systèmes existants, tels que les appareils Android dans la version 7.1.1 ou antérieure, car ceux-ci s'appuient exclusivement sur la chaîne de signatures croisées et n'ont pas la racine ISRG X1 dans leur magasin de confiance. Ces clients peuvent rencontrer des erreurs ou des avertissements TLS lors de l'accès à des domaines protégés par un certificat Let's Encrypt.
Selon Let's Encrypt, plus de 93,9 % des appareils Android font déjà confiance à ISRG Root X1, et ce nombre devrait augmenter en 2024, notamment avec la sortie de la version 14 d'Android, qui rend le magasin de confiance Android évolutif facilement et automatiquement.
De l'analyse des données, nous avons constaté que, sur toutes les requêtes Android, 2,96 % proviennent d'appareils qui seront concernés par le changement. De plus, seulement 1,13 % de toutes les requêtes de Firefox proviennent de versions concernées, ce qui signifie que la majorité (98,87 %) des requêtes des versions d'Android utilisant Firefox ne seront pas impactées.
Préparation au changement
Si vous craignez que le changement affecte vos clients, vous pouvez prendre certaines mesures pour réduire l'impact du changement. Si vous contrôlez les clients qui se connectent à votre application, nous vous recommandons de mettre à jour le magasin de confiance pour inclure ISRG Root X1. Si vous utilisez l’épinglage de certificat, supprimez ou mettez à jour votre code PIN. En général, nous déconseillons à tous les clients d'épingler leurs certificats, car cela entraîne généralement des problèmes lors des renouvellements de certificats ou des changements d'AC.
L'épinglage de certificat, également connu sous le nom d'épinglage de clé publique HTTP (HPKP), est une technique de sécurité qui permet aux sites Web d'associer des certificats ou des clés publiques spécifiques à leur domaine, empêchant ainsi les attaques de l'homme du milieu provoquées par des certificats frauduleux. Ce processus permet aux clients de vérifier si le certificat présenté par le serveur lors d'une connexion TLS/SSL fait bien partie de ceux que le propriétaire du site a désignés comme fiables. Si le certificat ou la clé publique ne correspond pas à ceux « épinglés », la connexion est rejetée, augmentant ainsi la sécurité contre les compromissions des autorités de certification ou l'émission inappropriée de certificats.
Bien que ce changement affectera une petite partie des clients, nous soutenons la transition effectuée par Let's Encrypt, car il prend en charge un Internet plus sécurisé et plus agile.
Accepter le changement pour évoluer vers un Internet meilleur
Avec le recul, de nombreux défis ont ralenti l’adoption de nouvelles technologies et normes qui ont contribué à rendre Internet plus rapide, plus sûr et plus fiable.
Avant que Cloudflare ne lance Universal SSL, les certificats gratuits n'étaient pas disponibles. Au lieu de cela, les propriétaires de domaine devaient payer environ 100 dollars pour obtenir un certificat TLS. Pour une petite entreprise, cela représente un coût important et sans l’application de TLS par le navigateur, cela a considérablement entravé l’adoption de TLS pendant des années. Il a fallu des décennies pour que les algorithmes non sécurisés soient obsolètes en raison du manque de prise en charge des nouveaux algorithmes dans les navigateurs ou les appareils. Nous avons appris cette leçon en dépréciant SHA-1.
La prise en charge de nouvelles normes et protocoles de sécurité est essentielle pour continuer à améliorer Internet. Au fil des années, des changements importants et parfois risqués ont été apportés pour nous permettre d’avancer. Le lancement de Let's Encrypt en 2015 a été monumental. Let's Encrypt a permis à chaque domaine d'obtenir un certificat TLS gratuitement, ouvrant la voie à un Internet plus sécurisé, avec environ 98 % du trafic utilisant désormais HTTPS.
En 2014, Cloudflare a lancé la prise en charge de l'algorithme de signature numérique à courbe elliptique (ECDSA) pour les certificats émis par Cloudflare et a décidé de délivrer des certificats ECDSA uniquement aux clients gratuits. Cela a accru l'adoption d'ECDSA en poussant les clients et les opérateurs Web à apporter des modifications pour prendre en charge le nouvel algorithme, qui offrait la même (sinon meilleure) sécurité que RSA tout en améliorant également les performances. De plus, les navigateurs et systèmes d’exploitation modernes sont désormais conçus pour prendre en charge en permanence les nouvelles normes, de sorte qu’ils peuvent rendre obsolètes les anciennes.
Pour progresser dans la prise en charge de nouvelles normes et protocoles, nous devons rendre l’écosystème de l’infrastructure à clé publique (PKI) plus agile. En retirant la chaîne de signatures croisées, Let's Encrypt pousse les appareils, les navigateurs et les clients à prendre en charge les magasins de confiance adaptables. Cela permet aux clients de prendre en charge de nouvelles normes sans provoquer de changement radical. Cela pose également les bases de l’émergence de nouvelles autorités de certification.
Aujourd’hui, l’une des principales raisons pour lesquelles le nombre d’autorités de certification disponibles est limité est qu’il faut des années pour qu’elles deviennent largement fiables, c’est-à-dire sans signature croisée avec une autre autorité de certification. En 2017, Google a lancé une nouvelle autorité de certification publique, Google Trust Services, qui émet des certificats TLS gratuits. Même s'ils ont été lancés quelques années après Let's Encrypt, ils ont été confrontés aux mêmes défis de compatibilité et d'adoption des appareils, ce qui les a conduits à signer de manière croisée avec l'autorité de certification de GlobalSign. Nous espérons qu'au moment où l'autorité de certification de GlobalSign expirera, presque tout le trafic proviendra d'un client et d'un navigateur modernes, ce qui signifie que l'impact du changement devrait être minime.