RFC 6844 Certification Authority Authorization (CAA)

Seit Anfang 2013 gibt es den RFC 6844 „Certification Authority Authorization“ (CAA). CAA spezifiziert einen gleichnamigen Resource Record zur Ablage im DNS, mit dem ein Domain-Inhaber festlegen kann, welche Zertifizierungsstelle (CA) für seine Domain Zertifikate ausgeben darf.

Das CA/Browser-Forum verpflichtet mit Ballot 187 jede CA, ab spätestens September 2017 diese CAA Resource Records auszuwerten und zu beachten.

In der DFN-PKI wird dieser Mechanismus zum Sommer 2017 unterstützt werden.

Mechanismus

CAA RRs werden vor der Ausstellung von Zertifikaten durch die CA ausgewertet. Es wird geprüft, ob der Domain-Inhaber einen CAA RR mit der entsprechenden CA gesetzt hat. Gibt es keinen CAA RR, so kann jede CA für die Domain zertifizieren.

CAA wird also nicht von Nutzern von Zertifikaten ausgewertet, sondern ausschließlich von Zertifizierungsstellen exakt zum Zeitpunkt der Ausstellung des Zertifikats. Eine Auswertung durch Nutzer zum Zweck der Zertifikatvalidierung ist im RFC explizit ausgeschlossen.

Im RFC wird empfohlen, CAA in Kombination mit DNSSEC einzusetzen. Die Nutzung ohne DNSSEC ist aber ebenfalls erlaubt.

CAA definiert drei Properties:

  • issue enthält als Wert die Domain der CA, die für die Domain, in der die CAA RRs definiert sind, Zertifikate ausstellen darf.
  • issuewild hat dieselben Eigenschaften wie issue, wird aber für Wildcard-Zertifikate ausgewertet. Ist kein issuewild gesetzt, wird auch für Wildcard-Zertifikate issue ausgewertet
  • iodef spezifiziert Kontaktadressen des Domain-Inhabers, unter denen Probleme oder Verletzungen der CAA-Policy gemeldet werden können.

Die Properties können mehrmals spezifiziert werden, so dass mehreren CAs die Erlaubnis zur Zertifizierung für eine Domain gegeben werden kann.

Die Auswertung geschieht, wie im DNS üblich, hierarchisch aufsteigend und unter Befolgung von CNAME oder DNAME Einträgen. Für eine Zertifikatanfrage für den Domainnamen X.Y.Z wird zunächst im DNS unter X.Y.Z nach CAA RRs gesucht, dann unter Y.Z, dann unter Z.

Ein Beispiel einer Zonendatei mit CAA RRs für die DFN-PKI:

$ORIGIN hs-musterstadt.de
. CAA 0 issue "pki.dfn.de"
. CAA 0 iodef "mailto:certadmin@hs-musterstadt.de"

Werte für die DFN-PKI

Die DFN-PKI wird die issue-Werte „pki.dfn.de“ und „dfn.de“ akzeptieren:

. CAA 0 issue "pki.dfn.de"

oder

. CAA 0 issue "dfn.de"

Konsequenzen für die Web-RA-Schnittstelle

Die Auswertung von CAA ist nur mit erheblicher Implementierungsarbeit umzusetzen. Diese können wir leider nur für die SOAP-Schnittstelle der DFN-PKI (und damit für die Java RA-Oberfläche) realisieren.

Daher werden wir leider das Genehmigen von Zertifikatanträgen in der Web-RA-Schnittstelle für PKIs im Browserverankerten Sicherheitsniveau „Global“ deaktivieren müssen. Bitte verwenden Sie zum Genehmigen von Zertifikatanträgen die Java RA-Oberfläche (Java Webstart https://pki.pca.dfn.de/guira/guira.jnlp).

(jbr, 17.03.2017)