Le protocole ACME a été développé par les opérateurs du projet Let's Encrypt conçu pour faciliter l'exposition de Certificats de serveur web d'automatiser le processus. Il est spécifié dans RFC 8555.
L'objectif est de faciliter le processus de preuve de la possession de la ressource DNS (les adresses IP ne peuvent pas être identifiées pour l'instant, mais cela est prévu pour l'avenir), mais aussi d'améliorer la sécurité des données. pas de la personne ou de l'organisation qui se trouve derrière, afin de pouvoir ensuite obtenir un certificat de serveur web sans interaction humaine.
Le développement de ce protocole a été motivé par le fait que les autorités de certification existantes utilisaient des processus propriétaires et non automatisables, qui étaient par conséquent sujets à des erreurs et ne permettaient donc pas de garantir la sécurité des données. des erreurs d'exposition se sont produites. L'automatisation devrait également améliorer l'expérience de l'utilisateur et augmenter le taux d'utilisation de SSL sur les serveurs web.
Connaissez-vous TameMyCerts? TameMyCerts est un add-on pour l'autorité de certification Microsoft (Active Directory Certificate Services). Il étend la fonction de l'autorité de certification et permet de Application de la réglementationIl s'agit d'un logiciel de gestion des certificats qui permet d'automatiser l'émission de certificats en toute sécurité. TameMyCerts est unique dans l'écosystème Microsoft, a déjà fait ses preuves dans d'innombrables entreprises du monde entier et est disponible sous une licence libre. Il peut téléchargé via GitHub et être utilisé gratuitement. Une maintenance professionnelle est également proposée.
Fonctionnement
Le protocole ACME permet aux demandeurs de demander et de révoquer des certificats pour les identités DNS en leur possession de manière entièrement automatique.
Die Nachrichten werden in JSON formatiert, per UTF8 kodiert und per HTTPS übertragen. Die JSON Nachrichten verwenden JSON Web Security (JWS), um Anti-Replay, Authentisierung der Nachrichten und Integritätsschutz zu gewährleisten. Binäre Daten werden in BASE64 kodiert.
Dans la communication, il y a les rôles de "client" (demandeur) et de "serveur" (l'instance du serveur ACME, le RFC parle aussi dans ce cas d'autorité de certification, alors qu'il ne s'agit en fait que d'une autorité d'enregistrement ou d'une interface).
Demande de certificat
Il est prévu que le client puisse choisir parmi plusieurs autorités de certification activées par l'ACME.
Le déroulement se présente comme suit :
- Créer un compte (newAccount). Il est possible de fournir des informations de contact et d'accepter les conditions de l'infrastructure à clé publique. La demande de création de compte est signée avec une clé privée générée au préalable.
- Commander un certificat (newOrder).
- prouver la possession des identités contenues dans la commande (les moyens de le faire sont déterminés par le serveur en réponse à la commande reçue précédemment).
- Envoyer les demandes de certificat.
- Demander l'émission du certificat et récupérer/télécharger le certificat.

Le serveur ACME intervient brièvement en tant que client HTTP ou DNS lors de la vérification des identités.
Demande de blocage
Il est également possible de demander la révocation d'un certificat émis précédemment avec ACME.
- Envoi d'une demande de verrouillage signée (revokeCert).
- Le serveur ACME communique le résultat.

Renouvellement du certificat
La création d'un compte permet d'établir des informations de contact et un lien entre le demandeur et le certificat délivré. Cela permet par exemple d'informer le demandeur lorsque le certificat approche de la fin de sa période de validité.
Le demandeur peut ainsi se voir rappeler de renouveler son certificat à temps. Une notification à l'expiration du certificat n'est toutefois pas obligatoire et n'est pas non plus nécessaire dans tous les cas, car le renouvellement du certificat peut également être effectué de manière proactive (et automatisée) par le demandeur.
Ce que l'ACME ne peut pas faire
Le protocole ACME ne peut pas déterminer si un attaquant a pris le contrôle d'un domaine DNS ou d'un hôte individuel. Il délivre des certificats lorsque la preuve requise est apportée avec succès. Il n'est donc pas adapté à tous les cas d'utilisation. Une validation étendue (EV) ne peut pas être représentée avec le protocole.
Le protocole ACME suppose que le service est fourni gratuitement. Il n'y a donc pas de méthode pour mettre en place une facturation. La création d'un compte avant l'émission d'un certificat permettrait toutefois d'implémenter une telle logique par le biais d'un développement interne.
ACME pour Active Directory Certificate Services
Une interface ACME est également très avantageuse pour une autorité de certification interne. L'automatisation de la demande et de l'émission de certificats de serveur web améliore l'expérience utilisateur et l'acceptation de l'utilisation de HTTPS, allège la charge de travail du personnel PKI et minimise les erreurs lors de l'émission de certificats.
Les services de certificats Active Directory apportent cependant ne prend malheureusement pas en charge le protocole ACME par défaut avec . Il existe des solutions commerciales comme certACME de Secardeo ou xc d'essendi it, qui peuvent combler cette lacune.
Il existe avec Serveur ACME-ADCS également une solution à code source libre publiée sur GitHub. Veuillez noter que le projet ne peut être utilisé gratuitement qu'à des fins d'étude. Pour une utilisation commerciale, une licence doit être achetée auprès de l'auteur.
Liens complémentaires :
Sources externes
- Environnement de gestion automatique des certificats (ACME) (Internet Engineering Task Force)
- Serveur ACME-ADCS (GitHub / Thomas Ottenhus)
Les commentaires sont fermés.