<?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.3.24 -->
<!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-04" 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-04"/>
    <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>
    <author 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>
    </author>
    <date year="2021" month="January" day="27"/>
    <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 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 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>
        <artwork type="cddl" name="" align="left" alt=""><![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">
        <name>Using .oid</name>
        <artwork type="cddl" name="" align="left" alt=""><![CDATA[
country-rdn = {country-oid => country-value}
country-oid = bytes .oid [2, 5, 4, 6]
country-value = text .size 2
]]></artwork>
      </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>
        <artwork type="CDDL" name="" align="left" alt=""><![CDATA[
oid = #6.111(bstr)
roid = #6.110(bstr)
pen = #6.112(bstr)
]]></artwork>
      </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 initials="W." surname="Eddy" fullname="W. Eddy">
              <organization/>
            </author>
            <author initials="E." surname="Davies" fullname="E. Davies">
              <organization/>
            </author>
            <date year="2011" month="May"/>
            <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 initials="C." surname="Bormann" fullname="C. Bormann">
              <organization/>
            </author>
            <author initials="P." surname="Hoffman" fullname="P. Hoffman">
              <organization/>
            </author>
            <date year="2020" month="December"/>
            <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 initials="H." surname="Birkholz" fullname="H. Birkholz">
              <organization/>
            </author>
            <author initials="C." surname="Vigano" fullname="C. Vigano">
              <organization/>
            </author>
            <author initials="C." surname="Bormann" fullname="C. Bormann">
              <organization/>
            </author>
            <date year="2019" month="June"/>
            <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 initials="S." surname="Bradner" fullname="S. Bradner">
              <organization/>
            </author>
            <date year="1997" month="March"/>
            <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 initials="B." surname="Leiba" fullname="B. Leiba">
              <organization/>
            </author>
            <date year="2017" month="May"/>
            <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 initials="J." surname="Schoenwaelder" fullname="J. Schoenwaelder">
              <organization/>
            </author>
            <author initials="A." surname="Sehgal" fullname="A. Sehgal">
              <organization/>
            </author>
            <author initials="T." surname="Tsou" fullname="T. Tsou">
              <organization/>
            </author>
            <author initials="C." surname="Zhou" fullname="C. Zhou">
              <organization/>
            </author>
            <date year="2014" month="October"/>
            <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-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" 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" 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>Jim Schaad provided a review of this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
