rfc-8657

Certification Authority Authorization (CAA) Record Extensions for Account URI and Automatic Certificate Management Environment (ACME) Method Binding

H. Landau
date2019-11 streamIETF areasec wgacme statusPROPOSED STANDARD pages11 canonicalhttps://www.rfc-editor.org/rfc/rfc8657 doi10.17487/RFC8657
The Certification Authority Authorization (CAA) DNS record allows a domain to communicate an issuance policy to Certification Authorities (CAs) but only allows a domain to define a policy with CA-level granularity. However, the CAA specification (RFC 8659) also provides facilities for an extension to admit a more granular, CA-specific policy. This specification defines two such parameters: one allowing specific accounts of a CA to be identified by URIs and one allowing specific methods of domain control validation as defined by the Automatic Certificate Management Environment (ACME) protocol to be required.

Extracted elements (20)

design-rationale §3.2

The "accounturi" specification provides a general mechanism for identifying certificate-requesting entities via URIs, not limited to ACME. CAs not implementing ACME MAY assign and recognize their own URIs arbitrarily, allowing future RFCs to specify use of other URI kinds.

acme, pkix, dns

interoperability-note §6

This specification defines no new IANA registries. The "accounturi" and "validationmethods" parameter names live in a CA-defined namespace per RFC 8659, and CAs may freely adopt or ignore these semantics. ACME validation method labels reference the "ACME Validation Methods" IANA registry defined in RFC 8555.

acme, pkix, registry

normative-requirement §5.3 MUST

A CA MUST ensure that its support for "accounturi" and "validationmethods" is fully consistent across all issuance systems for a given CA domain name. A CA unable to ensure consistency MUST NOT implement support for these parameters.

acme, pkix, security

normative-requirement §3 MUST

A Property with multiple "accounturi" parameters is unsatisfiable. A Property with an invalid or unrecognized "accounturi" parameter is also unsatisfiable.

acme, pkix, dns

normative-requirement §3 MUST

CAs MUST still validate the domain name specified in an "issue" or "issuewild" record as described in RFC 8659, even when "accounturi" is present. The "accounturi" parameter does not replace domain name validation.

acme, pkix, dns

normative-requirement §4 MUST

Each validation method label MUST be either a label from the "ACME Validation Methods" IANA registry or a CA-specific non-ACME label. Non-ACME CA-specific labels MUST begin with the string "ca-".

acme, pkix, registry

normative-requirement §3 MUST

The value of the "accounturi" parameter MUST be a URI [RFC3986] identifying a specific CA account.

acme, pkix, dns

privacy-consideration §5.9

Because CAA records are publicly accessible, the "accounturi" parameter reveals authorized account URIs for a domain to any third party. This may allow correlation of domains that share the same account URIs. CAs are encouraged to select and process account URIs assuming untrusted third parties may learn of them.

acme, pkix, privacy, dns

protocol-element §3.1

An ACME account object MAY be identified by setting the "accounturi" parameter to the URI of the ACME account object. Implementations of this specification that also implement ACME MUST recognize such URIs.

acme, pkix, dns

protocol-element §3

The "accounturi" CAA parameter for the "issue" and "issuewild" Properties identifies a specific CA account by URI. A CA MUST only consider a Property with this parameter to authorize issuance if it recognizes the URI as identifying the requesting account.

acme, pkix, dns, security

protocol-element §4

The "validationmethods" CAA parameter for "issue" and "issuewild" Properties takes a comma-separated string of zero or more validation method labels. A CA MUST only consider the Property to authorize issuance when the validation method in use is identified by one of the listed labels.

acme, pkix, dns

security-consideration §5.6 MUST

A CA supporting "accounturi" or "validationmethods" MUST perform CAA validation using a trusted DNSSEC-validating resolver, where "trusted" means both trusting the resolver and securing the communications path between the resolver and the CA validation system.

acme, pkix, security, dns

security-consideration §5.1

All security considerations from RFC 8659 are inherited. This specification only constrains CAs that implement it; any other CA's capacity to issue certificates for the domain is completely unchanged, and domains remain vulnerable to CAs that do not honor CAA records.

acme, pkix, security, dns

security-consideration §5.5 SHOULD

Authorization freshness is a concern: a CA may establish account authorization substantially prior to issuance, during which the CAA policy may change. CAs SHOULD reduce this risk by using short-lived authorizations (e.g., one hour) or revalidating CAA policy at issuance time.

acme, pkix, security

security-consideration §5.7

CAA records are not an effective way to restrict issuance for subdomains whose DNS control is delegated to another party, since CAA record lookup walks up the DNS hierarchy and subdelegation can supersede restrictions.

acme, pkix, security, dns

security-consideration §5.4 MUST

CAs MUST ensure that account URIs they recognize are unique within the scope of all domain names they recognize as identifying that CA for CAA validation, to prevent ambiguity when a CA uses multiple domain names. CAs SHOULD use URIs that include an authority component (e.g., "https://a.example.com/account/1234").

acme, pkix, security, dns

security-consideration §5.8

Misconfiguration of the "accounturi" and "validationmethods" parameters, which express restrictive policies, may result in legitimate issuance requests being refused.

acme, pkix, security

security-consideration §5.2 MUST NOT

These parameters are only effective if the CA named in the "issue" or "issuewild" Property recognizes and implements them. Domains MUST NOT assume the restrictions are effective without explicit confirmation from the CA that it supports these parameters.

acme, pkix, security

security-consideration §5.6

These parameters do not provide additional security against global man-in-the-middle attackers unless the domain is signed with DNSSEC and the CA performs CAA validation via a trusted DNSSEC-validating resolver. Without DNSSEC, the parameters still provide administrative control over issuance.

acme, pkix, security, dns

wire-format §4 MUST

The value of the "validationmethods" parameter MUST comply with ABNF: `value = [*(label ",") label]` and `label = 1*(ALPHA / DIGIT / "-")`, defining a comma-separated list of alphanumeric-plus-hyphen labels.

acme, pkix, dns