<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.4.1 -->
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<?rfc toc="yes"?>
<?rfc tocdepth="1"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc compact="yes"?>
<?rfc comments="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-cbor-tags-oid-06" category="std" consensus="true" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth="1" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.5.0 -->
  <front>
    <title abbrev="CBOR Tags for OIDs">Concise Binary Object Representation (CBOR) Tags for Object&nbsp;Identifiers</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-tags-oid-06"/>
    <author initials="C." surname="Bormann" fullname="Carsten Bormann">
      <organization>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>
    <date year="2021" month="March" day="30"/>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>The Concise Binary Object Representation (CBOR, RFC 8949) 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>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>
  </front>
  <middle>
    <section anchor="intro" toc="default">
      <name>Introduction</name>
      <t>The Concise Binary Object Representation (CBOR, <xref target="RFC8949" format="default"/>) provides
for the interchange of structured data without a requirement for a
pre-agreed schema.
<xref target="RFC8949" format="default"/> 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>The present document defines CBOR tags for object identifiers
(OIDs, <xref target="X.660" format="default"/>), which many IETF protocols carry.
The ASN.1 Basic Encoding Rules
(BER, <xref target="X.690" format="default"/>) 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="default">
        <name>Terminology</name>
        <t>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&nbsp;14 <xref target="RFC2119" format="default"/> <xref target="RFC8174" format="default"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <t>The terminology of <xref target="RFC8949" format="default"/> applies; in particular
the term "byte" is used in its now customary sense as a synonym for
"octet".
The term "SDNV" is used as defined in <xref target="RFC6256" format="default"/>.</t>
      </section>
    </section>
    <section anchor="oids" toc="default">
      <name>Object Identifiers</name>
      <t>The International Object Identifier tree <xref target="X.660" format="default"/> 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"/>.
(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.
We also use the term "arc" when the focus is on the edge of the tree
labeled by such an integer value, as well as in the sense of a "long
arc", i.e. a (sub)sequence of such integer values.)</t>
      <t>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>BER represents the sequence of unsigned integers by concatenating
self-delimiting <xref target="RFC6256" format="default"/> representations of each of the integer values in sequence.</t>
      <t>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"/> 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"/>
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">
        <li>X * 40 + Y</li>
      </ul>
      <t>The inverse transformation (again making use of the known ranges of X
and Y) is applied when decoding the object identifier.</t>
      <t>Since the semantics of absolute and relative object identifiers
differ, this specification defines two tags, collectively called the
"OID tags" here:</t>
      <t>Tag TBD111: tags a byte string as the <xref target="X.690" format="default"/> encoding of an
absolute object identifier (simply "object identifier" or "OID").</t>
      <t>Tag TBD110: tags a byte string as the <xref target="X.690" format="default"/> 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"/> 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>Tag TBD112: structurally like TBD110, but understood to be relative to
<tt>1.3.6.1.4.1</tt> (IANA Private Enterprise Number OID, <xref target="IANA.enterprise-numbers" format="default"/>).  Hence, the
semantics of the result are that of an absolute object identifier.</t>
      <section anchor="reqts" toc="default">
        <name>Requirements on the byte string being tagged</name>
        <t>To form a valid tag, a byte string tagged by TBD111, TBD110, or TBD112
MUST be syntactically valid contents (the value part) for a BER
representation of an object identifier (Sections 8.19, 8.20, and 8.20
of <xref target="X.690" format="default"/>, respectively): 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 is unset.
Also, the first byte of each SDNV cannot be a
leading zero in SDNV's base-128 arithmetic, so it cannot take the
value 0x80 (bullet (c) in Section 8.1.2.4.2 of <xref target="X.690" format="default"/>).</t>
        <t>In other words:</t>
        <ul spacing="normal">
          <li>the byte string's 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>the byte string's last byte MUST NOT have the most significant bit set (this
requirement excludes an incomplete final integer value)</li>
        </ul>
        <t>If either of these invalid conditions are encountered, the tag is
invalid.</t>
        <t><xref target="X.680" format="default"/> 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>To facilitate the search for specific object ID values, it is RECOMMENDED
that definite length encoding (see Section 3.2.3 of <xref target="RFC8949" format="default"/>) is used
for the byte strings used as tag content for these tags.</t>
        <t>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"/>.  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>For byte strings with tag TBD111:</t>
        <ul empty="true" spacing="normal">
          <li>
            <tt>/^(([\x81-\xFF][\x80-\xFF]*)?[\x00-\x7F])+$/</tt></li>
        </ul>
        <t>For byte strings with tag TBD110 or TBD112:</t>
        <ul empty="true" spacing="normal">
          <li>
            <tt>/^(([\x81-\xFF][\x80-\xFF]*)?[\x00-\x7F])*$/</tt></li>
        </ul>
        <t>A tag with tagged content that does not conform to the applicable
regexp is invalid.</t>
      </section>
      <section anchor="discussion" toc="default">
        <name>Discussion</name>
        <t>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">OID Resolution Service (ORS)</xref>
and the <xref target="OID-INFO" format="default">OID Repository</xref> are available.</t>
      </section>
    </section>
    <section anchor="examples" toc="default">
      <name>Basic Examples</name>
      <t>This section gives simple examples of an absolute and a relative
object identifier, represented via tag number TBD111 and TBD110,
respectively.</t>
      <!-- <note removeinrfc="true" markdown="1"> -->
<t>RFC editor: These and other examples assume the allocation of 111 for
TBD111 and 110 for TBD110 and need to be changed if that isn't the
actual allocation.  Please remove this paragraph.
<!-- </note> -->
      </t>
      <section anchor="encoding-of-the-sha-256-oid" toc="default">
        <name>Encoding of the SHA-256 OID</name>
        <dl>
          <dt>
ASN.1 Value Notation:  </dt>
          <dd>
            <t>{ joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101)
  csor(3) nistalgorithm(4) hashalgs(2) sha256(1) }</t>
          </dd>
          <dt>
