I think others have already responded, but I do want to highlight one other
problem with the reasoning being offered here: SNI is not mandatory in TLS.
It's an extension (RFC 6066) that is optional.

More concretely, Methods .6, .8, .9, and .10 are all effectively
demonstrations over the IP address pointed to by a domain - rather than the
domain itself. I mention .6 in there because there is, for example, no
requirement to use a "Host" header - you could use HTTP/1.0 (as some CAs,
I'm told, do).

Similarly, one can read that .10 doesn't actually require the TLS handshake
to complete, nor for a ServerKeyExchange to be in any way related to the
Certificate. It is, for example, sufficient merely to send a Client Hello
and Server Hello+Certificate and terminate the connection.

This is the challenge of defining validation methods in the abstract,
rather than with concrete specifications. The ACME specification is useful
in it's the first attempt I'm aware of that attempts to fully, normatively
specify how to validate assurances in an open and interoperable way. The
historic ambiguities derived from the BRs, working in abstract,
technology-neutral ways, necessarily leads to these sorts of contrived
scenarios. For example, .7 doesn't demonstrate control over an ADN - in as
much as it allows control over a subdomain of an ADN to be treated as
control over the ADN itself (if it has a leading prefix). .9 doesn't
require the domain name appear within the Test Certificate - similar to the
point being raised here about the domain name not appearing within the TLS
handshake for .10.

On Thu, Jan 18, 2018 at 4:46 PM, Doug Beattie via dev-security-policy <
[email protected]> wrote:

> The point is, you don’t really connect to the Certificate on the
> Authorization Domain Name, you connect to a certificate on the same IP
> address as the ADN, but you actually intentionally ask for a different
> server name, which has no relationship to the ADN (except they happen to
> share the same IP address).  It seems like misissuance to me.
>
>
> From: Alex Gaynor [mailto:[email protected]]
> Sent: Thursday, January 18, 2018 3:47 PM
> To: Doug Beattie <[email protected]>
> Cc: [email protected]
> Subject: Re: TLS-SNI-01 and compliance with BRs
>
> I guess it depends how you define "Certificate on the ADN" -- TLS-SNI-01
> performs a DNS lookup for the ADN, connects to that IP, and initiatives a
> TLS connection with the .acme.invalid SNI value.
>
> Certificates don't exist on Domain Names if we think really hard about it,
> but servers with IPs that domain names point to can serve certificates, and
> that seems like a reasonable interpretation of the intent of that sentence,
> which TLS-SNI-01 fulfills.
>
> Alex
>
> On Thu, Jan 18, 2018 at 3:43 PM, Doug Beattie via dev-security-policy <
> [email protected]<mailto:dev-
> [email protected]>> wrote:
> Now that I'm more familiar with method 9 and 10 domain validation methods
> and heard a few side discussions about the topic, it's made me (and others)
> wonder if the ACME TLS-SNI-01 is compliant with BR Method 10.
>
> The BRs say:
> 3.2.2.4.10. TLS Using a Random Number
> Confirming the Applicant's control over the FQDN by confirming the
> presence of a Random Value within a Certificate on the Authorization Domain
> Name which is accessible by the CA via TLS over an Authorized Port.
>
> But it's my understanding that the CA validates the presence of the random
> number on "random.acme.invalid" and not on the ADN specifically.  Is the
> validation done by confirming the presence of a random number within the
> certificate on the ADN, or some other location?  I'm probably misreading
> the ACME spec, but is sure seems like the validation is not being done on
> the ADN.
>
> Doug
>
> _______________________________________________
> dev-security-policy mailing list
> [email protected]<mailto:dev-
> [email protected]>
> https://lists.mozilla.org/listinfo/dev-security-policy
>
> _______________________________________________
> dev-security-policy mailing list
> [email protected]
> https://lists.mozilla.org/listinfo/dev-security-policy
>
_______________________________________________
dev-security-policy mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-security-policy

Reply via email to