<?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.2.3 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC2119 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC8174 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC6838 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6838.xml">
<!ENTITY RFC1035 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.1035.xml">
<!ENTITY RFC4648 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4648.xml">
<!ENTITY RFC3650 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3650.xml">
]>

<?rfc toc="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>

<rfc ipr="trust200902" docName="draft-durand-doa-over-dns-03" category="exp">

  <front>
    <title>DOA over DNS</title>

    <author initials="A." surname="Durand" fullname="Alain Durand">
      <organization abbrev="ICANN">Internet Corporation for Assigned Names and Numbers</organization>
      <address>
        <postal>
          <street>801 17th St NW Suite 400</street>
          <city>Washington</city>
          <code>DC 20006</code>
          <country>USA</country>
        </postal>
        <email>Alain.Durand@icann.org</email>
      </address>
    </author>
    <author initials="R." surname="Bellis" fullname="Ray Bellis">
      <organization abbrev="ISC">Internet Systems Consortium, Inc.</organization>
      <address>
        <postal>
          <street>950 Charter Street</street>
          <city>Redwood City</city>
          <code>CA 94063</code>
          <country>USA</country>
        </postal>
        <phone>+1 650 423 1200</phone>
        <email>ray@isc.org</email>
      </address>
    </author>

    <date year="2017" month="October" day="06"/>

    <area>Internet</area>
    <workgroup>Independent Submission</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>Abstract</t>

<t>This document defines a DOA RR type to implement the Digital Object
Architecture over DNS.</t>



    </abstract>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<t>This document defines an RR type to implement an architecture similar to
the Digital Object Architecture <xref target="ITU-X.1255"/> within the DNS. Each DOA
RR contains an object type that might be opaque and private to the
producer and the consumer of the data and either the data (if small
enough to fit in the RR) or a pointer on how to retrieve the actual
data.</t>

</section>
<section anchor="terminology" title="Terminology">

<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 14
<xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all
capitals, as shown here.</t>

</section>
<section anchor="the-doa-resource-record" title="The DOA Resource Record">

<section anchor="description" title="Description">

<t>The Type value for the DOA RR is TBD.  The DOA RR is class independent.
No special processing is required within DNS servers or libraries.</t>

<t>The RDATA of the resource record comprises of five fields:
DOA-ENTERPRISE, DOA-TYPE, DOA-MEDIA-TYPE, DOA-LOCATION and DOA-DATA.</t>

<section anchor="enterprise-and-type-fields" title="Enterprise and Type fields">

<t>The DOA-ENTERPRISE and DOA-TYPE fields are combined to indicate the
semantic type of the DOA record being represented by the RR.  That
semantic is private to the producer of data hosted on an authoritative
DNS server and the application software using a DNS stub resolver to
retrieve it.</t>

<t>The DOA-ENTERPRISE field uses values as specified in the IANA SMI
Network Management Private Enterprise Codes Registry
<xref target="IANA-ENTERPRISE"/>.  An exception to that is that the reserved value of
zero (0) is used to indicate that the the DOA-ENTERPRISE is not set.</t>

<t>Some commonly used values of DOA-TYPE are registered in the IANA DOA
Type Registry <xref target="doatype"/>, others are privately defined.  As those
private types might be used in cross-organization systems, use of the
DOA-ENTERPRISE field is RECOMMENDED to disambiguate types.</t>

</section>
<section anchor="location-field" title="Location field">

<t>The DOA-LOCATION signals how the DOA-DATA field should be interpreted
using the values specified in the DOA Location Type Registry
<xref target="doalocation"/>.</t>

<t>The value 0 is reserved.</t>

<t>For the value 1 (“Local”), the DOA-DATA contains the actual DOA object.</t>

<t>For the value 2 (“URI”) the DOA-DATA contains a UTF-8 encoded string
representing the URI from which the DOA object can be obtained.</t>

