Re: [Ace] Ordering Guarantee in CoAP-EAP

Benjamin Kaduk <kaduk@mit.edu> Thu, 15 April 2021 04:31 UTC

Return-Path: <kaduk@mit.edu>
X-Original-To: ace@ietfa.amsl.com
Delivered-To: ace@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1B19A3A0D25 for <ace@ietfa.amsl.com>; Wed, 14 Apr 2021 21:31:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.896
X-Spam-Level:
X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wzxo7dZR3zHQ for <ace@ietfa.amsl.com>; Wed, 14 Apr 2021 21:31:06 -0700 (PDT)
Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 620B93A0D1E for <ace@ietf.org>; Wed, 14 Apr 2021 21:31:06 -0700 (PDT)
Received: from kduck.mit.edu ([24.16.140.251]) (authenticated bits=56) (User authenticated as kaduk@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 13F4UwNM002381 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 15 Apr 2021 00:31:03 -0400
Date: Wed, 14 Apr 2021 21:30:57 -0700
From: Benjamin Kaduk <kaduk@mit.edu>
To: Dan Garcia Carrillo <garciadan@uniovi.es>
Cc: "ace@ietf.org" <ace@ietf.org>, Rafa Marin-Lopez <rafa@um.es>
Message-ID: <20210415043057.GF79563@kduck.mit.edu>
References: <4a720f1d-5b46-c86d-4472-95da7774571d@uniovi.es>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <4a720f1d-5b46-c86d-4472-95da7774571d@uniovi.es>
Archived-At: <https://mailarchive.ietf.org/arch/msg/ace/DjLF_HUKpzQlgznnOHA9ZL08iQA>
Subject: Re: [Ace] Ordering Guarantee in CoAP-EAP
X-BeenThere: ace@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Authentication and Authorization for Constrained Environments \(ace\)" <ace.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ace>, <mailto:ace-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ace/>
List-Post: <mailto:ace@ietf.org>
List-Help: <mailto:ace-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ace>, <mailto:ace-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Apr 2021 04:31:11 -0000

Hi Dan,

I think the Echo option should be workable for your case (and in fact would
provide an example of a case where the "time-limited single-use
cryptographic nonce" that I had asked about in my review of
draft-ietf-core-echo-request-tag might be applicable).

I expect the URI-Query proposal would be functional as well, but perhaps
require more complexity, especially when the number of round-trips in the
EAP mechanism is not going to be known in advance.

I don't think I quite understand the concerns with Location-Path and
Location-Query (possibly because it's late in the day for me) and can't
provide an answer for your question about that mechanism.

-Ben

On Tue, Mar 30, 2021 at 06:49:32PM +0200, Dan Garcia Carrillo wrote:
> Hi ACE,
> 
> Last Thursday we had a conversation with Christian regarding possible 
> optimizations on how to provide the requisite of the ordering guarantee 
> for EAP.
> 
> This is currently achieved with an Option we define (SeqNum) to maintain 
> a sequence number. This number is initialized randomly by the Controller 
> and increased monotonically. This way the IoT device is able to know 
> which is the next expected message.
> 
> In previous investigations, having into account that we are dealing with 
> a lock-step protocol, we consider using the MSG-ID. The fact that they 
> can be generated randomly was not a problem, since we considered that 
> the CoAP engine store the recent MSG-IDs to detect duplicates, and any 
> new message with an unregistered MSG-ID was considered the next expected 
> message.
> 
> After our conversation with Christian, he pointed out that there may be 
> implementations which may not keep track of recent MSG-IDs, hence we may 
> need to rely on other mechanism to ensure the message sent is the one 
> expeted.
> 
> To avoid defining a new option, we could use existing solutions to help 
> provide ordered delivery:
> - URI-Query
> - Location-Path and Location-Query
> - Echo Option
> 
> URI-Query:
> We can use this as part of the request to specify accesing a resource 
> with a subsequent value that indicates the step we are currently in 
> (e.g., /b/x/n), 'b' -> bootstrapping service; 'x'-> resource for the 
> currenty bootstrapping state; 'n'-> the current exchange
> 
> Location-Path and Location-Query:
> In the response we would indicate the update on the current state and  
> what is expected from the client in the next message, by adding the 
> Location-Path and Location-Query Options. The problem is that currently 
> these options are specified with 2.01 response code, not 2.04 Changed 
> (the one we are using every time we update the bootstrapping state).
> 
> Our question is, would be possible to have this confirmation in the 
> response?
> 
> Echo Option:
> Finally, another option proposed by Christian is to use the Echo Option, 
> starting in the first ACK from the server, to achieve the ordering 
> guarantee. The server would state a number that has to be replied in 
> another Echo Option in the next POST request from the server.
> 
> 
> We feel that the mechamism finally chosen, that we are pursuing for the 
> need of the EAP requirements, could be used for any lock-step protocol 
> using CoAP as transport.
> 
> This is what we understood, please Christian comment if there is 
> something to be clarified.
> 
> 
> I think the option with the Echo Option we achieve a clean solution with 
> a similar approach as we propose with the SeqNum Option.
> 
> Best Regards,
> 
> Dan.
> 
> 
> 
> [1] https://tools.ietf.org/html/draft-ietf-core-echo-request-tag-12
> 
> 
> 
> _______________________________________________
> Ace mailing list
> Ace@ietf.org
> https://www.ietf.org/mailman/listinfo/ace