idnits 2.17.1 draft-durand-object-exchange-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (December 19, 2017) is 2319 days in the past. Is this intentional? Checking references for intended status: Experimental ---------------------------------------------------------------------------- No issues found here. Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Independent Submission A. Durand 3 Internet-Draft ICANN 4 Intended status: Experimental R. Bellis 5 Expires: June 22, 2018 ISC 6 December 19, 2017 8 DNS Object Exchange 9 draft-durand-object-exchange-00 11 Abstract 13 Abstract 15 This document defines an RR type to implement an architecture for the 16 exchange of digitial objects using identifiers stored within the DNS. 18 Status of This Memo 20 This Internet-Draft is submitted in full conformance with the 21 provisions of BCP 78 and BCP 79. 23 Internet-Drafts are working documents of the Internet Engineering 24 Task Force (IETF). Note that other groups may also distribute 25 working documents as Internet-Drafts. The list of current Internet- 26 Drafts is at http://datatracker.ietf.org/drafts/current/. 28 Internet-Drafts are draft documents valid for a maximum of six months 29 and may be updated, replaced, or obsoleted by other documents at any 30 time. It is inappropriate to use Internet-Drafts as reference 31 material or to cite them other than as "work in progress." 33 This Internet-Draft will expire on June 22, 2018. 35 Copyright Notice 37 Copyright (c) 2017 IETF Trust and the persons identified as the 38 document authors. All rights reserved. 40 This document is subject to BCP 78 and the IETF Trust's Legal 41 Provisions Relating to IETF Documents 42 (http://trustee.ietf.org/license-info) in effect on the date of 43 publication of this document. Please review these documents 44 carefully, as they describe your rights and restrictions with respect 45 to this document. Code Components extracted from this document must 46 include Simplified BSD License text as described in Section 4.e of 47 the Trust Legal Provisions and are provided without warranty as 48 described in the Simplified BSD License. 50 Table of Contents 52 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 53 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2 54 3. The OX Resource Record . . . . . . . . . . . . . . . . . . . 2 55 3.1. Description . . . . . . . . . . . . . . . . . . . . . . . 2 56 3.1.1. Enterprise and Type fields . . . . . . . . . . . . . 3 57 3.1.2. Location field . . . . . . . . . . . . . . . . . . . 3 58 3.1.3. Media Type . . . . . . . . . . . . . . . . . . . . . 4 59 3.1.4. Data . . . . . . . . . . . . . . . . . . . . . . . . 4 60 3.2. OX RDATA Wire Format . . . . . . . . . . . . . . . . . . 4 61 3.3. OX RDATA Presentation Format . . . . . . . . . . . . . . 5 62 4. Security Considerations . . . . . . . . . . . . . . . . . . . 5 63 5. Privacy Considerations . . . . . . . . . . . . . . . . . . . 5 64 6. Operational consideration . . . . . . . . . . . . . . . . . . 5 65 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 66 7.1. OX Type Registry . . . . . . . . . . . . . . . . . . . . 6 67 7.2. OX Location Type Registry . . . . . . . . . . . . . . . . 6 68 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 7 69 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 70 9.1. Normative References . . . . . . . . . . . . . . . . . . 7 71 9.2. Informative References . . . . . . . . . . . . . . . . . 8 72 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 74 1. Introduction 76 This document defines an RR type ("OX") to implement an architecture 77 for the exchange of digital objects using identifiers stored within 78 the DNS. DNS. Each OX RR contains an object type that might be 79 opaque and private to the producer and the consumer of the data and 80 either the data (if small enough to fit in the RR) or a pointer on 81 how to retrieve the actual data. 83 2. Terminology 85 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 86 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 87 "OPTIONAL" in this document are to be interpreted as described in BCP 88 14 [RFC2119] [RFC8174] when, and only when, they appear in all 89 capitals, as shown here. 91 3. The OX Resource Record 93 3.1. Description 95 The Type value for the OX RR is TBD. The OX RR is class independent. 96 No special processing is required within DNS servers or libraries. 98 The RDATA of the resource record comprises of five fields: OX- 99 ENTERPRISE, OX-TYPE, OX-MEDIA-TYPE, OX-LOCATION and OX-DATA. 101 3.1.1. Enterprise and Type fields 103 The OX-ENTERPRISE and OX-TYPE fields are combined to indicate the 104 semantic type of the OX record being represented by the RR. That 105 semantic is private to the producer of data hosted on an 106 authoritative DNS server and the application software using a DNS 107 stub resolver to retrieve it. 109 The OX-ENTERPRISE field uses values as specified in the IANA SMI 110 Network Management Private Enterprise Codes Registry 111 [IANA-ENTERPRISE]. An exception to that is that the reserved value 112 of zero (0) is used to indicate that the the OX-ENTERPRISE is not 113 set. 115 Some commonly used values of OX-TYPE are registered in the IANA OX 116 Type Registry Section 7.1, others are privately defined. As those 117 private types might be used in cross-organization systems, use of the 118 OX-ENTERPRISE field is RECOMMENDED to disambiguate types. 120 3.1.2. Location field 122 The OX-LOCATION signals how the OX-DATA field should be interpreted 123 using the values specified in the OX Location Type Registry 124 Section 7.2. 126 The value 0 is reserved. 128 For the value 1 ("Local"), the OX-DATA contains the actual OX object. 130 For the value 2 ("URI") the OX-DATA contains a UTF-8 encoded string 131 representing the URI from which the OX object can be obtained. 133 For the value 3 ("HDL") the OX-DATA contains a UTF-8 encoded string 134 representing the handle from the Handle System [RFC3650] from which 135 the OX object can be obtained. 137 Other values might be defined in the future, for example for NFS, 138 LDAP, etc... 140 DNS software implementing the OX RR type MUST NOT drop or otherwise 141 refuse to handle the OX RRs containing an unknown or unsupported OX- 142 LOCATION and MUST treat the OX-DATA portion of the RR as an abstract 143 opaque field. 145 3.1.3. Media Type 147 The OX-MEDIA-TYPE field contains the Internet media type [RFC6838] 148 for the OX object represented by this record. 150 If a non-Local object is retrieved over a protocol that supports 151 inclusion of a media type value (e.g. an HTTP Content-Type header) 152 then the client MUST use that value (if supplied) in preference to 153 any value specified inside this resource record. In such case, the 154 OX-MEDIA-TYPE MAY be set to NULL, length 0. 156 3.1.4. Data 158 The OX-DATA field contains either the object's data, or some form of 159 reference specifying from where the data can be obtained, per the OX- 160 LOCATION field above. 162 3.2. OX RDATA Wire Format 164 +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 165 0: | | 166 | OX-ENTERPRISE | 167 | | 168 +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 169 4: | | 170 | OX-TYPE | 171 | | 172 +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 173 8: | OX-LOCATION | OX-MEDIA-TYPE / 174 +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 175 10: / / 176 / OX-MEDIA-TYPE (continued) / 177 / / 178 +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 179 / / 180 / OX-DATA / 181 / / 182 +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 184 OX-ENTERPRISE: a 32-bit unsigned integer in network order. 186 OX-TYPE: a 32-bit unsigned integer in network order. 188 OX-LOCATION: an 8-bit unsigned integer. 190 OX-MEDIA-TYPE: A (see [RFC1035]). The first octet 191 of the contains the number of characters to 192 follow. 194 OX-DATA: A variable length blob of binary data. The length of the 195 OX-DATA is not contained within the wire format of the RR and has to 196 be computed from the RDLENGTH of the entire RR once other fields have 197 been taken into account. 199 3.3. OX RDATA Presentation Format 201 The OX-ENTERPRISE field is presented as an unsigned 32-bit decimal 202 integer with range 0 - 4,294,967,295. 204 The OX-TYPE field is presented as an unsigned 32-bit decimal integer 205 with range 0 - 4,294,967,295. 207 The OX-LOCATION field is presented as an unsigned 8-bit decimal 208 integer with range 0 - 255. 210 The OX-MEDIA-TYPE field is presented as a single . 212 The OX-DATA is presented as Base64 encoded data [RFC4648] unless the 213 OX-DATA is empty in which case it is presented as a single dash 214 character ("-", ASCII 45). White space is permitted within Base64 215 data. 217 4. Security Considerations 219 The use of DNSSEC is encouraged to protect the integrity of the data 220 contained in the OX RR type. 222 5. Privacy Considerations 224 Personally identifiable information (PII) data appearing in the OX- 225 DATA field SHOULD be encrypted. 227 6. Operational consideration 229 Some OX records might contain large data that is only of interest to 230 a single party, as such, caching those records does not provide much 231 benefits and could be considered a denial of service attack on the 232 caching resolver infrastructure. It is thus RECOMMENDED that the TTL 233 associated with large OX RRs be set as small as possible to avoid 234 caching. 236 7. IANA Considerations 237 7.1. OX Type Registry 239 IANA are requested to create the OX Type Registry with initial 240 contents as follows: 242 +--------------+-------------------------------+---------------+ 243 | Value | Name | Specification | 244 +--------------+-------------------------------+---------------+ 245 | 0 | Reserved - cannot be assigned | RFC-TBD1 | 246 | | | | 247 | 1 | contact email | RFC-TBD1 | 248 | | | | 249 | 2 | contact website | RFC-TBD1 | 250 | | | | 251 | 3 | contact telephone | RFC-TBD1 | 252 | | | | 253 | 4 - 99 | Unassigned | | 254 | | | | 255 | 100 | public key | RFC-TBD1 | 256 | | | | 257 | 101 - 99,999 | Unassigned | | 258 | | | | 259 | 100000 - | Reserved for Private Use | RFC-TBD1 | 260 +--------------+-------------------------------+---------------+ 262 Assignments in the 1-99,999 range in this registry require Expert 263 Review. 265 7.2. OX Location Type Registry 267 IANA are requested to create the OX Location Type Registry with 268 initial contents as follows: 270 +-----------+-------------------------------+---------------+ 271 | Value | Location | Specification | 272 +-----------+-------------------------------+---------------+ 273 | 0 | Reserved - cannot be assigned | RFC-TBD1 | 274 | | | | 275 | 1 | Local | RFC-TBD1 | 276 | | | | 277 | 2 | URI | RFC-TBD1 | 278 | | | | 279 | 3 | HDL | RFC-TBD1 | 280 | | | | 281 | 4 - 199 | Unassigned | | 282 | | | | 283 | 200 - 254 | Reserved for Private Use | RFC-TBD1 | 284 | | | | 285 | 255 | Reserved - cannot be assigned | RFC-TBD1 | 286 +-----------+-------------------------------+---------------+ 288 Assignments in the 4-199 range in this registry require Expert 289 Review. 291 8. Acknowledgments 293 9. References 295 9.1. Normative References 297 [IANA-ENTERPRISE] 298 IANA, "SMI Network Management Private Enterprise Codes 299 Registry", n.d., . 302 [RFC1035] Mockapetris, P., "Domain names - implementation and 303 specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, 304 November 1987, . 306 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 307 Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ 308 RFC2119, March 1997, . 311 [RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data 312 Encodings", RFC 4648, DOI 10.17487/RFC4648, October 2006, 313 . 315 [RFC6838] Freed, N., Klensin, J., and T. Hansen, "Media Type 316 Specifications and Registration Procedures", BCP 13, RFC 317 6838, DOI 10.17487/RFC6838, January 2013, 318 . 320 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 321 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 322 May 2017, . 324 9.2. Informative References 326 [RFC3650] Sun, S., Lannom, L., and B. Boesch, "Handle System 327 Overview", RFC 3650, DOI 10.17487/RFC3650, November 2003, 328 . 330 Authors' Addresses 332 Alain Durand 333 Internet Corporation for Assigned Names and Numbers 334 801 17th St NW Suite 400 335 Washington DC 20006 336 USA 338 Email: Alain.Durand@icann.org 340 Ray Bellis 341 Internet Systems Consortium, Inc. 342 950 Charter Street 343 Redwood City CA 94063 344 USA 346 Phone: +1 650 423 1200 347 Email: ray@isc.org