<div dir="ltr"><div>My assessment of the current dns-account-01 draft [1] is that it is not yet stable enough to reference directly in the BRs. In particular, the approach to specifying scope appears likely to change [2]. The good news is that the use of two prepended labels isn't being debated, so we could update TLS BR 3.2.2.4.7 to allow that in the short term, then go back and add the fully specified dns-account-01 method by reference once it becomes an RFC.</div><div><br></div><div>The CNAME delegation issue addressed by this proposal is a significant barrier to ACME adoption for some Subscribers, so I think there is value in proceeding with an interim solution. Would there be objections to a ballot to modify 3.2.2.4.7 to clearly permit one or two prepended labels in the Authorization Domain Name?<br></div><div><br></div><div>Thanks,</div><div><br></div><div>Wayne</div><div><br></div><div>[1] <a href="https://datatracker.ietf.org/doc/draft-ietf-acme-scoped-dns-challenges/">https://datatracker.ietf.org/doc/draft-ietf-acme-scoped-dns-challenges/</a></div><div>[2] <a href="https://mailarchive.ietf.org/arch/browse/acme/?q=dns-account-01">https://mailarchive.ietf.org/arch/browse/acme/?q=dns-account-01</a></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Mar 4, 2024 at 10:00 AM Aaron Gable <<a href="mailto:aaron@letsencrypt.org">aaron@letsencrypt.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Thanks Wayne, I think the approach in your PR makes sense and looks good to me. The only change that springs to mind is around the phrasing of the "domain" and "wildcard" scopes in the last paragraph: I believe that the method should be suitable for validation Wildcard Domain Names if the scope of the challenge is either "wildcard" <i>or</i> "domain", since the <a href="https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-domain-verification-techniques-03#name-scope-indication" target="_blank">dnsop draft</a> defines the "domain" scope as a superset of the "wildcard" scope.<div><br></div><div>DNS-02 is an interesting question. On the one hand, it structurally falls under the existing 3.2.2.4.7 "DNS Change" (since it only uses a single underscore-prefixed label) and doesn't strictly need a new validation method to be defined in order to be used. On the other hand, it allows scoping down the validation to just host validation, or scoping it up to wildcard, and so ideally should have a paragraph at the bottom similar to the one you've included for dns-account-01. On the whole, I think it is preferable to include a new validation method for dns-02, but could be swayed either way.</div><div><br></div><div>Aaron</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Feb 29, 2024 at 9:05 AM Wayne Thayer <<a href="mailto:wthayer@gmail.com" target="_blank">wthayer@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Thanks Tim and Aaron for the feedback. I've drafted a PR for a new dns-account-01 validation method: <a href="https://github.com/wthayer/servercert/pull/2/files" target="_blank">https://github.com/wthayer/servercert/pull/2/files</a>.<br></div><div><br></div><div>Do either of you (or anyone else) have an opinion about including the dns-02 challenge from the draft RFC in the scope of this work? I don't have a particular need for it, but I don't mind including it for completeness.</div><div><br></div><div>- Wayne<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Feb 26, 2024 at 11:31 AM Aaron Gable <<a href="mailto:aaron@letsencrypt.org" target="_blank">aaron@letsencrypt.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">I concur, I think Option #1 is preferable. Adding a new validation method with reference to an existing document is a much easier and more self-contained change to the BRs.<div><br></div><div>The IETF draft (<a href="https://datatracker.ietf.org/doc/draft-ietf-acme-scoped-dns-challenges/" target="_blank">https://datatracker.ietf.org/doc/draft-ietf-acme-scoped-dns-challenges/</a>) has just been given a major overhaul and renamed, and the updated version will be presented at IETF 119 in mid-March. We'll get a really good sense of whether there will be additional major changes to the document at that time, so I think it would be appropriate to draft a ballot adding this new validation method now, but we should probably wait to vote until after that meeting.</div><div><br></div><div>Aaron</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Feb 22, 2024 at 11:31 AM Tim Hollebeek via Validation <<a href="mailto:validation@cabforum.org" target="_blank">validation@cabforum.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div lang="EN-US"><div><p class="MsoNormal">Yeah, I remember pointing out at the ACME working group a few times that the BRs would have to be changed to allow two labels (but also suggesting this is fine, I think two labels is actually superior and advocated that for the draft).  <u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">The approach #2 that Wayne is suggesting here is the one I suggested at the mike line, but I think I like #1 better.  It’s easier to just say “do it the RFC way” instead of allowing two labels without any guidance on how or why.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">The question does come up whether the draft is mature enough to adopt right now … IMO the answer might be yes, as I seem to recall the document was pretty close to working group last call.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">-Tim<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><div style="border-width:medium medium medium 1.5pt;border-style:none none none solid;border-color:currentcolor currentcolor currentcolor blue;padding:0in 0in 0in 4pt"><div><div style="border-width:1pt medium medium;border-style:solid none none;border-color:rgb(225,225,225) currentcolor currentcolor;padding:3pt 0in 0in"><p class="MsoNormal"><b>From:</b> Validation <<a href="mailto:validation-bounces@cabforum.org" target="_blank">validation-bounces@cabforum.org</a>> <b>On Behalf Of </b>Wayne Thayer via Validation<br><b>Sent:</b> Thursday, February 22, 2024 2:04 PM<br><b>To:</b> CABforum3 <<a href="mailto:validation@cabforum.org" target="_blank">validation@cabforum.org</a>><br><b>Subject:</b> [cabf_validation] Adding Support for ACME Scoped DNS Challenges<u></u><u></u></p></div></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">There has been an effort underway for some time in the IETF ACME working group that resolves a significant hurdle to ACME adoption for some Applicants. The decision has been made to implement this in a way that requires a BR change.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Background:<u></u><u></u></p></div><div><p class="MsoNormal">It is common for Cloud Service Providers (CSPs) to ask their customers to delegate domain control to the CSP via a CNAME record that points to a domain name controlled by the CSP [1]. CSPs in general, and Fastly in particular, have found that Applicants often request certificates for the same domain name from multiple CAs. Because (unlike TXT records) only a single CNAME record is permitted for a particular FQDN, and because RFC 8555 requires the use of "_acme-challenge" as the DNS validation prefix, Applicants are unable to automate issuance via ACME dns-01 in this scenario.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Solution:<u></u><u></u></p></div><div><p class="MsoNormal">A new ACME challenge originally called dns-account-01 was proposed back in 2022. Last week, the fourth draft was published [2]. The scope of this draft has expanded to include two new challenges, but I believe that the more relevant change is that the Authorization Domain Name (ADN) is now prefixed with TWO labels instead of one. My understanding is that this change was made to align with the work being done to standardize domain verification techniques [3] in the dnsop working group. Unfortunately, I think it's reasonable to interpret BR 3.2.2.4.7 as only permitting a single label to be prepended to an ADN: "an Authorization Domain Name that is prefixed with a Domain Label that begins with an underscore character."<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Proposal:<u></u><u></u></p></div><div><p class="MsoNormal">I would like to remove this barrier to automation as soon as possible, and prior to RFC publication. I can see two ways to accomplish this:<u></u><u></u></p></div><div><p class="MsoNormal">1. Add the current draft spec for dns-account-01 to the BRs as a new validation method. There is precedent for supporting draft versions of ACME validation methods in the BRs (3.2.2.5.6 originally referenced a draft RFC)<u></u><u></u></p></div><div><p class="MsoNormal">2. Tweak the existing 3.2.2.4.7 language to allow one or two labels to be prepended to an ADN.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">I would appreciate everyone's feedback on how best to approach this and any concerns that you may have.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Thanks,<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Wayne<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">[1] Note that Michael Slaughter is working on a ballot that will clarify the requirements for DNS delegation to CAs: <a href="https://url.avanan.click/v2/___https:/github.com/slghtr-says/servercert/pull/1___.YXAzOmRpZ2ljZXJ0OmE6bzo5ODRmZWNhNGYxMDRjMzhlMTM2NmZjNTNiM2IyZDRkNDo2OmVlMDM6Y2MzMDJjZjM1NWY4NjQ0NDMzMGFiYzA2OTFjN2FiZjczYzUzY2FiZTU1N2Y2YTY4YjRmYTcwMzY5MTM1NzM2NTpoOkY" title="Protected by Avanan: https://github.com/slghtr-says/servercert/pull/1" target="_blank">https://github.com/slghtr-says/servercert/pull/1</a><u></u><u></u></p></div><div><p class="MsoNormal">[2] <a href="https://url.avanan.click/v2/___https:/datatracker.ietf.org/doc/draft-ietf-acme-scoped-dns-challenges/___.YXAzOmRpZ2ljZXJ0OmE6bzo5ODRmZWNhNGYxMDRjMzhlMTM2NmZjNTNiM2IyZDRkNDo2OmQxNzk6MTQzMzEzOGUwMzQ2MWNlZTY0N2UyOWVlMjM1OGQwNmM2MTcxYTJmNDE2ZjM3NDhkMjhiZjgzNTM2YzkzNDM3ZTpoOkY" title="Protected by Avanan: https://datatracker.ietf.org/doc/draft-ietf-acme-scoped-dns-challenges/" target="_blank">https://datatracker.ietf.org/doc/draft-ietf-acme-scoped-dns-challenges/</a> <u></u><u></u></p></div><div><p class="MsoNormal">[3] <a href="https://url.avanan.click/v2/___https:/datatracker.ietf.org/doc/draft-ietf-dnsop-domain-verification-techniques/___.YXAzOmRpZ2ljZXJ0OmE6bzo5ODRmZWNhNGYxMDRjMzhlMTM2NmZjNTNiM2IyZDRkNDo2OmE1OWY6NTA4NGUzZDQ2NTllMzAwYWI3NDg1MDAwYTI4ZWU2Y2U4YTZhMDY4YTQyYjRkZWYzZmQ3MzBjZTZmYjA5OWMzYzpoOkY" title="Protected by Avanan: https://datatracker.ietf.org/doc/draft-ietf-dnsop-domain-verification-techniques/" target="_blank">https://datatracker.ietf.org/doc/draft-ietf-dnsop-domain-verification-techniques/</a><u></u><u></u></p></div><div><p class="MsoNormal">This is issue 486: <a href="https://url.avanan.click/v2/___https:/github.com/cabforum/servercert/issues/486___.YXAzOmRpZ2ljZXJ0OmE6bzo5ODRmZWNhNGYxMDRjMzhlMTM2NmZjNTNiM2IyZDRkNDo2OjA0MmQ6MTFlMzQyOTZiZDgzNWRlZTk4NmY5M2Y1YmYzYTI0ZTEyNTQ0NWM3NGU0ZWM2OWMzNTJlNjZmMTk0MDNhMmZjZDpoOkY" title="Protected by Avanan: https://github.com/cabforum/servercert/issues/486" target="_blank">https://github.com/cabforum/servercert/issues/486</a><u></u><u></u></p></div></div></div></div></div>_______________________________________________<br>
Validation mailing list<br>
<a href="mailto:Validation@cabforum.org" target="_blank">Validation@cabforum.org</a><br>
<a href="https://lists.cabforum.org/mailman/listinfo/validation" rel="noreferrer" target="_blank">https://lists.cabforum.org/mailman/listinfo/validation</a><br>
</div></blockquote></div>
</blockquote></div>
</blockquote></div>
</blockquote></div>