Zum Hauptinhalt springen

1. Introduction (Einführung)

Zertifikate (Certificates) im Web-PKI [RFC5280] werden am häufigsten zur Authentifizierung von Domainnamen (Domain Names) verwendet. Daher werden Zertifizierungsstellen (Certification Authorities, CAs) im Web-PKI als vertrauenswürdig angesehen, um zu überprüfen, ob Zertifikatsantragsteller die in einem Zertifikat enthaltenen Domainnamen rechtmäßig vertreten.

Verschiedene Zertifikatstypen spiegeln unterschiedliche Validierungsstufen wider, die eine CA für die im Zertifikat enthaltenen Informationen über den Zertifikatsinhaber durchführt. „Domainvalidierte" (Domain Validation, DV) Zertifikate sind bei weitem der häufigste Typ. Bei der Ausstellung von DV-Zertifikaten ist die einzige Validierung, die eine CA durchführen muss, die Bestätigung, dass der Antragsteller die betreffende Domain effektiv kontrolliert [CABFBR]. Die CA muss nicht versuchen, die tatsächliche Identität des Antragstellers zu überprüfen. (Dies steht im Gegensatz zu „organisationsvalidierten" (Organization Validation, OV) und „erweitert validierten" (Extended Validation, EV) Zertifikaten, deren Prozesse auch darauf abzielen, die tatsächliche Identität des Antragstellers zu überprüfen.)

Bestehende Web-PKI-Zertifizierungsstellen neigen dazu, eine Reihe von Ad-hoc-Protokollen (Ad Hoc Protocols) für die Zertifikatsausstellung und -identitätsprüfung zu verwenden. Für DV-Zertifikate sieht die typische Benutzererfahrung wie folgt aus:

  • Generierung einer PKCS#10 [RFC2986] Zertifikatsignierungsanforderung (Certificate Signing Request, CSR).

  • Kopieren und Einfügen des CSR in eine Webseite der CA.

  • Nachweis der Kontrolle über den Domainnamen im CSR durch eine der folgenden Methoden:

    • Platzierung einer von der CA bereitgestellten Herausforderung (Challenge) an einem bestimmten Ort auf einem Webserver.

    • Platzierung einer von der CA bereitgestellten Herausforderung in einem DNS-Eintrag, der der Zieldomain entspricht.

    • Empfang einer von der CA bereitgestellten Herausforderung an einer (hoffentlich) vom Administrator kontrollierten E-Mail-Adresse für die Domain und anschließende Antwort auf der Webseite der CA.

  • Herunterladen des ausgestellten Zertifikats und Installation auf dem Webserver des Benutzers.

Abgesehen vom CSR selbst und dem ausgestellten Zertifikat sind dies vollständig Ad-hoc-Verfahren, die dadurch abgeschlossen werden, dass menschliche Benutzer den interaktiven Anweisungen der CA in natürlicher Sprache folgen, anstatt durch maschinell implementierte veröffentlichte Protokolle. In vielen Fällen sind diese Anweisungen schwer zu befolgen und führen zu erheblicher Frustration und Verwirrung. Informelle Usability-Tests der Autoren zeigen, dass Website-Administratoren typischerweise 1–3 Stunden benötigen, um ein Zertifikat für eine Domain zu erhalten und zu installieren. Selbst im besten Fall hemmt das Fehlen eines veröffentlichten standardisierten Mechanismus die breite Bereitstellung von HTTPS und anderen auf PKIX basierenden Systemen, da es die Mechanisierung von Aufgaben im Zusammenhang mit der Zertifikatsausstellung, -bereitstellung und -widerrufung unterdrückt.

Dieses Dokument beschreibt ein erweiterbares Framework zur Automatisierung des Zertifikatsausstellungs- und Domainvalidierungsprozesses, das es Server- und Infrastruktursoftware ermöglicht, Zertifikate ohne Benutzerinteraktion zu erhalten. Die Verwendung dieses Protokolls sollte die Bereitstellung von HTTPS sowie die Praktikabilität der PKIX-basierten Authentifizierung in anderen auf Transport Layer Security (TLS) [RFC8446] basierenden Protokollen erheblich vereinfachen.

Es ist zu beachten, dass ACME, obwohl sich dieses Dokument auf die Validierung von Domainnamen für die Zertifikatsausstellung im Web-PKI konzentriert, Erweiterungen für die Verwendung anderer Identifikatoren in anderen PKI-Kontexten unterstützt. Zum Zeitpunkt der Erstellung dieses Dokuments laufen beispielsweise Arbeiten zur Verwendung von ACME für die Ausstellung von Web-PKI-Zertifikaten, die IP-Adressen [ACME-IP] und Telefonnummern über Secure Telephone Identity Revisited (STIR) [ACME-TELEPHONE] belegen.

ACME kann auch zur Automatisierung bestimmter Aspekte des Zertifikatsmanagements verwendet werden, selbst in Fällen, in denen nicht-automatisierte Prozesse noch erforderlich sind. Beispielsweise kann die Funktion zur externen Kontobindung (External Account Binding) (siehe Abschnitt 7.3.4) es einem ACME-Konto ermöglichen, Autorisierungen zu nutzen, die einem externen Nicht-ACME-Konto gewährt wurden. Dies ermöglicht es ACME, Ausstellungsszenarien zu handhaben, die noch nicht vollständig automatisiert werden können, wie z. B. die Ausstellung von „erweitert validierten" Zertifikaten.