John Scudder has entered the following ballot position for
draft-ietf-homenet-front-end-naming-delegation-18: Discuss

When responding, please keep the subject line intact and reply to all
email addresses included in the To and CC lines. (Feel free to cut this
introductory paragraph, however.)


Please refer to 
https://www.ietf.org/about/groups/iesg/statements/handling-ballot-positions/ 
for more information about how to handle DISCUSS and COMMENT positions.


The document, along with other ballot positions, can be found here:
https://datatracker.ietf.org/doc/draft-ietf-homenet-front-end-naming-delegation/



----------------------------------------------------------------------
DISCUSS:
----------------------------------------------------------------------

This isn't my only concern with this document but Warren Kumari has broadly
covered the space with his own DISCUSS.  I did want to highlight this one,
though.  I think it should be relatively easy to fix.

Section 4.6, "Securing the Control Channel", almost-mandates security:

```
   The control channel between the HNA and the DM MUST be secured at
   both the HNA and the DM.
```

It does not, however, specify any mandatory-to-implement security mechanism,
although it provides an interesting and wide-ranging discussion of many
options.  It's very difficult for me to see how interoperable implementations
can be built, that comply with the quoted requirement, by someone working from
the current specification. It does seem from other hints in the document that
the authors consider TLS mandatory even though it's not stated as such in
Section 4.6. For example, Security Considerations subsection 12.1 says,

```
   The channels between HNA and DM are mutually authenticated and
   encrypted with TLS [RFC8446] and its associated security
   considerations apply.
```

Another hint that TLS is viewed as mandatory-to-implement is from a different
document also currently under review,
draft-ietf-homenet-naming-architecture-dhc-options-21 (Sections 4.2 and 4.3):

```
      The bit for DNS over TLS [RFC7858] MUST be set.
```

I talk about this more in my comment on Section 4.6, but there's just no way to
read this paragraph as mandating TLS:

```
   Secure protocols (like TLS [RFC8446]) SHOULD be used to secure the
   transactions between the DM and the HNA.
```

It doesn't even quite mandate secure transport in general, since it's a SHOULD
(so presumably there are times when an implementor can sensibly ignore it,
though these are not discussed). What's more, TLS is only given as an example
of one transport that would be OK, not as the mandatory-to-implement secure
transport. As written, any secure transport, for example TCP-AO, would satisfy
this SHOULD.

Based on the hints throughout the rest of the document set, that the authors
think of TLS as the mandatory-to-implement base transport, I think this section
should be rewritten to match that expectation.


----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------

# RTG AD John Scudder's comments for
draft-ietf-homenet-front-end-naming-delegation-18

CC @jgscudder

Thanks for the work on this document, it clearly reflects a lot of effort. I
hope these comments help you get it over the finish line.

Although I'm not enough of a DNS expert to evaluate the details of what the
document specifies, the number of inconsistencies and minor errors I've flagged
in my review makes me concerned that there may be problems with
implementability.  For this reason I support Warren Kumari's DISCUSS.

In my comments below I've flagged a few grammar nits, but for the most part
I've tried to restrict myself to cases where it seemed like there was a risk of
misunderstanding if not corrected.  Even when/if these are fixed I think the
document would benefit from a full go-over either manually or using an
automated grammar checker, before sending it to the RFC Editor.  (Yes the RFC
Editor will do their best to fix all of these.  But it's better for the authors
to do it to the best of their ability, including because occasionally, despite
their best efforts, the RFC Editor introduces a "fix" that results in an
unwanted normative change.)

## COMMENTS

### Global - "associated to"

There are at least 13 occurrences of the phrase "associated to".  Can these all
be replaced by the more idiomatically correct "associated with"?  I hesitate,
because "associated to" in computing can have a technically-distinct meaning,
however if that's the case in any of these I think such uses of "associated to"
may need clarification.

So, to be clear: I suggest either replacing these by "associated with", or if
that's inappropriate, clarifying the meaning.

### Global - SHOULD vs. MUST

A quick grep shows 32 instances of SHOULD or SHOULD NOT in the document (not
counting the two in the boilerplate). I haven't audited each one, but for many
of these it's difficult to see why they're SHOULD and not MUST. My own
heuristic is to think of SHOULD as a "must/unless" pair -- it's desirable to
provide some guidance to the implementator as to what circumstances would
justify ignoring the SHOULD. If you can't actually think of good reasons to do
that, consider changing the SHOULD to a MUST. Or if you're using SHOULD in the
sense of "we think you ought to implement it this way but we are trying to be
considerate and not yell MUST at you all the time" it's also reasonable to use
lower-case words instead of RFC 2119 keywords.

