Re: [COSE] [Rats] RAM requirements for COSE/CWT
Laurence Lundblade <lgl@island-resort.com> Tue, 22 February 2022 17:08 UTC
Return-Path: <lgl@island-resort.com>
X-Original-To: cose@ietfa.amsl.com
Delivered-To: cose@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1])
by ietfa.amsl.com (Postfix) with ESMTP id 96F263A0917
for <cose@ietfa.amsl.com>; Tue, 22 Feb 2022 09:08:53 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5
tests=[BAYES_00=-1.9, RCVD_IN_MSPIKE_H5=0.001,
RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
URIBL_BLOCKED=0.001] autolearn=unavailable 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 JvABjyQtkUJ0 for <cose@ietfa.amsl.com>;
Tue, 22 Feb 2022 09:08:48 -0800 (PST)
Received: from p3plsmtpa11-08.prod.phx3.secureserver.net
(p3plsmtpa11-08.prod.phx3.secureserver.net [68.178.252.109])
(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 CFCBD3A105A
for <cose@ietf.org>; Tue, 22 Feb 2022 09:08:47 -0800 (PST)
Received: from [192.168.1.4] ([75.80.148.139]) by :SMTPAUTH: with ESMTPA
id MYecnYnbpMc1jMYecnS9bU; Tue, 22 Feb 2022 10:08:46 -0700
X-CMAE-Analysis: v=2.4 cv=EugXEQQA c=1 sm=1 tr=0 ts=6215189e
a=qS/Wyu6Nw1Yro6yF1S+Djg==:117 a=qS/Wyu6Nw1Yro6yF1S+Djg==:17
a=IkcTkHD0fZMA:10 a=gKmFwSsBAAAA:8 a=NEAV23lmAAAA:8 a=48vgC7mUAAAA:8
a=K-a_-xuFOmWDp6qxlfkA:9 a=7Zwj6sZBwVKJAoWSPKxL6X1jA+E=:19 a=QEXdDO2ut3YA:10
a=nnPW6aIcBuj1ljLj_o6Q:22 a=w1C3t2QeGrPiZgrLijVG:22
X-SECURESERVER-ACCT: lgl@island-resort.com
Content-Type: text/plain;
charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.17\))
From: Laurence Lundblade <lgl@island-resort.com>
In-Reply-To: <8C2C6592-D5B9-430A-B878-E1009E9BCF22@tzi.org>
Date: Tue, 22 Feb 2022 09:08:45 -0800
Cc: Anders Rundgren <anders.rundgren.net@gmail.com>,
"rats@ietf.org" <rats@ietf.org>, "cose@ietf.org" <cose@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <AB9F0C55-9C23-43F1-A83F-91D4159C888F@island-resort.com>
References: <e8995f0c-ad85-f702-da6b-051ffdc4cb08@gmail.com>
<DBBPR08MB5915B874FD16107A7B0105AAFA3A9@DBBPR08MB5915.eurprd08.prod.outlook.com>
<1a16c80d-40cd-baba-b1ce-2033dd0db294@gmail.com>
<D22D0D63-F76C-48B3-A034-F8B5B2BB6005@tzi.org>
<2c8be442-9899-d117-155c-f6f2096b7055@gmail.com>
<92C7CF7C-ED23-41B3-AB32-8438C4C88C20@tzi.org>
<14c8d106-3b4b-f973-94b8-018852ff4769@gmail.com>
<8C2C6592-D5B9-430A-B878-E1009E9BCF22@tzi.org>
To: Carsten Bormann <cabo@tzi.org>
X-Mailer: Apple Mail (2.3445.104.17)
X-CMAE-Envelope: MS4xfBeWLG0Wm8SdXSm9GjWAbTIxjr3iMbs5cdPXUscLnw2sU9XBYSHZnLmadilbmiVh2iWaGvTikFA3OGpj470OpasPAo442AW564m15TECUHtv+DwZYq5z
gqBzH6NosY7UvWys7+iWQLqrpkZ6C2CtlbE2FwjS4/c2W454SiAgJx0rrY7tYOrU437T80AjHlBRIojCWWeiq+551Zwpg9R8HeKv4NEUn2dWzCO2ZhjmnH51
HRBfVURmaFogIKYdXPKssOIdQ5Tyj/RWicrQgB6daRU=
Archived-At: <https://mailarchive.ietf.org/arch/msg/cose/1qQfR6EPXYxzyUcx-oW5_GTNgUc>
Subject: Re: [COSE] [Rats] RAM requirements for COSE/CWT
X-BeenThere: cose@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: CBOR Object Signing and Encryption <cose.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/cose>,
<mailto:cose-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cose/>
List-Post: <mailto:cose@ietf.org>
List-Help: <mailto:cose-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/cose>,
<mailto:cose-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 22 Feb 2022 17:08:54 -0000
EAT allows for use of the different CBOR serializations just like COSE and CWT so particular deployments can choose what is best for them. It is important to continue to allow all serializations in EAT for the reasons that they exist in the first place. The main example I can think of is EAT in pure HW (e.g., a TPM-like chip that outputs EAT). Outputting fixed length integers will make that HW simpler. EAT goes one step further than COSE and CWT by pointing out that different serializations can cause interoperability issues and advises that a profile that specifies the serialization used be created for each use case. (Note that serialization variation is minor compared to algorithm selection and key identification and distribution) It seems true to me that there are CBOR serialization variants that would not interoperate. Sounds a little bad and messy... In reality, I don’t think it very bad because is very easy to support preferred serialization and because it is possible to create a decoder that supports all the serializations. Supporting these serializations doesn’t increase RAM and CPU usage much. We don’t hear any complaining from the real world about this and CBOR is getting close to ten years old. LL > On Feb 22, 2022, at 6:50 AM, Carsten Bormann <cabo@tzi.org> wrote: > > Hi Anders, > >> The WebAuthn/FIDO specification details CBOR serialization requirements > > (As does COSE *for its internally constructed signing inputs*, not for what goes over the wire.) > >> while the EAT draft specifies multiple alternatives. > > Maybe we need to fix that then. > >> There must be a reason for that. > > The spirit is willing, but the flesh is weak. > Well, actually, the spirit is the problem. > We need to get better in the willpower to nail down unneeded choices. > (Of which JSON vs. CBOR is one.) > >> To cope with (and potentially enforce/verify), different CBOR serialization variants, CBOR tools typically provide options: https://github.com/peteroupc/CBOR-Java/blob/master/api/com.upokecenter.cbor.CBOREncodeOptions.md > > This is a bit of a Cadillac implementation with lots of options, many of which have to do with API variants as opposed to encoding options. > None of the latter ones will get in the way of EAT interoperability. > >> The proposal is simply defining something like an "I-CBOR" that could serve as the foundation for future standards like EAT. > > I-JSON was necessary because JSON implementations claim to have ingested something and then give you something else, unless you stay in the fold of I-JSON. > I’m not aware of a similar problem for CBOR, so I don’t know why we’d need I-CBOR. > > Yes, because of historical artifacts we have different deterministic/“canonical” encoding rules — but that is of interest only where you *need* deterministic encoding. COSE did the right thing and minimized that surface so it actually doesn’t matter which ones you are using. (CTAP2 actually did that too, IIRC, they just wrote down some additional rules that they don’t actually need. But I didn’t look at this for a while.) > > If you really do need deterministic encoding, it’s right there in STD94 (RFC8949). You need to remember that deterministic encoding spans all the way to the application, so slapping an I-something label on the encoder is not going to give you actual interoperability if you really do need deterministic encoding. > > Do we? > > Grüße, Carsten > > _______________________________________________ > COSE mailing list > COSE@ietf.org > https://www.ietf.org/mailman/listinfo/cose
- [COSE] RAM requirements for COSE/CWT Anders Rundgren
- Re: [COSE] RAM requirements for COSE/CWT Carsten Bormann
- Re: [COSE] [Rats] RAM requirements for COSE/CWT Hannes Tschofenig
- Re: [COSE] [Rats] RAM requirements for COSE/CWT Laurence Lundblade
- Re: [COSE] [Rats] RAM requirements for COSE/CWT Anders Rundgren
- Re: [COSE] [Rats] RAM requirements for COSE/CWT Carsten Bormann
- Re: [COSE] [Rats] RAM requirements for COSE/CWT Laurence Lundblade
- Re: [COSE] [Rats] RAM requirements for COSE/CWT Anders Rundgren
- Re: [COSE] [Rats] RAM requirements for COSE/CWT Carsten Bormann
- Re: [COSE] [Rats] RAM requirements for COSE/CWT Anders Rundgren
- Re: [COSE] [Rats] RAM requirements for COSE/CWT Carsten Bormann
- Re: [COSE] [Rats] RAM requirements for COSE/CWT Laurence Lundblade
- Re: [COSE] [Rats] RAM requirements for COSE/CWT Carsten Bormann
- Re: [COSE] [Rats] RAM requirements for COSE/CWT Laurence Lundblade
- Re: [COSE] [Rats] RAM requirements for COSE/CWT Carsten Bormann
- Re: [COSE] [Rats] RAM requirements for COSE/CWT Anders Rundgren
- Re: [COSE] [Rats] RAM requirements for COSE/CWT Carsten Bormann
- Re: [COSE] [Rats] RAM requirements for COSE/CWT Anders Rundgren
- Re: [COSE] [Rats] RAM requirements for COSE/CWT Laurence Lundblade
- Re: [COSE] [Rats] RAM requirements for COSE/CWT Carsten Bormann
- Re: [COSE] [Rats] RAM requirements for COSE/CWT Laurence Lundblade
- Re: [COSE] [Rats] RAM requirements for COSE/CWT Michael Richardson
- Re: [COSE] [Rats] RAM requirements for COSE/CWT Laurence Lundblade
- Re: [COSE] [Rats] RAM requirements for COSE/CWT Anders Rundgren
- Re: [COSE] [Rats] RAM requirements for COSE/CWT Laurence Lundblade
- Re: [COSE] [Rats] RAM requirements for COSE/CWT Jeremy O'Donoghue
- Re: [COSE] [Cbor] [Rats] RAM requirements for COS… Carsten Bormann
- Re: [COSE] [Rats] RAM requirements for COSE/CWT Laurence Lundblade
- Re: [COSE] [Rats] RAM requirements for COSE/CWT Anders Rundgren