Le processus d’obtention de certificats numériques est compliqué, coûteux en temps, et peut affecter l’opération d’une organisation en cas d’une mauvaise gestion. Entre la soumission des demandes de certificats, leur gestion une fois émis et leur bon renouvellement avant leur expiration, l’intervention humaine dans la réalisation de ces étapes du cycle de vie des certificats exposent les activités opérationnelles d’une organisation à des erreurs et des interruptions de la production.
Le protocole ACME répond au besoin d’automatisation des tâches de gestion de l’émission de certificats numériques, limitant ainsi l’erreur humaine et améliorant la productivité d’une organisation. Dans cet article de blog, nous allons vous expliquer comment fonctionne le protocole ACME et l’autorité de certification Let’s Encrypt ainsi que ses avantages et ses limites, puis les bénéfices de combiner avec une solution CLM.
Comment fonctionne le protocole ACME ?
ACME est principalement utilisé pour obtenir des certificats validés par domaine (DV). En effet, les certificats DV ne nécessitent pas de vérification avancée. Le serveur valide uniquement l’existence du domaine et vérifie que le demandeur contrôle bien le domaine, ce qui ne nécessite aucune intervention humaine et peut être automatisable.
Entités communicantes dans le protocole
Pour utiliser le protocole, un client ACME et un serveur ACME communiquent avec des messages JSON via une connexion HTTPS sécurisée :
- Le client s’exécute sur n’importe quel serveur ou périphérique nécessitant un certificat SSL/TLS de confiance. Il est utilisé pour demander des actions de gestion de certificat, telles que l’émission ou la révocation. Il crée un compte auprès d’un serveur ACME pour pouvoir interagir avec.
- Le serveur fonctionne au niveau d’une Autorité de Certification, comme Let’s Encrypt, et répond aux demandes des clients autorisés.
Challenge ACME
Le protocole est basé sur l’idée de défis et de réponses, où un client prouve son contrôle sur un domaine en complétant un défi établit par le serveur. Le serveur vérifie ensuite la réponse du client et, en cas de succès, émet un certificat numérique à être utilisé par le client.
Les défis fournissent à un serveur ACME l’assurance qu’un titulaire de compte client est également l’entité qui contrôle un identifiant (un nom de domaine le plus souvent).
Challenge HTTP
Avec la validation HTTP, le client prouve son contrôle sur un domaine en démontrant sa capacité à fournir des ressources HTTP sur un serveur accessible sous ce nom de domaine. Le serveur ACME demande au client de mettre à disposition une ressource générée par Let’s Encrypt à une URL spécifique.
Défi DNS
Avec la validation DNS, le client prouve son contrôle sur un domaine démontrant sa capacité à fournir des enregistrements DNS sous ce nom de domaine. Le serveur ACME demande au client de mettre à disposition un enregistrement DNS contenant une ressource générée par Let’s Encrypt pour un sous-domaine spécifique.
Les avantages d’ACME
• La simplicité : en plus de l’automatisation de l’émission et de révocation des certificats, ACME simplifie également le renouvellement automatique des certificats lorsqu’ils approchent de leur date d’expiration grâce à l’ordonnancement de tâches d’exécution de logiciels clients ACME.
• La sécurité : les communications client-serveur sont cryptées par HTTPS et le projet ACME est open-source.
• Le coût : Le protocole ACME n’a pas de frais de licence et il faut très peu de temps aux équipes informatiques pour configurer et exécuter leur automatisation de la gestion des certificats par ACME. Il existe une multitude de logiciels clients ACME gratuits et open-source, ainsi qu’une PKI publique gratuite exploitant le protocole ACME en particulier, la PKI Let’s Encrypt.
Let’s Encrypt
ACME est généralement utilisé conjointement avec Let’s Encrypt, une autorité de certification délivrant des certificats SSL/TLS gratuite et facile à utiliser. Le but étant d’émettre des certificats sécurisés de façon automatisée.
Un usage critique des certificats numériques est dans la communication SSL/TLS, qui repose sur l’authentification de parties communicantes et le chiffrement de leurs données. Le serveur s’authentifie auprès du client grâce à un certificat, reliant son identité à la clé publique fournie dans le certificat utilisé dans le chiffrement des données échangées.
La PKI Let’s Encrypt exploite le protocole ACME avec un rôle serveur. C’est un service fourni par le groupe de recherche sur la sécurité Internet (ISRG), et pour lequel le protocole ACME était originellement conçu. Fondé en 2013, l’organisation vise à réduire les barrières financières, technologiques et éducatives à la sécurité des communications internet grâce à SSL/TLS.
Les Autorités de Certificats racines Root X1 et Root X2, ainsi que leurs certificats respectifs, sont maintenus hors ligne par mesure de sécurité.
Les certificats d’entité finale sont délivrés aux souscripteurs par les autorités intermédiaires R3, R4, E1 et E2. Dans des circonstances normales, les certificats sont émis par les Autorités Intermédiaires R3 et E1. La redondance du service est assurée par les AC intermédiaires R4 et E2. R3 et R4 délivrent des certificats dont la bi-clé est issue de l’algorithme RSA, E1 et E2 de l’algorithme ECDSA.
Let’s Encrypt sur Internet
En octobre 2022, près de 240 millions de certificats SSL/TLS émis par Let’s Encrypt sont déployés sur les serveurs Web de l’Internet, pour près de 300 millions de nom de domaines actifs. Du fait de la facilité d’utilisation des logiciels clients ACME et de la gratuité du service offert par Let’s Encrypt, ce projet relève d’une ressource importante et profitable pour les entreprises.
Quelles sont les limites du protocole ACME et de Let’s Encrypt ?
Le protocole ACME présente quelques limites :
• Il n’est actuellement pas compatible avec tous les fournisseurs de certificats, il nécessite un serveur ACME pour fonctionner.
• Il ne prend pas en charge la gestion des certificats autres que ceux d’un serveur Web. Par exemple, il ne peut pas émettre ni renouveler un certificat d’authentification client, ni de signature électronique
• Il ne prend pas en charge les certificats EV (extended validation) et OV (organisation validation)
Let’s Encrypt inclut des limites d’utilisation pour assurer un usage équitable par le plus de personnes possible. La principale limite est le nombre de certificats pouvant être émis par domaine enregistré, fixé à 50 par semaine.
Concernant la limite des logiciels clients, le nombre maximal de demandes en attente par compte ACME est porté à 300. Il est rare d’atteindre cette limite d’utilisation, cela arrive le plus souvent lors de développement de logiciels clients.
Pourquoi automatiser la gestion des certificats numériques ?
L’émission et le renouvellement manuels des certificats peuvent être fastidieux et prendre beaucoup de temps aux équipes informatiques. Un oubli de renouvellement de certificat expose l’entreprise à des risques de sécurité importants tels que des interruptions de service, des incidents de sécurité, typiquement des attaques Man-in-the-Middle (MITM) dans le cas des certificats SSL/TLS.
Dans un cas de figure où une entreprise déploie un certificat SSL/TLS singulier pour un serveur Web, ou gère une multitude de certificats pour tous les périphériques réseau et les identités d’utilisateurs d’une organisation, le processus de bout en bout d’émission, de configuration et de déploiement de certificats peut prendre plusieurs heures.
Ainsi, l’automatisation permet de gérer le cycle de vie de nombreux certificats de manière plus efficace et plus rapide et d’éviter des interruptions de services. De plus, automatiser la gestion des certificats permet de réduire le coûts associés à la gestion (erreurs humaines, temps humain réduit).
Pourquoi combiner un outil CLM avec le protocole ACME ?
Un CLM permet de gérer et superviser tous les certificats numériques au sein d’un système d’information et de répondre à des besoins importants qui ne sont pas fournis par ACME, tels que :
- Une vue d’ensemble de tous les certificats de l’entreprise, ainsi que des outils pour les gérer efficacement.
- Des fonctionnalités pour protéger et gérer les clés privées.
- La gestion d’un large éventail de types de certificats, tels que les certificats de signature de code, de chiffrement et de gestion de la confidentialité (ACME se concentre uniquement sur la gestion des certificats SSL/TLS).
- Des fonctionnalités de conformité et de conformité réglementaire, pour s’assurer que les certificats utilisés par l’entreprise respectent les réglementations et les normes de l’industrie.
Notre solution de gestion des certificats BerryCert supporte de nombreux types de PKI dont les PKI ACME. Pour chaque type de PKI, BerryCert est capable de leur adresser des demandes d’émission et de révocation de certificats et de les répertorier, eux et leur état. Il est capable d’agir en tant que client ACME et d’interroger n’importe qu’elle PKI supportant le protocole, dont Let’s Encrypt. Il est également capable d’agir en tant que serveur ACME intermédiaire, pouvant remplir le rôle d’interface entre un logiciel client ACME et une PKI supporté par BerryCert utilisant un protocole de communication différent d’ACME.