I won't comment separately on each individual SHOULD in the document but I
encourage you to review them.

### Section 1

"KSK (DS RRset)"

Please provide a reference or other hints for those readers who don't speak
DNSSEC as a first language (like me). "KSK" could probably use to be expanded
on first use, too.

### Section 1.1

```
   However, since communications
   are established with names which remains a global identifier
```

I don't understand what that clause means.

### Section 1.2

```
   even adapted to IPv6 and ignoring those associated to an IPv4
   development
```

I don't understand what this clause means. Is there a word missing between
"those" and "associated", and perhaps "to" should be "with"?

### Section 1.3.2

Please expand "CSR" on first use (and provide a reference if appropriate).

### Section 3.1 - "as described"

```
   as
   described in Figure 1
```

Perhaps "as depicted in Figure 1"? I don't think Figure 1 can be said to be a
(full) description of anything.

### Section 3.1 - "answer to"

"it is not expected to answer to DNS requests" --> "it is not expected to
answer DNS requests" (changed "answer to" to just "answer", there is a slightly
different shade of meaning)

### Section 3.2

```
   The visible NS records
   SHOULD remain pointing at the cloud provider's server IP address"
```

This is the sole mention of a "cloud provider" in the document. Re-word?

### Section 4

```
   the IP address and port number to use and protocol to
   set secure session
```

I don't understand what that clause means (in particular "protocol to set
secure session").

### Section 4.2

For this text,

```
   By accepting the DS RR, the DM commits in taking care of advertising
   the DS to the parent zone.  Upon refusal, the DM clearly indicates it
   does not have the capacity to proceed to the update.
```

Would the below rewrite be correct? If not, please propose another.

```
   By accepting the DS RR, the DM commits to advertise
   the DS to the parent zone.  On the other hand if the DM
   does not have the capacity to advertise the DS to the
   parent zone, it indicates this by refusing the DS RR.
```

### Section 4.3

I don't understand what this paragraph is telling me about the provision of the
IP address by the HNA:

```
   The HNA works as a primary authoritative DNS server, while the DM
   works like a secondary.  As a result, the HNA must provide the IP
   address the DM is using to reach the HNA.  The synchronization
   Channel will be set between that IP address and the IP address of the
   DM.  By default, the IP address used by the HNA in the Control
   Channel is considered by the DM and the specification of the IP by
   the HNA is only OPTIONAL.  The transport channel (including port
   number) is the same as the one used between the HNA and the DM for
   the Control Channel.
```

You start out by saying the "the HNA must provide the IP address the DM is
using to reach the HNA". (By the way when you say "is using" I think you mean
"should use". No?) I note the use of "must".

But then you go on to say that "the specification of the IP by the HNA is only
OPTIONAL". (I assume that "the IP" here means "the IP address" that was
discussed a few sentences back, probably you should add the word "address" if
so.)

