[Iot-directorate] EAT profiles (was Re: Iotdir last call review of draft-ietf-rats-eat-13)

Laurence Lundblade <lgl@island-resort.com> Tue, 07 June 2022 23:26 UTC

Return-Path: <lgl@island-resort.com>
X-Original-To: iot-directorate@ietfa.amsl.com
Delivered-To: iot-directorate@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C88FDC14CF16 for <iot-directorate@ietfa.amsl.com>; Tue, 7 Jun 2022 16:26:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.91
X-Spam-Level:
X-Spam-Status: No, score=-6.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ByE1gg2zOrME for <iot-directorate@ietfa.amsl.com>; Tue, 7 Jun 2022 16:26:33 -0700 (PDT)
Received: from p3plsmtpa11-06.prod.phx3.secureserver.net (p3plsmtpa11-06.prod.phx3.secureserver.net [68.178.252.107]) (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 2E1ACC14CF12 for <iot-directorate@ietf.org>; Tue, 7 Jun 2022 16:26:32 -0700 (PDT)
Received: from [192.168.1.4] ([75.80.148.139]) by :SMTPAUTH: with ESMTPA id yiainwDuz0yUWyiajnMqRQ; Tue, 07 Jun 2022 16:26:29 -0700
X-CMAE-Analysis: v=2.4 cv=JZt5EWGV c=1 sm=1 tr=0 ts=629fdea5 a=qS/Wyu6Nw1Yro6yF1S+Djg==:117 a=qS/Wyu6Nw1Yro6yF1S+Djg==:17 a=48vgC7mUAAAA:8 a=L-NQ1bvYmTpLATBY7uUA:9 a=QEXdDO2ut3YA:10 a=vEbt10zT7LN4hFM8:21 a=_W_S_7VecoQA:10 a=w1C3t2QeGrPiZgrLijVG:22
X-SECURESERVER-ACCT: lgl@island-resort.com
From: Laurence Lundblade <lgl@island-resort.com>
Message-Id: <E267AEDE-D1DB-415B-B28F-DD78A517D27A@island-resort.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_0A5A8F53-A2BC-407D-83C8-C224A7C00C68"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.21\))
Date: Tue, 07 Jun 2022 16:26:28 -0700
In-Reply-To: <165443386776.35361.12898474920348394274@ietfa.amsl.com>
Cc: iot-directorate@ietf.org, draft-ietf-rats-eat.all@ietf.org, last-call@ietf.org, rats@ietf.org
To: Eliot Lear <lear@cisco.com>
References: <165443386776.35361.12898474920348394274@ietfa.amsl.com>
X-Mailer: Apple Mail (2.3445.104.21)
X-CMAE-Envelope: MS4xfJMAyAv0PbddTgQe0SRt/3MH2QVGoxROJGlNXLRrgCOW+X3gJHYRDGIOT+1dHP/wDrJPDey3kh2NY8bX9axa+O5Xmfc0vww1F0TyCGETs3TgBN1b6lOs IcIMDf4FavVbyJGv93iW1NYMakUUWVpXYCSq+ehABsUAcK3rgO4ubiL2cmy/fjmQyIFdyLEyv4mDcbsWc/WDelVl0gv/j1vXCdgT1IoqrgS1PpK25YUwu+gx XwCBMC8FMmZnM9N80Kp4MfoL/Gi17ENmb/M1LTNBioOrkq4zFXkGKRiFh0bHpytoxqQ/kMC2N8Wj2j1JxNt7Eg==
Archived-At: <https://mailarchive.ietf.org/arch/msg/iot-directorate/CWdvyNel8VfdqbosTp_lgSiIAFM>
Subject: [Iot-directorate] EAT profiles (was Re: Iotdir last call review of draft-ietf-rats-eat-13)
X-BeenThere: iot-directorate@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Mailing list for the IoT Directorate Members <iot-directorate.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/iot-directorate>, <mailto:iot-directorate-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/iot-directorate/>
List-Post: <mailto:iot-directorate@ietf.org>
List-Help: <mailto:iot-directorate-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/iot-directorate>, <mailto:iot-directorate-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 07 Jun 2022 23:26:33 -0000

(sending again with corrections and because it doesn’t seem to have posted to the archive)

Hi Elliot,

To me EAT inherits extant interoperability issues in CBOR, COSE and CWT. Or perhaps we say EAT is a framework like CBOR, COSE and CWT. With profiles, EAT takes the issue head-on and does something about it.

Yes, I sometimes think “I” in IETF is for interoperability and is fundamental to the IETF culture. I’ve been arguing lately to limit the number of forms of EAT for this reason. I am a bit surprised that CBOR, COSE and CWT don’t deal with the issue more directly. I really do believe in interoperability — and this belief led me to write much of the profiles section (kind of wondering what people would say).

Here’s some of the issues:

CBOR — RFC 8949 clearly allows for both indefinite and definite encoding. If one implementation chooses one and another the other, there will not be interoperability. 

COSE — No algorithms are mandated, not even for a receiver. No full key identification scheme is mandated (CMS at least had this).

CWT — There are no required claims to send or to be able to receive.

CBOR/JSON/… — This is somewhat new particularly with CDDL now useful to specify multiple encodings. RFC 8428 has this issue.

To me this flexibility and consequently these interoperability issues are built in to the frame up and approach not only for EAT, but also for CBOR, COSE and CWT. I don’t think we want to change that approach. For example, we want the CBOR encoding flexibility and we want the COSE algorithm and key identification flexibility in specifications at this level.

I can see adding some more wording to EAT that gives the background I’ve given above in the profiles section. I can’t see changing the approach to start mandating algorithms and encodings. Maybe there’s something else to do?

Also, I don’t think PSA token gives tight interoperability. It doesn’t say which algorithms to use or how key identification works. Maybe that is OK. Maybe it is not.

FIDO is a protocol that I know gives complete interoperability. For example in FIDO you MUST implement all of a set of crypto algorithms on the server side; the client side gets to  choose.

One more comment below.

LL



> On Jun 5, 2022, at 5:57 AM, Eliot Lear via Datatracker <noreply@ietf.org <mailto:noreply@ietf.org>> wrote:
> 
> Major:
> 
> The most major problem with the document is this:
> 
> 7.  Profiles
> 
>   This EAT specification does not gaurantee that implementations of it
>   will interoperate.  The variability in this specification is
>   necessary to accommodate the widely varying use cases.  An EAT
>   profile narrows the specification for a specific use case.  An ideal
>   EAT profile will guarantee interoperability.
> 
> This is quite counter-cultural to the IETF.  You start with the
> smallest set of functionality and then expand outward to cover
> different use cases that make use of different extensions.  I'm
> not saying that profiles would not be necessary, but that some
> additional thought be given to extension mechanisms.
> 
> This statement in particular is quite disturbing.
> 
>   In some cases CDDL may be created that replaces CDDL in this or other
>   document to express some profile requirements.

CoSWID is doing this with COSE.

> 
> Not only is this counter-cultural, but it would require an Updates:
> header on any such profile, and would further just be plain out
> confusing.
> 
> In short, the profile mechanism is harmful to the very concept of
> interoperability.