Thanks, Shivan, for addressing my comments.

Barry

On Mon, Jul 10, 2023 at 12:04 PM Shivan Kaul Sahib
<shivankaulsa...@gmail.com> wrote:
>
> 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