Internet DRAFT - draft-durand-object-exchange
draft-durand-object-exchange
Independent Submission A. Durand
Internet-Draft ICANN
Intended status: Experimental R. Bellis
Expires: June 22, 2018 ISC
December 19, 2017
DNS Object Exchange
draft-durand-object-exchange-00
Abstract
Abstract
This document defines an RR type to implement an architecture for the
exchange of digitial objects using identifiers stored within the DNS.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on June 22, 2018.
Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Durand & Bellis Expires June 22, 2018 [Page 1]
Internet-Draft DNS Object Exchange December 2017
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2
3. The OX Resource Record . . . . . . . . . . . . . . . . . . . 2
3.1. Description . . . . . . . . . . . . . . . . . . . . . . . 2
3.1.1. Enterprise and Type fields . . . . . . . . . . . . . 3
3.1.2. Location field . . . . . . . . . . . . . . . . . . . 3
3.1.3. Media Type . . . . . . . . . . . . . . . . . . . . . 4
3.1.4. Data . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2. OX RDATA Wire Format . . . . . . . . . . . . . . . . . . 4
3.3. OX RDATA Presentation Format . . . . . . . . . . . . . . 5
4. Security Considerations . . . . . . . . . . . . . . . . . . . 5
5. Privacy Considerations . . . . . . . . . . . . . . . . . . . 5
6. Operational consideration . . . . . . . . . . . . . . . . . . 5
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5
7.1. OX Type Registry . . . . . . . . . . . . . . . . . . . . 6
7.2. OX Location Type Registry . . . . . . . . . . . . . . . . 6
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 7
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 7
9.1. Normative References . . . . . . . . . . . . . . . . . . 7
9.2. Informative References . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8
1. Introduction
This document defines an RR type ("OX") to implement an architecture
for the exchange of digital objects using identifiers stored within
the DNS. DNS. Each OX 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.
2. Terminology
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 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
3. The OX Resource Record
3.1. Description
The Type value for the OX RR is TBD. The OX RR is class independent.
No special processing is required within DNS servers or libraries.
Durand & Bellis Expires June 22, 2018 [Page 2]
Internet-Draft DNS Object Exchange December 2017
The RDATA of the resource record comprises of five fields: OX-
ENTERPRISE, OX-TYPE, OX-MEDIA-TYPE, OX-LOCATION and OX-DATA.
3.1.1. Enterprise and Type fields
The OX-ENTERPRISE and OX-TYPE fields are combined to indicate the
semantic type of the OX 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.
The OX-ENTERPRISE field uses values as specified in the IANA SMI
Network Management Private Enterprise Codes Registry
[IANA-ENTERPRISE]. An exception to that is that the reserved value
of zero (0) is used to indicate that the the OX-ENTERPRISE is not
set.
Some commonly used values of OX-TYPE are registered in the IANA OX
Type Registry Section 7.1, others are privately defined. As those
private types might be used in cross-organization systems, use of the
OX-ENTERPRISE field is RECOMMENDED to disambiguate types.
3.1.2. Location field
The OX-LOCATION signals how the OX-DATA field should be interpreted
using the values specified in the OX Location Type Registry
Section 7.2.
The value 0 is reserved.
For the value 1 ("Local"), the OX-DATA contains the actual OX object.
For the value 2 ("URI") the OX-DATA contains a UTF-8 encoded string
representing the URI from which the OX object can be obtained.
For the value 3 ("HDL") the OX-DATA contains a UTF-8 encoded string
representing the handle from the Handle System [RFC3650] from which
the OX object can be obtained.
Other values might be defined in the future, for example for NFS,
LDAP, etc...
DNS software implementing the OX RR type MUST NOT drop or otherwise
refuse to handle the OX RRs containing an unknown or unsupported OX-
LOCATION and MUST treat the OX-DATA portion of the RR as an abstract
opaque field.
Durand & Bellis Expires June 22, 2018 [Page 3]
Internet-Draft DNS Object Exchange December 2017
3.1.3. Media Type
The OX-MEDIA-TYPE field contains the Internet media type [RFC6838]
for the OX object represented by this record.
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
OX-MEDIA-TYPE MAY be set to NULL, length 0.
3.1.4. Data
The OX-DATA field contains either the object's data, or some form of
reference specifying from where the data can be obtained, per the OX-
LOCATION field above.
3.2. OX RDATA Wire Format
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0: | |
| OX-ENTERPRISE |
| |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
4: | |
| OX-TYPE |
| |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
8: | OX-LOCATION | OX-MEDIA-TYPE /
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
10: / /
/ OX-MEDIA-TYPE (continued) /
/ /
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
/ /
/ OX-DATA /
/ /
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
OX-ENTERPRISE: a 32-bit unsigned integer in network order.
OX-TYPE: a 32-bit unsigned integer in network order.
OX-LOCATION: an 8-bit unsigned integer.
OX-MEDIA-TYPE: A <character-string> (see [RFC1035]). The first octet
of the <character-string> contains the number of characters to
follow.
Durand & Bellis Expires June 22, 2018 [Page 4]
Internet-Draft DNS Object Exchange December 2017
OX-DATA: A variable length blob of binary data. The length of the
OX-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.
3.3. OX RDATA Presentation Format
The OX-ENTERPRISE field is presented as an unsigned 32-bit decimal
integer with range 0 - 4,294,967,295.
The OX-TYPE field is presented as an unsigned 32-bit decimal integer
with range 0 - 4,294,967,295.
The OX-LOCATION field is presented as an unsigned 8-bit decimal
integer with range 0 - 255.
The OX-MEDIA-TYPE field is presented as a single <character-string>.
The OX-DATA is presented as Base64 encoded data [RFC4648] unless the
OX-DATA is empty in which case it is presented as a single dash
character ("-", ASCII 45). White space is permitted within Base64
data.
4. Security Considerations
The use of DNSSEC is encouraged to protect the integrity of the data
contained in the OX RR type.
5. Privacy Considerations
Personally identifiable information (PII) data appearing in the OX-
DATA field SHOULD be encrypted.
6. Operational consideration
Some OX 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 OX RRs be set as small as possible to avoid
caching.
7. IANA Considerations
Durand & Bellis Expires June 22, 2018 [Page 5]
Internet-Draft DNS Object Exchange December 2017
7.1. OX Type Registry
IANA are requested to create the OX Type Registry with initial
contents as follows:
+--------------+-------------------------------+---------------+
| Value | Name | Specification |
+--------------+-------------------------------+---------------+
| 0 | Reserved - cannot be assigned | RFC-TBD1 |
| | | |
| 1 | contact email | RFC-TBD1 |
| | | |
| 2 | contact website | RFC-TBD1 |
| | | |
| 3 | contact telephone | RFC-TBD1 |
| | | |
| 4 - 99 | Unassigned | |
| | | |
| 100 | public key | RFC-TBD1 |
| | | |
| 101 - 99,999 | Unassigned | |
| | | |
| 100000 - | Reserved for Private Use | RFC-TBD1 |
+--------------+-------------------------------+---------------+
Assignments in the 1-99,999 range in this registry require Expert
Review.
7.2. OX Location Type Registry
IANA are requested to create the OX Location Type Registry with
initial contents as follows:
Durand & Bellis Expires June 22, 2018 [Page 6]
Internet-Draft DNS Object Exchange December 2017
+-----------+-------------------------------+---------------+
| Value | Location | Specification |
+-----------+-------------------------------+---------------+
| 0 | Reserved - cannot be assigned | RFC-TBD1 |
| | | |
| 1 | Local | RFC-TBD1 |
| | | |
| 2 | URI | RFC-TBD1 |
| | | |
| 3 | HDL | RFC-TBD1 |
| | | |
| 4 - 199 | Unassigned | |
| | | |
| 200 - 254 | Reserved for Private Use | RFC-TBD1 |
| | | |
| 255 | Reserved - cannot be assigned | RFC-TBD1 |
+-----------+-------------------------------+---------------+
Assignments in the 4-199 range in this registry require Expert
Review.
8. Acknowledgments
9. References
9.1. Normative References
[IANA-ENTERPRISE]
IANA, "SMI Network Management Private Enterprise Codes
Registry", n.d., <https://www.iana.org/assignments/
enterprise-numbers/enterprise-numbers>.
[RFC1035] Mockapetris, P., "Domain names - implementation and
specification", STD 13, RFC 1035, DOI 10.17487/RFC1035,
November 1987, <https://www.rfc-editor.org/info/rfc1035>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/
RFC2119, March 1997, <https://www.rfc-editor.org/info/
rfc2119>.
[RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data
Encodings", RFC 4648, DOI 10.17487/RFC4648, October 2006,
<https://www.rfc-editor.org/info/rfc4648>.
Durand & Bellis Expires June 22, 2018 [Page 7]
Internet-Draft DNS Object Exchange December 2017
[RFC6838] Freed, N., Klensin, J., and T. Hansen, "Media Type
Specifications and Registration Procedures", BCP 13, RFC
6838, DOI 10.17487/RFC6838, January 2013,
<https://www.rfc-editor.org/info/rfc6838>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
9.2. Informative References
[RFC3650] Sun, S., Lannom, L., and B. Boesch, "Handle System
Overview", RFC 3650, DOI 10.17487/RFC3650, November 2003,
<https://www.rfc-editor.org/info/rfc3650>.
Authors' Addresses
Alain Durand
Internet Corporation for Assigned Names and Numbers
801 17th St NW Suite 400
Washington DC 20006
USA
Email: Alain.Durand@icann.org
Ray Bellis
Internet Systems Consortium, Inc.
950 Charter Street
Redwood City CA 94063
USA
Phone: +1 650 423 1200
Email: ray@isc.org
Durand & Bellis Expires June 22, 2018 [Page 8]