Hi Paul,
Many thanks for the review comments. Please see my response below:

>        A CMP client SHOULD send each CoAP requests marked as a
Confirmable message Section 2.1 of [RFC7252].
>
>When would one not use a Confirmable message ? eg why is this a SHOULD and
not a MUST ?
>
>(also, the sentence doesn't make, did you mean to add "as per Section 2.1
....." ? )

<M.S.> Agreed. Will change that. Will fix the "section 2.1 of [RFC..]" too.

>        If the CoAP request is successful then the server SHOULD return a
"2.05 Content" response code.
>
> What else could be sent if the SHOULD is not followed? Eg why is this is
a SHOULD and not a MUST ?

<M.S.> based on comments from Ben I changed it to SHOULD from MUST, here is
his comment
>>Perhaps I am reading too much into the analogy between HTTP and CoAP and
>>thus to the applicability of draft-ietf-httpbis-bcp56bis (currently with
the
>>RFC Editor), but it doesn't seem terribly useful to name a specific
response
>>code here.  The standard CoAP semantics apply, and we could probably just
>>say that "the paylaod of a successful response contains the DER-encoded
>>...".

However, you raised a valid point so I will change it to:

If the CoAP request is successful then the server MUST return a 2.XX
response code otherwise server MUST return an appropriate CoAP Client Error
4.xx or a Server Error 5.xx response code.

>This gets stranger even in this sentence, where it becomes very unclear:
>
>        If the server supports CMP Announcements messages, then it SHOULD
>        send appropriate 2.xx success response code, otherwise a 4.xx
>        or 5.xx error response code.

<M.S.>  Agreed, I will change it to
        If the server supports CMP Announcements messages, then it MUST
        send an appropriate 2.xx success response code, otherwise it MUST
send a 4.xx
        or 5.xx error response code.

>Now "can" is very strange here for not being a SHOULD or MAY or MUST
>
>
>        can try after some time to register again
>

<M.S.> Agreed, Change it to "MAY try after some time to register again"

>Same here.
>
>
>        Alternatively, an EE MAY poll for the potential changes
>
> What is meant with "potential changes" ?
> (also the grammar of this sentence does not work)
>
>        to get information about the changes.
>
>Also here, what "changes" ?
<M.S.> Agreed, I will change it to
Alternatively, an EE MAY periodically poll for the current status of the CA
via the "PKI Information Request" message [Section 6.2 RFC 4210]. If
supported, EEs may also use "Support Messages" defined in section 4.3 of
the Lightweight CMP Profile [I-D.ietf-lamps-lightweight-cmp-profile] to get
information about the changes.
>Section 4:
>
>        The CMP protocol depends upon various mechanisms in the protocol
>        itself for making the transactions secure therefore, security
>        issues of CoAP due to using UDP without cryptographic protections
>        for message confidentiality and integrity, do not carry over to
>        the CMP layer. The Security considerations for CoAP are mentioned
>        in the [RFC7252].
>
>This is a very vague sentence that also does not read well. And I do not
>understand the "carry over" parts. Perhaps something like:
>
>        All payloads of the CMP protocol are cryptographically protected
>        against malicious modifications. As such, UDP can be used without
>        compromising the security of the CMP protocol. Security
Considerations
>        for CoAP are defined in [RFC7252].
>
<M.S.> Agreed.
>Similarly the second point:
>
>        Although the CMP protocol does not depend upon the underlying
>        transfer mechanism for protecting the messages but in cases when
>        confidentiality protection is desired, CoAP over DTLS [RFC9147]
>        MAY be used providing a hop-by-hop security. The use of DTLS can
>        provide confidentiality protection of the CMP-level metadata,
>        however it cannot obscure the fact that CMP is being used in
>        the underlying layer.
>
>Perhaps instead:
>
>        The CMP protocol does not provide confidentiality of the CMP
payloads.
>        If confidentiality is desired, CoAP over DTLS [RFC9147] can be used
>        to provide confidentiality for the CMP payloads, although it cannot
>        conceal that the CMP protocol is used within the DTLS layer.
>
>
<M.S.> Agreed.
>
>        Once a DTLS [RFC9147] association is established it SHOULD be
>        used for as long as possible to avoid the frequent overhead of
>        setting up a DTLS [RFC9147] association for constrained devices.
>
>I think the reference to "as long as possible" is a bit strange. How about:
>
>        DTLS associations SHOULD be kept alive and re-used where possible
>        to amortise on the additional overhead of DTLS on constrained
devices.
>
<M.S.> Agreed.

>The next bullet point just needs some grammar fixes:
>
>        An EE may miss some of the Announcement messages when using CoAP
>        Observe option [RFC7641] since Observe option is a "best-effort"
>        approach and server can lose state about subscribers for
>        announcement messages. The EEs may use alternate method described
>        in section 2.6 to get time critical changes like CRL updates.
>
>How about:
>
>        An EE might not witness all of the Announcement messages when
using the CoAP
>        Observe option [RFC7641], since the Observe option is a
"best-effort"
>        approach and the server might lose its state for subscribers to its
>        announcement messages. The EEs may use an alternate method
described
>        in section 2.6 to obtain time critical changes such as CRL updates.
>
<M.S.> Agreed.

>The next bullet I just do not understand:
>
>        In order to to reduce the risks imposed by DoS attacks, the
>        implementations SHOULD optimally use the available datagram size
>        i.e. avoid small datagrams containing partial CMP PKIMessage data.
>
>Please explain what is meant here and/or rephrase it.
<M.S.>
Here the intent is to warn the implementations to

>
>Section 5:
>
>        This document requires a new entry to the CoAP
>
>s/requires/adds
>
>        This document also requires
>
>s/requires/adds/
<M.S> Agreed.
>
>        in the CMP protocol registry
>
>s/in/to
<M.S> Agreed.

>
>
>        Description: The path to send a Get request
>
>Should that be a "GET request" ?
>
>
>        This document references the cmp, in the Well-Known URIs IANA
>        registry. This document is expected to be published together
>        with [I-D.ietf-lamps-cmp-updates]. Please add a reference of
>        this document to the Well-Known URIs IANA registry for that entry
>
>        This document also refers the path segment "p" in the Certificate
>        Management Protocol (CMP) IANA registry. Please add a reference
>        of this document to the Certificate Management Protocol (CMP)
>        for that path segment.
>
>Please seperate the addition instruction for IANA from the RFC Editor
>instruction. Just state the additions as if the other documents were
>already published, and then add a note using [Note RFC Editor: ...]
>explaining this document should be published after the two referenced
>ones.
<M.S.>
        This document references the cmp, in the Well-Known URIs IANA
        registry. Please add a reference of this document to the
Well-Known URIs IANA registry for that entry

        This document also refers the path segment "p" in the Certificate
        Management Protocol (CMP) IANA registry. Please add a reference
        of this document to the Certificate Management Protocol (CMP)
        for that path segment.

[Note RFC Editor: This document should be published together
        or after the [I-D.ietf-lamps-cmp-updates] and
[I-D.ietf-lamps-lightweight-cmp-profile]
        as it references IANA entries created by those Internet drafts.
>
>[I-D.ietf-lamps-cmp-updates] and [I-D.ietf-lamps-lightweight-cmp-profile]
>are listed as informative references, but these should be normative
>references (as you point to sections in those documents for syntax)
>
<M.S.> Agreed.

>
>NITS:
<M.S.> I will update the draft with suggested changes.

>
>        Here is the list of CMP announcement messages
>
>Do not use "here". Maybe just: The list of CMP ....... are:
>
>        An EE MAY use CoAP Observe option
>
>s/use/use the/
>
>        to get any announcement messages
>
>s/any/all
>
>        If for some reason server cannot add
>
>s/server/the server
>
>        A client on receiving
>
>s/on receiving/that receives
>
>        allows the EE to receive
>
>s/the EE/an EE
>
>        Since the CMP payload is same over CoAP and HTTP transfer
mechanisms
>
>Since the CMP payload is the same wether using CoAP or HTTP transfer
mechanisms
>
>        Some recommended mechanisms are as follows:
>
>delete "as follows"
>
>        Since the Proxy may have access to the CMP-Level
>
>s/may have/has
>
>        therefore proper role based access control should be in place.
>
>s/therefore/, proper role based access controls should be deployed
>
>        Proxy can be
>
>s/Proxy/Proxies
>
>        to protect them
>
>s/to protect them/for protection
>
>        The proxy however may itself be vulnerable to resource-exhaustion
attacks
>
>s/The proxy itself can also be attacked by resource-exhaustion attacks
>

Regards,
Mohit

On Sun, Feb 26, 2023 at 5:49 PM Paul Wouters <paul.wout...@aiven.io> wrote:

> AD review: draft-ietf-ace-cmpv2-coap-transport-07
>
>
> Please see below my AD review comments. I believe a revision of the
> document
> is required before sending it to the IESG. The substantial comments are
> mostly
> about SHOULD vs MUST cases, but there is also a few large pieces of text,
> mostly
> in the Security Considerations section, that need to be reformulated for
> clarity.
> I've tried to propose text where I can.
>
> I've also tried to fixup a few spelling and grammer issues.
>
> Regards,
>
> Paul
>
>
>
>
>
>         A CMP client SHOULD send each CoAP requests marked as a
> Confirmable message Section 2.1 of [RFC7252].
>
> When would one not use a Confirmable message ? eg why is this a SHOULD and
> not a MUST ?
>
> (also, the sentence doesn't make, did you mean to add "as per Section 2.1
> ....." ? )
>
>
>         If the CoAP request is successful then the server SHOULD return a
> "2.05 Content" response code.
>
> What else could be sent if the SHOULD is not followed? Eg why is this is a
> SHOULD and not a MUST ?
>
>         If the CoAP request is not successful then an appropriate CoAP
>         Client Error 4.xx or a Server Error 5.xx response code MUST
>         be returned.
>
> Especially seeing there is a MUST here.
>
>
> This gets stranger even in this sentence, where it becomes very unclear:
>
>         If the server supports CMP Announcements messages, then it SHOULD
>         send appropriate 2.xx success response code, otherwise a 4.xx
>         or 5.xx error response code.
>
> eg the 'otherwise' clause is not using a SHOULD or MUST, does it inherit
> the
> one from the previous sentence? Also, why SHOULD and not MUST?
>
>         it can omit the Observe option
>
> Now "can" is very strange here for not being a SHOULD or MAY or MUST
>
>
>         can try after some time to register again
>
> Same here.
>
>
>         Alternatively, an EE MAY poll for the potential changes
>
> What is meant with "potential changes" ?
> (also the grammar of this sentence does not work)
>
>         to get information about the changes.
>
> Also here, what "changes" ?
>
>
> Section 4:
>
>         The CMP protocol depends upon various mechanisms in the protocol
>         itself for making the transactions secure therefore, security
>         issues of CoAP due to using UDP without cryptographic protections
>         for message confidentiality and integrity, do not carry over to
>         the CMP layer. The Security considerations for CoAP are mentioned
>         in the [RFC7252].
>
> This is a very vague sentence that also does not read well. And I do not
> understand the "carry over" parts. Perhaps something like:
>
>         All payloads of the CMP protocol are cryptographically protected
>         against malicious modifications. As such, UDP can be used without
>         compromising the security of the CMP protocol. Security
> Considerations
>         for CoAP are defined in [RFC7252].
>
> Similarly the second point:
>
>         Although the CMP protocol does not depend upon the underlying
>         transfer mechanism for protecting the messages but in cases when
>         confidentiality protection is desired, CoAP over DTLS [RFC9147]
>         MAY be used providing a hop-by-hop security. The use of DTLS can
>         provide confidentiality protection of the CMP-level metadata,
>         however it cannot obscure the fact that CMP is being used in
>         the underlying layer.
>
> Perhaps instead:
>
>         The CMP protocol does not provide confidentiality of the CMP
> payloads.
>         If confidentiality is desired, CoAP over DTLS [RFC9147] can be used
>         to provide confidentiality for the CMP payloads, although it cannot
>         conceal that the CMP protocol is used within the DTLS layer.
>
>
>
>         Once a DTLS [RFC9147] association is established it SHOULD be
>         used for as long as possible to avoid the frequent overhead of
>         setting up a DTLS [RFC9147] association for constrained devices.
>
> I think the reference to "as long as possible" is a bit strange. How about:
>
>         DTLS associations SHOULD be kept alive and re-used where possible
>         to amortise on the additional overhead of DTLS on constrained
> devices.
>
> The next bullet point just needs some grammar fixes:
>
>         An EE may miss some of the Announcement messages when using CoAP
>         Observe option [RFC7641] since Observe option is a "best-effort"
>         approach and server can lose state about subscribers for
>         announcement messages. The EEs may use alternate method described
>         in section 2.6 to get time critical changes like CRL updates.
>
> How about:
>
>         An EE might not witness all of the Announcement messages when
> using the CoAP
>         Observe option [RFC7641], since the Observe option is a
> "best-effort"
>         approach and the server might lose its state for subscribers to its
>         announcement messages. The EEs may use an alternate method
> described
>         in section 2.6 to obtain time critical changes such as CRL updates.
>
> The next bullet I just do not understand:
>
>         In order to to reduce the risks imposed by DoS attacks, the
>         implementations SHOULD optimally use the available datagram size
>         i.e. avoid small datagrams containing partial CMP PKIMessage data.
>
> Please explain what is meant here and/or rephrase it.
>
> Section 5:
>
>         This document requires a new entry to the CoAP
>
> s/requires/adds
>
>         This document also requires
>
> s/requires/adds/
>
>         in the CMP protocol registry
>
> s/in/to
>
>
>         Description: The path to send a Get request
>
> Should that be a "GET request" ?
>
>
>         This document references the cmp, in the Well-Known URIs IANA
>         registry. This document is expected to be published together
>         with [I-D.ietf-lamps-cmp-updates]. Please add a reference of
>         this document to the Well-Known URIs IANA registry for that entry
>
>         This document also refers the path segment "p" in the Certificate
>         Management Protocol (CMP) IANA registry. Please add a reference
>         of this document to the Certificate Management Protocol (CMP)
>         for that path segment.
>
> Please seperate the addition instruction for IANA from the RFC Editor
> instruction. Just state the additions as if the other documents were
> already published, and then add a note using [Note RFC Editor: ...]
> explaining this document should be published after the two referenced
> ones.
>
>
> [I-D.ietf-lamps-cmp-updates] and [I-D.ietf-lamps-lightweight-cmp-profile]
> are listed as informative references, but these should be normative
> references (as you point to sections in those documents for syntax)
>
>
> NITS:
>
>         Here is the list of CMP announcement messages
>
> Do not use "here". Maybe just: The list of CMP ....... are:
>
>         An EE MAY use CoAP Observe option
>
> s/use/use the/
>
>         to get any announcement messages
>
> s/any/all
>
>         If for some reason server cannot add
>
> s/server/the server
>
>         A client on receiving
>
> s/on receiving/that receives
>
>         allows the EE to receive
>
> s/the EE/an EE
>
>         Since the CMP payload is same over CoAP and HTTP transfer
> mechanisms
>
> Since the CMP payload is the same wether using CoAP or HTTP transfer
> mechanisms
>
>         Some recommended mechanisms are as follows:
>
> delete "as follows"
>
>         Since the Proxy may have access to the CMP-Level
>
> s/may have/has
>
>         therefore proper role based access control should be in place.
>
> s/therefore/, proper role based access controls should be deployed
>
>         Proxy can be
>
> s/Proxy/Proxies
>
>         to protect them
>
> s/to protect them/for protection
>
>         The proxy however may itself be vulnerable to resource-exhaustion
> attacks
>
> s/The proxy itself can also be attacked by resource-exhaustion attacks
>
>
_______________________________________________
Ace mailing list
Ace@ietf.org
https://www.ietf.org/mailman/listinfo/ace

Reply via email to