<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" consensus="true" docName="draft-ietf-cbor-tags-oid-03" indexInclude="true" ipr="trust200902" prepTime="2020-11-17T21:31:04" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="1" tocInclude="true" xml:lang="en">
  <!-- xml2rfc v2v3 conversion 3.3.0 -->
  <front>
    <title abbrev="CBOR Tags for OIDs">Concise Binary Object Representation (CBOR) Tags for Object Identifiers</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-tags-oid-03" stream="IETF"/>
    <author initials="C." surname="Bormann" fullname="Carsten Bormann">
      <organization showOnFrontPage="true">Universität Bremen TZI</organization>
      <address>
        <postal>
          <street>Postfach 330440</street>
          <city>Bremen</city>
          <code>D-28359</code>
          <country>Germany</country>
        </postal>
        <phone>+49-421-218-63921</phone>
        <email>cabo@tzi.org</email>
      </address>
    </author>
    <author initials="S." surname="Leonard" fullname="Sean Leonard">
      <organization showOnFrontPage="true">Penango, Inc.</organization>
      <address>
        <postal>
          <street>5900 Wilshire Boulevard</street>
          <street>21st Floor</street>
          <city>Los Angeles, CA</city>
          <code>90036</code>
          <country>USA</country>
        </postal>
        <email>dev+ietf@seantek.com</email>
        <uri>http://www.penango.com/</uri>
      </address>
    </author>
    <date month="11" year="2020" day="17"/>
    <keyword>Internet-Draft</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">The Concise Binary Object Representation (CBOR, draft-ietf-cbor-7049bis) is a data
format whose design goals include the possibility of extremely small
code size, fairly small message size, and extensibility without the
need for version negotiation.</t>
      <t indent="0" pn="section-abstract-2">The present document defines CBOR tags for
object identifiers (OIDs).  It is intended
as the reference document for the IANA registration of the CBOR tags
so defined.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
        This Internet-Draft is submitted in full conformance with the
        provisions of BCP 78 and BCP 79.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
        Internet-Drafts are working documents of the Internet Engineering Task
        Force (IETF). Note that other groups may also distribute working
        documents as Internet-Drafts. The list of current Internet-Drafts is
        at <eref target="https://datatracker.ietf.org/drafts/current/" brackets="none"/>.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
        Internet-Drafts are draft documents valid for a maximum of six months
        and may be updated, replaced, or obsoleted by other documents at any
        time. It is inappropriate to use Internet-Drafts as reference
        material or to cite them other than as "work in progress."
        </t>
        <t indent="0" pn="section-boilerplate.1-4">
        This Internet-Draft will expire on 21 May 2021.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2020 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Simplified BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Simplified BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-object-identifiers">Object Identifiers</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-examples">Examples</xref></t>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-discussion">Discussion</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-tag-factoring-with-oid-arra">Tag Factoring with OID Arrays and Maps</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-applications-and-examples-o">Applications and Examples of OIDs</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-cddl-control-operators">CDDL Control Operators</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-cddl-typenames">CDDL typenames</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="10" format="counter" sectionFormat="of" target="section-10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="11" format="counter" sectionFormat="of" target="section-11"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.11.2">
              <li pn="section-toc.1-1.11.2.1">
                <t indent="0" pn="section-toc.1-1.11.2.1.1"><xref derivedContent="11.1" format="counter" sectionFormat="of" target="section-11.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.11.2.2">
                <t indent="0" pn="section-toc.1-1.11.2.2.1"><xref derivedContent="11.2" format="counter" sectionFormat="of" target="section-11.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.12">
            <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="Appendix A" format="default" sectionFormat="of" target="section-appendix.a"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-change-log">Change Log</xref></t>
          </li>
          <li pn="section-toc.1-1.13">
            <t indent="0" pn="section-toc.1-1.13.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgments">Acknowledgments</xref></t>
          </li>
          <li pn="section-toc.1-1.14">
            <t indent="0" pn="section-toc.1-1.14.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.c"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="intro" toc="include" numbered="true" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">The Concise Binary Object Representation (CBOR, <xref target="I-D.ietf-cbor-7049bis" format="default" sectionFormat="of" derivedContent="I-D.ietf-cbor-7049bis"/>) provides
for the interchange of structured data without a requirement for a
pre-agreed schema.
<xref target="I-D.ietf-cbor-7049bis" format="default" sectionFormat="of" derivedContent="I-D.ietf-cbor-7049bis"/> defines a basic set of data types, as well as a tagging
mechanism that enables extending the set of data types supported via
an IANA registry.</t>
      <t indent="0" pn="section-1-2">The present document defines CBOR tags for object identifiers
(OIDs, <xref target="X.660" format="default" sectionFormat="of" derivedContent="X.660"/>), which many IETF protocols carry.
The ASN.1 Basic Encoding Rules
(BER, <xref target="X.690" format="default" sectionFormat="of" derivedContent="X.690"/>) specify binary encodings of both (absolute) object identifiers
and relative object identifiers.
The contents of these encodings (the "value" part of BER's
type-length-value structure) can be carried in a CBOR byte string.
This document defines two CBOR tags that cover the two kinds of
ASN.1 object identifiers encoded in this way.
The tags can also be applied to arrays and maps to efficiently tag all
elements of an array or all keys of a map.
It is intended as the reference document for the IANA registration of
the tags so defined.</t>
      <section anchor="terms" toc="exclude" numbered="true" removeInRFC="false" pn="section-1.1">
        <name slugifiedName="name-terminology">Terminology</name>
        <t indent="0" pn="section-1.1-1">The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <t indent="0" pn="section-1.1-2">The terminology of draft-ietf-cbor-7049bis applies; in particular