<t>For the value 3 (“HDL”) the DOA-DATA contains a UTF-8 encoded string
representing the handle from the Handle System <xref target="RFC3650"/>  from which
the DOA object can be obtained.</t>

<t>Other values might be defined in the future, for example for NFS, LDAP,
etc…</t>

<t>DNS software implementing the DOA RR type MUST NOT drop or otherwise
refuse to handle the DOA RRs containing an unknown or unsupported
DOA-location and MUST treat the DOA-DATA portion of the RR as an
abstract opaque field.</t>

</section>
<section anchor="media-type" title="Media Type">

<t>The DOA-MEDIA-TYPE field contains the Internet media type <xref target="RFC6838"/>
for the DOA object represented by this record.</t>

<t>If a non-Local object is retrieved over a protocol that supports
inclusion of a media type value (e.g. an HTTP Content-Type header) then
the client MUST use that value (if supplied) in preference to any value
specified inside this resource record. In such case, the DOA-MEDIA-TYPE
MAY be set to NULL, length 0.</t>

</section>
<section anchor="doadata" title="Data">

<t>The DOA-DATA field contains either the object’s data, or some form of
reference specifying from where the data can be obtained, per the
DOA-LOCATION field above.</t>

</section>
</section>
<section anchor="doa-rdata-wire-format" title="DOA RDATA Wire Format">

<figure><artwork><![CDATA[
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
 0: |                                                               |
    |                        DOA-ENTERPRISE                         |
    |                                                               |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
 4: |                                                               |
    |                           DOA-TYPE                            |
    |                                                               |
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
 8: |         DOA-LOCATION          |         DOA-MEDIA-TYPE        /
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
10: /                                                               /
    /                  DOA-MEDIA-TYPE (continued)                   /
    /                                                               /
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
    /                                                               /
    /                           DOA-DATA                            /
    /                                                               /
    +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
]]></artwork></figure>

<t>DOA-ENTERPRISE: a 32-bit unsigned integer in network order.</t>

<t>DOA-TYPE: a 32-bit unsigned integer in network order.</t>

<t>DOA-LOCATION: an 8-bit unsigned integer.</t>

<t>DOA-MEDIA-TYPE: A &lt;character-string&gt; (see <xref target="RFC1035"/>).  The
first octet of the &lt;character-string&gt; contains the number of
characters to follow.</t>

<t>DOA-DATA: A variable length blob of binary data.  The length of the
DOA-DATA is not contained within the wire format of the RR and has to be
computed from the RDLENGTH of the entire RR once other fields have been
taken into account.</t>

</section>
<section anchor="doa-rdata-presentation-format" title="DOA RDATA Presentation Format">

<t>The DOA-ENTERPRISE field is presented as an unsigned 32-bit decimal integer with
range 0 - 4,294,967,295.</t>

<t>The DOA-TYPE field is presented as an unsigned 32-bit decimal integer with
range 0 - 4,294,967,295.</t>

<t>The DOA-LOCATION field is presented as an unsigned 8-bit decimal integer with
range 0 - 255.</t>

<t>The DOA-MEDIA-TYPE field is presented as a single &lt;character-string&gt;.</t>

<t>The DOA-DATA is presented as Base64 encoded data <xref target="RFC4648"/> unless the
DOA-DATA is empty in which case it is presented as a single dash
character (“-“, ASCII 45).  White space is permitted within Base64 data.</t>

</section>
</section>
<section anchor="security" title="Security Considerations">

<t>The use of DNSSEC is encouraged to protect the integrity of the data
contained in the DOA RR type.</t>

</section>
<section anchor="privacy" title="Privacy Considerations">

<t>Personally identifiable information (PII) data appearing in the DOA-DATA
field SHOULD be encrypted.</t>

</section>
<section anchor="operational-consideration" title="Operational consideration">

<t>Some DOA records might contain large data that is only of interest to a
single party, as such, caching those records does not provide much
benefits and could be considered a denial of service attack on the
caching resolver infrastructure. It is thus RECOMMENDED that the TTL
associated with large DOA RRs be set as small as possible to avoid
caching.</t>

