Re: [Ace] Embedded Content Types

"Panos Kampanakis (pkampana)" <> Fri, 22 February 2019 03:21 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 9B73912F295 for <>; Thu, 21 Feb 2019 19:21:18 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -14.502
X-Spam-Status: No, score=-14.502 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id jGwqn5CgapnK for <>; Thu, 21 Feb 2019 19:21:17 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 19646128B33 for <>; Thu, 21 Feb 2019 19:21:17 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=4964; q=dns/txt; s=iport; t=1550805677; x=1552015277; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=W6oyGp+MxA2xjvb5HQPPWLZABc3ixEMaoWjTX2/pMDw=; b=N7B83xkcmDzodMuq1lGdi5KEdlPTNONukbfCnhKJLyPTSAjcmeRp9e3q Lrd1wEvwZWRSSqof9yh00Mo9vtutQfbf08TZADm4dGQnEZMijRtjSjXk1 w7EhlvP+6LpH9jWkbd/FHvJRqYa2KtQPNq7VGvQd/rAbPdlv1caKbI4Tv E=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="5.58,397,1544486400"; d="scan'208";a="240227523"
Received: from ([]) by with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 Feb 2019 03:21:16 +0000
Received: from ( []) by (8.15.2/8.15.2) with ESMTPS id x1M3LFRY017313 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Fri, 22 Feb 2019 03:21:16 GMT
Received: from ( by ( with Microsoft SMTP Server (TLS) id 15.0.1395.4; Thu, 21 Feb 2019 21:21:15 -0600
Received: from ([]) by ([]) with mapi id 15.00.1395.000; Thu, 21 Feb 2019 21:21:15 -0600
From: "Panos Kampanakis (pkampana)" <>
To: Jim Schaad <>, "'Carsten Bormann'" <>
CC: "'ace'" <>, "'Klaus Hartke'" <>
Thread-Topic: [Ace] Embedded Content Types
Thread-Index: AdTJQwabXPaUkoDzRkqcz/D5vJfkVwAH1C+AABSNAYAACQoogAAiZMuAAAwKIdD//6n5gIAABfcAgAAL6ICAACd+QA==
Date: Fri, 22 Feb 2019 03:21:15 +0000
Message-ID: <>
References: <02a201d4c945$eb10a510$c131ef30$> <> <> <> <032f01d4ca2f$ff19c6a0$fd4d53e0$> <> <033201d4ca35$23f58f40$6be0adc0$> <> <033301d4ca3e$14130180$3c390480$>
In-Reply-To: <033301d4ca3e$14130180$3c390480$>
Accept-Language: en-US
Content-Language: en-US
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: []
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <>
Subject: Re: [Ace] Embedded Content Types
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: Fri, 22 Feb 2019 03:21:19 -0000

That comes with a set of problems. A simplification needs to take place. It is probably better to just mandate one content-type for cert to get away without complicated combined content types. We don't need to support TBD287 and 281 in the embedded responses. It makes more sense to not do so. 

As for why, there are a three reasons I can think of: 
1) Two separate URIs means we are adding state tracking for the CA. The CA now needs to support 
- EST that says "give me the key and a cert all at once and then forget about it".
- EST-coaps that says "give me a key. Remember this key/cert pair and serve the certificate until I decide to come back and get it". Now imagine I have 10000 of endpoints enrolling. The server keeps state for all of them and cannot forget them until he gets the equivalent requests. And then, what happens if a cert is lost on the way back? The CA is supposed to remember the key / cert for some time. There is a DoS vector right there. 

2) One more challenge with two URIs is that the client needs to somehow signal in the 2nd request to the server to tell him what key/cert he is expecting to get, so there is one more new thing the client now needs to do. 

3) Additionally, it sounds like we are doomed with the discovery. The server cannot tell the client what embedded types he supports, thus the client will just try asking different combinations until he gets a response.

That is why I think two URIs are a bad idea. A query type may be OK, but I can see Carsten and Klaus' point. We can just keep one cert content type in the multipart, that simplifies it. 


-----Original Message-----
From: Jim Schaad <> 
Sent: Thursday, February 21, 2019 6:35 PM
To: 'Carsten Bormann' <>
Cc: Panos Kampanakis (pkampana) <>om>; 'ace' <>rg>; 'Klaus Hartke' <>de>;
Subject: RE: [Ace] Embedded Content Types

It is true that the query parameters are part of the type.  However, the use of two different URIs allows for the discovery to figure out if both versions are supported rather than having either a failure occur because the query parameter is not supported or getting the wrong answer back because it is not looked for.


> -----Original Message-----
> From: Carsten Bormann <>
> Sent: Thursday, February 21, 2019 2:52 PM
> To: Jim Schaad <>
> Cc: Panos Kampanakis (pkampana) <>om>; ace 
> <>rg>; Klaus Hartke <>de>; 
> draft-ietf-ace-coap-
> Subject: Re: [Ace] Embedded Content Types
> On Feb 21, 2019, at 23:31, Jim Schaad <> wrote:
> >
> > I am thinking of two different URLs, that is not do the difference 
> > by a query
> parameter but by changing the URI.
> Note that the query parameters are part of the URI, so fundamentally 
> there is no difference between putting the info there or in the path 
> part of the URI.
> The path part can be slightly more concise.  We are more used to 
> “computing” the query part.  I don’t have a strong preference.
> But in either case it is good if discovery can find the URI being 
> offered (including its query parameters, if those are used).
> (And I agree that the “ct” target attribute really is for the top 
> level media type; of course we could invent a new target attribute 
> “ect” for embedded content formats [and fight against autocorrection 
> for the rest of our lives :-
> )].)
> Grüße, Carsten