Hi Barry, we've uploaded a new version that should address your helpful
comments:
https://datatracker.ietf.org/doc/draft-ietf-dnsop-domain-verification-techniques/

On Mon, 3 Apr 2023 at 00:38, Barry Leiba via Datatracker <nore...@ietf.org>
wrote:

> Reviewer: Barry Leiba
> Review result: Ready with Nits
>
> This is short and reasonably sweet, easily digested.  I have a few minor
> comments that I think will help make the document slightly clearer, and I
> hope
> you'll consider them:
>
> — Section 3.1 —
>
> I think this is generally understandable, but reuse of “it” does allow
> room for
> error.  I suggest avoiding vagueness, possible ambiguity, and
> misunderstanding
> as follows:
>
> OLD
>    1.  Generate a Random Token with at least 128 bits of entropy.
>
>    2.  Take the SHA-256 digest output [SHA256] of it.
>
>    3.  base64url encode it.
>
> NEW
>    1.  Generate a Random Token with at least 128 bits of entropy.
>
>    2.  Create a SHA-256 digest [SHA256] of the Random Token.
>
>    3.  base64url encode the SHA-256 digest.
>
> END
>
> (And you might include RFC 4648 as a reference for base64url encoding.)
>
> One thing that I do find unclear is this:
>
>    Providers MUST provide clear instructions on when a verifying record
>    can be removed.  The user SHOULD de-provision the resource record
>    provisioned for a DNS-based domain verification challenge once the
>    one-time challenge is complete.  These instructions SHOULD be encoded
>    in the RDATA via comma-separated ASCII key-value pairs [RFC1464]
>    using the key expiry.  If this is done, the token should have a key
>    token.  For example:
>
> _foo-challenge.example.com.  IN   TXT
> "token=3419...3d206c4,expiry=2023-02-08T02:03:19+00:00"
>
> First: It’s unclear how a one-time challenge fits in with an “expiry”
> key.  Is
> it meant to be the case that lack of an “expiry” key means that the
> “token” is
> meant for one-time use, and presence of “expiry” makes it time-based?  Or
> something else?  I think this could be clearer.
>
> Second: “the token should have a key token” confused me until I finally
> realized that you ought to be using quotes to identify the key names, thus:
>
> NEW
>    These instructions SHOULD be encoded
>    in the RDATA via comma-separated ASCII key-value pairs [RFC1464]
>    using the key “expiry”.  If this is done, the token should have a key
>    “token”.
> END
>
> That makes it clearer that the key names are not just words in the
> explanatory
> text.
>
> — Section 3.2 —
>
> In the newspaper business, what you’ve done here is called “burying the
> lede”.
> I suggest instead, leading with the recommendation and following with the
> reasoning:
>
> NEW
>    Because CNAME records cannot co-exist with any other data, it is
>    NOT RECOMMENDED to use CNAMEs for DNS domain verification.
>
>    Reasoning: What happens when both a CNAME and other records exist
>    depends on the DNS implementation, and might break in unexpected
>    ways.  If a CNAME is added for continuous authorization, and for
>    another service a TXT record is added, the TXT record might work but
>    the CNAME record might break.  Another issue with CNAME records is
>    that they must not point to another CNAME.  But while this might be
>    true in an initial deployment, if the target that the CNAME points to
>    is changed from a non-CNAME record to a CNAME record, some DNS
>    software might no longer resolve this as expected.  However, when
>    using a properly named prefix, existing CNAME records should never
>    conflict with regular CNAME records.
> END
>
> Thanks,
> Barry
>
>
>
_______________________________________________
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop

Reply via email to