Registration Protocols Extensions (regext) J. Singh Internet-Draft ARIN Intended status: Standards Track T. Harrison Expires: 5 September 2024 APNIC 4 March 2024 An RDAP Extension for Geofeed Data draft-ietf-regext-rdap-geofeed-02 Abstract This document defines a new RDAP extension "geofeed1" for including a geofeed file URL in an IP Network object. 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 https://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 5 September 2024. Copyright Notice Copyright (c) 2024 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 (https://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 Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Singh & Harrison Expires 5 September 2024 [Page 1] Internet-Draft rdap-geofeed March 2024 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2 2. Specification . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1. Extension . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2. Geofeed Link . . . . . . . . . . . . . . . . . . . . . . 3 2.3. Media Type for a Geofeed Link . . . . . . . . . . . . . . 4 2.4. Example . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Redaction . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4. Privacy Considerations . . . . . . . . . . . . . . . . . . . 6 5. Security Considerations . . . . . . . . . . . . . . . . . . . 6 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 6.1. RDAP Extensions Registry . . . . . . . . . . . . . . . . 7 6.2. Link Relations Registry . . . . . . . . . . . . . . . . . 7 6.3. Media Types Registry . . . . . . . . . . . . . . . . . . 7 6.4. Structured Syntax Suffixes Registry . . . . . . . . . . . 8 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 8. Change History . . . . . . . . . . . . . . . . . . . . . . . 8 8.1. Changes from 00 to 01 . . . . . . . . . . . . . . . . . . 8 8.2. Changes from 01 to 02 . . . . . . . . . . . . . . . . . . 9 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 9.1. Normative References . . . . . . . . . . . . . . . . . . 9 9.2. Informative References . . . . . . . . . . . . . . . . . 10 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 1. Introduction [RFC8805] and [I-D.ymbk-opsawg-9092-update] (obsoletes [RFC9092]) detail the IP geolocation feed (in short, geofeed) concept. This document specifies how the geofeed data can be accessed through RDAP. It defines a new RDAP extension "geofeed1" for including a geofeed file URL in an IP Network object. 1.1. Requirements Language The keywords "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. Indentation and whitespace in examples are provided only to illustrate element relationships, and are not a REQUIRED feature of this protocol. "..." in examples is used as shorthand for elements defined outside of this document. Singh & Harrison Expires 5 September 2024 [Page 2] Internet-Draft rdap-geofeed March 2024 2. Specification 2.1. Extension A new RDAP extension "geofeed1" is defined for accessing the geofeed data through RDAP. It updates the IP Network object class definition (Section 5.4 of [RFC9083]) to include a new link object for the geofeed file URL in its "links" array (Section 4.2 of [RFC9083]). An RDAP server conforming to this specification MUST include the "geofeed1" extension string in the "rdapConformance" array for the IP Network lookup and search responses, as well as in the help response. Here is an elided example for this inclusion: { "rdapConformance": [ "rdap_level_0", "geofeed1", ... ], ... } 2.2. Geofeed Link The IP Network object class (Section 5.4 of [RFC9083]) MAY include a link object for the geofeed file URL (also referred to as a Geofeed link object) in its "links" array, with the following REQUIRED JSON members: * "value" -- The "value" JSON value is the context URI (Section 4.2 of [RFC9083]). * "rel" -- The "rel" JSON value is the link relation type and set to the "geo" string. The "geo" link relation type is new and will be registered in the IANA Link Relations Registry (see Section 6.2). * "href" -- The "href" JSON value is the target URI and set to the HTTPS URL of the geofeed file for an IP network. Per the definition of a web link ([RFC8288]), a Geofeed link object may have additional JSON members. Specifically: * "type" -- The "type" JSON value is the media type for the target URI. Given that the geofeed data is mostly intended for use by automated/scripted processes, it is RECOMMENDED that server operators set a media type in Geofeed link objects. See Section 2.3 for acceptable "type" values. * "hreflang" -- The "hreflang" JSON value is an attribute for the target URI and could be used to indicate the languages the geofeed data is available in. It is OPTIONAL. Singh & Harrison Expires 5 September 2024 [Page 3] Internet-Draft rdap-geofeed March 2024 There MAY be zero or more Geofeed link objects in the "links" array of an IP Network object. In other words, the Geofeed link objects are OPTIONAL. 2.3. Media Type for a Geofeed Link [I-D.ymbk-opsawg-9092-update] requires a geofeed file to be a UTF-8 CSV file, with a series of "#" comments at the end for the optional RPKI (Resource Public Key Infrastructure) signature. At first glance, the "text/csv" media type (Section 4 of [I-D.shafranovich-rfc4180-bis]) seems like a good candidate to represent a geofeed file since it now supports the "#" comments needed for including the RPKI signature. However, although the CSV geofeed data could be directly viewed by a user, the most common use case will involve it being processed by some sort of application first, in order to facilitate subsequent address lookup operations. Therefore, using a new “application” media type with a “geofeed” subtype under the "application" top-level type (Section 4.2.5 of [RFC6838]) for the geofeed data is preferable over the existing "text/csv" media type. To that end, a new media type "application/geofeed+csv" will be registered in the IANA Media Types Registry (see Section 6.3), and a new suffix "+csv" will be registered in the IANA Structured Syntax Suffixes Registry (see Section 6.4). The "type" JSON value in a Geofeed link object SHOULD be set to the "application/geofeed+csv" media type. If alternative geofeed formats (beside CSV) are defined in the future, they could be included in future versions of this specification. 2.4. Example The following is an elided example of an IP Network object with a Geofeed link object: Singh & Harrison Expires 5 September 2024 [Page 4] Internet-Draft rdap-geofeed March 2024 { "objectClassName": "ip network", "handle": "XXXX-RIR", "startAddress": "2001:db8::", "endAddress": "2001:db8:0:ffff:ffff:ffff:ffff:ffff", "ipVersion": "v6", "name": "NET-RTR-1", "type": "DIRECT ALLOCATION", "country": "AU", "parentHandle": "YYYY-RIR", "status": [ "active" ], "links": [ { "value": "https://example.net/ip/2001:db8::/48", "rel": "self", "href": "https://example.net/ip/2001:db8::/48", "type": "application/rdap+json" }, { "value": "https://example.net/ip/2001:db8::/48", "rel": "geo", "href": "https://example.net/geofeed", "type": "application/geofeed+csv" }, ... ], ... } 3. Redaction Since the Geofeed link objects in the "links" array of an IP Network object are optional, the Redaction by Removal method [I-D.ietf-regext-rdap-redacted] MUST be used when redacting them. The following is an elided example of an IP Network object with redacted Geofeed link objects: Singh & Harrison Expires 5 September 2024 [Page 5] Internet-Draft rdap-geofeed March 2024 { "objectClassName": "ip network", "handle": "XXXX-RIR", "startAddress": "2001:db8::", "endAddress": "2001:db8:0:ffff:ffff:ffff:ffff:ffff", "ipVersion": "v6", "name": "NET-RTR-1", "type": "DIRECT ALLOCATION", "country": "AU", "parentHandle": "YYYY-RIR", "status": [ "active" ], "links": [ { "value": "https://example.net/ip/2001:db8::/48", "rel": "self", "href": "https://example.net/ip/2001:db8::/48", "type": "application/rdap+json" }, ... ], "redacted": [ { "name": { "description": "Geofeed links" }, "prePath": "$.links[?(@.rel=='geo')]", "method": "removal" } ], ... } 4. Privacy Considerations When including a geofeed file URL in an IP Network object, an RDAP server operator SHOULD follow the guidance from Section 7 of [I-D.ymbk-opsawg-9092-update] to not accidentally expose the location of an individual. 5. Security Considerations [I-D.ymbk-opsawg-9092-update] requires an HTTPS URL for a geofeed file, and optionally RPKI-signing the data within. Besides that, this document does not introduce any new security considerations past those already discussed in the RDAP protocol specifications. Singh & Harrison Expires 5 September 2024 [Page 6] Internet-Draft rdap-geofeed March 2024 6. IANA Considerations 6.1. RDAP Extensions Registry IANA is requested to register the following value in the RDAP Extensions Registry: * Extension identifier: geofeed1 * Registry operator: Any * Published specification: This document. * Contact: IETF iesg@ietf.org (mailto:iesg@ietf.org) * Intended usage: This extension describes version 1 of a method to access the IP geolocation feed data through RDAP. 6.2. Link Relations Registry IANA is requested to register the following value in the Link Relations Registry: * Relation Name: geo * Description: Indicates that the link context has a resource with geographic information at the link target. * Reference: This document. 6.3. Media Types Registry * Type name: application * Subtype name: geofeed+csv * Required parameters: N/A * Optional parameters: N/A * Encoding considerations: See Section 2 of [I-D.ymbk-opsawg-9092-update]. * Security considerations: See Section 5 of this document. * Interoperability considerations: There are no known interoperability problems regarding this media format. * Published specification: This document. * Applications that use this media type: Implementations of the Registration Data Access Protocol (RDAP) Extension for Geofeed Data. Furthermore, any application that processes the CSV geofeed data. * Additional information: This media type is a product of the IETF REGEXT Working Group. The REGEXT charter, information on the REGEXT mailing list, and other documents produced by the REGEXT Working Group can be found at https://datatracker.ietf.org/wg/ regext/ (https://datatracker.ietf.org/wg/regext/). * Person & email address to contact for further information: IETF iesg@ietf.org (mailto:iesg@ietf.org) * Intended usage: COMMON Singh & Harrison Expires 5 September 2024 [Page 7] Internet-Draft rdap-geofeed March 2024 * Restrictions on usage: None * Authors: Tom Harrison, Jasdip Singh * Change controller: IETF * Provisional Registration: No 6.4. Structured Syntax Suffixes Registry * Name: Comma-Separated Values (CSV) * +suffix: +csv * References: [RFC4180], [RFC7111] * Encoding Considerations: Same as "text/csv". * Interoperability Considerations: Same as "text/csv". * Fragment Identifier Considerations: The syntax and semantics of fragment identifiers specified for +csv SHOULD be as specified for "text/csv". The syntax and semantics for fragment identifiers for a specific "xxx/yyy+csv" SHOULD be processed as follows: For cases defined in +csv, where the fragment identifier resolves per the +csv rules, then as specified in +csv. For cases defined in +csv, where the fragment identifier does not resolve per the +csv rules, then as specified in "xxx/yyy+csv". For cases not defined in +csv, then as specified in "xxx/yyy+csv". * Security Considerations: Same as "text/csv". * Contact: IETF iesg@ietf.org (mailto:iesg@ietf.org) 7. Acknowledgements Gavin Brown suggested using a web link instead of a simple URI string to specify a geofeed file URL. 8. Change History 8.1. Changes from 00 to 01 * Now using a web link instead of a simple URI string to specify a geofeed file URL. Singh & Harrison Expires 5 September 2024 [Page 8] Internet-Draft rdap-geofeed March 2024 * Renamed the extension as "geofeed1" instead of "geofeedv1". * Introduced the new "geo" link relation type. * Introduced the new "application/geofeed+csv" media type. 8.2. Changes from 01 to 02 * Updated the "Requirements Language" section for examples. * Added an example for RDAP conformance. * Updated the rationale for using the new "application/geofeed+csv" media type. * Updated the "Applications that use this media type" section for the "application/geofeed+csv" registration. 9. References 9.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC4180] Shafranovich, Y., "Common Format and MIME Type for Comma- Separated Values (CSV) Files", RFC 4180, DOI 10.17487/RFC4180, October 2005, . [RFC6838] Freed, N., Klensin, J., and T. Hansen, "Media Type Specifications and Registration Procedures", BCP 13, RFC 6838, DOI 10.17487/RFC6838, January 2013, . [RFC7111] Hausenblas, M., Wilde, E., and J. Tennison, "URI Fragment Identifiers for the text/csv Media Type", RFC 7111, DOI 10.17487/RFC7111, January 2014, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [RFC8288] Nottingham, M., "Web Linking", RFC 8288, DOI 10.17487/RFC8288, October 2017, . Singh & Harrison Expires 5 September 2024 [Page 9] Internet-Draft rdap-geofeed March 2024 [RFC8805] Kline, E., Duleba, K., Szamonek, Z., Moser, S., and W. Kumari, "A Format for Self-Published IP Geolocation Feeds", RFC 8805, DOI 10.17487/RFC8805, August 2020, . [RFC9083] Hollenbeck, S. and A. Newton, "JSON Responses for the Registration Data Access Protocol (RDAP)", STD 95, RFC 9083, DOI 10.17487/RFC9083, June 2021, . [RFC9092] Bush, R., Candela, M., Kumari, W., and R. Housley, "Finding and Using Geofeed Data", RFC 9092, DOI 10.17487/RFC9092, July 2021, . 9.2. Informative References [I-D.ietf-regext-rdap-redacted] Gould, J., Smith, D., Kolker, J., and R. Carney, "Redacted Fields in the Registration Data Access Protocol (RDAP) Response", Work in Progress, Internet-Draft, draft-ietf- regext-rdap-redacted-16, 27 November 2023, . [I-D.shafranovich-rfc4180-bis] Shafranovich, Y., "Common Format and MIME Type for Comma- Separated Values (CSV) Files", Work in Progress, Internet- Draft, draft-shafranovich-rfc4180-bis-06, 31 January 2024, . [I-D.ymbk-opsawg-9092-update] Bush, R., Candela, M., Kumari, W. A., and R. Housley, "Finding and Using Geofeed Data", Work in Progress, Internet-Draft, draft-ymbk-opsawg-9092-update-02, 24 July 2023, . Authors' Addresses Jasdip Singh ARIN Email: jasdips@arin.net Tom Harrison APNIC Singh & Harrison Expires 5 September 2024 [Page 10] Internet-Draft rdap-geofeed March 2024 Email: tomh@apnic.net Singh & Harrison Expires 5 September 2024 [Page 11]