| < 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/ | ||||