draft-ietf-regext-rdap-openid-02.txt   draft-ietf-regext-rdap-openid-03.txt 
REGEXT Working Group S. Hollenbeck REGEXT Working Group S. Hollenbeck
Internet-Draft Verisign Labs Internet-Draft Verisign Labs
Intended status: Standards Track May 31, 2019 Intended status: Standards Track August 19, 2019
Expires: December 2, 2019 Expires: February 20, 2020
Federated Authentication for the Registration Data Access Protocol Federated Authentication for the Registration Data Access Protocol
(RDAP) using OpenID Connect (RDAP) using OpenID Connect
draft-ietf-regext-rdap-openid-02 draft-ietf-regext-rdap-openid-03
Abstract Abstract
The Registration Data Access Protocol (RDAP) provides "RESTful" web The Registration Data Access Protocol (RDAP) provides "RESTful" web
services to retrieve registration metadata from domain name and services to retrieve registration metadata from domain name and
regional internet registries. RDAP allows a server to make access regional internet registries. RDAP allows a server to make access
control decisions based on client identity, and as such it includes control decisions based on client identity, and as such it includes
support for client identification features provided by the Hypertext support for client identification features provided by the Hypertext
Transfer Protocol (HTTP). Identification methods that require Transfer Protocol (HTTP). Identification methods that require
clients to obtain and manage credentials from every RDAP server clients to obtain and manage credentials from every RDAP server
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 December 2, 2019. This Internet-Draft will expire on February 20, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 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/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 43 skipping to change at page 2, line 43
3.1.4.1. Stated Purpose . . . . . . . . . . . . . . . . . 8 3.1.4.1. Stated Purpose . . . . . . . . . . . . . . . . . 8
3.1.4.2. Do Not Track . . . . . . . . . . . . . . . . . . 9 3.1.4.2. Do Not Track . . . . . . . . . . . . . . . . . . 9
4. Protocol Parameters . . . . . . . . . . . . . . . . . . . . . 9 4. Protocol Parameters . . . . . . . . . . . . . . . . . . . . . 9
4.1. Client Authentication Request and Response . . . . . . . 10 4.1. Client Authentication Request and Response . . . . . . . 10
4.2. Token Request and Response . . . . . . . . . . . . . . . 10 4.2. Token Request and Response . . . . . . . . . . . . . . . 10
4.3. Token Refresh and Revocation . . . . . . . . . . . . . . 11 4.3. Token Refresh and Revocation . . . . . . . . . . . . . . 11
4.4. Token Exchange . . . . . . . . . . . . . . . . . . . . . 14 4.4. Token Exchange . . . . . . . . . . . . . . . . . . . . . 14
4.5. Parameter Processing . . . . . . . . . . . . . . . . . . 14 4.5. Parameter Processing . . . . . . . . . . . . . . . . . . 14
4.6. RDAP Conformance . . . . . . . . . . . . . . . . . . . . 15 4.6. RDAP Conformance . . . . . . . . . . . . . . . . . . . . 15
5. Clients with Limited User Interfaces . . . . . . . . . . . . 15 5. Clients with Limited User Interfaces . . . . . . . . . . . . 15
5.1. OAuth 2.0 Device Flow . . . . . . . . . . . . . . . . . . 16 5.1. OAuth 2.0 Device Authorization Grant . . . . . . . . . . 16
5.2. Manual Token Management . . . . . . . . . . . . . . . . . 16 5.2. Manual Token Management . . . . . . . . . . . . . . . . . 16
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17
6.1. RDAP Extensions Registry . . . . . . . . . . . . . . . . 17 6.1. RDAP Extensions Registry . . . . . . . . . . . . . . . . 17
6.2. JSON Web Token Claims Registry . . . . . . . . . . . . . 17 6.2. JSON Web Token Claims Registry . . . . . . . . . . . . . 17
6.3. RDAP Query Purpose Registry . . . . . . . . . . . . . . . 17 6.3. RDAP Query Purpose Registry . . . . . . . . . . . . . . . 17
7. Implementation Status . . . . . . . . . . . . . . . . . . . . 20 7. Implementation Status . . . . . . . . . . . . . . . . . . . . 20
7.1. Verisign Labs . . . . . . . . . . . . . . . . . . . . . . 21 7.1. Verisign Labs . . . . . . . . . . . . . . . . . . . . . . 21
7.2. Viagenie . . . . . . . . . . . . . . . . . . . . . . . . 21 7.2. Viagenie . . . . . . . . . . . . . . . . . . . . . . . . 21
8. Security Considerations . . . . . . . . . . . . . . . . . . . 22 8. Security Considerations . . . . . . . . . . . . . . . . . . . 22
8.1. Authentication and Access Control . . . . . . . . . . . . 22 8.1. Authentication and Access Control . . . . . . . . . . . . 22
skipping to change at page 16, line 5 skipping to change at page 16, line 5
5. Clients with Limited User Interfaces 5. Clients with Limited User Interfaces
The flow described in Section 3.1.3 requires a client to interact The flow described in Section 3.1.3 requires a client to interact
with a server using a web browser. This will not work well in with a server using a web browser. This will not work well in
situations where the client is automated or an end-user is using a situations where the client is automated or an end-user is using a
command line user interface such as curl [2] or wget [3]. There are command line user interface such as curl [2] or wget [3]. There are
multiple ways to address this limitation using a web browser on a multiple ways to address this limitation using a web browser on a
second device. Two are described here. second device. Two are described here.
5.1. OAuth 2.0 Device Flow 5.1. OAuth 2.0 Device Authorization Grant
The "OAuth 2.0 Device Flow for Browserless and Input Constrained The "OAuth 2.0 Device Authorization Grant" [RFC8628] provides one
Devices" [I-D.ietf-oauth-device-flow] provides one method to request method to request user authorization from devices that have an
user authorization from devices that have an Internet connection, but Internet connection, but lack a suitable browser for a more
lack a suitable browser for a more traditional OAuth flow. This traditional OAuth flow. This method requires a client to use a
method requires a client to use a second device (such as a smart second device (such as a smart telephone) that has access to a web
telephone) that has access to a web browser for entry of a code browser for entry of a code sequence that is presented on the
sequence that is presented on the constrained device. constrained device.
5.2. Manual Token Management 5.2. Manual Token Management
A second method of requesting user authorization from a constrained A second method of requesting user authorization from a constrained
device is possible by producing and managing tokens manually as device is possible by producing and managing tokens manually as
follows: follows:
1. Authenticate with the OP as described in Section 4.2 using a 1. Authenticate with the OP as described in Section 4.2 using a
browser or browser-like client. browser or browser-like client.
2. Store the returned ID Token and Access Token locally. 2. Store the returned ID Token and Access Token locally.
skipping to change at page 22, line 42 skipping to change at page 22, line 42
Vesely. In addition, the Verisign Registry Services Lab development Vesely. In addition, the Verisign Registry Services Lab development
team of Joseph Harvey, Andrew Kaizer, Sai Mogali, Anurag Saxena, team of Joseph Harvey, Andrew Kaizer, Sai Mogali, Anurag Saxena,
Swapneel Sheth, Nitin Singh, and Zhao Zhao provided critical "proof Swapneel Sheth, Nitin Singh, and Zhao Zhao provided critical "proof
of concept" implementation experience that helped demonstrate the of concept" implementation experience that helped demonstrate the
validity of the concepts described in this document. validity of the concepts described in this document.
10. References 10. References
10.1. Normative References 10.1. Normative References
[I-D.ietf-oauth-device-flow]
Denniss, W., Bradley, J., Jones, M., and H. Tschofenig,
"OAuth 2.0 Device Authorization Grant", draft-ietf-oauth-
device-flow-15 (work in progress), March 2019.
[I-D.ietf-oauth-token-exchange] [I-D.ietf-oauth-token-exchange]
Jones, M., Nadalin, A., Campbell, B., Bradley, J., and C. Jones, M., Nadalin, A., Campbell, B., Bradley, J., and C.
Mortimore, "OAuth 2.0 Token Exchange", draft-ietf-oauth- Mortimore, "OAuth 2.0 Token Exchange", draft-ietf-oauth-
token-exchange-16 (work in progress), October 2018. token-exchange-19 (work in progress), July 2019.
[OIDC] OpenID Foundation, "OpenID Connect", [OIDC] OpenID Foundation, "OpenID Connect",
<http://openid.net/connect/>. <http://openid.net/connect/>.
[OIDCC] OpenID Foundation, "OpenID Connect Core incorporating [OIDCC] OpenID Foundation, "OpenID Connect Core incorporating
errata set 1", November 2014, errata set 1", November 2014,
<http://openid.net/specs/openid-connect-core-1_0.html>. <http://openid.net/specs/openid-connect-core-1_0.html>.
[OIDCD] OpenID Foundation, "OpenID Connect Discovery 1.0 [OIDCD] OpenID Foundation, "OpenID Connect Discovery 1.0
incorporating errata set 1", November 2014, incorporating errata set 1", November 2014,
skipping to change at page 24, line 47 skipping to change at page 24, line 37
2015, <https://www.rfc-editor.org/info/rfc7515>. 2015, <https://www.rfc-editor.org/info/rfc7515>.
[RFC7519] Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token [RFC7519] Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token
(JWT)", RFC 7519, DOI 10.17487/RFC7519, May 2015, (JWT)", RFC 7519, DOI 10.17487/RFC7519, May 2015,
<https://www.rfc-editor.org/info/rfc7519>. <https://www.rfc-editor.org/info/rfc7519>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8628] Denniss, W., Bradley, J., Jones, M., and H. Tschofenig,
"OAuth 2.0 Device Authorization Grant", RFC 8628,
DOI 10.17487/RFC8628, August 2019,
<https://www.rfc-editor.org/info/rfc8628>.
10.2. Informative References 10.2. Informative References
[RFC4949] Shirey, R., "Internet Security Glossary, Version 2", [RFC4949] Shirey, R., "Internet Security Glossary, Version 2",
FYI 36, RFC 4949, DOI 10.17487/RFC4949, August 2007, FYI 36, RFC 4949, DOI 10.17487/RFC4949, August 2007,
<https://www.rfc-editor.org/info/rfc4949>. <https://www.rfc-editor.org/info/rfc4949>.
[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>.
skipping to change at page 25, line 28 skipping to change at page 25, line 23
Appendix A. Change Log Appendix A. Change Log
00: Initial working group version ported from draft-hollenbeck- 00: Initial working group version ported from draft-hollenbeck-
regext-rdap-openid-10. regext-rdap-openid-10.
01: Modified ID Token delivery approach to note proper use of an 01: Modified ID Token delivery approach to note proper use of an
HTTP bearer authorization header. HTTP bearer authorization header.
02: Modified token delivery approach (access token is the bearer 02: Modified token delivery approach (access token is the bearer
token) to note proper use of an HTTP bearer authorization header, token) to note proper use of an HTTP bearer authorization header,
fixing the change made in -01. fixing the change made in -01.
03: Updated OAuth 2.0 Device Authorization Grant description and
reference due to publication of RFC 8628.
Author's Address Author's Address
Scott Hollenbeck Scott Hollenbeck
Verisign Labs Verisign Labs
12061 Bluemont Way 12061 Bluemont Way
Reston, VA 20190 Reston, VA 20190
USA USA
Email: shollenbeck@verisign.com Email: shollenbeck@verisign.com
 End of changes. 10 change blocks. 
19 lines changed or deleted 21 lines changed or added

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