Hello all,
I read the document again and have provided my comments below. This version
does not yet look ready to leave our WG, however. As an example, we have a
CDDL field name mismatch and Appendix A that doesn't conform to the CDDL. And a
reference that needs to become normative.
Still the updates that were made since the past review round are quite good.
Best regards
Esko
Review Comments
===============
5.2
A Join Proxy MUST implement both. A Registrar MUST implement the
stateful mode and SHOULD implement the Stateless mode.
-> Maybe I missed the discussion on this new statement, sorry! Why can't the
unconstrained Registrar always implement both modes too? (Code size isn't an
issue.)
Or do we mean it is always implemented but the operator has to be able to
disable it for the given network? I supposed the motivation for this
MUST/SHOULD combination is that we really want a network operator to be able to
select which mode(s) can be used.
Otherwise, if the Registrar would support both modes as always-available then
each Join Proxy could just choose to implement only one mode, saving on
embedded code size, memory, complexity, etc. Which is also attractive for
Pledge vendors. But maybe not for the operator.
In short, we don't have to change anything here but some motivation / reasoning
in the text would be helpful to understand it.
5.3.1
pledge_content field
-> the field is named "content" in the CDDL, not pledge_content.
6.1.1
The scheme remains coaps
-> Seems not? The scheme is coaps+jpy://
The coaps+jpy scheme is registered is defined in Section 9.2, as per
[RFC7252], Section 6.2
-> the "as per ... " part is unclear. Shouldn't we say that the scheme is
registered with syntax identical to [RFC7252] Section 6.2 ? Now it's rather
fuzzy what is meant.
6.2.1
Discoverable port numbers are
usually returned for Join Proxy resources in the <URI-Reference> of
the payload (see section 5.1 of [RFC9148]).
-> reference seems wrong - no section 5.1 there? No <URI-Reference> mentioned
also.
7.
In the comparison table, the row "Specification complexity" seems not so
relevant anymore given that the Join Proxy must implement both modes.
A "Security" row could be useful - in stateful mode, the Join Proxy is more
vulnerable to resource exhaustion attacks. E.g. attacker uses multiple LL
addresses and pretends to be N Pledges joining at the same time.
That seems like a more important consideration for the network operator than
"Specification complexity". But if people want to leave it as is, I won't
object further.
8.
It is also pointed out
that the encryption in the source is a local matter. Similarly to
[RFC8974], the use of AES-CCM [RFC3610] with a 64-bit tag is
recommended, combined with a sequence number and a replay window.
-> a bit unclear; "the source" - is that the Join Proxy, and is the encryption
that of the header data? (Not DTLS payload.) If possible let's name the
entities here and what is encrypted.
In some installations, layer 2 protection is provided between all
member pairs of the mesh. In such an environment encryption of the
CBOR array is unnecessary because the layer 2 protection already
provide it.
-> I disagree here. (Or maybe I don’t understand the issue.) If the JP does
not encrypt the header data here, then all the (authenticated) mesh nodes on
the path can read the data and may modify it too. If the JP encrypts the header
data, these mesh nodes can modify but the JP will detect it. That seems more
secure so it still helps in this case. Depends on whether you consider an
attacker to be possible "on-mesh". Given that malicious programs get delivered
nowadays in software updates or downloaded scripts, an on-mesh attacker is
certainly possible.
13.2
[RFC6690]
-> This should be a normative reference. Without it, the discovery (CoAP) can't
be implemented.
Appendix A
The payload examples do not conform to the CDDL definition. (They are based on
the old, pre WG last call format.)
Nits
===
General
-> consistency of capitalization of terms - this is not yet applied. E.g.
"pledge" vs "Pledge", "JOIN Proxy" vs "Join Proxy" vs "join Proxy" vs
"Join-Proxy", "CoAP" vs "coap" and perhaps others. This can also be updated in
the future editing phase of course but to me it looks a bit sloppy if the WG
doesn't address this. Some other WGs do this at least ;-)
2.
The term "installation network" refers to all devices in the
installation and the network connections between them. The term
"installation IP_address" refers to an address out of the set of
addresses which are routable over the whole installation network.
-> both terms are never used again in the document. So suggest to remove this
text - it is not needed.
5.3.1
any kind of of per session
-> typo 'of of'
6.1.1
The coaps+jpy scheme is registered is defined
-> is registered and defined ?
6.1.2
Figure 6: Example of Registrar announcing two services
-> isn't it 3 services here? 3 ports are advertised.
9.2
The text contains "{{stateless-jpy}}" which should be a section reference.
13.1
[RFC9032] is not a normative reference as far as I can see. It is only
mentioned in 6.3.2 and this says that 6tisch is not even using the present
protocol.
-----Original Message-----
From: Anima <[email protected]> On Behalf Of Toerless Eckert
Sent: Tuesday, September 6, 2022 19:13
To: Anima WG <[email protected]>; [email protected]; [email protected];
[email protected]
Subject: [Anima] 2nd WGLC for draft-ietf-anima-constrained-join-proxy-12, ends
September 20th 2022
Dear ANIMA WG
This message starts the two-week ANIMA Working Group Last Call
to advance draft-ietf-anima-constrained-join-proxy-04,
"Constrained Join Proxy for Bootstrapping Protocols". The WGLC
ends after September 20th, or when all comments received are discussed.
This document had a prior WGLC in October 2021 against revision -04,
which resulted in significant feedback and changes to the document, as seen by
the significant number of updates since them. The authors think
they have addressed all known comments and think the document is ready for WGLC.
Due to the significant changes, we are now doing a second WGLC.
If you had read the document only before or for that last WGLC, please also
read again -12 and provide your feedback to this email thread by
September 20th, 2022. If you do not feel this document should advance,
please state your reasons why.
This document's intended status is Standards Track. At present,
there is no IPR file against this document. If you are aware
of any (new) IPR, please file it (or tell us WG-chairs about
it so we can help file if necessary).
Sheng JIANG is the assigned document shepherd.
Cheers
Toerles, for the chairs
_______________________________________________
Anima mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/anima
_______________________________________________
Anima mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/anima