draft-ietf-regext-rfc7484bis-03.txt   draft-ietf-regext-rfc7484bis-04.txt 
Network Working Group M. Blanchet Network Working Group M. Blanchet
Internet-Draft Viagenie Internet-Draft Viagenie
Obsoletes: 7484 (if approved) March 29, 2021 Obsoletes: 7484 (if approved) 2 September 2021
Intended status: Standards Track Intended status: Standards Track
Expires: September 30, 2021 Expires: 6 March 2022
Finding the Authoritative Registration Data (RDAP) Service Finding the Authoritative Registration Data (RDAP) Service
draft-ietf-regext-rfc7484bis-03 draft-ietf-regext-rfc7484bis-04
Abstract Abstract
This document specifies a method to find which Registration Data This document specifies a method to find which Registration Data
Access Protocol (RDAP) server is authoritative to answer queries for Access Protocol (RDAP) server is authoritative to answer queries for
a requested scope, such as domain names, IP addresses, or Autonomous a requested scope, such as domain names, IP addresses, or Autonomous
System numbers. This document obsoletes RFC7484. System numbers. This document obsoletes RFC7484.
Status of This Memo Status of This Memo
skipping to change at page 1, line 34 skipping to change at page 1, line 34
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 30, 2021. This Internet-Draft will expire on 6 March 2022.
Copyright Notice Copyright Notice
Copyright (c) 2021 IETF Trust and the persons identified as the Copyright (c) 2021 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents (https://trustee.ietf.org/
(https://trustee.ietf.org/license-info) in effect on the date of license-info) in effect on the date of publication of this document.
publication of this document. Please review these documents Please review these documents carefully, as they describe your rights
carefully, as they describe your rights and restrictions with respect and restrictions with respect to this document. Code Components
to this document. Code Components extracted from this document must extracted from this document must include Simplified BSD License text
include Simplified BSD License text as described in Section 4.e of as described in Section 4.e of the Trust Legal Provisions and are
the Trust Legal Provisions and are provided without warranty as provided without warranty as described in the Simplified BSD License.
described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions Used in This Document . . . . . . . . . . . . . . 3 2. Conventions Used in This Document . . . . . . . . . . . . . . 3
3. Structure of the RDAP Bootstrap Service Registries . . . . . 3 3. Structure of the RDAP Bootstrap Service Registries . . . . . 3
4. Bootstrap Service Registry for Domain Name Space . . . . . . 5 4. Bootstrap Service Registry for Domain Name Space . . . . . . 5
5. Bootstrap Service Registries for Internet Numbers . . . . . . 6 5. Bootstrap Service Registries for Internet Numbers . . . . . . 6
5.1. Bootstrap Service Registry for IPv4 Address Space . . . . 6 5.1. Bootstrap Service Registry for IPv4 Address Space . . . . 6
5.2. Bootstrap Service Registry for IPv6 Address Space . . . . 7 5.2. Bootstrap Service Registry for IPv6 Address Space . . . . 7
5.3. Bootstrap Service Registry for AS Number Space . . . . . 8 5.3. Bootstrap Service Registry for AS Number Space . . . . . 9
6. Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 6. Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
7. Non-existent Entries or RDAP URL Values . . . . . . . . . . . 10 7. Non-existent Entries or RDAP URL Values . . . . . . . . . . . 10
8. Deployment and Implementation Considerations . . . . . . . . 10 8. Deployment and Implementation Considerations . . . . . . . . 10
9. Limitations . . . . . . . . . . . . . . . . . . . . . . . . . 10 9. Limitations . . . . . . . . . . . . . . . . . . . . . . . . . 11
10. Formal Definition . . . . . . . . . . . . . . . . . . . . . . 11 10. Formal Definition . . . . . . . . . . . . . . . . . . . . . . 11
10.1. Imported JSON Terms . . . . . . . . . . . . . . . . . . 11 10.1. Imported JSON Terms . . . . . . . . . . . . . . . . . . 11
10.2. Registry Syntax . . . . . . . . . . . . . . . . . . . . 11 10.2. Registry Syntax . . . . . . . . . . . . . . . . . . . . 12
11. Security Considerations . . . . . . . . . . . . . . . . . . . 12 11. Security Considerations . . . . . . . . . . . . . . . . . . . 12
12. Implementation Status . . . . . . . . . . . . . . . . . . . . 12 12. Implementation Status . . . . . . . . . . . . . . . . . . . . 13
12.1. RDAP Browser Mobile Application . . . . . . . . . . . . 13 12.1. RDAP Browser Mobile Application . . . . . . . . . . . . 13
12.2. ICANN Lookup Web Application . . . . . . . . . . . . . . 13 12.2. ICANN Lookup Web Application . . . . . . . . . . . . . . 14
12.3. ARIN Implementation . . . . . . . . . . . . . . . . . . 13 12.3. ARIN Implementation . . . . . . . . . . . . . . . . . . 14
13. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 13. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14
13.1. Bootstrap Service Registry for IPv4 Address Space . . . 15 13.1. Bootstrap Service Registry for IPv4 Address Space . . . 16
13.2. Bootstrap Service Registry for IPv6 Address Space . . . 15 13.2. Bootstrap Service Registry for IPv6 Address Space . . . 16
13.3. Bootstrap Service Registry for AS Number Space . . . . . 16 13.3. Bootstrap Service Registry for AS Number Space . . . . . 16
13.4. Bootstrap Service Registry for Domain Name Space . . . . 16 13.4. Bootstrap Service Registry for Domain Name Space . . . . 16
14. References . . . . . . . . . . . . . . . . . . . . . . . . . 16 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 17
14.1. Normative References . . . . . . . . . . . . . . . . . . 16 14.1. Normative References . . . . . . . . . . . . . . . . . . 17
14.2. Informative References . . . . . . . . . . . . . . . . . 17 14.2. Informative References . . . . . . . . . . . . . . . . . 17
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 19 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 19
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 19 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 19
1. Introduction 1. Introduction
Querying and retrieving registration data from registries are defined Querying and retrieving registration data from registries are defined
in Registration Data Access Protocol (RDAP) [RFC7480] [RFC7481] in Registration Data Access Protocol (RDAP) [RFC7480] [RFC7481]
[RFC7482] [RFC7483]. These documents do not specify where to send [RFC9082] [RFC9083]. These documents do not specify where to send
the queries. This document specifies a method to find which server the queries. This document specifies a method to find which server
is authoritative to answer queries for the requested scope. is authoritative to answer queries for the requested scope.
Top-Level Domains (TLDs), Autonomous System (AS) numbers, and network Top-Level Domains (TLDs), Autonomous System (AS) numbers, and network
blocks are delegated by IANA to Internet registries such as TLD blocks are delegated by IANA to Internet registries such as TLD
registries and Regional Internet Registries (RIRs) that then issue registries and Regional Internet Registries (RIRs) that then issue
further delegations and maintain information about them. Thus, the further delegations and maintain information about them. Thus, the
bootstrap information needed by RDAP clients is best generated from bootstrap information needed by RDAP clients is best generated from
data and processes already maintained by IANA; the relevant data and processes already maintained by IANA; the relevant
registries already exist at [ipv4reg], [ipv6reg], [asreg], and registries already exist at [ipv4reg], [ipv6reg], [asreg], and
skipping to change at page 3, line 18 skipping to change at page 3, line 25
format specified in this document, herein named RDAP Bootstrap format specified in this document, herein named RDAP Bootstrap
Service Registries. These new registries are based on the existing Service Registries. These new registries are based on the existing
entries of the above mentioned registries. An RDAP client fetches entries of the above mentioned registries. An RDAP client fetches
the RDAP Bootstrap Service Registries, extracts the data, and then the RDAP Bootstrap Service Registries, extracts the data, and then
performs a match with the query data to find the authoritative performs a match with the query data to find the authoritative
registration data server and appropriate query base URL. registration data server and appropriate query base URL.
2. Conventions Used in This Document 2. Conventions Used in This Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
document are to be interpreted as described in [RFC2119] when "OPTIONAL" in this document are to be interpreted as described in BCP
specified in their uppercase forms. 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
3. Structure of the RDAP Bootstrap Service Registries 3. Structure of the RDAP Bootstrap Service Registries
The RDAP Bootstrap Service Registries, as specified in Section 13 The RDAP Bootstrap Service Registries, as specified in Section 13
below, have been made available as JSON [RFC8259] objects, which can below, have been made available as JSON [RFC8259] objects, which can
be retrieved via HTTP from locations specified by IANA. The JSON be retrieved via HTTP from locations specified by IANA. The JSON
object for each registry contains a series of members containing object for each registry contains a series of members containing
metadata about the registry such as a version identifier, a timestamp metadata about the registry such as a version identifier, a timestamp
of the publication date of the registry, and a description. of the publication date of the registry, and a description.
Additionally, a "services" member contains the registry items Additionally, a "services" member contains the registry items
skipping to change at page 4, line 44 skipping to change at page 4, line 44
The optional "description" string can contain a comment regarding the The optional "description" string can contain a comment regarding the
content of the bootstrap object. content of the bootstrap object.
Per [RFC7258], in each array of base RDAP URLs, the secure versions Per [RFC7258], in each array of base RDAP URLs, the secure versions
of the transport protocol SHOULD be preferred and tried first. For of the transport protocol SHOULD be preferred and tried first. For
example, if the base RDAP URLs array contains both HTTPS and HTTP example, if the base RDAP URLs array contains both HTTPS and HTTP
URLs, the bootstrap client SHOULD try the HTTPS version first. URLs, the bootstrap client SHOULD try the HTTPS version first.
Base RDAP URLs MUST have a trailing "/" character because they are Base RDAP URLs MUST have a trailing "/" character because they are
concatenated to the various segments defined in [RFC7482]. concatenated to the various segments defined in [RFC9082].
JSON names MUST follow the format recommendations of [RFC7480]. Any JSON names MUST follow the format recommendations of [RFC7480]. Any
unrecognized JSON object properties or values MUST be ignored by unrecognized JSON object properties or values MUST be ignored by
implementations. implementations.
Internationalized Domain Name labels used as entries or base RDAP Internationalized Domain Name labels used as entries or base RDAP
URLs in the registries defined in this document MUST be only URLs in the registries defined in this document MUST be only
represented using their A-label form as defined in [RFC5890]. represented using their A-label form as defined in [RFC5890].
All Domain Name labels used as entries or base RDAP URLs in the All Domain Name labels used as entries or base RDAP URLs in the
skipping to change at page 5, line 49 skipping to change at page 5, line 49
] ]
} }
The domain name's authoritative registration data service is found by The domain name's authoritative registration data service is found by
doing the label-wise longest match of the target domain name with the doing the label-wise longest match of the target domain name with the
domain values in the Entry Arrays in the IANA Bootstrap Service domain values in the Entry Arrays in the IANA Bootstrap Service
Registry for Domain Name Space. The match is done per label, from Registry for Domain Name Space. The match is done per label, from
right to left. If the longest match results in multiple entries, right to left. If the longest match results in multiple entries,
then those entries are considered equivalent. The values contained then those entries are considered equivalent. The values contained
in the Service URL Array of the matching second-level array are the in the Service URL Array of the matching second-level array are the
valid base RDAP URLs as described in [RFC7482]. valid base RDAP URLs as described in [RFC9082].
For example, a domain RDAP query for a.b.example.com matches the com For example, a domain RDAP query for a.b.example.com matches the com
entry in one of the arrays of the registry. The base RDAP URL for entry in one of the arrays of the registry. The base RDAP URL for
this query is then taken from the second element of the array, which this query is then taken from the second element of the array, which
is an array of base RDAP URLs valid for this entry. The client is an array of base RDAP URLs valid for this entry. The client
chooses one of the base URLs from this array; in this example, it chooses one of the base URLs from this array; in this example, it
chooses the only one available, "https://registry.example.com/ chooses the only one available, "https://registry.example.com/
myrdap/". The segment specified in [RFC7482] is then appended to the myrdap/". The segment specified in [RFC9082] is then appended to the
base URL to complete the query. The complete query is then base URL to complete the query. The complete query is then
"https://registry.example.com/myrdap/domain/a.b.example.com". "https://registry.example.com/myrdap/domain/a.b.example.com".
If a domain RDAP query for a.b.example.com matches both com and If a domain RDAP query for a.b.example.com matches both com and
example.com entries in the registry, then the longest match applies example.com entries in the registry, then the longest match applies
and the example.com entry is used by the client. and the example.com entry is used by the client.
If the registry contains entries such as com and goodexample.com, If the registry contains entries such as com and goodexample.com,
then a domain RDAP query for example.com only matches the com entry then a domain RDAP query for example.com only matches the com entry
because matching is done on a per-label basis. because matching is done on a per-label basis.
skipping to change at page 6, line 34 skipping to change at page 6, line 37
This section discusses IPv4 and IPv6 address space and Autonomous This section discusses IPv4 and IPv6 address space and Autonomous
System numbers. System numbers.
For IP address space, the authoritative registration data service is For IP address space, the authoritative registration data service is
found by doing a longest match of the target address with the values found by doing a longest match of the target address with the values
of the arrays in the corresponding RDAP Bootstrap Service Registry of the arrays in the corresponding RDAP Bootstrap Service Registry
for Address Space. The longest match is done the same way as for for Address Space. The longest match is done the same way as for
routing: the addresses are converted in binary form and then the routing: the addresses are converted in binary form and then the
binary strings are compared to find the longest match up to the binary strings are compared to find the longest match up to the
specified prefix length. The values contained in the second element specified prefix length. The values contained in the second element
of the array are the base RDAP URLs as described in [RFC7482]. The of the array are the base RDAP URLs as described in [RFC9082]. The
longest match method enables covering prefixes of a larger address longest match method enables covering prefixes of a larger address
space pointing to one base RDAP URL while more specific prefixes space pointing to one base RDAP URL while more specific prefixes
within the covering prefix are being served by another base RDAP URL. within the covering prefix are being served by another base RDAP URL.
5.1. Bootstrap Service Registry for IPv4 Address Space 5.1. Bootstrap Service Registry for IPv4 Address Space
The JSON output of this registry contains IPv4 prefix entries, The JSON output of this registry contains IPv4 prefix entries,
specified in Classless Inter-domain Routing (CIDR) format [RFC4632] specified in Classless Inter-domain Routing (CIDR) format [RFC4632]
and grouped by RDAP URLs, as shown in this example. and grouped by RDAP URLs, as shown in this example.
skipping to change at page 7, line 39 skipping to change at page 7, line 39
] ]
} }
For example, a query for "192.0.2.1/25" matches the "192.0.0.0/8" For example, a query for "192.0.2.1/25" matches the "192.0.0.0/8"
entry and the "192.0.2.0/24" entry in the example registry above. entry and the "192.0.2.0/24" entry in the example registry above.
The latter is chosen by the client given the longest match. The base The latter is chosen by the client given the longest match. The base
RDAP URL for this query is then taken from the second element of the RDAP URL for this query is then taken from the second element of the
array, which is an array of base RDAP URLs valid for this entry. The array, which is an array of base RDAP URLs valid for this entry. The
client chooses one of the base URLs from this array; in this example, client chooses one of the base URLs from this array; in this example,
it chooses the only one available, "https://example.org/". The it chooses the only one available, "https://example.org/". The
{resource} specified in [RFC7482] is then appended to the base URL to {resource} specified in [RFC9082] is then appended to the base URL to
complete the query. The complete query is then "https://example.org/ complete the query. The complete query is then "https://example.org/
ip/192.0.2.1/25". ip/192.0.2.1/25".
5.2. Bootstrap Service Registry for IPv6 Address Space 5.2. Bootstrap Service Registry for IPv6 Address Space
The JSON output of this registry contains IPv6 prefix entries, using The JSON output of this registry contains IPv6 prefix entries, using
[RFC4291] text representation of the address prefixes format, grouped [RFC4291] text representation of the address prefixes format, grouped
by base RDAP URLs, as shown in this example. by base RDAP URLs, as shown in this example.
{ {
skipping to change at page 8, line 40 skipping to change at page 8, line 40
} }
For example, a query for "2001:db8:1000::/48" matches the For example, a query for "2001:db8:1000::/48" matches the
"2001:db8::/34" entry and the "2001:db8:1000::/36" entry in the "2001:db8::/34" entry and the "2001:db8:1000::/36" entry in the
example registry above. The latter is chosen by the client given the example registry above. The latter is chosen by the client given the
longest match. The base RDAP URL for this query is then taken from longest match. The base RDAP URL for this query is then taken from
the second element of the array, which is an array of base RDAP URLs the second element of the array, which is an array of base RDAP URLs
valid for this entry. The client chooses one of the base URLs from valid for this entry. The client chooses one of the base URLs from
this array; in this example, it chooses "https://example.net/ this array; in this example, it chooses "https://example.net/
rdaprir2/" because it's the secure version of the protocol. The rdaprir2/" because it's the secure version of the protocol. The
segment specified in [RFC7482] is then appended to the base URL to segment specified in [RFC9082] is then appended to the base URL to
complete the query. The complete query is, therefore, complete the query. The complete query is, therefore,
"https://example.net/rdaprir2/ip/2001:0db8:1000::/48". If the target "https://example.net/rdaprir2/ip/2001:0db8:1000::/48". If the target
RDAP server does not answer, the client can then use another URL RDAP server does not answer, the client can then use another URL
prefix from the array. prefix from the array.
5.3. Bootstrap Service Registry for AS Number Space 5.3. Bootstrap Service Registry for AS Number Space
The JSON output of this registry contains Autonomous Systems number The JSON output of this registry contains Autonomous Systems number
ranges entries, grouped by base RDAP URLs, as shown in this example. ranges entries, grouped by base RDAP URLs, as shown in this example.
The Entry Array is an array containing the list of AS number ranges The Entry Array is an array containing the list of AS number ranges
skipping to change at page 9, line 35 skipping to change at page 10, line 4
], ],
[ [
["64512-65534"], ["64512-65534"],
[ [
"http://example.net/rdaprir2/", "http://example.net/rdaprir2/",
"https://example.net/rdaprir2/" "https://example.net/rdaprir2/"
] ]
] ]
] ]
} }
For example, a query for AS 65411 matches the 64512-65534 entry in For example, a query for AS 65411 matches the 64512-65534 entry in
the example registry above. The base RDAP URL for this query is then the example registry above. The base RDAP URL for this query is then
taken from the second element of the array, which is an array of base taken from the second element of the array, which is an array of base
RDAP URLs valid for this entry. The client chooses one of the base RDAP URLs valid for this entry. The client chooses one of the base
URLs from this array; in this example, it chooses URLs from this array; in this example, it chooses
"https://example.net/rdaprir2/". The segment specified in [RFC7482] "https://example.net/rdaprir2/". The segment specified in [RFC9082]
is then appended to the base URL to complete the query. The complete is then appended to the base URL to complete the query. The complete
query is, therefore, "https://example.net/rdaprir2/autnum/65411". If query is, therefore, "https://example.net/rdaprir2/autnum/65411". If
the server does not answer, the client can then use another URL the server does not answer, the client can then use another URL
prefix from the array. prefix from the array.
6. Entity 6. Entity
Entities (such as contacts, registrants, or registrars) can be Entities (such as contacts, registrants, or registrars) can be
queried by handle as described in [RFC7482]. Since there is no queried by handle as described in [RFC9082]. Since there is no
global namespace for entities, this document does not describe how to global namespace for entities, this document does not describe how to
find the authoritative RDAP server for entities. However, it is find the authoritative RDAP server for entities. However, it is
possible that, if the entity identifier was received from a previous possible that, if the entity identifier was received from a previous
query, the same RDAP server could be queried for that entity, or the query, the same RDAP server could be queried for that entity, or the
entity identifier itself is a fully referenced URL that can be entity identifier itself is a fully referenced URL that can be
queried. The mechanism described in [RFC8521] MAY also be used. queried. The mechanism described in [RFC8521] MAY also be used.
7. Non-existent Entries or RDAP URL Values 7. Non-existent Entries or RDAP URL Values
The registries may not contain the requested value. In these cases, The registries may not contain the requested value. In these cases,
skipping to change at page 10, line 45 skipping to change at page 11, line 21
allocated, the existence of the entry in the corresponding bootstrap allocated, the existence of the entry in the corresponding bootstrap
registry is not guaranteed. registry is not guaranteed.
9. Limitations 9. Limitations
This method does not provide a direct way to find authoritative RDAP This method does not provide a direct way to find authoritative RDAP
servers for any other objects than the ones described in this servers for any other objects than the ones described in this
document. In particular, the following objects are not bootstrapped document. In particular, the following objects are not bootstrapped
with the method described in this document: with the method described in this document:
o entities * entities
o queries using search patterns that do not contain a terminating * queries using search patterns that do not contain a terminating
string that matches some entries in the registries string that matches some entries in the registries
o nameservers * nameservers
o help
* help
10. Formal Definition 10. Formal Definition
This section is the formal definition of the registries. The This section is the formal definition of the registries. The
structure of JSON objects and arrays using a set of primitive structure of JSON objects and arrays using a set of primitive
elements is defined in [RFC8259]. Those elements are used to elements is defined in [RFC8259]. Those elements are used to
describe the JSON structure of the registries. describe the JSON structure of the registries.
10.1. Imported JSON Terms 10.1. Imported JSON Terms
o OBJECT: a JSON object, defined in Section 4 of [RFC8259] * OBJECT: a JSON object, defined in Section 4 of [RFC8259]
o MEMBER: a member of a JSON object, defined in Section 4 of * MEMBER: a member of a JSON object, defined in Section 4 of
[RFC8259] [RFC8259]
o MEMBER-NAME: the name of a MEMBER, defined as a "string" in * MEMBER-NAME: the name of a MEMBER, defined as a "string" in
Section 4 of [RFC8259] Section 4 of [RFC8259]
o MEMBER-VALUE: the value of a MEMBER, defined as a "value" in * MEMBER-VALUE: the value of a MEMBER, defined as a "value" in
Section 4 of [RFC8259] Section 4 of [RFC8259]
o ARRAY: an array, defined in Section 5 of [RFC8259] * ARRAY: an array, defined in Section 5 of [RFC8259]
* ARRAY-VALUE: an element of an ARRAY, defined in Section 5 of
o ARRAY-VALUE: an element of an ARRAY, defined in Section 5 of
[RFC8259] [RFC8259]
o STRING: a "string", as defined in Section 7 of [RFC8259] * STRING: a "string", as defined in Section 7 of [RFC8259]
10.2. Registry Syntax 10.2. Registry Syntax
Using the above terms for the JSON structures, the syntax of a Using the above terms for the JSON structures, the syntax of a
registry is defined as follows: registry is defined as follows:
o rdap-bootstrap-registry: an OBJECT containing a MEMBER version and * rdap-bootstrap-registry: an OBJECT containing a MEMBER version and
a MEMBER publication, an optional MEMBER description, and a MEMBER a MEMBER publication, an optional MEMBER description, and a MEMBER
services-list services-list
o version: a MEMBER with MEMBER-NAME "version" and MEMBER-VALUE a * version: a MEMBER with MEMBER-NAME "version" and MEMBER-VALUE a
STRING STRING
o publication: a MEMBER with MEMBER-NAME "publication" and MEMBER- * publication: a MEMBER with MEMBER-NAME "publication" and MEMBER-
VALUE a STRING VALUE a STRING
o description: a MEMBER with MEMBER-NAME "description" and MEMBER- * description: a MEMBER with MEMBER-NAME "description" and MEMBER-
VALUE a STRING VALUE a STRING
o services-list: a MEMBER with MEMBER-NAME "services" and MEMBER- * services-list: a MEMBER with MEMBER-NAME "services" and MEMBER-
VALUE a services-array VALUE a services-array
o services-array: an ARRAY, where each ARRAY-VALUE is a service * services-array: an ARRAY, where each ARRAY-VALUE is a service
o service: an ARRAY of 2 elements, where the first ARRAY-VALUE is a * service: an ARRAY of 2 elements, where the first ARRAY-VALUE is a
an entry-list and the second ARRAY-VALUE is a service-uri-list an entry-list and the second ARRAY-VALUE is a service-uri-list
o entry-list: an ARRAY, where each ARRAY-VALUE is an entry * entry-list: an ARRAY, where each ARRAY-VALUE is an entry
o entry: a STRING * entry: a STRING
o service-uri-list: an ARRAY, where each ARRAY-VALUE is a service- * service-uri-list: an ARRAY, where each ARRAY-VALUE is a service-
uri uri
o service-uri: a STRING * service-uri: a STRING
11. Security Considerations 11. Security Considerations
By providing a bootstrap method to find RDAP servers, this document By providing a bootstrap method to find RDAP servers, this document
helps to ensure that the end users will get the RDAP data from an helps to ensure that the end users will get the RDAP data from an
authoritative source, instead of from rogue sources. The method has authoritative source, instead of from rogue sources. The method has
the same security properties as the RDAP protocols themselves. The the same security properties as the RDAP protocols themselves. The
transport used to access the registries can be more secure by using transport used to access the registries can be more secure by using
TLS [RFC8446], which IANA supports. TLS [RFC8446], which IANA supports.
skipping to change at page 15, line 37 skipping to change at page 16, line 19
NOTE TO IANA: Please update the registries to reference this new RFC NOTE TO IANA: Please update the registries to reference this new RFC
instead of RFC 7484 once this document is approved by the IESG and instead of RFC 7484 once this document is approved by the IESG and
published by the RFC Editor". RFC-Editor, please remove this published by the RFC Editor". RFC-Editor, please remove this
paragraph before publication paragraph before publication
13.1. Bootstrap Service Registry for IPv4 Address Space 13.1. Bootstrap Service Registry for IPv4 Address Space
Entries in this registry contain at least the following: Entries in this registry contain at least the following:
o a CIDR [RFC4632] specification of the network block being * a CIDR [RFC4632] specification of the network block being
registered. registered.
o one or more URLs that provide the RDAP service regarding this * one or more URLs that provide the RDAP service regarding this
registration. registration.
13.2. Bootstrap Service Registry for IPv6 Address Space 13.2. Bootstrap Service Registry for IPv6 Address Space
Entries in this registry contain at least the following: Entries in this registry contain at least the following:
o an IPv6 prefix [RFC4291] specification of the network block being * an IPv6 prefix [RFC4291] specification of the network block being
registered. registered.
o one or more URLs that provide the RDAP service regarding this * one or more URLs that provide the RDAP service regarding this
registration. registration.
13.3. Bootstrap Service Registry for AS Number Space 13.3. Bootstrap Service Registry for AS Number Space
Entries in this registry contain at least the following: Entries in this registry contain at least the following:
o a range of Autonomous System numbers being registered. * a range of Autonomous System numbers being registered.
o one or more URLs that provide the RDAP service regarding this * one or more URLs that provide the RDAP service regarding this
registration. registration.
13.4. Bootstrap Service Registry for Domain Name Space 13.4. Bootstrap Service Registry for Domain Name Space
Entries in this registry contain at least the following: Entries in this registry contain at least the following:
o a domain name attached to the root being registered. * a domain name attached to the root being registered.
o one or more URLs that provide the RDAP service regarding this * one or more URLs that provide the RDAP service regarding this
registration. registration.
14. References 14. References
14.1. Normative References 14.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
skipping to change at page 17, line 14 skipping to change at page 17, line 41
[RFC5890] Klensin, J., "Internationalized Domain Names for [RFC5890] Klensin, J., "Internationalized Domain Names for
Applications (IDNA): Definitions and Document Framework", Applications (IDNA): Definitions and Document Framework",
RFC 5890, DOI 10.17487/RFC5890, August 2010, RFC 5890, DOI 10.17487/RFC5890, August 2010,
<https://www.rfc-editor.org/info/rfc5890>. <https://www.rfc-editor.org/info/rfc5890>.
[RFC7258] Farrell, S. and H. Tschofenig, "Pervasive Monitoring Is an [RFC7258] Farrell, S. and H. Tschofenig, "Pervasive Monitoring Is an
Attack", BCP 188, RFC 7258, DOI 10.17487/RFC7258, May Attack", BCP 188, RFC 7258, DOI 10.17487/RFC7258, May
2014, <https://www.rfc-editor.org/info/rfc7258>. 2014, <https://www.rfc-editor.org/info/rfc7258>.
[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>.
[RFC8259] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data [RFC8259] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data
Interchange Format", STD 90, RFC 8259, Interchange Format", STD 90, RFC 8259,
DOI 10.17487/RFC8259, December 2017, DOI 10.17487/RFC8259, December 2017,
<https://www.rfc-editor.org/info/rfc8259>. <https://www.rfc-editor.org/info/rfc8259>.
14.2. Informative References 14.2. Informative References
[asreg] IANA, "Autonomous System (AS) Numbers", [asreg] IANA, "Autonomous System (AS) Numbers",
<https://www.iana.org/assignments/as-numbers>. <https://www.iana.org/assignments/as-numbers>.
skipping to change at page 18, line 10 skipping to change at page 18, line 43
[RFC7480] Newton, A., Ellacott, B., and N. Kong, "HTTP Usage in the [RFC7480] Newton, A., Ellacott, B., and N. Kong, "HTTP Usage in the
Registration Data Access Protocol (RDAP)", STD 95, Registration Data Access Protocol (RDAP)", STD 95,
RFC 7480, DOI 10.17487/RFC7480, March 2015, RFC 7480, DOI 10.17487/RFC7480, March 2015,
<https://www.rfc-editor.org/info/rfc7480>. <https://www.rfc-editor.org/info/rfc7480>.
[RFC7481] Hollenbeck, S. and N. Kong, "Security Services for the [RFC7481] Hollenbeck, S. and N. Kong, "Security Services for the
Registration Data Access Protocol (RDAP)", STD 95, Registration Data Access Protocol (RDAP)", STD 95,
RFC 7481, DOI 10.17487/RFC7481, March 2015, RFC 7481, DOI 10.17487/RFC7481, March 2015,
<https://www.rfc-editor.org/info/rfc7481>. <https://www.rfc-editor.org/info/rfc7481>.
[RFC7482] Newton, A. and S. Hollenbeck, "Registration Data Access
Protocol (RDAP) Query Format", RFC 7482,
DOI 10.17487/RFC7482, March 2015,
<https://www.rfc-editor.org/info/rfc7482>.
[RFC7483] Newton, A. and S. Hollenbeck, "JSON Responses for the
Registration Data Access Protocol (RDAP)", RFC 7483,
DOI 10.17487/RFC7483, March 2015,
<https://www.rfc-editor.org/info/rfc7483>.
[RFC7484] Blanchet, M., "Finding the Authoritative Registration Data [RFC7484] Blanchet, M., "Finding the Authoritative Registration Data
(RDAP) Service", RFC 7484, DOI 10.17487/RFC7484, March (RDAP) Service", RFC 7484, DOI 10.17487/RFC7484, March
2015, <https://www.rfc-editor.org/info/rfc7484>. 2015, <https://www.rfc-editor.org/info/rfc7484>.
[RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running [RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running
Code: The Implementation Status Section", BCP 205, Code: The Implementation Status Section", BCP 205,
RFC 7942, DOI 10.17487/RFC7942, July 2016, RFC 7942, DOI 10.17487/RFC7942, July 2016,
<https://www.rfc-editor.org/info/rfc7942>. <https://www.rfc-editor.org/info/rfc7942>.
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
<https://www.rfc-editor.org/info/rfc8446>. <https://www.rfc-editor.org/info/rfc8446>.
[RFC8521] Hollenbeck, S. and A. Newton, "Registration Data Access [RFC8521] Hollenbeck, S. and A. Newton, "Registration Data Access
Protocol (RDAP) Object Tagging", BCP 221, RFC 8521, Protocol (RDAP) Object Tagging", BCP 221, RFC 8521,
DOI 10.17487/RFC8521, November 2018, DOI 10.17487/RFC8521, November 2018,
<https://www.rfc-editor.org/info/rfc8521>. <https://www.rfc-editor.org/info/rfc8521>.
[RFC9082] Hollenbeck, S. and A. Newton, "Registration Data Access
Protocol (RDAP) Query Format", STD 95, RFC 9082,
DOI 10.17487/RFC9082, June 2021,
<https://www.rfc-editor.org/info/rfc9082>.
[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,
<https://www.rfc-editor.org/info/rfc9083>.
Acknowledgements Acknowledgements
The WEIRDS working group had multiple discussions on this topic, The WEIRDS working group had multiple discussions on this topic,
including a session during IETF 84, where various methods such as including a session during IETF 84, where various methods such as
in-DNS and others were debated. The idea of using IANA registries in-DNS and others were debated. The idea of using IANA registries
was discovered by the author during discussions with his colleagues was discovered by the author during discussions with his colleagues
as well as by a comment from Andy Newton. All the people involved in as well as by a comment from Andy Newton. All the people involved in
these discussions are herein acknowledged. Linlin Zhou, Jean- these discussions are herein acknowledged. Linlin Zhou, Jean-
Philippe Dionne, John Levine, Kim Davies, Ernie Dainow, Scott Philippe Dionne, John Levine, Kim Davies, Ernie Dainow, Scott
Hollenbeck, Arturo Servin, Andy Newton, Murray Kucherawy, Tom Hollenbeck, Arturo Servin, Andy Newton, Murray Kucherawy, Tom
skipping to change at page 19, line 31 skipping to change at page 19, line 50
appreciated. The section on formal definition was inspired by appreciated. The section on formal definition was inspired by
Section 6.2 of [RFC7071]. This new version got comments and Section 6.2 of [RFC7071]. This new version got comments and
suggestions from: Gavin Brown, Patrick Mevzek, John Levine, Jasdip suggestions from: Gavin Brown, Patrick Mevzek, John Levine, Jasdip
Singh, George Michaelson and Scott Hollenbeck. Singh, George Michaelson and Scott Hollenbeck.
Author's Address Author's Address
Marc Blanchet Marc Blanchet
Viagenie Viagenie
246 Aberdeen 246 Aberdeen
Quebec, QC G1R 2E1 Quebec QC G1R 2E1
Canada Canada
Email: Marc.Blanchet@viagenie.ca
EMail: Marc.Blanchet@viagenie.ca
URI: https://viagenie.ca URI: https://viagenie.ca
 End of changes. 56 change blocks. 
80 lines changed or deleted 82 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/