draft-ietf-regext-rdap-reverse-search-09.txt | draft-ietf-regext-rdap-reverse-search-10.txt | |||
---|---|---|---|---|
Registration Protocols Extensions M. Loffredo | Registration Protocols Extensions M. Loffredo | |||
Internet-Draft M. Martinelli | Internet-Draft M. Martinelli | |||
Intended status: Standards Track IIT-CNR/Registro.it | Intended status: Standards Track IIT-CNR/Registro.it | |||
Expires: 14 August 2022 10 February 2022 | Expires: 10 October 2022 8 April 2022 | |||
Registration Data Access Protocol (RDAP) Reverse search capabilities | Registration Data Access Protocol (RDAP) Reverse search capabilities | |||
draft-ietf-regext-rdap-reverse-search-09 | draft-ietf-regext-rdap-reverse-search-10 | |||
Abstract | Abstract | |||
The Registration Data Access Protocol (RDAP) does not include query | The Registration Data Access Protocol (RDAP) does not include query | |||
capabilities to find the list of domains related to a set of entities | capabilities to find the list of domains related to a set of entities | |||
matching a given search pattern. In the RDAP context, an entity can | matching a given search pattern. In the RDAP context, an entity can | |||
be associated with any defined object class. Moreover, other | be associated with any defined object class. Moreover, other | |||
relationships between object classes exist and might be used for | relationships between object classes exist and might be used for | |||
providing a reverse search capability. Therefore, a reverse search | providing a reverse search capability. Therefore, a reverse search | |||
can be applied to other use cases than the classic domain-entity | can be applied to other use cases than the classic domain-entity | |||
skipping to change at page 1, line 42 ¶ | skipping to change at page 1, line 42 ¶ | |||
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 14 August 2022. | This Internet-Draft will expire on 10 October 2022. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2022 IETF Trust and the persons identified as the | Copyright (c) 2022 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 (https://trustee.ietf.org/ | Provisions Relating to IETF Documents (https://trustee.ietf.org/ | |||
license-info) in effect on the date of publication of this document. | license-info) in effect on the date of publication of this document. | |||
Please review these documents carefully, as they describe your rights | Please review these documents carefully, as they describe your rights | |||
skipping to change at page 2, line 29 ¶ | skipping to change at page 2, line 29 ¶ | |||
2.1. Reverse Searches Based on Entity Details . . . . . . . . 4 | 2.1. Reverse Searches Based on Entity Details . . . . . . . . 4 | |||
3. RDAP Conformance . . . . . . . . . . . . . . . . . . . . . . 6 | 3. RDAP Conformance . . . . . . . . . . . . . . . . . . . . . . 6 | |||
4. Implementation Considerations . . . . . . . . . . . . . . . . 6 | 4. Implementation Considerations . . . . . . . . . . . . . . . . 6 | |||
5. Implementation Status . . . . . . . . . . . . . . . . . . . . 6 | 5. Implementation Status . . . . . . . . . . . . . . . . . . . . 6 | |||
5.1. IIT-CNR/Registro.it RDAP Server . . . . . . . . . . . . . 7 | 5.1. IIT-CNR/Registro.it RDAP Server . . . . . . . . . . . . . 7 | |||
5.2. IIT-CNR/Registro.it RDAP Client . . . . . . . . . . . . . 7 | 5.2. IIT-CNR/Registro.it RDAP Client . . . . . . . . . . . . . 7 | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | |||
7. Privacy Considerations . . . . . . . . . . . . . . . . . . . 8 | 7. Privacy Considerations . . . . . . . . . . . . . . . . . . . 8 | |||
8. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | 8. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | |||
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 | 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 | |||
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
10.1. Normative References . . . . . . . . . . . . . . . . . . 9 | 10.1. Normative References . . . . . . . . . . . . . . . . . . 9 | |||
10.2. Informative References . . . . . . . . . . . . . . . . . 10 | 10.2. Informative References . . . . . . . . . . . . . . . . . 10 | |||
Appendix A. Paradigms to Enforce Access Control on Reverse Search | Appendix A. Paradigms to Enforce Access Control on Reverse Search | |||
in RDAP . . . . . . . . . . . . . . . . . . . . . . . . . 11 | in RDAP . . . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
Appendix B. Change Log . . . . . . . . . . . . . . . . . . . . . 11 | Appendix B. Change Log . . . . . . . . . . . . . . . . . . . . . 12 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
1. Introduction | 1. Introduction | |||
Reverse Whois is a service provided by many web applications that | Reverse Whois is a service provided by many web applications that | |||
allow users to find domain names owned by an individual or a company | allow users to find domain names owned by an individual or a company | |||
starting from the owner's details, such as name and email. Even if | starting from the owner's details, such as name and email. Even if | |||
it has been considered useful for some legal purposes (e.g. | it has been considered useful for some legal purposes (e.g. | |||
uncovering trademark infringements, detecting cybercrimes), its | uncovering trademark infringements, detecting cybercrimes), its | |||
availability as a standardized Whois capability has been objected to | availability as a standardized Whois capability has been objected to | |||
skipping to change at page 5, line 15 ¶ | skipping to change at page 5, line 15 ¶ | |||
By selecting a specific searchable resource type, the resulting | By selecting a specific searchable resource type, the resulting | |||
reverse search aims at retrieving all the objects (e.g. all the | reverse search aims at retrieving all the objects (e.g. all the | |||
domains) that are related to any entity object matching the search | domains) that are related to any entity object matching the search | |||
condition. | condition. | |||
This section defines the following reverse search properties to be | This section defines the following reverse search properties to be | |||
used regardless of the searchable resource type being selected: | used regardless of the searchable resource type being selected: | |||
Reverse search property: role | Reverse search property: role | |||
RDAP property: $..entities[*].roles | RDAP property: $..entities[*].roles | |||
RFC reference: Section 10.2.4 of [RFC9083] | Reference: Section 10.2.4 of [RFC9083] | |||
Reverse search property: handle | Reverse search property: handle | |||
RDAP property: $..entities[*].handle | RDAP property: $..entities[*].handle | |||
RFC reference: Section 5.1 of [RFC9083] | Reference: Section 5.1 of [RFC9083] | |||
Reverse search property: fn | Reverse search property: fn | |||
Using jCard: | ||||
RDAP property: $..entities[*].vcardArray[1][?(@[0]=='fn')][3] | RDAP property: $..entities[*].vcardArray[1][?(@[0]=='fn')][3] | |||
RFC reference: Section 6.2.1 of [RFC6350] | Reference: Section 6.2.1 of [RFC6350] | |||
Using JSContact: | ||||
RDAP property: $..entities[*].jscard.fullName | ||||
Reference: Section 2.2.2 of [I-D.ietf-calext-jscontact] | ||||
Reverse search property: email | Reverse search property: email | |||
Using jCard: | ||||
RDAP property: $..entities[*].vcardArray[1][?(@[0]=='email')][3] | RDAP property: $..entities[*].vcardArray[1][?(@[0]=='email')][3] | |||
RFC reference: Section 6.4.2 of [RFC6350] | Reference: Section 6.4.2 of [RFC6350] | |||
Using JSContact: | ||||
RDAP property: $..entities[*].jscard.emails.[*].email | ||||
Reference: Section 2.3.1 of [I-D.ietf-calext-jscontact] | ||||
Regarding the definitions above, it must be noted that: | Regarding the above definitions, it must be noted that: | |||
* The mapping between the reverse search property and the | * the mapping between the reverse search property and the | |||
corresponding RDAP response property is done through the use of a | corresponding RDAP response property is done through the use of a | |||
JSONPath expression [I-D.ietf-jsonpath-base]. | JSONPath expression [I-D.ietf-jsonpath-base]; | |||
* The presence of a predicate on the reverse search property "role" | * the presence of a predicate on the reverse search property "role" | |||
means that the RDAP response property "roles" must contain at | means that the RDAP response property "roles" must contain at | |||
least the specified role. | least the specified role; | |||
* Some of the properties are related to jCard elements [RFC7095] | * the last two properties are related to jCard elements [RFC7095] | |||
but, being jCard the JSON format for vCard [RFC6350], the | but, being jCard the JSON format for vCard, the corresponding | |||
corresponding RFC reference is to the vCard specification | reference is to the vCard specification [RFC6350]. Such | |||
[RFC6350]. | properties are also shown according to the JSContact format | |||
[I-D.ietf-calext-jscontact] to address the case when it is used | ||||
instead of jCard as described in [I-D.ietf-regext-rdap-jscontact]. | ||||
Servers MAY implement other properties than those defined in this | Servers MAY implement other properties than those defined in this | |||
section. | section. | |||
Examples of reverse search paths based on the domain-entity | Examples of reverse search paths based on the domain-entity | |||
relationship are presented below: | relationship are presented below: | |||
/domains/reverse/entity?handle=CID-40*&role=technical | /domains/reverse/entity?handle=CID-40*&role=technical | |||
/domains/reverse/entity?fn=Bobby*&role=registrant | /domains/reverse/entity?fn=Bobby*&role=registrant | |||
skipping to change at page 10, line 26 ¶ | skipping to change at page 10, line 31 ¶ | |||
DOI 10.17487/RFC9082, June 2021, | DOI 10.17487/RFC9082, June 2021, | |||
<https://www.rfc-editor.org/info/rfc9082>. | <https://www.rfc-editor.org/info/rfc9082>. | |||
[RFC9083] Hollenbeck, S. and A. Newton, "JSON Responses for the | [RFC9083] Hollenbeck, S. and A. Newton, "JSON Responses for the | |||
Registration Data Access Protocol (RDAP)", STD 95, | Registration Data Access Protocol (RDAP)", STD 95, | |||
RFC 9083, DOI 10.17487/RFC9083, June 2021, | RFC 9083, DOI 10.17487/RFC9083, June 2021, | |||
<https://www.rfc-editor.org/info/rfc9083>. | <https://www.rfc-editor.org/info/rfc9083>. | |||
10.2. Informative References | 10.2. Informative References | |||
[I-D.ietf-calext-jscontact] | ||||
Stepanek, R. and M. Loffredo, "JSContact: A JSON | ||||
representation of contact data", Work in Progress, | ||||
Internet-Draft, draft-ietf-calext-jscontact-00, 17 January | ||||
2020, <https://www.ietf.org/archive/id/draft-ietf-calext- | ||||
jscontact-00.txt>. | ||||
[I-D.ietf-jsonpath-base] | [I-D.ietf-jsonpath-base] | |||
Gössner, S., Normington, G., and C. Bormann, "JSONPath: | Gössner, S., Normington, G., and C. Bormann, "JSONPath: | |||
Query expressions for JSON", Work in Progress, Internet- | Query expressions for JSON", Work in Progress, Internet- | |||
Draft, draft-ietf-jsonpath-base-03, 16 January 2022, | Draft, draft-ietf-jsonpath-base-03, 16 January 2022, | |||
<https://www.ietf.org/archive/id/draft-ietf-jsonpath-base- | <https://www.ietf.org/archive/id/draft-ietf-jsonpath-base- | |||
03.txt>. | 03.txt>. | |||
[I-D.ietf-regext-rdap-jscontact] | ||||
Loffredo, M. and G. Brown, "Using JSContact in | ||||
Registration Data Access Protocol (RDAP) JSON Responses", | ||||
Work in Progress, Internet-Draft, draft-ietf-regext-rdap- | ||||
jscontact-09, 7 March 2022, | ||||
<https://www.ietf.org/archive/id/draft-ietf-regext-rdap- | ||||
jscontact-09.txt>. | ||||
[I-D.ietf-regext-rdap-openid] | [I-D.ietf-regext-rdap-openid] | |||
Hollenbeck, S., "Federated Authentication for the | Hollenbeck, S., "Federated Authentication for the | |||
Registration Data Access Protocol (RDAP) using OpenID | Registration Data Access Protocol (RDAP) using OpenID | |||
Connect", Work in Progress, Internet-Draft, draft-ietf- | Connect", Work in Progress, Internet-Draft, draft-ietf- | |||
regext-rdap-openid-08, 8 November 2021, | regext-rdap-openid-08, 8 November 2021, | |||
<https://www.ietf.org/archive/id/draft-ietf-regext-rdap- | <https://www.ietf.org/archive/id/draft-ietf-regext-rdap- | |||
openid-08.txt>. | openid-08.txt>. | |||
[ICANN-RA] Internet Corporation For Assigned Names and Numbers, | [ICANN-RA] Internet Corporation For Assigned Names and Numbers, | |||
"Registry Agreement", July 2017, | "Registry Agreement", July 2017, | |||
skipping to change at page 12, line 22 ¶ | skipping to change at page 12, line 46 ¶ | |||
RFC8174. Other minor edits. | RFC8174. Other minor edits. | |||
06: Updated "Privacy Considerations", "Security Considerations" and | 06: Updated "Privacy Considerations", "Security Considerations" and | |||
"Acknowledgements" sections. Added some normative and informative | "Acknowledgements" sections. Added some normative and informative | |||
references. Added Appendix A. | references. Added Appendix A. | |||
07: Updated normative references. | 07: Updated normative references. | |||
08: Changed "Implementation Status" section. Updated informative | 08: Changed "Implementation Status" section. Updated informative | |||
references. | references. | |||
09: Extended the query model to represent a reverse search based on | 09: Extended the query model to represent a reverse search based on | |||
any relationship between the RDAP object classes. Changed the | any relationship between the RDAP object classes. Changed the | |||
path segment "role" into a query parameter. | path segment "role" into a query parameter. | |||
10: Updated "Reverse Searches Based on Entity Details" section to | ||||
consider the use of JSContact format instead of jCard. Added | ||||
references to JSContact documents. | ||||
Authors' Addresses | Authors' Addresses | |||
Mario Loffredo | Mario Loffredo | |||
IIT-CNR/Registro.it | IIT-CNR/Registro.it | |||
Via Moruzzi,1 | Via Moruzzi,1 | |||
56124 Pisa | 56124 Pisa | |||
Italy | Italy | |||
Email: mario.loffredo@iit.cnr.it | Email: mario.loffredo@iit.cnr.it | |||
URI: http://www.iit.cnr.it | URI: http://www.iit.cnr.it | |||
Maurizio Martinelli | Maurizio Martinelli | |||
IIT-CNR/Registro.it | IIT-CNR/Registro.it | |||
Via Moruzzi,1 | Via Moruzzi,1 | |||
56124 Pisa | 56124 Pisa | |||
Italy | Italy | |||
Email: maurizio.martinelli@iit.cnr.it | Email: maurizio.martinelli@iit.cnr.it | |||
URI: http://www.iit.cnr.it | URI: http://www.iit.cnr.it | |||
End of changes. 21 change blocks. | ||||
21 lines changed or deleted | 46 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/ |