</section>
<section anchor="iana" title="IANA Considerations">

<section anchor="doatype" title="DOA Type Registry">

<t>IANA are requested to create the DOA Type Registry with initial contents as follows:</t>

<texttable>
      <ttcol align='right'>Value</ttcol>
      <ttcol align='left'>Name</ttcol>
      <ttcol align='left'>Specification</ttcol>
      <c>0</c>
      <c>Reserved - cannot be assigned</c>
      <c>RFC-TBD1</c>
      <c>1</c>
      <c>contact email</c>
      <c>RFC-TBD1</c>
      <c>2</c>
      <c>contact website</c>
      <c>RFC-TBD1</c>
      <c>3</c>
      <c>contact telephone</c>
      <c>RFC-TBD1</c>
      <c>4 - 99</c>
      <c>Unassigned</c>
      <c>&#160;</c>
      <c>100</c>
      <c>public key</c>
      <c>RFC-TBD1</c>
      <c>101 - 99,999</c>
      <c>Unassigned</c>
      <c>&#160;</c>
      <c>100000 -</c>
      <c>Reserved for Private Use</c>
      <c>RFC-TBD1</c>
</texttable>

<t>Assignments in the 1-99,999 range in this registry require Expert Review.</t>

</section>
<section anchor="doalocation" title="DOA Location Type Registry">

<t>IANA are requested to create the DOA Location Type Registry with initial
contents as follows:</t>

<texttable>
      <ttcol align='right'>Value</ttcol>
      <ttcol align='left'>Location</ttcol>
      <ttcol align='left'>Specification</ttcol>
      <c>0</c>
      <c>Reserved - cannot be assigned</c>
      <c>RFC-TBD1</c>
      <c>1</c>
      <c>Local</c>
      <c>RFC-TBD1</c>
      <c>2</c>
      <c>URI</c>
      <c>RFC-TBD1</c>
      <c>3</c>
      <c>HDL</c>
      <c>RFC-TBD1</c>
      <c>4 - 199</c>
      <c>Unassigned</c>
      <c>&#160;</c>
      <c>200 - 254</c>
      <c>Reserved for Private Use</c>
      <c>RFC-TBD1</c>
      <c>255</c>
      <c>Reserved - cannot be assigned</c>
      <c>RFC-TBD1</c>
</texttable>

<t>Assignments in the 4-199 range in this registry require Expert Review.</t>

</section>
</section>
<section anchor="acknowledgments" title="Acknowledgments">

</section>


  </middle>

  <back>

    <references title='Normative References'>

<reference anchor="IANA-ENTERPRISE" target="https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers">
  <front>
    <title>SMI Network Management Private Enterprise Codes Registry</title>
    <author >
      <organization>IANA</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
&RFC2119;
&RFC8174;
&RFC6838;
&RFC1035;
&RFC4648;


    </references>

    <references title='Informative References'>

<reference anchor="ITU-X.1255" target="http://www.itu.int/rec/T-REC-X.1255-201309-I">
  <front>
    <title>Framework for discovery of identity management information</title>
    <author >
      <organization>ITU</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
&RFC3650;


    </references>



  </back>

