L'autorité de certification Let's Encrypt passe à la validation multiperspective en production,
une contre-mesure pour bloquer les attaques du Border Gateway Protocol

Let’s Encrypt, l’autorité de certification qui a lancé ses services publics en 2015, met à disposition des propriétaires de sites web des moyens automatisés pour l’installation et le renouvellement de certificats gratuits pour le protocole de chiffrement TLS. Avec ces services, Let’s Encrypt souhaite offrir un web à 100 % sécurisé en permettant aux entités qui disposent de peu de ressources financières et techniques d’utiliser ses services pour sécuriser leurs sites web.

L’autorité de certification Let's Encrypt a distribué un grand volume de certificats gratuits par jour en 2016, dépassant parfois la barre des 100 000 certificats par jour. Fin juin 2017, l’autorité a indiqué avoir franchi les 100 millions de certificats depuis son lancement en décembre 2015. Rappelons qu’en février 2017, Let's encrypt était utilisé par 13,70 % du total des domaines français enregistrés.

Pour faciliter le déploiement de ses outils et booster encore plus l’adoption de ses services de sécurité web, Let’s Encrypt a annoncé en juillet 2017 qu’elle allait offrir des « wildcard certificates » (certificats génériques) à partir de janvier 2018. Selon l’autorité, ces certificats génériques ont pour but de sécuriser n’importe quel nombre de sous-domaines d’un domaine de base. En d’autres termes, avec ces certificats génériques, les administrateurs peuvent utiliser une seule paire de certificat et clé pour un domaine et tous ses sous-domaines, et ne plus enregistrer individuellement un certificat pour chaque adresse web comme c’est le cas présentement.

L’autorité avait expliqué que ces certificats génériques seraient offerts gratuitement à travers la version 2 du protocole ACME (Automated Certificate Management Environment). Ce protocole est la pièce maîtresse du service offert par Let’s Encrypt. C’est l’élément avec lequel Let’s Encrypt interagit avec ses abonnés « afin qu’ils puissent obtenir et gérer les certificats ». Il permet à Let’s Encrypt de s’assurer que les méthodes de validation, de délivrance et de gestion sont entièrement automatisées, sécurisées et conformes à ses attentes. Avec la version 2, ACME peut être facilement utilisé par les autres autorités de certification. Par ailleurs, l’autorité a expliqué que l’API de la version 2 de ce protocole va coexister aux côtés de la version 1 en attendant la fin du cycle de vie de cette première version du protocole.


Une solution qui n'est pas infaillible

Malgré les louanges des militants de la vie privée ainsi que ceux de la communauté de sécurité qui sont venus saluer les efforts et les réalisations de l’organisme à but non lucratif, certains critiques ont sonné la cloche d’alarme en prévenant que Let's Encrypt pourrait être coupable d'aller trop loin, trop vite et de donner trop de bonne chose sans avoir mis sur pied les bons contrôles et contrepoids.

L'inquiétude principale est que, bien que la croissance de l’utilisation du protocole SSL/TLS soit une tendance positive pour l’écosystème du Web tout entier, elle offre également aux criminels un moyen simple de faciliter la falsification des sites Web, l'emprunt d'identité des serveurs, les attaques man-in-the-middle, mais aussi un moyen de faire passer des logiciels malveillants à travers les mailles du filet des pare-feux d'entreprises.

« Les utilisateurs peu conscients pourraient penser qu'ils communiquent avec des sites fiables, car l'identité du site a été validée par une autorité de certification, sans se rendre compte que ce ne sont que des certificats de validation de domaine sans aucune garantie quant à l'identité de l'organisation propriétaire du site » , a déclaré Asif Karel, directeur de la gestion des produits chez Qualys.

Bien entendu, les critiques ne rendent pas Let’s Encrypt responsable de ces abus, mais elles estiment que l’autorité pourrait faire un meilleur travail en vérifiant les candidats pour éliminer les mauvais acteurs.

« Let’s Encrypt peut, dans l’absolu, être trompé », a reconnu Josh Aas. « Toutefois, il en va de même pour les autres autorités de certification. Les gens se comportent comme si Let's Encrypt est la première autorité de certification à être trompée. C'est absurde. »