the term "byte" is used in its now customary sense as a synonym for
"octet".</t>
      </section>
    </section>
    <section anchor="oids" toc="include" numbered="true" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-object-identifiers">Object Identifiers</name>
      <t indent="0" pn="section-2-1">The International Object Identifier tree <xref target="X.660" format="default" sectionFormat="of" derivedContent="X.660"/> is
a hierarchically managed space of
identifiers, each of which is uniquely represented as a sequence of
unsigned integer values
<xref target="X.680" format="default" sectionFormat="of" derivedContent="X.680"/>.
(These integer values are called "primary integer values" in X.660
because they can be accompanied by (not necessarily unambiguous)
secondary identifiers.  We ignore the latter and simply use the term
"integer values" here, occasionally calling out their unsignedness.)</t>
      <t indent="0" pn="section-2-2">While these sequences can easily be represented in CBOR arrays of
unsigned integers, a more compact representation can often be achieved
by adopting the widely used representation of object identifiers
defined in BER; this representation may also be more amenable to
processing by other software that makes use of object identifiers.</t>
      <t indent="0" pn="section-2-3">BER represents the sequence of unsigned integers by concatenating
self-delimiting <xref target="RFC6256" format="default" sectionFormat="of" derivedContent="RFC6256"/> representations of each of the integer values in sequence.</t>
      <t indent="0" pn="section-2-4">ASN.1 distinguishes absolute object identifiers (ASN.1 Type <tt>OBJECT IDENTIFIER</tt>),
which begin at a root arc (<xref target="X.660" format="default" sectionFormat="of" derivedContent="X.660"/> Clause 3.5.21), from relative object
identifiers (ASN.1 Type <tt>RELATIVE-OID</tt>), which begin
relative to some object identifier known from context (<xref target="X.680" format="default" sectionFormat="of" derivedContent="X.680"/>
Clause 3.8.63).
As a special optimization,
BER combines the first two integers in an absolute object identifier
into one numeric identifier by making use of the property of the
hierarchy that the first arc has only three integer values (0, 1, and 2),
and the second arcs under 0 and 1 are limited to the integer values between
0 and 39.  (The root arc <tt>joint-iso-itu-t(2)</tt> has
no such limitations on its second arc.)
If X and Y are the first two integer values,
the single integer value actually encoded is computed as:</t>
      <ul empty="true" spacing="normal" bare="false" indent="3" pn="section-2-5">
        <li pn="section-2-5.1">X * 40 + Y</li>
      </ul>
      <t indent="0" pn="section-2-6">The inverse transformation (again making use of the known ranges of X
and Y) is applied when decoding the object identifier.</t>
      <t indent="0" pn="section-2-7">Since the semantics of absolute and relative object identifiers
differ, this specification defines two tags, collectively called the
"OID tags" here:</t>
      <t indent="0" pn="section-2-8">Tag TBD111: tags a byte string as the <xref target="X.690" format="default" sectionFormat="of" derivedContent="X.690"/> encoding of an
absolute object identifier (simply "object identifier" or "OID").</t>
      <t indent="0" pn="section-2-9">Tag TBD110: tags a byte string as the <xref target="X.690" format="default" sectionFormat="of" derivedContent="X.690"/> encoding of a relative
object identifier (also "relative OID").  Since the encoding of each
number is the same as for <xref target="RFC6256" format="default" sectionFormat="of" derivedContent="RFC6256"/> Self-Delimiting Numeric Values
(SDNVs), this tag can also be used for tagging a byte string that
contains a sequence of zero or more SDNVs.</t>
      <t indent="0" pn="section-2-10">Tag TBD112: structurally like TBD110, but understood to be relative to
<tt>1.3.6.1.4.1</tt> (IANA Private Enterprise Number OID).  Hence, the
semantics of the result are that of an absolute object identifier.</t>
      <section anchor="reqts" toc="exclude" numbered="true" removeInRFC="false" pn="section-2.1">
        <name slugifiedName="name-requirements-on-the-byte-st">Requirements on the byte string being tagged</name>
        <t indent="0" pn="section-2.1-1">To form a valid tag, a byte string tagged by TBD111, TBD110, or TBD112 MUST be a syntactically valid BER
representation of an object identifier: A concatenation of zero or
more SDNV values, where each SDNV value is a sequence of one or more bytes that
all have their most significant bit set, except for the last byte,
where it must be unset; the first byte of each SDNV cannot be 0x80
(which would be a leading zero in SDNV's base-128 arithmetic).</t>
        <t indent="0" pn="section-2.1-2">In other words:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.1-3">
          <li pn="section-2.1-3.1">its first byte, and any byte that follows a byte that has the most significant
bit unset, MUST NOT be 0x80 (this requirement requires expressing the
integer values in their shortest form, with no leading zeroes)</li>
          <li pn="section-2.1-3.2">its last byte MUST NOT have the most significant bit set (this
requirement excludes an incomplete final integer value)</li>
        </ul>
        <t indent="0" pn="section-2.1-4">If either of these invalid conditions are encountered, the tag is
invalid.</t>
        <t indent="0" pn="section-2.1-5"><xref target="X.680" format="default" sectionFormat="of" derivedContent="X.680"/> restricts RELATIVE-OID values to have at least
one arc, i.e., their encoding would have at least one SDNV.
This specification permits
empty relative object identifiers; they may
still be excluded by application semantics.</t>
        <t indent="0" pn="section-2.1-6">To facilitate the search for specific object ID values, it is RECOMMENDED
that definite length encoding (see Section 3.2.3 of <xref target="I-D.ietf-cbor-7049bis" format="default" sectionFormat="of" derivedContent="I-D.ietf-cbor-7049bis"/>) is used
for the byte strings used as tag content for these tags.</t>
        <t indent="0" pn="section-2.1-7">The valid set of byte strings can also be expressed using regular
expressions on bytes, using no specific notation but resembling
<xref target="PCRE" format="default" sectionFormat="of" derivedContent="PCRE"/>.  Unlike typical regular expressions that operate on
character sequences, the following regular expressions take bytes as
their domain, so they can be applied directly to CBOR byte strings.</t>
        <t indent="0" pn="section-2.1-8">For byte strings with tag TBD111:</t>
        <ul empty="true" spacing="normal" bare="false" indent="3" pn="section-2.1-9">
          <li pn="section-2.1-9.1">
            <tt>/^(([\x81-\xFF][\x80-\xFF]*)?[\x00-\x7F])+$/</tt></li>
        </ul>
        <t indent="0" pn="section-2.1-10">For byte strings with tag TBD110 or TBD112:</t>
        <ul empty="true" spacing="normal" bare="false" indent="3" pn="section-2.1-11">
          <li pn="section-2.1-11.1">
            <tt>/^(([\x81-\xFF][\x80-\xFF]*)?[\x00-\x7F])*$/</tt></li>
        </ul>
        <t indent="0" pn="section-2.1-12">A tag with tagged content that does not conform to the applicable
regexp is invalid.</t>
      </section>
    </section>
    <section anchor="examples" toc="include" numbered="true" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-examples">Examples</name>
      <section anchor="encoding-of-the-sha-256-oid" toc="exclude" numbered="true" removeInRFC="false" pn="section-3.1">
        <name slugifiedName="name-encoding-of-the-sha-256-oid">Encoding of the SHA-256 OID</name>
        <dl newline="false" spacing="normal" indent="3" pn="section-3.1-1">
          <dt pn="section-3.1-1.1">ASN.1 Value Notation:</dt>
          <dd pn="section-3.1-1.2">
  { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101)
  csor(3) nistalgorithm(4) hashalgs(2) sha256(1) }</dd>
          <dt pn="section-3.1-1.3">Dotted Decimal Notation:</dt>
          <dd pn="section-3.1-1.4">
  2.16.840.1.101.3.4.2.1</dd>
        </dl>
        <figure anchor="fig-sha-ber" align="left" suppress-title="false" pn="figure-1">
          <name slugifiedName="name-sha-256-oid-in-ber">SHA-256 OID in BER</name>
          <artwork name="" type="" align="left" alt="" pn="section-3.1-2.1"><![CDATA[
06                                # UNIVERSAL TAG 6
   09                             # 9 bytes, primitive
      60 86 48 01 65 03 04 02 01  # X.690 Clause 8.19
#      |   840  1  |  3  4  2  1    show component encoding
#   2.16         101
]]></artwork>
        </figure>
        <figure anchor="fig-sha-cbor" align="left" suppress-title="false" pn="figure-2">
          <name slugifiedName="name-sha-256-oid-in-cbor">SHA-256 OID in CBOR</name>
          <artwork name="" type="" align="left" alt="" pn="section-3.1-3.1"><![CDATA[
D8 6F                             # tag(111)
   49                             # 0b010_01001: mt 2, 9 bytes
      60 86 48 01 65 03 04 02 01  # X.690 Clause 8.19
]]></artwork>
        </figure>
      </section>
      <section anchor="encoding-of-a-mib-relative-oid" toc="exclude" numbered="true" removeInRFC="false" pn="section-3.2">
        <name slugifiedName="name-encoding-of-a-mib-relative-">Encoding of a MIB Relative OID</name>
        <t indent="0" pn="section-3.2-1">Given some OID (e.g., <tt>lowpanMib</tt>, assumed to be <tt>1.3.6.1.2.1.226</tt> <xref target="RFC7388" format="default" sectionFormat="of" derivedContent="RFC7388"/>),
to which the following is added:</t>
        <dl newline="false" spacing="normal" indent="3" pn="section-3.2-2">
          <dt pn="section-3.2-2.1">ASN.1 Value Notation:</dt>
          <dd pn="section-3.2-2.2">
  { lowpanObjects(1) lowpanStats(1) lowpanOutTransmits(29) }</dd>
          <dt pn="section-3.2-2.3">Dotted Decimal Notation:</dt>
          <dd pn="section-3.2-2.4">
  .1.1.29</dd>
        </dl>
        <figure anchor="fig-mib-ber" align="left" suppress-title="false" pn="figure-3">
          <name slugifiedName="name-mib-relative-object-identif">MIB relative object identifier, in BER</name>
          <artwork name="" type="" align="left" alt="" pn="section-3.2-3.1"><![CDATA[
0D                                # UNIVERSAL TAG 13
   03                             # 3 bytes, primitive
      01 01 1D                    # X.690 Clause 8.20
#      1  1 29                      show component encoding
]]></artwork>
        </figure>
        <figure anchor="fig-mib-cbor" align="left" suppress-title="false" pn="figure-4">
          <name slugifiedName="name-mib-relative-object-identifi">MIB relative object identifier, in CBOR</name>
          <artwork name="" type="" align="left" alt="" pn="section-3.2-4.1"><![CDATA[
D8 6E                             # tag(110)
   43                             # 0b010_01001: mt 2 (bstr), 3 bytes
      01 01 1D                    # X.690 Clause 8.20
]]></artwork>
        </figure>
        <t indent="0" pn="section-3.2-5">This relative OID saves seven bytes compared to the full OID encoding.</t>
      </section>
    </section>
    <section anchor="discussion" toc="include" numbered="true" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-discussion">Discussion</name>
      <t indent="0" pn="section-4-1">Staying close to the way object identifiers are encoded in ASN.1
BER makes back-and-forth translation easy; otherwise we would choose a
more efficient encoding.  Object
identifiers in IETF protocols
are serialized in dotted decimal form or BER form, so
there is an advantage in not inventing a third form.  Also,
expectations of the cost of encoding object identifiers are
based on BER; using a different encoding might not be aligned with
these expectations. If additional information about an OID is desired,
lookup services such as
the <xref target="X.672" format="default" sectionFormat="of" derivedContent="X.672">OID Resolution Service (ORS)</xref>
and the <xref target="OID-INFO" format="default" sectionFormat="of" derivedContent="OID-INFO">OID Repository</xref> are available.</t>
    </section>
    <section anchor="tfs" toc="include" numbered="true" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-tag-factoring-with-oid-arra">Tag Factoring with OID Arrays and Maps</name>
      <t indent="0" pn="section-5-1">OID tags can tag byte strings (as discussed above), but also CBOR arrays and maps.
The idea in the latter case is that
the tag is factored out from each individual item in the container;
the tag is placed on the array or map instead.
<!-- I don't think this sentence really helps:
The tags TBD111 and TBD110 are left-distributive. -->
      </t>
      <t indent="0" pn="section-5-2">When an OID tag is applied to an array, it means
that the respective tag is imputed to all elements of the array that are
byte strings, arrays, or maps.  (There is no effect on other elements,
including text strings or tags.)
For example, when an array is tagged with TBD111,
every array element that is a byte string
is an OID, and every element that is an array or map is in turn
treated as discussed here.</t>
      <t indent="0" pn="section-5-3">When an OID tag is applied to a map, it means that
the respective tag is imputed to all keys in the map that are byte
strings, arrays, or maps; again, there is no effect on keys of other major types.
Note that there is also no effect on the values in the map.</t>
      <t indent="0" pn="section-5-4">As a result of these rules, tag factoring in nested arrays and maps is supported.
For example,
a 3-dimensional array of OIDs can be composed by using
a single TBD111 tag containing an array of arrays of arrays
of byte strings. All such byte strings are then considered OIDs.</t>
    </section>
    <section anchor="applications-and-examples-of-oids" toc="include" numbered="true" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-applications-and-examples-o">Applications and Examples of OIDs</name>
      <section anchor="x500-distinguished-name" toc="exclude" numbered="true" removeInRFC="false" pn="section-6.1">
        <name slugifiedName="name-x500-distinguished-name">X.500 Distinguished Name</name>
        <t indent="0" pn="section-6.1-1">Consider the X.500 distinguished name:</t>
        <table anchor="tab-dn-data" align="center" pn="table-1">
          <name slugifiedName="name-example-x500-distinguished-">Example X.500 Distinguished Name</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Attribute Types</th>
              <th align="left" colspan="1" rowspan="1">Attribute Values</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">c (2.5.4.6)</td>
              <td align="left" colspan="1" rowspan="1">US</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">l (2.5.4.7)<br/>s (2.5.4.8)<br/>postalCode (2.5.4.17)</td>
              <td align="left" colspan="1" rowspan="1">Los Angeles<br/>CA<br/>90013</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">street (2.5.4.9)</td>
              <td align="left" colspan="1" rowspan="1">532 S Olive St</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">businessCategory (2.5.4.15)<br/>buildingName (0.9.2342.19200300.100.1.48)</td>
              <td align="left" colspan="1" rowspan="1">Public Park<br/>Pershing Square</td>
            </tr>
          </tbody>
        </table>
        <t indent="0" pn="section-6.1-3"><xref target="tab-dn-data" format="default" sectionFormat="of" derivedContent="Table 1"/> has four "relative distinguished names" (RDNs). The country and street RDNs are single-valued.
The second and fourth RDNs are multi-valued.</t>
        <t indent="0" pn="section-6.1-4">The equivalent representations in CBOR diagnostic notation and CBOR are:</t>
        <figure anchor="fig-dn-cbor-diag-7049" align="left" suppress-title="false" pn="figure-5">
          <name slugifiedName="name-distinguished-name-in-cbor-">Distinguished Name, in CBOR Diagnostic Notation</name>
          <artwork name="" type="" align="left" alt="" pn="section-6.1-5.1"><![CDATA[
111([{ h'550406': "US" },
     { h'550407': "Los Angeles", h'550408': "CA",
       h'550411': "90013" },
     { h'550409': "532 S Olive St" },
     { h'55040f': "Public Park",
       h'0992268993f22c640130': "Pershing Square" }])
]]></artwork>
        </figure>
        <figure anchor="fig-dn-cbor" align="left" suppress-title="false" pn="figure-6">
          <name slugifiedName="name-distinguished-name-in-cbor-1">Distinguished Name, in CBOR (109 bytes)</name>
          <artwork name="" type="" align="left" alt="" pn="section-6.1-6.1"><![CDATA[
d8 6f                                      # tag(111)
   84                                      # array(4)
      a1                                   # map(1)
         43 550406                         # 2.5.4.6 (4)
         62                                # text(2)
            5553                           # "US"
      a3                                   # map(3)
         43 550407                         # 2.5.4.7 (4)
         6b                                # text(11)
            4c6f7320416e67656c6573         # "Los Angeles"
         43 550408                         # 2.5.4.8 (4)
         62                                # text(2)
            4341                           # "CA"
         43 550411                         # 2.5.4.17 (4)
         65                                # text(5)
            3930303133                     # "90013"
      a1                                   # map(1)
         43 550409                         # 2.5.4.9 (4)
         6e                                # text(14)
            3533322053204f6c697665205374   # "532 S Olive St"
      a2                                   # map(2)
         43 55040f                         # 2.5.4.15 (4)
         6b                                # text(11)
            5075626c6963205061726b         # "Public Park"
         4a 0992268993f22c640130    # 0.9.2342.19200300.100.1.48 (11)
         6f                                # text(15)
            5065727368696e6720537175617265 # "Pershing Square"
]]></artwork>
        </figure>
        <t indent="0" pn="section-6.1-7">(This example encoding assumes that all attribute values are UTF-8 strings,
or can be represented as UTF-8 strings with no loss of information.)</t>
      </section>
    </section>
    <section anchor="control" toc="include" numbered="true" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-cddl-control-operators">CDDL Control Operators</name>
      <t indent="0" pn="section-7-1">CDDL specifications may want to specify the use of SDNVs or SDNV
sequences (as defined for the tag content for TBD110).  This document
introduces two new control operators that can be applied to a target
value that is a byte string:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-7-2">
        <li pn="section-7-2.1">
          <tt>.sdnv</tt>, with a control type that contains unsigned integers.  The
byte string is specified to be encoded as an <xref target="RFC6256" format="default" sectionFormat="of" derivedContent="RFC6256"/> SDNV (BER
encoding) for the matching values of the control type.</li>
        <li pn="section-7-2.2">
          <tt>.sdnvseq</tt>, with a control type that contains arrays of unsigned
integers.  The byte string is specified to be encoded as a sequence
of <xref target="RFC6256" format="default" sectionFormat="of" derivedContent="RFC6256"/> SDNVs (BER encoding) that decodes to an array of
unsigned integers matching the control type.</li>
        <li pn="section-7-2.3">
          <tt>.oid</tt>, like <tt>.sdnvseq</tt>, except that the X*40+Y translation for
absolute OIDs is included (see <xref target="fig-dn-cddl-oid" format="default" sectionFormat="of" derivedContent="Figure 8"/>).</li>
      </ul>
      <t indent="0" pn="section-7-3"><xref target="fig-dn-cddl" format="default" sectionFormat="of" derivedContent="Figure 7"/> shows an example for the use of <tt>.sdnvseq</tt> for a part
of a structure using OIDs that could be used in <xref target="fig-dn-cbor" format="default" sectionFormat="of" derivedContent="Figure 6"/>;
<xref target="fig-dn-cddl-oid" format="default" sectionFormat="of" derivedContent="Figure 8"/> shows the same with the <tt>.oid</tt> operator.</t>
      <figure anchor="fig-dn-cddl" align="left" suppress-title="false" pn="figure-7">
        <name slugifiedName="name-using-sdnvseq">Using .sdnvseq</name>
        <artwork type="cddl" name="" align="left" alt="" pn="section-7-4.1"><![CDATA[
country-rdn = {country-oid => country-value}
country-oid = bytes .sdnvseq [85, 4, 6]
country-value = text .size 2
]]></artwork>
      </figure>
      <figure anchor="fig-dn-cddl-oid" align="left" suppress-title="false" pn="figure-8">
        <name slugifiedName="name-using-oid">Using .oid</name>
        <artwork type="cddl" name="" align="left" alt="" pn="section-7-5.1"><![CDATA[
country-rdn = {country-oid => country-value}
country-oid = bytes .oid [2, 5, 4, 6]
country-value = text .size 2
]]></artwork>
      </figure>
      <t indent="0" pn="section-7-6">Note that the control type need not be a literal; e.g., <tt>bytes .oid
[2, 5, 4, *uint]</tt> matches all OIDs inside OID arc 2.5.4,
<tt>attributeType</tt>.</t>
    </section>
    <section anchor="cddl-typenames" toc="include" numbered="true" removeInRFC="false" pn="section-8">
      <name slugifiedName="name-cddl-typenames">CDDL typenames</name>
      <t indent="0" pn="section-8-1">For the use with CDDL <xref target="RFC8610" format="default" sectionFormat="of" derivedContent="RFC8610"/>, the
typenames defined in <xref target="tag-cddl" format="default" sectionFormat="of" derivedContent="Figure 9"/> are recommended:</t>
      <figure anchor="tag-cddl" align="left" suppress-title="false" pn="figure-9">
        <name slugifiedName="name-recommended-typenames-for-c">Recommended typenames for CDDL</name>
        <artwork type="CDDL" name="" align="left" alt="" pn="section-8-2.1"><![CDATA[
oid = #6.111(bstr)
roid = #6.110(bstr)
pen = #6.112(bstr)
]]></artwork>
      </figure>
    </section>
    <section anchor="iana" toc="include" numbered="true" removeInRFC="false" pn="section-9">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <section anchor="cbor-tags" toc="exclude" numbered="true" removeInRFC="false" pn="section-9.1">
        <name slugifiedName="name-cbor-tags">CBOR Tags</name>
        <t indent="0" pn="section-9.1-1">IANA is requested to assign the CBOR tags in <xref target="tab-tag-values-new" format="default" sectionFormat="of" derivedContent="Table 2"/>, with the
present document as the specification reference.</t>
        <table anchor="tab-tag-values-new" align="center" pn="table-2">
          <name slugifiedName="name-values-for-new-tags">Values for New Tags</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Tag</th>
              <th align="left" colspan="1" rowspan="1">Data Item</th>
              <th align="right" colspan="1" rowspan="1">Semantics</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">TBD111</td>
              <td align="left" colspan="1" rowspan="1">byte string or array or map</td>
              <td align="right" colspan="1" rowspan="1">object identifier (BER encoding)</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">TBD110</td>
              <td align="left" colspan="1" rowspan="1">byte string or array or map</td>
              <td align="right" colspan="1" rowspan="1">relative object identifier (BER encoding); <br/>SDNV <xref target="RFC6256" format="default" sectionFormat="of" derivedContent="RFC6256"/> sequence</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">TBD112</td>
              <td align="left" colspan="1" rowspan="1">byte string or array or map</td>
              <td align="right" colspan="1" rowspan="1">object identifier (BER encoding), relative to 1.3.6.1.4.1</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="cddl-control-operators" toc="exclude" numbered="true" removeInRFC="false" pn="section-9.2">
        <name slugifiedName="name-cddl-control-operators-2">CDDL Control Operators</name>
        <t indent="0" pn="section-9.2-1">IANA is requested to assign the CDDL Control Operators in
<xref target="tab-operators-new" format="default" sectionFormat="of" derivedContent="Table 3"/>, with the present document as the specification
reference.</t>
        <table anchor="tab-operators-new" align="center" pn="table-3">
          <name slugifiedName="name-new-cddl-operators">New CDDL Operators</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Name</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">.sdnv</td>
              <td align="left" colspan="1" rowspan="1">[this document, <xref target="control" format="default" sectionFormat="of" derivedContent="Section 7"/>]</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">.sdnvseq</td>
              <td align="left" colspan="1" rowspan="1">[this document, <xref target="control" format="default" sectionFormat="of" derivedContent="Section 7"/>]</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">.oid</td>
              <td align="left" colspan="1" rowspan="1">[this document, <xref target="control" format="default" sectionFormat="of" derivedContent="Section 7"/>]</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="security-considerations" toc="include" numbered="true" removeInRFC="false" pn="section-10">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-10-1">The security considerations of <xref target="I-D.ietf-cbor-7049bis" format="default" sectionFormat="of" derivedContent="I-D.ietf-cbor-7049bis"/> apply.</t>
      <t indent="0" pn="section-10-2">The encodings in Clauses 8.19 and 8.20 of <xref target="X.690" format="default" sectionFormat="of" derivedContent="X.690"/> are quite compact and unambiguous,
but MUST be followed precisely to avoid security pitfalls.
In particular, the requirements set out in <xref target="reqts" format="default" sectionFormat="of" derivedContent="Section 2.1"/> of this document need to be
followed; otherwise, an attacker may be able to subvert a checking
process by submitting alternative representations that are later taken
as the original (or even something else entirely) by another decoder
supposed to be protected by the checking process.</t>
      <t indent="0" pn="section-10-3">OIDs and relative OIDs can always be treated as opaque byte strings.
Actually understanding the structure that was used for generating them
is not necessary, and, except for checking the structure requirements,
it is strongly NOT RECOMMENDED to perform any
processing of this kind (e.g., converting into dotted notation and
back) unless absolutely necessary.
If the OIDs are translated into other representations, the usual
security considerations for non-trivial representation conversions
apply; the integer values are unlimited in range.</t>
    </section>
  </middle>
  <back>
    <references pn="section-11">
      <name slugifiedName="name-references">References</name>
      <references pn="section-11.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="I-D.ietf-cbor-7049bis" target="http://www.ietf.org/internet-drafts/draft-ietf-cbor-7049bis-16.txt" quoteTitle="true" derivedAnchor="I-D.ietf-cbor-7049bis">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author initials="C" surname="Bormann" fullname="Carsten Bormann">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="P" surname="Hoffman" fullname="Paul Hoffman">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="September" day="30" year="2020"/>
            <abstract>
              <t indent="0">The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation.  These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.  This document is a revised edition of RFC 7049, with editorial improvements, added detail, and fixed errata.  This revision formally obsoletes RFC 7049, while keeping full compatibility of the interchange format from RFC 7049.  It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-7049bis-16"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1997" month="March"/>
            <abstract>
              <t indent="0">In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC6256" target="https://www.rfc-editor.org/info/rfc6256" quoteTitle="true" derivedAnchor="RFC6256">
          <front>
            <title>Using Self-Delimiting Numeric Values in Protocols</title>
            <author initials="W." surname="Eddy" fullname="W. Eddy">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="E." surname="Davies" fullname="E. Davies">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2011" month="May"/>
            <abstract>
              <t indent="0">Self-Delimiting Numeric Values (SDNVs) have recently been introduced as a field type in proposed Delay-Tolerant Networking protocols. SDNVs encode an arbitrary-length non-negative integer or arbitrary- length bitstring with minimum overhead.  They are intended to provide protocol flexibility without sacrificing economy and to assist in future-proofing protocols under development.  This document describes formats and algorithms for SDNV encoding and decoding, along with notes on implementation and usage.  This document is a product of the Delay-Tolerant Networking Research Group and has been reviewed by that group.  No objections to its publication as an RFC were raised.  This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6256"/>
          <seriesInfo name="DOI" value="10.17487/RFC6256"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="May"/>
            <abstract>
              <t indent="0">RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8610" target="https://www.rfc-editor.org/info/rfc8610" quoteTitle="true" derivedAnchor="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author initials="H." surname="Birkholz" fullname="H. Birkholz">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Vigano" fullname="C. Vigano">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Bormann" fullname="C. Bormann">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2019" month="June"/>
            <abstract>
              <t indent="0">This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049).  Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="X.660" quoteTitle="true" derivedAnchor="X.660">
          <front>
            <title>Information technology — Procedures for the operation of object identifier registration authorities: General procedures and top arcs of the international object identifier tree</title>
            <author>
              <organization showOnFrontPage="true">International Telecommunications Union</organization>
            </author>
            <date year="2011" month="July"/>
          </front>
          <seriesInfo name="ITU-T" value="Recommendation X.660"/>
        </reference>
        <reference anchor="X.680" quoteTitle="true" derivedAnchor="X.680">
          <front>
            <title>Information technology — Abstract Syntax Notation One (ASN.1): Specification of basic notation</title>
            <author>
              <organization showOnFrontPage="true">International Telecommunications Union</organization>
            </author>
            <date year="2015" month="August"/>
          </front>
          <seriesInfo name="ITU-T" value="Recommendation X.680"/>
        </reference>
        <reference anchor="X.690" quoteTitle="true" derivedAnchor="X.690">
          <front>
            <title>Information technology — ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)</title>
            <author>
              <organization showOnFrontPage="true">International Telecommunications Union</organization>
            </author>
            <date year="2015" month="August"/>
          </front>
          <seriesInfo name="ITU-T" value="Recommendation X.690"/>
        </reference>
      </references>
      <references pn="section-11.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="OID-INFO" target="http://www.oid-info.com/" quoteTitle="true" derivedAnchor="OID-INFO">
          <front>
            <title>OID Repository</title>
            <author>
              <organization showOnFrontPage="true">Orange SA</organization>
            </author>
            <date year="2016"/>
          </front>
        </reference>
        <reference anchor="PCRE" target="http://www.pcre.org/" quoteTitle="true" derivedAnchor="PCRE">
          <front>
            <title>PCRE - Perl Compatible Regular Expressions</title>
            <author initials="A." surname="Ho" fullname="Andrew Ho">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2018"/>
          </front>
        </reference>
        <reference anchor="RFC7388" target="https://www.rfc-editor.org/info/rfc7388" quoteTitle="true" derivedAnchor="RFC7388">
          <front>
            <title>Definition of Managed Objects for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)</title>
            <author initials="J." surname="Schoenwaelder" fullname="J. Schoenwaelder">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Sehgal" fullname="A. Sehgal">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Tsou" fullname="T. Tsou">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Zhou" fullname="C. Zhou">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2014" month="October"/>
            <abstract>
              <t indent="0">This document defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community.  In particular, it defines objects for managing IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7388"/>
          <seriesInfo name="DOI" value="10.17487/RFC7388"/>
        </reference>
        <reference anchor="X.672" quoteTitle="true" derivedAnchor="X.672">
          <front>
            <title>Information technology — Open systems interconnection — Object identifier resolution system</title>
            <author>
              <organization showOnFrontPage="true">International Telecommunications Union</organization>
            </author>
            <date year="2010" month="August"/>
          </front>
          <seriesInfo name="ITU-T" value="Recommendation X.672"/>
        </reference>
      </references>
    </references>
    <section removeInRFC="true" anchor="change-log" toc="include" numbered="true" pn="section-appendix.a">
      <name slugifiedName="name-change-log">Change Log</name>
      <t indent="0" pn="section-appendix.a-1">This section is to be removed before publishing as an RFC.</t>
      <section anchor="changes-from-01-to-02" toc="exclude" numbered="true" removeInRFC="false" pn="section-a.1">
        <name slugifiedName="name-changes-from-01-to-02">Changes from -01 to -02</name>
        <t indent="0" pn="section-a.1-1">Minor editorial changes, remove some remnants, ready for WGLC.</t>
      </section>
      <section anchor="changes-from-00-to-01" toc="exclude" numbered="true" removeInRFC="false" pn="section-a.2">
        <name slugifiedName="name-changes-from-00-to-01">Changes from -00 to -01</name>
        <t indent="0" pn="section-a.2-1">Clean up OID tag factoring.</t>
      </section>
      <section anchor="changes-from-07-bormann-to-00-ietf" toc="exclude" numbered="true" removeInRFC="false" pn="section-a.3">
        <name slugifiedName="name-changes-from-07-bormann-to-">Changes from -07 (bormann) to -00 (ietf)</name>
        <t indent="0" pn="section-a.3-1">Resubmitted as WG draft after adoption.</t>
      </section>
      <section anchor="changes-from-06-to-07" toc="exclude" numbered="true" removeInRFC="false" pn="section-a.4">
        <name slugifiedName="name-changes-from-06-to-07">Changes from -06 to -07</name>
        <t indent="0" pn="section-a.4-1">Reduce the draft back to its basic mandate: Describe CBOR tags for
what is colloquially know as ASN.1 Object IDs.</t>
      </section>
      <section anchor="changes-from-05-to-06" toc="exclude" numbered="true" removeInRFC="false" pn="section-a.5">
        <name slugifiedName="name-changes-from-05-to-06">Changes from -05 to -06</name>
        <t indent="0" pn="section-a.5-1">Refreshed the draft to the current date ("keep-alive").</t>
      </section>
      <section anchor="changes-from-04-to-05" toc="exclude" numbered="true" removeInRFC="false" pn="section-a.6">
        <name slugifiedName="name-changes-from-04-to-05">Changes from -04 to -05</name>
        <t indent="0" pn="section-a.6-1">Discussed UUID usage in CBOR, and incorporated fixes
proposed by Olivier Dubuisson, including fixes regarding OID nomenclature.</t>
      </section>
      <section anchor="changes-from-03-to-04" toc="exclude" numbered="true" removeInRFC="false" pn="section-a.7">
        <name slugifiedName="name-changes-from-03-to-04">Changes from -03 to -04</name>
        <t indent="0" pn="section-a.7-1">Changes occurred based on limited feedback, mainly centered around
the abstract and introduction, rather than substantive
technical changes. These changes include:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-a.7-2">
          <li pn="section-a.7-2.1">Changed the title so that it is about tags and techniques.</li>
          <li pn="section-a.7-2.2">Rewrote the abstract to describe the content more accurately,
and to point out that no changes to the wire protocol are being proposed.</li>
          <li pn="section-a.7-2.3">Removed "ASN.1" from "object identifiers", as OIDs are independent of ASN.1.</li>
          <li pn="section-a.7-2.4">Rewrote the introduction to be more about the present text.</li>
          <li pn="section-a.7-2.5">Proposed a concise OID arc.</li>
          <li pn="section-a.7-2.6">Provided binary regular expression forms for OID validation.</li>
          <li pn="section-a.7-2.7">Updated IANA registration tables.</li>
        </ul>
      </section>
      <section anchor="changes-from-02-to-03" toc="exclude" numbered="true" removeInRFC="false" pn="section-a.8">
        <name slugifiedName="name-changes-from-02-to-03">Changes from -02 to -03</name>
        <t indent="0" pn="section-a.8-1">Many significant changes occurred in this version. These changes include:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-a.8-2">
          <li pn="section-a.8-2.1">Expanded the draft scope to be a comprehensive CBOR update.</li>
          <li pn="section-a.8-2.2">Added OID-related sections: OID Enumerations,
OID Maps and Arrays, and
Applications and Examples of OIDs.</li>
          <li pn="section-a.8-2.3">Added Tag 36 update (binary MIME, better definitions).</li>
          <li pn="section-a.8-2.4">Added stub/experimental sections for X.690 Series Tags (tag &lt;&lt;X&gt;&gt;)
and Regular Expressions (tag 35).</li>
          <li pn="section-a.8-2.5">Added technique for representing sets and multisets.</li>
          <li pn="section-a.8-2.6">Added references and fixed typos.</li>
        </ul>
        <!--  LocalWords:  CBOR extensibility IANA uint sint IEEE endian IETF
 -->
<!--  LocalWords:  signedness endianness ASN BER encodings OIDs OID
 -->
<!--  LocalWords:  Implementers SDNV SDNVs repurpose SDNV's UTF
 -->

</section>
    </section>
    <section numbered="false" anchor="acknowledgments" toc="include" removeInRFC="false" pn="section-appendix.b">
      <name slugifiedName="name-acknowledgments">Acknowledgments</name>
      <t indent="0" pn="section-appendix.b-1">Jim Schaad provided a review of this document.</t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.c">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author initials="C." surname="Bormann" fullname="Carsten Bormann">
        <organization showOnFrontPage="true">Universität Bremen TZI</organization>
        <address>
          <postal>
            <street>Postfach 330440</street>
            <city>Bremen</city>
            <code>D-28359</code>
            <country>Germany</country>
          </postal>
          <phone>+49-421-218-63921</phone>
          <email>cabo@tzi.org</email>
        </address>
      </author>
      <author initials="S." surname="Leonard" fullname="Sean Leonard">
        <organization showOnFrontPage="true">Penango, Inc.</organization>
        <address>
          <postal>
            <street>5900 Wilshire Boulevard</street>
            <street>21st Floor</street>
            <city>Los Angeles, CA</city>
            <code>90036</code>
            <country>USA</country>
          </postal>
          <email>dev+ietf@seantek.com</email>
          <uri>http://www.penango.com/</uri>
        </address>
      </author>
    </section>
  </back>
  <!-- ##markdown-source:
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
PitLlP2UlXqsuWTRT+SMQ5nijIMMNBuiph1D0Z8jhztOZNdDNnM+omwVUkOH
KEjWtb6K2Edldws+arM76PIO4jr4hBgcjZQ/9ehMgpI3l8+KdIopKAFaXQa5
nbWZCFJF4IJ4Dh9LbRLVXN/GdAH0y+cKXrxWgyRKnsRJlXis7lkRTFHwef3k
X+v11395t9tt/eXdyckb+tiRj182/oBvHfq2c/Km8dU/Pbl+cNFO4as+c/kv
efkDXsqtSe7QCYoIJswT8Y2esju12YHVC2TS8H8T0FXqk84OHL/zyOZQecnY
j0WJib36cSnKogUvvjto9QZDCiNc9sqxU35sva/29Xu9nmS4poZ6d9iAzNV3
tzsNOsvyIpvP1bsNPYlv6t1OV05e/TRO6v2GjpAde7NJzE6nvt0gPzHFg5RW
xSeAQ3MRSxzFGaUPR5DjOaSyDFKv3R22sSfCJGyAgGkbStpVSv1b8ac6Q/3A
35a+egkbeX5x8FxfHnyruV+js/fAnD2na1TCCjnilZ+GHb071Nu7utPVw4Hu
9HVnW3d69BXTOGh2ufpuu7untmTaB/wDLhoZIX3ua72tdY+/ai5tcioFy0s+
xp2C01yiQg4X6FDB/v2+3hqHkxZI2qJIkQ8mv66VOG5rOLWPVbId7erhyQMk
gNDWoVrM2e2H6NUZdbqdv+JfB4nNPNO9piPhr6TbfWiSdb4HTzIchOiKDnj6
xekzxLpFWqLUt/gUSbWDJtdNewLfeA2jtvCiF+HomkrOKTINF73nEXuP/vWG
1/AUfzg/Odzp7+7SsZLCMAnKqvaR4soAHm//U6on20rtNyXFkAcXGFP6erbM
LimNJvdb7+09pD6kNu3e3oq6HH2Sj3pdXbp91pf+A5P69+kL+Iv/dTfuu8b3
XsfpS5f+17tH6u7Tl00yMw9HZdUgUbg/aGl+Ql2OH6CAqEtH1OUhcq2pi65T
AwDS2H5Faz6XevdRoKw1jyCB06RLCdMLzUGOfkOntobUR1w8l6aToro1XiLW
o6GOLXBaR2HqLzk6gNsK8i/lsxGlIO53pDL+jLoU7Gq3dHC3XlR1MbM9QGTV
4uKi1JVHnv+2hQymBcdK7pfUZiYBEiLcu6eS/dxSjn1rbAzsT2Pa15OUMT9V
LNBw7TaVKis2r54iKwKN+mPgr38W6AJR0sAqKTt7sIPAldwljSlKSiQLRVAY
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
AA==

-->

</rfc>