<!-- ##markdown-source:
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
i73uNDQ4IcBUhqD1tCakCTAnqMBjZTFc1nPOU4K/XclECQf42tfqBBicagut
VZO2clud/L4ieXN6fPrwwJpVQbDVowTlvIYyGNi4mAM5WZ5FzlXKLW6FzxaJ
r7QF5Sv03nnqg2vQELUpcVqYILlo8uVx+1K2F21S8Pvp9IZ6SgtOIufkSykS
qR2gMwewOFWURZyKnd3opECGKteCcp5MXhGcINMc0TiLnXlFtvELWTO4GPQ5
pbxb5UkbigQ5eGEsjKzDQ618hjqSAIw0QfRHt5eXLZ5KtOlL3gnmG1LW/vQC
AYry90Ntw0ZIrKzXKMW9kv9uXNpvEeIMpSFqvyiz1YJ5WTaE0OCKUsu6mt9x
whZf+wPYVsz2fIgZzNj2RSXh37H4AdUef+e6PhYaSc6/Rzv1rD9PqdPjn/nz
Pp8rnp6ktJPxnkHpi3n6Rno6+b/oifO6mnk2pS/j6Rvp6bSppy2A12duPW8E
0vA5/MY8dYHxw2fqqeZpD6UdMV5SMFFZQRHwCyl9JU/fyHbflKffo1QF32dT
+jKenq+nndq9h1R6fBTNlKVqxI+eqaZeSDdTyELrhVQmddtvJoh8xbbSjXqU
o0/3bg0rayT2eJ9/l9of46Wg0kbqyFeb3y3sj/ylkWVN0u0cv354eOWHEmyu
tEEZhPW2rJKeJLJV9PiJKKXGaq1xk6s8TfP7wB2Znfi6E1qJGUq9kKxnaT6j
49DiC3RnbmblhyRhQaN3ctAJ/WHgoJ6GECf3lDD9mLRZ6KEsXArjB0qMJh8F
1VpViT0eXp6P/jl9X26hOla7nTlleVeulgOJpUCDPpNUEImPMiMToLqJ3XR8
N33f+LLO16ZlGn+yr3cTiLIOdLVpbeiAmQTlxgpVYAkZkpxpkS2o14r4Sevo
7KR19uYHfL9ujBAaxepfd8hOPfN7B53+mXOOXjepP6q6H9Hn1MWmT0O2vVP+
7RJ4i0LzzUnVnrkCznvJyZsTVO5gP5XGPMKiXK3thpzXd41Ur3Jln+YvEWZZ
+wmaxuigxfuTwcUFP3lNrviBZtYoLQWgR1RodmttjfPAaDXcnci40PSugN4H
oaD2b8UMCl8TnoTKNwwi0LhNzgeOdchaaLHwwxnqH9yoe+nHAwtHtDGxZrXL
NeYCoctzrLjxUryHk7V/AEZuEBvyTKTpJrzkmPto0Hi7wV/eXFy8CkNyN6Z1
889sq59jHgZh+jwjp431Zm1dr/uCX6/D6QBY3OQmjJTqKWHZDAfheEqvVfzh
5ZTLzZ7orQw1d9K4hkOwYM+10Hbj58boV1oAQLz0XXBuZHVGkksftqDlO+p6
VljMZjJD/239+8q4nM2U/BJw4CUZDYJxOo1RFDAhrBXxRxpDEhTL46pBIhSp
BWBfuNceaKTCoK7YGTOVE7jp9JIJY/JYiRJkQQdlHx66LJKQXk3Qj3VujCKz
kSbucpWUfDjlu8HbIwzQq7aHKkLuzORelDM5dLy020/00I+7kStOiamjr+cD
29sd0ypTVnlzUwvrhqM+A5keY5/5v12f+tm9IcbXxPehYXLwmX2Ooh7+6FN+
YVMHK8flbDOijo6MCI2I8oUznr8bRNO3wy4R4fjvoQRPcq9BdxccNRbcy5kh
Z99ZctxYYmUq3ZvW3UUnYOfsDHdvswYvjoUOcb0uZqmK3ZueXRY7Xbe3dfbk
fnywpCE6jS3K4fGt2WGG9euXp6WfdqNwgI/o5QseXZosvMvg57/CUy0OulPy
vk6g+6eNHifVtPFPYuUJWk3QsD8CTUXjLwWOn/HsAQyNJveA5P3wch8suvvt
etTxefXkTxv2M2XhLxKE7wXDSdT9CiTwfkwjv1QmC0fNv0ieIfix/wFKKNnb
EiMAAA==

-->

</rfc>

