Done, thanks for the review! I closed the corresponding issues in bitbucket.

Mališa

> On 29 Mar 2019, at 07:19, Göran Selander <goran.selan...@ericsson.com> wrote:
> 
> Hi Mališa,
> 
> Thanks for the update, this addresses my concerns. 
> 
> Editorial: Replace "entirely defined" with "specified".
> 
> Göran
> 
> On 2019-03-27, 23:16, "Mališa Vučinić" <malisa.vuci...@inria.fr> wrote:
> 
>    Dear Göran,
> 
> 
>    Many thanks for the review! As we discussed during the WG meeting, I added 
> new text in the draft to stress that the procedure in Appendix B.2 of OSCORE 
> should be used in the case of a failure event occurring at the JRC. The use 
> of this procedure
>     is now RECOMMENDED, and in case it is not supported by a particular 
> pledge implementation, we require the reprovisioning of the affected devices 
> with fresh parameters.
> 
> 
>    Other comments have also been taken into account and the draft has been 
> aligned with the references in oscore-16.
> 
> 
>    The related diff providing changes in respect to your comments is 
> available at:
>    
> https://bitbucket.org/6tisch/draft-ietf-6tisch-minimal-security/branch/minimal-security-10-goran#diff
> 
> 
>    Please let me know if this addresses your review.
> 
> 
>    Mališa
> 
> 
>    On 24 Mar 2019, at 23:08, Göran Selander <goran.selan...@ericsson.com> 
> wrote:
> 
>    Dear 6TiSCH,
> 
>    Sorry for very late response, here are a some post-2nd WGLC comments on 
> draft-ietf-6tisch-minimal-security-09:
> 
>    Summary: With one exception detailed below the draft seems to be in good 
> shape and essentially only need some harmonizing updates following the last 
> changes to OSCORE which has now completed IESG review.
> 
>    Main concern:
> 
>    Section 8.3:
>    The recovery from complete failure of the JRC as currently described is 
> not satisfactory and may lead to loss of confidentiality of data sent from 
> the JRC to the pledge.  During reinitialization of pledges due to complete 
> failure of JRC, the new JRC cannot
>     detect replays of old initialization messages, nor does it know the 
> latest sequence number used by the failed JRC:
> 
>    * It is not described how the new JRC reacts to a received CoJP request to 
> avoid accepting a replay request or why it is not a problem with nonce reuse 
> in the CoJP response.
>    * The procedure for the first Parameter Update with randomized payload may 
> have different known CoAP header parameter values than the message with which 
> nonce is reused, leading to a two-time pad which may to break 
> confidentiality. It should at least be described
>     why this is not an issue.
>    * There is no security consideration about properties of the encryption 
> algorithm, in this case AES-CCM, which limits this attack to confidentiality.
> 
>    There are different ways to resolve this. Here are two alternatives:
> 
>    Appendix B.2 in OSCORE specifies a challenge-response based protocol for 
> updating the security context based on an exchange of nonces. This protocol 
> can be directly applied here where the replaced JRC in the role of CoAP 
> server would trigger the protocol by
>     responding to the reinitialization request with a new security context as 
> is detailed in appendix B.2. The pledge then repeats the CoJP request with 
> another security context and the JRC responds with the CoJP response using 
> the agreed security context. In
>     this way the old security context is replaced by a new, thereby removing 
> the risks associated with accepting replayed messages and reusing nonces.
> 
> 
>    The procedure in the previous paragraph does however not support the 
> lightweight implementation option in Appendix B of this draft, since the 
> master secret is needed for deriving the new security context. If this is 
> very important to support, considering that
>     CoJP is a special application of OSCORE it may be possible to specify a 
> bespoke synchronization protocol. One setting for this is based on a reserved 
> JRC sequence number for responses to reinitialization requests, the Echo 
> option, and transport of the pledge
>     record of last used JRC sequence number. This would require a careful 
> analysis in particular of the use of JRC sequence numbers.
> 
> 
>    A related concern is on the use of persistent memory: 
> 
>    "In case of a reboot on either side, the retrieval of mutable security 
> context parameters is feasible from the persistent memory such that there is 
> no risk of AEAD nonce reuse due to a reinitialized Sender Sequence number, or 
> of a replay attack due to the reinitialized
>     replay window."
> 
>    Section B.1.1 of OSCORE details some issues with writing to non-volatile 
> memory that are applicable in particular to the JRC, and this text should be 
> updated accordingly. Depending on the JRC implementation, this may be another 
> reason why the pledges/joined
>     nodes need to support the protocol in Appendix B.2 in the case of JRC 
> losing context.
> 
>    Minor concerns:
> 
>    "Implementations MUST ensure that multiple CoAP requests to different JRCs 
> are properly incrementing the sequence numbers "
> 
>    I don't know why this is restricted to different JRCs: Implementations 
> MUST ensure that multiple CoAP requests properly incrementing the sequence 
> numbers.
> 
> 
>    OLD
>    "Since the pledge's OSCORE ID "
> 
>    NEW
>    "Since the pledge's OSCORE Sender ID "
> 
> 
>    " A simple implementation technique is to instantiate the OSCORE security
>      context with a given PSK only once and use it for all subsequent
>      requests. "
> 
>    Reference 7.5 and/or appendix B.1. Note that these are rewritten so 
> references here may have changed (see below).
> 
> 
>    OLD
>    "The (6LBR) pledge and the JRC use the OSCORE security
>      context parameters (e.g. sender and recipient identifiers) as they
>      were used at the moment of context derivation, regardless of whether
>      they currently act as a CoAP client or a CoAP server. "
> 
>    I think this text is intended as a clarification of OSCORE functionality, 
> but it doesn't make clear that that is what it is. Here is an attempt, 
> perhaps you can do better:
> 
>    NEW
>    Note that when the (6LBR) pledge and JRC changes roles between CoAP client 
> and CoAP server, the same OSCORE security context as initially derived in 
> each endpoint remains in use and the derived parameters are unchanged, for 
> example Sender ID when sending and
>     Recipient ID when receiving, see section 3.1 of 
> [I-D.ietf-core-object-security].
> 
> 
>    "A technique that prevents reuse of sequence numbers,
>      detailed in Section 7.5.1 of [I-D.ietf-core-object-security], MUST be
>      implemented.  Each update of the OSCORE Replay Window MUST be written
>      to persistent memory."
> 
>    Section 7.5.1 is now B.1.1, and the procedure is slightly different, there 
> are two parameters to set, K and F. Do you want to recommend any settings 
> here?
> 
> 
>    Göran
> 
> 
> 
>    On 2019-03-07, 15:45, "6tisch on behalf of Pascal Thubert (pthubert)" 
> <6tisch-boun...@ietf.org on behalf of
>    pthub...@cisco.com> wrote:
> 
>       Dear all:
> 
>       At the last IETF, we concluded the WGLC on 
> draft-ietf-6tisch-minimal-security and concluded it was mostly ready. It 
> received 7 reviews during the last WGLC, all of which had been integrated, 
> and received reviewers approval.
>       Two final changes were still needed.  Malisa was to discuss those on 
> the ML, integrate them into a new version of the draft if consensus was 
> found. There was in particular a dependency / alignlent to be made on OSCORE.
> 
>       More in 
>       https://www.mail-archive.com/6tisch@ietf.org/msg02875.html 
> <https://www.mail-archive.com/6tisch@ietf.org/msg02875.html>.
>     It appears that the issues are now resolved. Mališa, can you please 
> summarize the status with OSCORE?
> 
>       As promised, the Chairs now open a 1-week WGLC on 
>    https://tools.ietf.org/html/draft-ietf-6tisch-minimal-security-09 
> <https://tools.ietf.org/html/draft-ietf-6tisch-minimal-security-09>  focusing 
> on those changes, though any bug you can find is good to mention too.
>       The WGLC ends on Friday March 15th. Please have a good last look at the 
> spec and let us know.
> 
>       Looking forward to meeting you all in Prague,
> 
>       The chairs
> 
> 
> 
> 
> 
>    _______________________________________________
>    6tisch mailing list
>    6tisch@ietf.org
>    https://www.ietf.org/mailman/listinfo/6tisch
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 

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

Reply via email to