The "domain validation" model of validation commonly used for certificate issuance cannot ordinarily protect against adversaries who can conduct global man-in-the-middle attacks against a particular domain. A global man-in-the-middle attack is an attack that can intercept traffic to or from a given domain, regardless of the origin or destination of that traffic. Such an adversary can intercept all validation traffic initiated by a CA and thus appear to have control of the given domain.
Where a domain is signed using DNSSEC, the authenticity of its DNS data can be assured, providing that a given CA makes all DNS resolutions via a trusted DNSSEC-validating resolver. A domain can use this Property to protect itself from the threat posed by an adversary capable of performing a global man-in-the-middle attack against that domain.
In order to facilitate this, a CA validation process must either rely solely on information obtained via DNSSEC or meaningfully bind the other parts of the validation transaction using material obtained via DNSSEC.
The CAA parameters described in this specification can be used to ensure that only validation methods meeting these criteria are used. In particular, a domain secured via DNSSEC
SHOULD either:
-
Use the "accounturi" parameter to ensure that only accounts that it controls are authorized to obtain certificates, or
-
Exclusively use validation methods that rely solely on information obtained via DNSSEC and use the "validationmethods" parameter to ensure that only such methods are used.
A CA supporting the "accounturi" parameter or the "validationmethods" parameter
MUST perform CAA validation using a trusted DNSSEC-validating resolver.
"Trusted" in this context means that the CA both trusts the resolver itself and ensures that the communications path between the resolver and the system performing CAA validation is secure. It is
RECOMMENDED that a CA ensure this by using a DNSSEC-validating resolver running on the same machine as the system performing CAA validation.
The use of the "accounturi" parameter or the "validationmethods" parameter does not confer additional security against an attacker capable of performing a man-in-the-middle attack against all validation attempts made by a given CA that is authorized by CAA where:
-
A domain does not secure its nameservers using DNSSEC, or
-
That CA does not perform CAA validation using a trusted DNSSEC-validating resolver.
Moreover, the use of the "accounturi" parameter or the "validationmethods" parameter does not mitigate man-in-the-middle attacks against CAs that do not validate CAA records or that do not do so using a trusted DNSSEC-validating resolver, regardless of whether or not those CAs are authorized by CAA; see
Section 5.1.
In these cases, the "accounturi" and "validationmethods" parameters still provide an effective means of administrative control over issuance, except where control over DNS is subdelegated (see below).
CAA records are located during validation by walking up the DNS hierarchy until one or more records are found. CAA records are therefore not an effective way of restricting or controlling issuance for subdomains of a domain, where control over those subdomains is delegated to another party (such as via DNS delegation or by providing limited access to manage subdomain DNS records).
Because the "accounturi" and "validationmethods" parameters express restrictive security policies, misconfiguration of said parameters may result in legitimate issuance requests being refused.
Because CAA records are publicly accessible, the use of the "accounturi" parameter enables third parties to observe the authorized account URIs for a domain. This may allow third parties to identify a correlation between domains if those domains use the same account URIs.
CAs are encouraged to select and process account URIs under the assumption that untrusted third parties may learn of them.