De plus, en 2017, il y a eu une nouvelle discussion sur la faisabilité d'attaquer le Border Gateway Protocol (BGP) qui sous-tend le routage Internet afin d'acquérir de faux certificats TLS auprès des autorités de certification qui émettent des certificats validés par domaine. Les chercheurs présents à la conférence HotPETS 2017 ont montré une de ces attaques en se servant de Let’s Encrypt comme exemple (bien que l'attaque ne soit pas spécifique à Let’s Encrypt).

Let's Encrypt y a répondu brièvement lors de sa présentation pour partager son point de vue et certains travaux en cours liés à la validation des domaines à partir de plusieurs points de vue comme contre-mesure pour rendre ces attaques plus difficiles. Plus tard, en août de la même année, Let's Encrypt était déjà au stade du déploiement de ces contre-mesures.

En fait, depuis le 25 août 2017, Let's Encrypt a déclaré avoir activé sa contre-mesure multi-VA dans son environnement de transfert. Tous les défis créés dans l'environnement de transfert ont commencé à recevoir plusieurs demandes de validation. Il existe trois VA distants et deux des trois VA distants doivent réussir pour que la validation réussisse.

Le déploiement initial comprenait un nombre inférieur d'instances VA distantes et des réseaux sources diversifiés pour permettre à l'autorité d'acquérir de l'expérience à plus petite échelle avant de passer à la production. Elle prévoyait d'augmenter le nombre d'instances distantes et les perspectives de réseau avant d'activer cette contre-mesure en production. À ce moment-là, l'autorité encourageait les opérateurs de serveurs à ne pas tenter de mettre en liste blanche les adresses source, car elle avait l'intention de les modifier sans préavis.


ACME v1/v2: validation des défis à partir de plusieurs points de vue réseau

Il aura fallu un peu plus de deux ans d'expérience à Let's Encrypt pour que l'autorité se décide à passer en production. En effet, depuis le 19 février 2020, Let's Encrypt a activé des exigences de validation plus strictes en production.

« Nous effectuerons plusieurs demandes de validation dans différentes perspectives de réseau. La plupart des émissions devraient se poursuivre normalement; nous pensons qu'un petit nombre de noms de domaine peuvent nécessiter une correction. Le problème le plus courant concerne les hôtes qui utilisent des règles de pare-feu extrêmement strictes pour autoriser la validation à partir des adresses IP spécifiées uniquement (une pratique que nous ne recommandons pas).

« Auparavant, une seule demande de validation d'un de nos centres de données principaux était requise. Après le 19 février, nous effectuerons quatre demandes de validation au total (1 à partir d'un centre de données principal et 3 à partir de centres de données distants). La demande principale et au moins 2 des 3 demandes distantes doivent recevoir la valeur de réponse de défi correcte pour que le domaine soit considéré comme autorisé.

« À l'avenir, nous continuerons d'évaluer l'ajout de nouvelles perspectives de réseau et nous pourrons changer le nombre et le seuil requis ».

Bien entendu, les utilisateurs ont la possibilité d'effectuer des tests, car comme l'explique l'autorité : « tester que la validation de domaine réussit dans l'environnement de transfert est le meilleur moyen de déterminer si votre intégration ACME sera affectée par ce changement. Si vous effectuez actuellement avec succès l'émission dans l'environnement de transfert, aucune action de votre part n'est nécessaire ». L'autorité a précisé que cette modification affecte à la fois l'API ACME V2 et l'API ACME v1 obsolète.

Une liste d'exceptions

« Nous reconnaissons que certains déploiements de clients ACME ont des problèmes pour satisfaire plusieurs demandes de défi, par exemple en raison de zones DNS non synchronisées, de règles de pare-feu inappropriées ou parce que les réponses de défi sont déprovisionnées après le premier compteur de demandes à RFC 8555.

« Pour faciliter le déploiement progressif de la nouvelle exigence de validation multiple, nous déploierons une liste d'exceptions temporaires. Les identifiants de compte ACME et les noms de domaine de cette liste ne nécessiteront que la demande du centre de données principal pour réussir, en maintenant notre stratégie de validation préexistante pour ces entrées.

« Nous allons initialement remplir cette liste avec les domaines que nous prévoyons, sur la base de nos journaux, avoir des problèmes avec la validation multiperspective. Nous ne le ferons que dans le cas où le compte ACME associé a spécifié des informations de contact pour permettre de communiquer qu'il figure sur la liste d'exceptions temporaires.

« Si vous avez testé votre intégration dans l'environnement de transfert et avez trouvé une incompatibilité avec la validation multiperspective, vous pouvez demander à être ajouté à la liste d'exceptions temporaires avec ce formulaire Google.

« Il s'agit strictement d'une mesure temporaire et le 1er juin 2020, nous supprimerons complètement la liste d'exceptions ».

Source : Let's Encrypt