These two sentences, the "must" in the first one and the "OPTIONAL" in the
later, seem directly in opposition to one another. :-(

### Section 4.5.2

```
   The DM SHOULD ignore non-empty the Pre-requisite and
   Additional Data section"
```

I don't know what this means. If "non-empty" weren't there, I would get it, it
would just mean "ignore the pre-req and additional data sections no matter what
their content is" -- so maybe the easiest fix is to delete "non-empty" (and
changing "section" to "sections" while you're at it), as in

```
   The DM MUST ignore the Pre-requisite and Additional Data
   sections, if present.
```

### Section 4.5.2

These two paragraphs seem a little inconsistent:

```
   An error indicates the MD does not
   update the DS, and other method should be used by the HNA.

   The regular DNS error message SHOULD be returned to the HNA when an
   error occurs.  In particular a FORMERR is returned when a format
   error is found, this includes when unexpected RRSets are added or
   when RRsets are missing.  A SERVFAIL error is returned when a
   internal error is encountered.  A NOTZONE error is returned when
   update and Zone sections are not coherent, a NOTAUTH error is
   returned when the DM is not authoritative for the Zone section.  A
   REFUSED error is returned when the DM refuses to proceed to the
   configuration and the requested action.
```

I would have guessed that the implication of some of the errors cited in the
second paragraph is that the HNA should correct the problem and then retry. 
But the first paragraph seems to indicate that an HNA shouldn't bother even
considering the error code, because "and other method should be used by the
HNA".

I'm not sure how, or if, to resolve this seeming inconsistency.

### Section 4.5.3

```
   Similarly to Section 4.5.2, DNS errors are used and an error
   indicates the DM is not configured as a secondary.
```

Related to the previous comment -- is this true regardless of what error code
is returned, for example would a FORMERR mean that the DM is not configured as
a secondary?

Even given that any error implies that the operation failed, what if the DM had
already been previously configured as secondary, and the operation were merely
updating some parameter? Would the previous configuration be voided, as the
text currently implies? Or would the DM remain configured as secondary, using
the previous configuration?

### Section 4.6

These two paragraphs seem inconsistent:

```
   The control channel between the HNA and the DM MUST be secured at
   both the HNA and the DM.

   Secure protocols (like TLS [RFC8446]) SHOULD be used to secure the
   transactions between the DM and the HNA.
```

MUST the channel be secured?  Or is it only SHOULD?  Also, does the second
paragraph really mean "secure *transport* protocols", or is the ambiguity
intentional?  By ambiguity, I suppose the paragraph as written might be
satisfied by object-level security, for instance, and for that matter it leaves
it up to the reader to even define exactly what they mean by "security".
Finally, see also my DISCUSS comments -- if you actually want to mandate TLS
(as implied by some of the other parts of this document, and
draft-ietf-homenet-naming-architecture-dhc-options-21), you need to make some
changes to this section.

### Section 4.6

Please expand SAN on first use.

### Section 7

```
   Depending how the communications between the HNA and the DM are
   secured, only packets associated to that protocol SHOULD be allowed.
```

This is too vague. What specifically about the means of securing the
communications would lead the implementor to follow, or disregard, the SHOULD?

### Section 10

```
   Then,
   the HNA advertises the DM via a NOTIFY, that the Public Homenet Zone
   has been updated
```

Probably you mean "advertises to" or maybe better, "advises", where you've
written "advertises"? If not, then I don't understand what's happening in this
part.

### Section 12.2

Consider using "their" instead of "his".

### Section 14

Was "its" chosen as the pronoun for two persons being thanked, based on those
persons' preferences? If not then consider whether you've used the right
pronoun in those two places, in my experience it's fairly rare -- but not
unheard-of! -- for a person to prefer to be referred to as "it" rather than the
more common "he", "she", or "they".

### Appendix A.1

I'm a little confused -- the first couple of paragraphs led me to believe that
this section was just going to tell me what parameters are required, but wasn't
going to mandate the means of providing them. But then we come to,

```
   The above parameters MUST be be provisioned for ISP-specific reverse
   zones, as per [I-D.ietf-homenet-naming-architecture-dhc-options].
```

The "MUST" combined with the "as per" implies you're mandating that DHCPv6 be
used to provision the parameters. If you really do intend to make dhc-options
mandatory, it needs to be a normative reference. On the other hand if, as I
think is likely, you only intended to use dhc-options as an example, perhaps
something like this rewrite?

```
   The above parameters MUST be be provisioned for ISP-specific reverse
   zones. One example of how to do this can be found in
   [I-D.ietf-homenet-naming-architecture-dhc-options].
```

### Appendix B - "registered_domain" or "zone"?

This threw me off -- in the CDDL you show "registered_domain" but in the
explanatory text you describe (what I think is) this field as "Registered
Homenet Domain (zone)". Should the latter be "Registered Homenet Domain
(registered_domain)" instead? (Or, rename "registered_domain" in the CDDL as
"zone"?)

### Appendix B - 2119 keywords

It's weird that you lead with "This section is non-normative" but then pepper
the content with the RFC 2119 keyword "OPTIONAL". I think probably you don't
mean it's "non-normative" (that generally means something like "this is an
example, it doesn't define anything, it can safely be ignored"). Rather, I
think you mean implementing it is optional. I think you could fix this by
deleting the words "is non-normative and".

Also, "MANDATORY" isn't an RFC 2119 keyword but you've capitalized it like one.
If you want to introduce your own keyword to put the the force of VERY SERIOUS
NORMATIVE CAPITALIZATION behind this word, I think it would be a good idea to
define it in your Terminology section, probably right after the RFC 2119
boilerplate paragraph. Alternately, you could just change all your uses of
"mandatory" and "optional" in this section to lower-case. It would still be
clear, IMO.

## NITS

- "these names needs" --> "these names need"
- "The remaining of the document" --> "the rest of the document"
- "buys a domain name to a registrar" --> "buys a domain name from a registrar"
- "DOI has a roof of ownership" --> "roof" should be... "proof"?
- "as detaille din further details below" --> "as detailed below"
- "rsynch" --> "rsync"
- "meth of" --> "method"

## Notes

This review is in the ["IETF Comments" Markdown format][ICMF], You can use the
[`ietf-comments` tool][ICT] to automatically convert this review into
individual GitHub issues.

[ICMF]: https://github.com/mnot/ietf-comments/blob/main/format.md
[ICT]: https://github.com/mnot/ietf-comments



_______________________________________________
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet

Reply via email to