Hello everyone, please find my responses to all of you so far inline below:

> On 8 Sep 2022, at 19:46, Peter Thomassen <[email protected]> wrote:
> 
> For the sake of arriving at the best solution, I believe it would be best to 
> consider all potential solutions we can think of and reject all but the one 
> that seems best.


We agree, we have identified this problem some time ago, and we have designed 
this particular solution, after careful consideration of various parameters. It 
does not mean it's the only one or the best one, but it's something we believe 
addresses all requirements and requires the minimum number of changes. We have 
also implemented this and we've been testing this for the past 2 years.

Although ACME is a protocol that can be used by any CA, and is not necessarily 
tied to WebPKI, our proposal tried to be compatible with the existing Baseline 
Requirements for Certificate Issuance by the CA / Browser Forum. The method 
that we are using is 3.2.2.4.7 which requires the presence of a TXT record 
under a direct subdomain that starts with a "_". If we don't follow these 
requirements, although DNS-ACCOUNT-01 will be a valid ACME challenge, its 
adoption by Publicly Trusted CAs will not be possible until a new method is 
added to the BRs.

Moreover, a consideration in designing this challenge was to introduce minimal 
changes to the existing and well known / understood behavior of the DNS-01 
challenge. Considering ACME is a security sensitive protocol, not fundamentally 
changing the scope of the DNS-01 seemed desirable.

> On 8 Sep 2022, at 20:06, Mike Ounsworth <[email protected]> wrote:
> 
> Should that be mentioned in the Security Considerations section? I'm thinking 
> that you could add to the end of your existing S.C. something like 
> "Certification Authorities (CAs) MAY, during ACME account creation, check 
> that the DNS-ACCOUNT-01 prefix is unique in their database …"

As this per-account part of the label is not CA-specific, and it is global, a 
single ACME server cannot keep track of all the possible accounts (including 
from other servers), but nor does it have to. The probability of a collision is 
1 over 2^80, and even in the case where there is one, it only becomes 
equivalent to DNS-01. The ACME server does not have to take any action, nor 
does this impact security.

Is there some particular concern that you have regarding the security of the 
challenge if two ACME accounts share the same hash? We believe that it is 
equivalent to DNS-01 where by definition all accounts share the same label.

> On 8 Sep 2022, at 20:06, Mike Ounsworth <[email protected]> wrote:
> 
> Why is this method more amenable to wildcards than existing ones? What are 
> the policy implications of this, ex. at the CA/B F level?

From the existing methods that are available in RFC8555, only DNS-01 can be 
used for wildcard certificates in WebPKI. The HTTP-01 and TLS-ALPN-01 
challenges are not sufficient for that according to the CA/B Forum Baseline 
Requirements. Therefore, if these certificates are required, the domain 
controller is now currently forced to use DNS-01 (with the shortcomings 
mentioned in the original post), or avoid using ACME and fall back to another 
method such as e-mail or phone verification.


> On 9 Sep 2022, at 09:22, Michael Richardson <[email protected]> wrote:
> 
> I'm concerned that it is less easily predicted by the operator, which affects
> the ability to easily install the desired CNAME, which seems to be a primary 
> consideration.

Assuming you mean the user of the ACME client when you say "operator". 

The current proposal bases this off a long-term static value, which is the ACME 
Account URL. This URL is required by ACME clients already, so we believed that 
it is something they already have access to. It is assigned by the ACME server 
and it has control over it already, to enable issuance of certificates.

It is true that now the subdomain is different for every ACME account, and you 
have to calculate it, e.g. if you want to debug something, but we believe that 
the calculation is trivial and will not cause problems. Perhaps we could even 
make available an online utility that given an ACME Account URL would produce 
the correct label. Here's a command that will produce this from shell:

printf "https://example.com/acme/acct/ExampleAccount"; | shasum -a 256 | xxd -r 
-p | head -c 10 | base32

We envision the following way to use DNS-ACCOUNT-01:

Assuming you use an authoritative server that is not easy to automate, such as 
one that serves a zone file from the disk, you generate one or more ACME 
accounts with your ACME servers (e.g. one per region), and then calculate the 
subdomains that correspond to these accounts. In this file you add the required 
CNAME records that point to a DNS server that's easy to automate (e.g. one with 
an API or a database backend). From now on, every time you have to issue a 
certificate, you only need to modify the automatable zone, and the 
non-automatable one remains the same. Therefore we expect this calculation for 
the subdomain to be done infrequently and remain the same for extended periods 
of time.




Antonis
_______________________________________________
Acme mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/acme

Reply via email to