Dotted Decimal Notation:  </dt>
          <dd>
            <t>2.16.840.1.101.3.4.2.1</t>
          </dd>
        </dl>
        <figure anchor="fig-sha-ber">
          <name>SHA-256 OID in BER</name>
          <artwork name="" type="" align="left" alt=""><![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">
          <name>SHA-256 OID in CBOR</name>
          <artwork name="" type="" align="left" alt=""><![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="default">
        <name>Encoding of a MIB Relative OID</name>
        <t>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"/>),
to which the following is added:</t>
        <dl>
          <dt>
ASN.1 Value Notation:  </dt>
          <dd>
            <t>{ lowpanObjects(1) lowpanStats(1) lowpanOutTransmits(29) }</t>
          </dd>
          <dt>
Dotted Decimal Notation:  </dt>
          <dd>
            <t>.1.1.29</t>
          </dd>
        </dl>
        <figure anchor="fig-mib-ber">
          <name>MIB relative object identifier, in BER</name>
          <artwork name="" type="" align="left" alt=""><![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">
          <name>MIB relative object identifier, in CBOR</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
D8 6E                             # tag(110)
   43                             # 0b010_01001: mt 2 (bstr), 3 bytes
      01 01 1D                    # X.690 Clause 8.20
]]></artwork>
        </figure>
        <t>This relative OID saves seven bytes compared to the full OID encoding.</t>
      </section>
    </section>
    <section anchor="tfs" toc="default">
      <name>Tag Factoring with Arrays and Maps</name>
      <t>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.</t>
      <t>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>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>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 anchor="tag-factoring-example-x500-distinguished-name" toc="default">
        <name>Tag Factoring Example: X.500 Distinguished Name</name>
        <t>Consider the X.500 distinguished name:</t>
        <table anchor="tab-dn-data" align="center">
          <name>Example X.500 Distinguished Name</name>
          <thead>
            <tr>
              <th align="left">Attribute Types</th>
              <th align="left">Attribute Values</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">c (2.5.4.6)</td>
              <td align="left">US</td>
            </tr>
            <tr>
              <td align="left">l (2.5.4.7)<br/>s (2.5.4.8)<br/>postalCode (2.5.4.17)</td>
              <td align="left">Los Angeles<br/>CA<br/>90013</td>
            </tr>
            <tr>
              <td align="left">street (2.5.4.9)</td>
              <td align="left">532 S Olive St</td>
            </tr>
            <tr>
              <td align="left">businessCategory (2.5.4.15)<br/>buildingName (0.9.2342.19200300.100.1.48)</td>
              <td align="left">Public Park<br/>Pershing Square</td>
            </tr>
          </tbody>
        </table>
        <t><xref target="tab-dn-data" format="default"/> has four "relative distinguished names" (RDNs). The country and street RDNs are single-valued.
The second and fourth RDNs are multi-valued.</t>
        <t>The equivalent representations in CBOR diagnostic notation (<xref section="8" sectionFormat="of" target="RFC8949" format="default"/>) and CBOR are:</t>
        <figure anchor="fig-dn-cbor-diag">
          <name>Distinguished Name, in CBOR Diagnostic Notation</name>
          <artwork name="" type="" align="left" alt=""><![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">
          <name>Distinguished Name, in CBOR (109 bytes)</name>
          <artwork name="" type="" align="left" alt=""><![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>(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="default">
      <name>CDDL Control Operators</name>
      <t>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">
        <li>
          <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"/> SDNV (BER
encoding) for the matching values of the control type.</li>
        <li>
          <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"/> SDNVs (BER encoding) that decodes to an array of
unsigned integers matching the control type.</li>
        <li>
          <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"/>).</li>
      </ul>
      <t><xref target="fig-dn-cddl" format="default"/> 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"/>;
<xref target="fig-dn-cddl-oid" format="default"/> shows the same with the <tt>.oid</tt> operator.</t>
      <figure anchor="fig-dn-cddl">
        <name>Using .sdnvseq</name>
        <sourcecode type="cddl">
country-rdn = {country-oid =&gt; country-value}
country-oid = bytes .sdnvseq [85, 4, 6]
country-value = text .size 2
</sourcecode>
      </figure>
      <figure anchor="fig-dn-cddl-oid">
        <name>Using .oid</name>
        <sourcecode type="cddl">
country-rdn = {country-oid =&gt; country-value}
country-oid = bytes .oid [2, 5, 4, 6]
country-value = text .size 2
</sourcecode>
      </figure>
      <t>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="default">
      <name>CDDL typenames</name>
      <t>For the use with CDDL <xref target="RFC8610" format="default"/>, the
typenames defined in <xref target="tag-cddl" format="default"/> are recommended:</t>
      <figure anchor="tag-cddl">
        <name>Recommended typenames for CDDL</name>
        <sourcecode type="CDDL">
oid = #6.111(bstr)
roid = #6.110(bstr)
pen = #6.112(bstr)
</sourcecode>
      </figure>
    </section>
    <section anchor="iana" toc="default">
      <name>IANA Considerations</name>
      <section anchor="cbor-tags" toc="default">
        <name>CBOR Tags</name>
        <t>IANA is requested to assign the CBOR tags in <xref target="tab-tag-values-new" format="default"/>, with the
present document as the specification reference.</t>
        <table anchor="tab-tag-values-new" align="center">
          <name>Values for New Tags</name>
          <thead>
            <tr>
              <th align="left">Tag</th>
              <th align="left">Data Item</th>
              <th align="right">Semantics</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBD111</td>
              <td align="left">byte string or array or map</td>
              <td align="right">object identifier (BER encoding)</td>
            </tr>
            <tr>
              <td align="left">TBD110</td>
              <td align="left">byte string or array or map</td>
              <td align="right">relative object identifier (BER encoding); <br/>SDNV <xref target="RFC6256" format="default"/> sequence</td>
            </tr>
            <tr>
              <td align="left">TBD112</td>
              <td align="left">byte string or array or map</td>
              <td align="right">object identifier (BER encoding), relative to 1.3.6.1.4.1</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="cddl-control-operators" toc="default">
        <name>CDDL Control Operators</name>
        <t>IANA is requested to assign the CDDL Control Operators in
<xref target="tab-operators-new" format="default"/>, with the present document as the specification
reference.</t>
        <table anchor="tab-operators-new" align="center">
          <name>New CDDL Operators</name>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">.sdnv</td>
              <td align="left">[this document, <xref target="control" format="default"/>]</td>
            </tr>
            <tr>
              <td align="left">.sdnvseq</td>
              <td align="left">[this document, <xref target="control" format="default"/>]</td>
            </tr>
            <tr>
              <td align="left">.oid</td>
              <td align="left">[this document, <xref target="control" format="default"/>]</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="security-considerations" toc="default">
      <name>Security Considerations</name>
      <t>The security considerations of <xref target="RFC8949" format="default"/> apply.</t>
      <t>The encodings in Clauses 8.19 and 8.20 of <xref target="X.690" format="default"/> 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"/> 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>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>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC6256" target="https://www.rfc-editor.org/info/rfc6256">
          <front>
            <title>Using Self-Delimiting Numeric Values in Protocols</title>
            <author fullname="W. Eddy" initials="W." surname="Eddy">
              <organization/>
            </author>
            <author fullname="E. Davies" initials="E." surname="Davies">
              <organization/>
            </author>
            <date month="May" year="2011"/>
            <abstract>
              <t>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="RFC8949" target="https://www.rfc-editor.org/info/rfc8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman">
              <organization/>
            </author>
            <date month="December" year="2020"/>
            <abstract>
              <t>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.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049.  It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="RFC8610" target="https://www.rfc-editor.org/info/rfc8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz">
              <organization/>
            </author>
            <author fullname="C. Vigano" initials="C." surname="Vigano">
              <organization/>
            </author>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <date month="June" year="2019"/>
            <abstract>
              <t>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" target="https://www.itu.int/rec/T-REC-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>International Telecommunications Union</organization>
            </author>
            <date year="2011" month="July"/>
          </front>
          <seriesInfo name="ITU-T" value="Recommendation X.660"/>
        </reference>
        <reference anchor="X.680" target="https://www.itu.int/rec/T-REC-X.680">
          <front>
            <title>Information technology — Abstract Syntax Notation One (ASN.1): Specification of basic notation</title>
            <author>
              <organization>International Telecommunications Union</organization>
            </author>
            <date year="2015" month="August"/>
          </front>
          <seriesInfo name="ITU-T" value="Recommendation X.680"/>
        </reference>
        <reference anchor="X.690" target="https://www.itu.int/rec/T-REC-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>International Telecommunications Union</organization>
            </author>
            <date year="2015" month="August"/>
          </front>
          <seriesInfo name="ITU-T" value="Recommendation X.690"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization/>
            </author>
            <date month="March" year="1997"/>
            <abstract>
              <t>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="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <date month="May" year="2017"/>
            <abstract>
              <t>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>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="X.672" target="https://www.itu.int/rec/T-REC-X.672">
          <front>
            <title>Information technology — Open systems interconnection — Object identifier resolution system</title>
            <author>
              <organization>International Telecommunications Union</organization>
            </author>
            <date year="2010" month="August"/>
          </front>
          <seriesInfo name="ITU-T" value="Recommendation X.672"/>
        </reference>
        <reference anchor="PCRE" target="http://www.pcre.org/">
          <front>
            <title>PCRE - Perl Compatible Regular Expressions</title>
            <author initials="A." surname="Ho" fullname="Andrew Ho">
              <organization/>
            </author>
            <date year="2018"/>
          </front>
        </reference>
        <reference anchor="OID-INFO" target="http://www.oid-info.com/">
          <front>
            <title>OID Repository</title>
            <author>
              <organization>Orange SA</organization>
            </author>
            <date year="2016"/>
          </front>
        </reference>
        <reference anchor="IANA.enterprise-numbers" target="http://www.iana.org/assignments/enterprise-numbers">
          <front>
            <title>enterprise-numbers</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="RFC7388" target="https://www.rfc-editor.org/info/rfc7388">
          <front>
            <title>Definition of Managed Objects for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)</title>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder">
              <organization/>
            </author>
            <author fullname="A. Sehgal" initials="A." surname="Sehgal">
              <organization/>
            </author>
            <author fullname="T. Tsou" initials="T." surname="Tsou">
              <organization/>
            </author>
            <author fullname="C. Zhou" initials="C." surname="Zhou">
              <organization/>
            </author>
            <date month="October" year="2014"/>
            <abstract>
              <t>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>
      </references>
    </references>
    <section removeInRFC="true" anchor="change-log" toc="default">
      <name>Change Log</name>
      <section anchor="changes-from-05-to-06" toc="default">
        <name>Changes from -05 to -06</name>
        <t>Add references to specific section numbers of <xref target="X.690" format="default"/> to better
explain validity of enclosed byte string.</t>
      </section>
      <section anchor="changes-from-04-to-05" toc="default">
        <name>Changes from -04 to -05</name>
        <ul spacing="normal">
          <li>Update acknowledgements, contributor list, and author list</li>
        </ul>
      </section>
      <section anchor="changes-from-03-to-04" toc="default">
        <name>Changes from -03 to -04</name>
        <t>Process WGLC and shepherd comments:</t>
        <ul spacing="normal">
          <li>Update references (RFC 8949, URIs for ITU-T)</li>
          <li>Define arc for this document, reference SDN definition</li>
          <li>Restructure, small editorial clarifications</li>
        </ul>
      </section>
      <section anchor="changes-from-02-to-03" toc="default">
        <name>Changes from -02 to -03</name>
        <ul spacing="normal">
          <li>Add tag TBD112 for PEN-relative OIDs</li>
          <li>Add suggested CDDL typenames; reference RFC8610</li>
        </ul>
      </section>
      <section anchor="changes-from-01-to-02" toc="default">
        <name>Changes from -01 to -02</name>
        <t>Minor editorial changes, remove some remnants, ready for WGLC.</t>
      </section>
      <section anchor="changes-from-00-to-01" toc="default">
        <name>Changes from -00 to -01</name>
        <t>Clean up OID tag factoring.</t>
      </section>
      <section anchor="changes-from-07-bormann-to-00-ietf" toc="default">
        <name>Changes from -07 (bormann) to -00 (ietf)</name>
        <t>Resubmitted as WG draft after adoption.</t>
      </section>
      <section anchor="changes-from-06-to-07" toc="default">
        <name>Changes from -06 to -07</name>
        <t>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-1" toc="default">
        <name>Changes from -05 to -06</name>
        <t>Refreshed the draft to the current date ("keep-alive").</t>
      </section>
      <section anchor="changes-from-04-to-05-1" toc="default">
        <name>Changes from -04 to -05</name>
        <t>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-1" toc="default">
        <name>Changes from -03 to -04</name>
        <t>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">
          <li>Changed the title so that it is about tags and techniques.</li>
          <li>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>Removed "ASN.1" from "object identifiers", as OIDs are independent of ASN.1.</li>
          <li>Rewrote the introduction to be more about the present text.</li>
          <li>Proposed a concise OID arc.</li>
          <li>Provided binary regular expression forms for OID validation.</li>
          <li>Updated IANA registration tables.</li>
        </ul>
      </section>
      <section anchor="changes-from-02-to-03-1" toc="default">
        <name>Changes from -02 to -03</name>
        <t>Many significant changes occurred in this version. These changes include:</t>
        <ul spacing="normal">
          <li>Expanded the draft scope to be a comprehensive CBOR update.</li>
          <li>Added OID-related sections: OID Enumerations,
OID Maps and Arrays, and
Applications and Examples of OIDs.</li>
          <li>Added Tag 36 update (binary MIME, better definitions).</li>
          <li>Added stub/experimental sections for X.690 Series Tags (tag &lt;&lt;X&gt;&gt;)
and Regular Expressions (tag 35).</li>
          <li>Added technique for representing sets and multisets.</li>
          <li>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="default">
      <name>Acknowledgments</name>
      <t><contact fullname="Sean Leonard"/> started the work on this document in 2014 with an
elaborate proposal.
<contact fullname="Jim Schaad"/> provided a significant review of this document.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="S." surname="Leonard" fullname="Sean Leonard">
        <organization>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>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
Tq8nV1w9Xb07bID/67vbnQYVJXiRzWPVuw09ia/r3U5XSnT8NE7q/YaOwjTz
ZpOYPeH6doPcyykepDQqvgEc6gvNdiQK4MgqgDJIvXZ32MaccIUxAQJFuMNQ
ZUr9a/FRnaF+4rOlL0/hTJ2dH7zSFwffai4V7Ow90WfPGWXadwiZT+XVsKN3
h3p7V3e6ejjQnb7ubOtOj36iGzvqLkdJkZTakm4f8Ye1aN3l732tt7Xu8U/N
W1acQoKLVlIs3JewkMMFPFRWf7evt8bhpAWUtkg4uMLk61qJ4jZ3Xbuvou1o
Vw9fPoECCF0dLM2U3X4KX51Rp9v5F/x1uvt6nule06HwN+LtoWWSG/fAOsnD
oIWuyICnX5+8gM4r0jFKfYtvkWR5qXPdtCdwoq/g/Sy86HU4umpaiXdSm2cq
evTXG15RIgKaY6e/u0vlAgrNJJlcdaTIbAUwxfuPiZ5MKyY0JcGQB7D65Z9v
ltkFWWvy0+u9vafEh8Sm3dtbEZejR+mo18Wl22d56T/Rqf+QvIC++K+7cd41
uvc6Tl669F/vAa57SF428cw8HJVFg1jh4eim+Yi4HD+BARGXjojLU+haExdd
p0quRtMh8jdi7yEMlKXmE1DgJOlCovtCcnTqsYE3JD4SC/CWXFJk9cdLBIXU
NPcOJV34EuYt5rQX+84HRYXGa6rQuNvKxulqIZRLG3NcQU5Axa+v0x66uMkU
tY1gIRuSdOT4q7yp6ApBZD8eq/Xcnqfdz/XJyoY2y1RE6hSzAmryAzEsb/xw
UihEmH8dBmSuEYTO3WA2hWqS5+UxFjPPF0+S3QdXZAJ4qDo/Mx4FAN9TNt/6
frZfuZ7FFqdwPDw30AIq37Ip3B/XMbSbEdQRxChXuRQQcH/2c0s4bVqENS2A
qd2EEQc84ioa4pfYZaHc2E0lFYKc7qF9MUckyTnTxjDFZdafasrmRV5yIxnr
iXWbXTZUgcuSW9vETuR8pmomVUl0wAliLizkjmtdohXkSxJqmUQqS4xnaxcK
jrI1JE9QhoYqyFIw0JNk4QIjyzgEjiMIL0w9RJDnmveMOGDfQBVXtSTUmXt/
JfxTBV1bncYu2VdEVCQnlf55IrkMGu32puyyc/48z3pxbXiTlzfOpZsCM5My
MleKsMJSGV+7wg7K0/1WEM6pGpTDIkunMR9HyivQSOOnkmbicAzd7A6d9b5d
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
D7twGsGrCF5iYMJu1gLztvo/fteynxVeAAA=

-->

</rfc>
