Wissen von A bis Z

ACME-Protokoll

ACME ist quasi der Roboter-Butler für Ihre Web-Verschlüsselung, der nie vergisst, die Zertifikate rechtzeitig zu erneuern.

ACME (Automatic Certificate Management Environment) ist ein Protokoll zur automatisierten Ausstellung, Erneuerung und Widerruf von X.509-Zertifikaten. Über HTTPS kommuniziert ein ACME-Client mit einer ACME-CA, beweist die Kontrolle über eine Domain durch Challenges (HTTP-01, DNS-01, TLS-ALPN-01) und erhält daraufhin ein Zertifikat.

Der typische Ablauf umfasst Account-Erstellung, Order-Anlage für eine oder mehrere Identifier (z. B. Domains), die Bearbeitung der zugehörigen Authorizations und Challenges, die Einreichung eines CSR und schließlich den Download des ausgestellten Zertifikats. Bekannte ACME-Clients sind Certbot, acme.sh, Caddy, Lego (Go) und win-acme.

Einsatzzweck ist die vollständige Automatisierung des bislang oft manuellen Zertifikatslebenszyklus. Damit werden kurze Zertifikatslaufzeiten praktikabel, was wiederum die Auswirkungen kompromittierter Schlüssel verringert. Auch in Maschinen-PKIs wird ACME zunehmend als Schnittstelle zwischen Workloads und CA verwendet.

ACME wurde von Internet Security Research Group (ISRG) im Rahmen des Projekts Let's Encrypt initiiert und 2019 in RFC 8555 standardisiert. Damit wurde ACME zu einem offenen Standard, den auch andere CAs implementieren – etwa BuyPass, ZeroSSL oder kommerzielle CAs für Enterprise-Use-Cases.

Die Kombination ACME + Let's Encrypt hat das Internet messbar verändert: Der HTTPS-Anteil im Web ist seit 2016 von rund 40 % auf über 90 % gestiegen. Heute existiert mit RFC 8737 sogar eine Variante (TLS-ALPN-01), die speziell für Szenarien gedacht ist, in denen der Webserver nicht ohne Weiteres http-Antworten ausliefern kann.

Zurück