Re: [Ace] WGLC for draft-ietf-ace-oscore-profile

Jim Schaad <> Thu, 25 October 2018 21:25 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 2CBEB130DFB; Thu, 25 Oct 2018 14:25:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id n3GjOXxKNJ2f; Thu, 25 Oct 2018 14:25:10 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 597EF12D4E9; Thu, 25 Oct 2018 14:25:09 -0700 (PDT)
Received: from Jude ( by ( with Microsoft SMTP Server (TLS) id 15.0.1347.2; Thu, 25 Oct 2018 14:20:20 -0700
From: Jim Schaad <>
To: 'Francesca Palombini' <>, <>
CC: <>
References: <065a01d45f4e$b738ae60$25aa0b20$> <028c01d46a3a$ae1b9e40$0a52dac0$> <>
In-Reply-To: <>
Date: Thu, 25 Oct 2018 14:24:59 -0700
Message-ID: <018c01d46ca9$30c0c6c0$92425440$>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AQIoMJGW0ffnzj4eMWBhJ41cSURLyANvcssxAUg2R1SkYzGVIA==
Content-Language: en-us
X-Originating-IP: []
Archived-At: <>
Subject: Re: [Ace] WGLC for draft-ietf-ace-oscore-profile
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Authentication and Authorization for Constrained Environments \(ace\)" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 25 Oct 2018 21:25:12 -0000

> -----Original Message-----
> From: Francesca Palombini <>
> Sent: Thursday, October 25, 2018 4:47 AM
> To: Jim Schaad <>om>; draft-ietf-ace-oscore-
> Cc:
> Subject: Re: [Ace] WGLC for draft-ietf-ace-oscore-profile
> Hi Jim,
> Thank you for your review comments. We agree with all your points, and
> have opened issues: to
> get this fixed.
> Inline some detailed answer.
> Thanks,
> Francesca
> ´╗┐On 22/10/2018, 21:09, "Jim Schaad" <> wrote:
>     * Section 1 - I understand the reasoning behind having the server send back
>     a nonce, although it would be good to have a description someplace about
> why
>     this is being done.  (I would also make it optional as not all RS need to do
>     this.)  I do not understand the reasoning behind having the client send a
>     nonce to the server.
> FP: The motivation for the nonce construction was in the security
> considerations, but I agree that having it in the Protocol Overview makes
> sense, so I opened an issue to fix that. The reason behind having the client
> create a nonce is that we are protecting against an attacker replaying an old
> RS message (containing an old nonce), which would provoke the creation of
> an old security context on the Client, and reuse of keys and nonces for a
> different (new) message.

So what you are looking at is a client which is going to "forget" the current security context that it possesses for an RS but not the token, re-posting the token to the RS because it apparently thinks that the RS has forgotten the token and context without and then accepting the replay as being valid.  

I think that a client which has forgotten the security context is also going to forget the token and thus need a new one.
I think that a client which is going to remember the security context is also going to remember the nonce from the server and thus not rebuild the context if the same nonce comes back.

If this needs to be explicit - then it should be made so.

>     * Section 3.1 - This is more general than the section, but you should not
>     use the URI path in the text, instead you should be using the name that is
>     in the authz document.
> FP: Agreed, issue opened to fix this.
>     * Section 3.2 - Does it really make sense to use 'COSE_Key' to transport the
>     key data?  Would a different field name be better?
> FP: This was brought up several times, so we will make this change now.
>     * Section 3.2 - Please provide a justification for the requirement that the
>     ids must be unique over the set of all clients and RS.   I can see that the
>     client ids need to be unique on a single RS and RS ids need to be unique for
>     any given client but not the broader statement.
> FP: You are right, this requirement is too wide. We will replace with your
> suggestion.
>     * Please add an explicit section on when a RS and a client should discard
>     the security context.
> FP: Ok we will add this. As mentioned in the issue, I have now only this 3
> cases in mind: Partial IV space ends (either C or RS); the kid context on the RS
> side does not match with N1 (RS); C receives a number of Unauthorized (C),
> although that is a consideration/recommendations, details would be
> application specific. Do you see any other case relevant for this section?

Well - there are thing like expiration of the token which would make sense as well.    If you re-register the token because of an unauthorized and get back a different nonce value.

>     * Section 6 - Ok I'll bite  - how does not echoing the nonce allow for a
>     man-in-the-middle attack given that the salt and shared secret are still
>     going to be known only to the C and RS and not to the MITM.  I can see a
>     attack being made, but that can be done even without this just by causing
>     the response to never be delivered.
> FP: Ok so our mistake here is to use the term MitM, so to solve this we will
> replace with "on-path attacker". The following sentence should be correct
> with that fix "Moreover, the client echoes the nonce created by the RS,
> which verifies it before deriving the Security Context, and this protects
> against an adversary acting as an on path attacker and substituting the nonce
> in transit from client to RS to provoke the creation of different Security
> Contexts in the client and RS." Yes this is a DOS, but could also lead to reuse
> of keys and nonces, as mentioned before.

See my above comment.  But there are no problems here with the server doing anything interesting as it would presumably not have generated the same nonce value as the last time.  This means that the client would generate new keys only if the previous comment was wrong.

I just don't see this as being a problem.  Merits discussion in Bangkok


>     * Appendix - I am not sure that I think that the EDHOC profile should be in
>     this document as oppose to being in it's own document.  The fact that we
>     have not even tried to get this to work in any of the interop tests means
>     that I am less sure that it is well baked.
> FP: Agreed, we will remove this from this document and move it to its own
> document
>     Jim
>     > -----Original Message-----
>     > From: Ace <> On Behalf Of Jim Schaad
>     > Sent: Monday, October 8, 2018 2:35 PM
>     > To:
>     > Subject: [Ace] WGLC for draft-ietf-ace-oscore-profile
>     >
>     > The chairs believe that the set of documents dealing with the OAuth
>     > framework for constrained environments is nearing the point that we
> should
>     > be able to advance it to the IESG for publication.   We therefore want to
>     > have a full list of issues that need to be dealt with at the Bangkok
>     > meeting.
>     >
>     > This starts a 2 week WGLC for draft-ietf-ace-oscore-profile
>     >
>     > We know that the following issues are outstanding:
>     >
>     > draft-ietf-ace-oscore-profile:
>     > *  No current known issues
>     >
>     >
>     > Jim & Roman
>     >
>     >
>     > _______________________________________________
>     > Ace mailing list
>     >
>     >