Publié le
11 février 2024
Introduction
Le protocole ACME (Automated Certificate Management Environment) est un protocole réseau conçu pour automatiser la validation des domaines et la distribution des certificats X.509 . Initialement développé par l'Internet Security Research Group (ISRG) pour son propre service de distribution de certificats, Let's Encrypt , ce protocole est désormais publié comme norme Internet dans la RFC 8555. L'ISRG bénéficie du soutien d'entreprises telles que Cisco, Google, Mozilla et Facebook.
ACME v1 a été lancé le 12 avril 2016, mais il est désormais obsolète.
La version la plus récente et actuellement prise en charge, ACME v2, a été publiée le 13 mars 2018 .
La principale nouveauté d'ACME v2 est la prise en charge des domaines génériques. Elle n'est pas rétrocompatible avec ACME v1.
Aperçu
Les certificats SSL sont généralement utilisés sur Internet pour sécuriser les communications avec un site web. Ils certifient l'identité du site web à partir de son nom de domaine DNS. Ces certificats sont délivrés par des autorités de certification publiques selon trois stratégies de validation :
Validation du domaine, où l'administrateur du site web devra prouver qu'il contrôle le domaine DNS
Validation de l'organisation, au cours de laquelle l'administrateur du site web devra prouver qu'il représente l'organisation détentrice du domaine DNS
Validation étendue, qui ajoute des contrôles supplémentaires à la validation de l'organisation
En résumé, les étapes pour obtenir un certificat à l'aide du processus de validation de domaine sont les suivantes :
Générer une demande de signature de certificat PKCS#10 ;
Téléchargez le CSR sur la page web de l'autorité de certification ;
Attester de la propriété du domaine inclus dans la CSR en utilisant l'une des méthodes suivantes :
Ajoutez un défi fourni par l'autorité de certification à un emplacement spécifique sur le serveur web ;
Ajoutez un défi fourni par l'autorité de certification dans un enregistrement DNS correspondant au domaine demandé ;
Recevez un défi fourni par l'autorité de certification à une adresse électronique et répondez-y sur la page Web de l'autorité de certification.
Recevez et installez le certificat généré.
ACME vise à automatiser ces mécanismes utilisés dans le processus de validation de domaine en fournissant un cadre qui automatise la procédure de vérification d'identité et la délivrance des certificats.
Vous souhaitez mettre en œuvre ces pratiques PKI ?
Bénéficiez de conseils d'experts sur la mise en œuvre de solutions PKI sécurisées pour votre organisation.
Obtenez l'aide d'un expertLes communications entre un serveur ACME et un client ACME sont basées sur JavaScript Object Notation (JSON) , sécurisés à l'aide de TLS et de JSON Web Signature (JWS).
L'émission d'un certificat via le protocole ACME est très similaire à l'émission d'un certificat via le processus DV habituel des autorités de certification :
Création d'un compte ;
Demande de certificat ;
Prouvez la propriété du domaine en utilisant un défi.
Voici en détail la procédure de demande de certificat utilisant le protocole ACME :
Le client doit créer un compte, envoyer une demande de signature, répondre à un défi lancé par le serveur ACME, puis envoyer la CSR pour signature. Dans la plupart des cas, toutes ces opérations sont entièrement automatisées.
À propos du processus de validation ACME
ACME spécifie 3 méthodes de validation différentes, conformément à la RFC 8555 :
prévalidation, où la validation a lieu avant l'inscription effective à l'ACME, par d'autres moyens que l'ACME
Validation http-01, où le défi de validation est servi par le client via HTTP
Validation DNS-01, où le défi de validation est mis à disposition via DNS
Une quatrième méthode de validation est également couramment utilisée. Connue sous le nom de tls-alpn-01, elle s'appuie sur l'extension TLS ALPN pour fournir un certificat auto-signé contenant le défi.
Ces 4 méthodes de validation présentent toutes des avantages et des inconvénients, car il n'est pas toujours possible de les utiliser toutes :
Les ports HTTP peuvent être fermés ou redirigés de manière agressive vers HTTPS
Les serveurs DNS peuvent être mis hors service et ne pas être facilement utilisables par les clients ACME
L'extension TLS ALPN n'est pas prise en charge par tous les serveurs
Très peu de clients prennent en charge la méthode de prévalidation, car Let's Encrypt ne la prend pas en charge
Par conséquent, lors de la conception d'une solution d'automatisation PKI basée sur ACME, le choix et l'architecture utilisés pour la validation constituent un point clé.
Clients ACME
L'autre point essentiel est le choix des clients ACME. Certains produits ou solutions incluent déjà un client ACME, ce qui simplifie grandement le choix.
Pour les autres cas, voici une liste non exhaustive des clients d'ACME :