[Cbor] draft-ietf-cbor-tags-oid-00.txt

worley@ariadne.com Sat, 01 August 2020 13:42 UTC

Return-Path: <worley@alum.mit.edu>
X-Original-To: cbor@ietfa.amsl.com
Delivered-To: cbor@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 87ABA3A044A for <cbor@ietfa.amsl.com>; Sat, 1 Aug 2020 06:42:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.232
X-Spam-Level:
X-Spam-Status: No, score=-1.232 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, SPF_HELO_NONE=0.001, SPF_SOFTFAIL=0.665, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=comcastmailservice.net
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 uUXGLFNZ7JCn for <cbor@ietfa.amsl.com>; Sat, 1 Aug 2020 06:42:58 -0700 (PDT)
Received: from resqmta-ch2-05v.sys.comcast.net (resqmta-ch2-05v.sys.comcast.net [IPv6:2001:558:fe21:29:69:252:207:37]) (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 E48093A0433 for <cbor@ietf.org>; Sat, 1 Aug 2020 06:42:57 -0700 (PDT)
Received: from resomta-ch2-03v.sys.comcast.net ([69.252.207.99]) by resqmta-ch2-05v.sys.comcast.net with ESMTP id 1rkzkFIYs5Foj1rmqkAwpU; Sat, 01 Aug 2020 13:42:56 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcastmailservice.net; s=20180828_2048; t=1596289376; bh=vI8gWDqJXknG005VAPYOfe5RhkSraR1TvnxFvXah5/U=; h=Received:Received:Received:Received:From:To:Subject:Date: Message-ID; b=TM/W988/HWVpAZ7UDEgvFDgxIqTeuZOaW5YQ8gA04PYtm3GuYLoitdtikkZu8hesi ZETI5RVk75FtRoLRoHEO/IzMLExBPQRDo1YTSztn1zZUnoo5YXNF3QzU1HQYufeT2f +uVWlpaN9OgqTeWf4fP/ea5obZ4OnkpSj3vwjOyLV4GTyC0Afw8YNnXffc5LRT3ws4 7F4/IsyG6+Sgqj+gbw3sdKNKXIjE9uIhu9kxK9bsYvMdmNmEJVsSKHyWb7ugH18suX n3rYDxSc2CjDA+RvogCJOJjJq51IaANnP+j85u8h3eCUrmjJnVfP+ni9yRYGf1YD0p TLPg7mxIpWG0g==
Received: from hobgoblin.ariadne.com ([IPv6:2601:192:4a00:430:222:fbff:fe91:d396]) by resomta-ch2-03v.sys.comcast.net with ESMTPA id 1rmpk7JWXf3P01rmpkJNAA; Sat, 01 Aug 2020 13:42:56 +0000
X-Xfinity-VMeta: sc=0.00;st=legit
Received: from hobgoblin.ariadne.com (hobgoblin.ariadne.com [127.0.0.1]) by hobgoblin.ariadne.com (8.14.7/8.14.7) with ESMTP id 071HgftT022386 for <cbor@ietf.org>; Sat, 1 Aug 2020 13:42:41 -0400
Received: (from worley@localhost) by hobgoblin.ariadne.com (8.14.7/8.14.7/Submit) id 071HgfpH022383; Sat, 1 Aug 2020 13:42:41 -0400
X-Authentication-Warning: hobgoblin.ariadne.com: worley set sender to worley@alum.mit.edu using -f
From: worley@ariadne.com
To: cbor@ietf.org
Sender: worley@ariadne.com
Date: Sat, 01 Aug 2020 13:42:41 -0400
Message-ID: <87h7tmxnxq.fsf@hobgoblin.ariadne.com>
Archived-At: <https://mailarchive.ietf.org/arch/msg/cbor/6VtGI_gQB5Kr23Tvjd_phjVjzn4>
Subject: [Cbor] draft-ietf-cbor-tags-oid-00.txt
X-BeenThere: cbor@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Concise Binary Object Representation \(CBOR\)" <cbor.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/cbor>, <mailto:cbor-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cbor/>
List-Post: <mailto:cbor@ietf.org>
List-Help: <mailto:cbor-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/cbor>, <mailto:cbor-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 01 Aug 2020 13:43:00 -0000

Reading this (and having read an earlier version), I really like the
concept because I have a fondness for OIDs and think they should be used
to name everything.

But there is a welter of problems around being able to "factor" an OID
tag out of an array or map.

Abstractly, if one can factor, one should be able to factor the tag out
of any number of layers of structure.  The trouble with that is that it
makes decoding difficult, as the decoder needs to keep the application
of the tag in mind as it descends through structures.

It would seem consistent that other tags might be defined with this
behavior, in which case a decoder might need to keep several factored
tags in mind as it is descending through structures.

Comparing with other types, a homogeneous array of OIDs is very like a
homogeneous array of integers, for which we already have a mechanism for
one-dimensional arrays.  OID arrays could be handled similarly, although
things are more complex because OIDs don't have a fixed-length encoding.

What isn't parallel with previous mechanisms is factoring from *maps*.
And that's novel because the factored tag applies to the keys but not
the values.  The reason for that is a bit arbitrary, and seems to be
because that's convenient for encoding X.500 certificates.

Factoring seems to be hard to do; trying to make it semantically
consistent and aligned with possible future tags with similar behavor
seems to require complex behaviors in the decoder.  Though this proposal
saves about 10% in X.500 distinguished name encoding.  Then again, are
distinguished names ever used when they aren't paired with keys (which
are much longer)?

Dale