Re: [Ace] Review draft-ietf-ace-coap-est

Jim Schaad <ietf@augustcellars.com> Wed, 04 July 2018 13:30 UTC

Return-Path: <ietf@augustcellars.com>
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 86375130F50; Wed, 4 Jul 2018 06:30:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-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 J_IkCBmr75ut; Wed, 4 Jul 2018 06:30:14 -0700 (PDT)
Received: from mail2.augustcellars.com (augustcellars.com [50.45.239.150]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CDB59130F1E; Wed, 4 Jul 2018 06:30:13 -0700 (PDT)
Received: from Jude (73.180.8.170) by mail2.augustcellars.com (192.168.0.56) with Microsoft SMTP Server (TLS) id 15.0.1347.2; Wed, 4 Jul 2018 06:26:39 -0700
From: Jim Schaad <ietf@augustcellars.com>
To: consultancy@vanderstok.org
CC: draft-ietf-ace-coap-est@ietf.org, 'ace' <ace@ietf.org>
References: <032f01d41140$20027c80$60077580$@augustcellars.com> <58f0553599ed74abd4b97db321cb5f1f@bbhmail.nl>
In-Reply-To: <58f0553599ed74abd4b97db321cb5f1f@bbhmail.nl>
Date: Wed, 04 Jul 2018 06:29:42 -0700
Message-ID: <000a01d4139b$12a0be50$37e23af0$@augustcellars.com>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_000B_01D41360.6642F7C0"
X-Mailer: Microsoft Outlook 16.0
Content-Language: en-us
Thread-Index: AQKjE10J+6girvZOsYQUQD5x+QOohAJu3Jrlos2WpeA=
X-Originating-IP: [73.180.8.170]
Archived-At: <https://mailarchive.ietf.org/arch/msg/ace/HU2iViH2TWyTySxxr_Oh6HU4cc0>
Subject: Re: [Ace] Review draft-ietf-ace-coap-est
X-BeenThere: ace@ietf.org
X-Mailman-Version: 2.1.26
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: Wed, 04 Jul 2018 13:30:18 -0000

 

 

From: Peter van der Stok <stokcons@bbhmail.nl> 
Sent: Wednesday, July 4, 2018 1:53 AM
To: Jim Schaad <ietf@augustcellars.com>
Cc: draft-ietf-ace-coap-est@ietf.org; 'ace' <ace@ietf.org>
Subject: Re: [Ace] Review draft-ietf-ace-coap-est

 

Hi Jim,

Many thanks for the review. See our answers below.

* In section 4.1 I have a question about what you are using for payload content encoding.  Part of this might just be a question of how you plan to move from ASN.1 to CBOR at some point in the future.  I think that it would necessitate doing new media-types in that event.  You appear to be doing a CBOR bstr wrapping on the ASN.1 encoding payload.  I don't believe that there is any reason for doing this.  I would expect that the payload would be the ASN.1 w/o any ASN.1.  It is highly possible that I am just mis-reading what the text says and this is what you say.

<pvds>

What I wanted to do, and did not express very well.

Keep the ASN.1 structure of the payload; (re-using code)

Use straight binary coding instead of the base64-encoded (30% payload reduction)

Wrap the binary in a CBOR major type 2 h’xxx’ notation. (compatibility with multipart)

Not sure if this needs a new media type, the http content-coding and transfer-coding registries were not very helpful.

</pvds>

[JLS]  I do not believe that the wrapping of content with the CBOR binary text wrapping is needed at this point.  If that is needed for the multi-part wrapping, then it is the job of the multi-part wrapping to deal with this problem.  Multipart needs to be able to say I have a multipart of <plain text, json> neither of which are CBOR objects.  Therefor there is no reason for you to use a CBOR wrapper for this and not just use the binary value.



* In section 5.0 - As written, the example of doing a query against /.well-known/core does not match my understanding of what would be return.
It should only return those resources which have the rt field set on them.
I do not understand why you believe that the following lines MAY be returned.  Clarification of why you think this is true would be appreciated.

<pvds>

Thanks for your reaction, I hesitated between two choices.

*	Provide every line with another rt=ace.est.crts; rt=ace.est.sen; etc.
*	Make them all ace.est.

There are no structure guidelines on rt= value, which complicates things.

Looking forward to your (and others) opinion.

</pvds>

[JLS] This is probably a don’t ask me question because I am not a deployer of IoT objects.  I don’t know that there is a good answer for this.  This is probably a good question to toss at the CORE WG.


* Section 6 - Is there a need to have all of this description around TLS-unique?  Do you have a reason to believe that people are going get this implemented wrong?

<pan>
This come from experience. The implementation we had done in the past did not implement it correctly, that is why we expanded on the TLS-unique. We will see about shrinking the text in the draft. 

</pan>

* Section 7 - I think the figure has an error associated w/ it.  The CA should be tied to the EST Server and not to the Registrar

<pan>
Thank you, we will fix that in the next iteration.

</pan>

* Section 7 - Your language is a bit sloppy around the terms of POP and POP linking.  Unless it is really badly behaved, POP should never be broken by an RA.  The POP is the signature on the request and not tied to the TLS channel.  The POP linking is tied to the TLS channel and is broken by the changing of the TLS sessions (client <-> RA,  RA <-> CA) 

<pan>
Very good catch. We will tighten the language in the next iteration.

</pan>

* Section 7 - It is not clear to me that the SHOULD on reassembly of fragmentation is not a MUST.  I doubt that any EST server is going to be able to deal with getting fragments of requests from a registrar in separate messages.  This would be compounded if the proxy is handling multiple sessions at the same time. 

<pan>
I think that is reasonable. We will address it. 

</pan>

* Section 7 - It should be possible that when doing key generation for the protection of the private key to be end-to-end and it should not be necessary for the Proxy to decrypt and then re-encrypt the private key.  It should not matter for this if one does either symmetric or asymmetric encryption of the private key.

<pvds>

Proxy: you mean Registrar.

[JLS] Yes I meant Registrar.

The wish is understood, we’ll look into it.

</pvds>

* Section 7 - It is very possible that the private key generation function would be hosted on the proxy and not at the CA.  I think that you might want to describe this as a normal configuration.  (Just spotted this in the Security considerations.  I think it should be here as well.)

<pan>
Yes, right. We need to be crisper on the document that end to end or proxy can provide this functionality. We will make sure it is clear in the text. 

</pan>

* Section 9.1 - application/multipart-core should not be in the table of items for IANA to register.  This is being done in a different document.  If you want this table as a whole then it needs to be moved out of IANA considerations.

<pvds>

Absolutely right. Content-format is also specified I multipart-ct; did not see that. Will remove the entry.

</pvds>

* Section 9.2 - please expand this text some.  You might want to look at
https://tools.ietf.org/html/rfc7390#section-6.1 for a template.

<pvds>

Will do

</pvds>

Thanks Jim, This really helps to improve the document

 

Peter, Panos

 

Jim Schaad schreef op 2018-07-01 15:33: