<?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-02" indexInclude="true" ipr="trust200902" prepTime="2020-10-28T18:18:01" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="1" tocInclude="true" xml:lang="en">
  <!-- xml2rfc v2v3 conversion 3.2.1 -->
  <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-02" 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="10" year="2020" day="28"/>
    <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 1 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-iana-considerations">IANA Considerations</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-security-considerations">Security 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-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.10.2">
              <li pn="section-toc.1-1.10.2.1">
                <t indent="0" pn="section-toc.1-1.10.2.1.1"><xref derivedContent="10.1" format="counter" sectionFormat="of" target="section-10.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.2">
                <t indent="0" pn="section-toc.1-1.10.2.2.1"><xref derivedContent="10.2" format="counter" sectionFormat="of" target="section-10.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.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.12">
            <t indent="0" pn="section-toc.1-1.12.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.13">
            <t indent="0" pn="section-toc.1-1.13.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>
      <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 or TBD110 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:</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="iana" toc="include" numbered="true" removeInRFC="false" pn="section-8">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <section anchor="cbor-tags" toc="exclude" numbered="true" removeInRFC="false" pn="section-8.1">
        <name slugifiedName="name-cbor-tags">CBOR Tags</name>
        <t indent="0" pn="section-8.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>
          </tbody>
        </table>
      </section>
      <section anchor="cddl-control-operators" toc="exclude" numbered="true" removeInRFC="false" pn="section-8.2">
        <name slugifiedName="name-cddl-control-operators-2">CDDL Control Operators</name>
        <t indent="0" pn="section-8.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-9">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-9-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-9-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-9-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-10">
      <name slugifiedName="name-references">References</name>
      <references pn="section-10.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="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-10.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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
Be5dSgH3KsGu3KwFKm31f2a984fuVAAA

-->

</rfc>
