Well, I take that back. I think all these points can be slipped into
this week's update of the draft (I plan to submit that on Friday
NZ time).

Two points for the WG:

> 
> — Section 3.5.1 —
> 
>    If there is no ACP, the protocol MUST use another form of strong
>    authentication and SHOULD use a form of strong encryption.  See
>    Section 3.5.2.1 for further discussion.
> 
> Both here and in 3.5.2.1: Why is encryption SHOULD, and not MUST?
> Looking ahead to 3.5.2.1, how could it be considered safe to use a
> network configuration protocol across administrative boundaries
> without encryption?

Input please, or else you will see this as an open issue in Chicago.

Personal opinion: encryption should be a MUST.

On UTF-8:

> The other question is whether there are any restrictions on what
> Unicode characters can be represented.  You make the colon a special
> character but give no other restrictions, so an objective name could
> include space characters (and various related Unicode characters such
> as tab, EN SPACE, ZERO WIDTH SPACE, and ZERO WIDTH NON-JOINER),
> control characters (FORM FEED, CARRIAGE RETURN, and the like),

Once we specify byte-by-byte comparison, do we need to worry about
this in a protocol document? If someone is silly enough to
specify an objective called 'example.org:Недостаточно握 déjà     vu
' do we care, in the protocol design?

Personal opinion: we don't need to say anything.

Regards
   Brian

On 08/03/2017 16:44, Brian E Carpenter wrote:
> Thanks Barry. Good comments, but we have to get a new draft out
> before the deadline, so I'm not sure these will all make it in
> until the one after.
> 
> Regards
>    Brian
> 
> On 08/03/2017 15:43, Barry Leiba wrote:
>> I have reviewed this document as part of the security directorate's
>> ongoing effort to review all IETF documents being processed by the
>> IESG.  These comments were written primarily for the benefit of the
>> security area directors.  Document editors and WG chairs should treat
>> these comments just like any other last call comments.
>>
>> First, I'm sorry this review is a few days late, and I hope that isn't
>> a problem.
>>
>> Second, the document is "ready with issues".  Most of the comments
>> below are minor, and editorial.  The three that are substantive are:
>>
>> 1. SHOULD vs MUST with respect to encryption in Sections 3.5.1 and 3.5.2.1.
>>
>> 2. The UTF-8 issues in Section 3.10.1.
>>
>> 3. Guidance for the Designated Expert in Section 7.
>>
>> These should all be easy to resolve.
>>
>> — Section 1 —
>>
>>    A reference model
>>    for autonomic networking on this basis is given in
>>    [I-D.ietf-anima-reference-model].  The reader should consult this
>>    document to understand how various autonomic components fit together.
>>
>> Even though that document is an informative reference, I find it odd
>> that the draft that helps us understand how this all fits together. .
>> . is an expired draft.  It makes me wonder how well baked things are.
>>
>> — Section 3.1 —
>>
>>    The following additional terms are used throughout this document:
>>
>>    o  Autonomic Device: identical to Autonomic Node.
>>
>> It’s not a big point, but: Why?  Why is it important or useful to
>> specifically define a *new* term in this document that has the same
>> meaning as a similar term that’s already defined?
>>
>> And, actually, now that I check, I see that “autonomic devices” is
>> used in exactly one place, in the Abstract.  I suggest changing the
>> term in the abstract to “autonomic nodes”, and removing this
>> definition.
>>
>> — Section 3.2 —
>>
>>    Because GRASP needs to work whatever happens, especially during
>>    bootstrapping and during fault conditions, it is essential that every
>>    implementation is as robust as possible.
>>
>> There seems to be a missing word, or some such; I can’t parse “GRASP
>> needs to work whatever happens”.  And picky grammatical nit:
>> subjunctive mood is needed with “essential”, so it should be “it is
>> essential that every implementation be as robust as possible.”
>>
>> — Section 3.3 —
>>
>>       GRASP
>>       provides mechanisms to guarantee convergence (or failure) in a
>>       small number of steps, i.e. a timeout and a maximum number of
>>       iterations.
>>
>> Another nit. This is an outstanding example of why I don’t like to use
>> “i.e.”: in this case, it leaves me wondering whether that’s really an
>> exhaustive list, or whether you meant “e.g.”.  And, to me, it reads
>> awkwardly anyway.  I suggest one of these alternatives (the sorts that
>> can pretty much always stand in for the overused and unnecessary
>> “i.e.”):
>>
>> NEW-1
>>       GRASP
>>       provides two mechanisms to guarantee convergence (or failure)
>>       in a small number of steps: a timeout and a maximum number of
>>       iterations.
>>
>> NEW-2
>>       GRASP
>>       provides a timeout and a maximum number of iterations,
>>       which together guarantee convergence (or failure) in a
>>       small number of steps.
>>
>> — Section 3.5.1 —
>>
>>    If there is no ACP, the protocol MUST use another form of strong
>>    authentication and SHOULD use a form of strong encryption.  See
>>    Section 3.5.2.1 for further discussion.
>>
>> Both here and in 3.5.2.1: Why is encryption SHOULD, and not MUST?
>> Looking ahead to 3.5.2.1, how could it be considered safe to use a
>> network configuration protocol across administrative boundaries
>> without encryption?
>>
>> — Section 3.5.2.2 —
>>
>>       A responder
>>       SHOULD NOT send a Discovery Response message unless it cannot be
>>       avoided.
>>
>> Any clue about why it might be possible that it “cannot be avoided”?
>>
>> — Section 3.5.2.3 —
>>
>>    o  Any type of GRASP message MAY be sent.
>>
>> This doesn’t feel like a “MAY” to me.  You’re not saying that there’s
>> a protocol choice here, and how to handle it is optional and up to the
>> implementation.  You’re saying that all types of GRASP messages are
>> permitted when you’re using a SONN instance.  So maybe, “All types of
>> GRASP messages are permitted.”
>>
>> — Section 3.10.1 —
>>
>>    All objectives are identified by a unique name which is a case-
>>    sensitive UTF-8 string.
>>
>> Actually, “case-sensitive” isn’t a sufficient descriptor for UTF-8, as
>> there are issues of canonicalization and normalization, and the fact
>> that languages differ in whether “case” makes sense at all.  This
>> would be a bigger issue if you wanted case insensitivity, but as it is
>> I think the fix is easy: you should just say that the name is a UTF-8
>> string that is compared byte by byte.  This will have the effect of
>> being case sensitive when that makes sense, and will also eliminate
>> the issues of canonicalization and normalization: different ways of
>> representing characters such as “ä” and “ô” and “é” will compare as
>> different, and as these are protocol elements and not user strings,
>> that should be fine.
>>
>> The other question is whether there are any restrictions on what
>> Unicode characters can be represented.  You make the colon a special
>> character but give no other restrictions, so an objective name could
>> include space characters (and various related Unicode characters such
>> as tab, EN SPACE, ZERO WIDTH SPACE, and ZERO WIDTH NON-JOINER),
>> control characters (FORM FEED, CARRIAGE RETURN, and the like),
>> characters from every character set and language including Cuneiform
>> and Egyptian Hieroglyphs, and even such iconic characters as MUSICAL
>> SYMBOL G CLEF, ONCOMING POLICE CAR, and the famous PILE OF POO.  If
>> that’s all OK, then that’s fine (and maybe it is, as, again, this is a
>> protocol element, not a user string).  I just want to make sure you
>> thought about it.
>>
>> — Section 7 —
>>
>> The creation of the Specification Required registry for the Objective
>> Names Table needs to specify guidance for the Designated Expert (see
>> draft-leiba-cotton-iana-5226bis, Sections 4.6 and 4.5).  It doesn’t
>> have to be a lot, but it needs to be clear for future DEs who might
>> not have been involved with developing this document what they need to
>> consider as they review registration requests.  Why might they push
>> back on a registration request?  Should they, for example, allow
>> registration requests for two different Objective Names of “frobozz”
>> and “Frobozz”?  What sort of documentation is sufficient for a
>> registration (is “enough that you think implementations can be written
>> from it” good enough, or are there specific things that the
>> documentation ought to contain)?
>>
> 

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

Reply via email to