idnits 2.17.1 draft-ietf-weirds-rdap-sec-12.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (December 2, 2014) is 3426 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: A later version (-14) exists of draft-ietf-weirds-json-response-12 == Outdated reference: A later version (-18) exists of draft-ietf-weirds-rdap-query-16 -- Possible downref: Normative reference to a draft: ref. 'I-D.ietf-weirds-using-http' ** Obsolete normative reference: RFC 2818 (Obsoleted by RFC 9110) ** Obsolete normative reference: RFC 7231 (Obsoleted by RFC 9110) ** Obsolete normative reference: RFC 7235 (Obsoleted by RFC 9110) == Outdated reference: A later version (-11) exists of draft-ietf-uta-tls-bcp-07 -- Obsolete informational reference (is this intentional?): RFC 5246 (Obsoleted by RFC 8446) Summary: 3 errors (**), 0 flaws (~~), 4 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Internet Engineering Task Force S. Hollenbeck 3 Internet-Draft Verisign Labs 4 Intended status: Standards Track N. Kong 5 Expires: June 5, 2015 CNNIC 6 December 2, 2014 8 Security Services for the Registration Data Access Protocol 9 draft-ietf-weirds-rdap-sec-12 11 Abstract 13 The Registration Data Access Protocol (RDAP) provides "RESTful" web 14 services to retrieve registration metadata from domain name and 15 regional internet registries. This document describes information 16 security services including access control, authentication, 17 authorization, availability, data confidentiality, and data integrity 18 for RDAP. 20 Status of This Memo 22 This Internet-Draft is submitted in full conformance with the 23 provisions of BCP 78 and BCP 79. 25 Internet-Drafts are working documents of the Internet Engineering 26 Task Force (IETF). Note that other groups may also distribute 27 working documents as Internet-Drafts. The list of current Internet- 28 Drafts is at http://datatracker.ietf.org/drafts/current/. 30 Internet-Drafts are draft documents valid for a maximum of six months 31 and may be updated, replaced, or obsoleted by other documents at any 32 time. It is inappropriate to use Internet-Drafts as reference 33 material or to cite them other than as "work in progress." 35 This Internet-Draft will expire on June 5, 2015. 37 Copyright Notice 39 Copyright (c) 2014 IETF Trust and the persons identified as the 40 document authors. All rights reserved. 42 This document is subject to BCP 78 and the IETF Trust's Legal 43 Provisions Relating to IETF Documents 44 (http://trustee.ietf.org/license-info) in effect on the date of 45 publication of this document. Please review these documents 46 carefully, as they describe your rights and restrictions with respect 47 to this document. Code Components extracted from this document must 48 include Simplified BSD License text as described in Section 4.e of 49 the Trust Legal Provisions and are provided without warranty as 50 described in the Simplified BSD License. 52 Table of Contents 54 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 55 2. Conventions Used in This Document . . . . . . . . . . . . . . 3 56 2.1. Acronyms and Abbreviations . . . . . . . . . . . . . . . 3 57 3. Information Security Services and RDAP . . . . . . . . . . . 3 58 3.1. Access Control . . . . . . . . . . . . . . . . . . . . . 3 59 3.2. Authentication . . . . . . . . . . . . . . . . . . . . . 3 60 3.2.1. Federated Authentication . . . . . . . . . . . . . . 5 61 3.3. Authorization . . . . . . . . . . . . . . . . . . . . . . 6 62 3.4. Availability . . . . . . . . . . . . . . . . . . . . . . 6 63 3.5. Data Confidentiality . . . . . . . . . . . . . . . . . . 7 64 3.6. Data Integrity . . . . . . . . . . . . . . . . . . . . . 8 65 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 66 5. Privacy Threats Associated with Registration Data . . . . . . 8 67 6. Security Considerations . . . . . . . . . . . . . . . . . . . 9 68 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 69 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 70 8.1. Normative References . . . . . . . . . . . . . . . . . . 11 71 8.2. Informative References . . . . . . . . . . . . . . . . . 11 72 Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 12 73 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 75 1. Introduction 77 The Registration Data Access Protocol (RDAP) is specified in multiple 78 documents, including "Registration Data Access Protocol Lookup 79 Format" [I-D.ietf-weirds-rdap-query], "JSON Responses for the 80 Registration Data Access Protocol (RDAP)" 81 [I-D.ietf-weirds-json-response], and "HTTP usage in the Registration 82 Data Access Protocol (RDAP)" [I-D.ietf-weirds-using-http]. 84 One goal of RDAP is to provide security services that do not exist in 85 the WHOIS [RFC3912] protocol, including access control, 86 authentication, authorization, availability, data confidentiality, 87 and data integrity. This document describes how each of these 88 services is achieved by RDAP using features that are available in 89 other protocol layers. Additional or alternative mechanisms can be 90 added in the future. Where applicable, informational references to 91 requirements for a WHOIS replacement service [RFC3707] are noted. 93 2. Conventions Used in This Document 95 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 96 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 97 document are to be interpreted as described in RFC 2119 [RFC2119]. 99 2.1. Acronyms and Abbreviations 101 DNR: Domain Name Registry 103 HTTP: Hypertext Transfer Protocol 105 JSON: JavaScript Object Notation 107 RDAP: Registration Data Access Protocol 109 RIR: Regional Internet Registry 111 TLS: Transport Layer Security 113 3. Information Security Services and RDAP 115 RDAP itself does not include native security services. Instead, RDAP 116 relies on features that are available in other protocol layers to 117 provide needed security services including access control, 118 authentication, authorization, availability, data confidentiality, 119 and data integrity. A description of each of these security services 120 can be found in "Internet Security Glossary, Version 2" [RFC4949]. 121 No requirements have been identified for other security services. 123 3.1. Access Control 125 WHOIS does not include specific features to control access to 126 registration information. As described in the following sections, 127 RDAP includes features to identify, authenticate, and authorize 128 clients, allowing server operators to control access to information 129 based on a client's identity and associated authorizations. 130 Information returned to a client can be clearly marked with a status 131 value (see Section 10.2.2 of [I-D.ietf-weirds-json-response]) that 132 identifies the access granted to the client. 134 3.2. Authentication 136 This section describes security authentication mechanisms and the 137 need for authorization policies to include them. It describes 138 requirements for the implementations of clients and servers, but does 139 not dictate the policies of server operators. For example, a server 140 operator with no policy regarding differentiated or tiered access to 141 data will have no authorization mechanisms and will have no need for 142 any type of authentication. A server operator with policies on 143 differentiated access will have to construct an authorization scheme 144 and will need to follow the specified authentication requirements. 146 WHOIS does not provide features to identify and authenticate clients. 147 As noted in section 3.1.4.2 of "Cross Registry Internet Service 148 Protocol (CRISP) Requirements" [RFC3707], there is utility in 149 allowing server operators to offer "varying degrees of access 150 depending on policy and need". Clients have to be identified and 151 authenticated to provide that utility. 153 RDAP's authentication framework needs to accommodate anonymous access 154 as well as verification of identities using a range of authentication 155 methods and credential services. To that end, RDAP clients and 156 servers MUST implement the authentication framework specified in 157 "HTTP Authentication: Basic and Digest Access Authentication" 158 [RFC7235]. The "basic" scheme can be used to send a client's user 159 name and password to a server in plaintext, based64-encoded form. 160 The "digest" scheme can be used to authenticate a client without 161 exposing the client's plaintext password. If the "basic" scheme is 162 used, HTTP Over TLS [RFC2818] MUST be used to protect the client's 163 credentials from disclosure while in transit (see Section 3.5). 165 Servers MUST support either Basic or Digest authentication; they are 166 not required to support both. Clients MUST support both to 167 interoperate with servers that support one or the other. Servers may 168 provide a login page that triggers HTTP authentication. Clients 169 should continue sending the HTTP authentication header once they 170 receive an initial 401 (Unauthorized) response from the HTTP server 171 as long as the scheme portion of the URL doesn't change. 173 The Transport Layer Security Protocol [RFC5246] includes an optional 174 feature to identify and authenticate clients who possess and present 175 a valid X.509 digital certificate [RFC5280]. Support for this 176 feature is OPTIONAL. 178 RDAP does not impose any unique server authentication requirements. 179 The server authentication provided by TLS fully addresses the needs 180 of RDAP. In general, transports for RDAP must either provide a TLS- 181 protected transport (e.g., HTTPS) or a mechanism that provides an 182 equivalent level of server authentication. 184 Work on HTTP authentication methods continues. RDAP is designed to 185 be agile enough to support additional methods as they are defined. 187 3.2.1. Federated Authentication 189 The traditional client-server authentication model requires clients 190 to maintain distinct credentials for every RDAP server. This 191 situation can become unwieldy as the number of RDAP servers 192 increases. Federated authentication mechanisms allow clients to use 193 one credential to access multiple RDAP servers and reduce client 194 credential management complexity. RDAP MAY include a federated 195 authentication mechanism that permits a client to access multiple 196 RDAP servers in the same federation with one credential. 198 Federated authentication mechanisms used by RDAP MUST be fully 199 supported by HTTP. OAuth, OpenID, Security Assertion Markup Language 200 (SAML), and CA-based mechanisms are all possible approaches to 201 provide federated authentication. At the time of this document's 202 publication, negotiation or advertisement of federated authentication 203 services is still an undefined mechanism by the noted federated 204 authentication protocols. Developing this mechanism is beyond the 205 scope of this document. 207 The OAuth authorization framework [RFC6749] describes a method for 208 users to access protected web resources without having to hand out 209 their credentials. Instead, clients are issued access tokens by 210 authorization servers with the permission of the resource owners. 211 Using OAuth, multiple RDAP servers can form a federation and the 212 clients can access any server in the same federation by providing one 213 credential registered in any server in that federation. The OAuth 214 authorization framework is designed for use with HTTP and thus can be 215 used with RDAP. 217 OpenID [OpenID] is a decentralized single sign-on authentication 218 system that allows users to log in at multiple web sites with one ID 219 instead of having to create multiple unique accounts. An end user 220 can freely choose which OpenID provider to use, and can preserve 221 their Identifier if they switch OpenID providers. 223 Note that OAuth and OpenID do not consistently require data 224 confidentiality services to protect interactions between providers 225 and consumers. HTTP Over TLS [RFC2818] can be used as needed to 226 provide protection against man-in-the-middle attacks. 228 SAML 2.0 [SAML] is an XML-based protocol that can be used to 229 implement web-based authentication and authorization services, 230 including single sign-on. It uses security tokens containing 231 assertions to exchange information about an end user between an 232 identity provider and a service provider. 234 The Transport Layer Security Protocol [RFC5246], Section 7.4.6, 235 describes the specification of a client certificate. Clients who 236 possess and present a valid X.509 digital certificate, issued by an 237 entity called a "Certification Authority" (CA), could be identified 238 and authenticated by a server who trusts the corresponding CA. A 239 certificate authentication method can be used to achieve federated 240 authentication in which multiple RDAP servers all trust the same CAs 241 and then any client with a certificate issued by a trusted CA can 242 access any RDAP server in the federation. This certificate-based 243 mechanism is supported by HTTPS and can be used with RDAP. 245 3.3. Authorization 247 WHOIS does not provide services to grant different levels of access 248 to clients based on a client's authenticated identity. As noted in 249 section 3.1.4.2 of "Cross Registry Internet Service Protocol (CRISP) 250 Requirements" [RFC3707], there is utility in allowing server 251 operators to offer "varying degrees of access depending on policy and 252 need". Access control decisions can be made once a client's identity 253 has been established and authenticated (see Section 3.2). 255 Server operators MAY offer varying degrees of access depending on 256 policy and need in conjunction with the authentication methods 257 described in Section 3.2. If such varying degrees of access are 258 supported, an RDAP server MUST provide granular access controls (that 259 is, on a per registration data object basis) in order to implement 260 authorization policies. Some examples: 262 - Clients will be allowed access only to data for which they have a 263 relationship. 265 - Unauthenticated or anonymous access status may not yield any 266 contact information. 268 - Full access may be granted to a special group of authenticated 269 clients. 271 The type of access allowed by a server will most likely vary from one 272 operator to the next. A description of the response privacy 273 considerations associated with different levels of authorization can 274 be found in Section 13 of [I-D.ietf-weirds-json-response]. 276 3.4. Availability 278 An RDAP service has to be available to be useful. There are no RDAP- 279 unique requirements to provide availability, but as a general 280 security consideration a service operator needs to be aware of the 281 issues associated with denial of service. A thorough reading of 282 "Internet Denial-of-Service Considerations" [RFC4732] is advised. 284 An RDAP service MAY use an HTTP throttling mechanism to limit the 285 number of queries that a single client can send in a given period of 286 time. If used, the server SHOULD return an HTTP 429 (Too Many 287 Requests) response code as described in "Additional HTTP Status 288 Codes" [RFC6585]. A client that receives a 429 response SHOULD 289 decrease its query rate, and honor the Retry-After header field if 290 one is present. Note that this is not a defense against denial-of- 291 service attacks, since a malicious client could ignore the code and 292 continue to send queries at a high rate. A server might use another 293 response code if it did not wish to reveal to a client that rate 294 limiting is the reason for the denial of a reply. 296 3.5. Data Confidentiality 298 WHOIS does not provide the ability to protect data from inadvertent 299 disclosure while in transit. RDAP uses HTTP Over TLS [RFC2818] to 300 provide that protection by encrypting all traffic sent on the 301 connection between client and server. HTTP Over TLS MUST be used to 302 protect all client-server exchanges unless operational constraints 303 make it impossible to meet this requirement. It is also possible to 304 encrypt discrete objects (such as command path segments and JSON- 305 encoded response objects) at one endpoint, send them to the other 306 endpoint via an unprotected transport protocol, and decrypt the 307 object on receipt. Encryption algorithms as described in "Internet 308 Security Glossary, Version 2" [RFC4949] are commonly used to provide 309 data confidentiality at the object level. 311 There are no current requirements for object-level data 312 confidentiality using encryption. Support for this feature could be 313 added to RDAP in the future. 315 As noted in Section 3.2, the HTTP "basic" authentication scheme can 316 be used to authenticate a client. When this scheme is used, HTTP 317 Over TLS MUST be used to protect the client's credentials from 318 disclosure while in transit. If the policy of the server operator 319 requires encryption to protect client-server data exchanges (such as 320 to protect non-public data that can not be accessed without client 321 identification and authentication), HTTP Over TLS MUST be used to 322 protect those exchanges. 324 A description of privacy threats that can be addressed with 325 confidentiality services can be found in Section 5. Section 10.2.2 326 of [I-D.ietf-weirds-json-response] describes status values that can 327 be used to describe operator actions used to protect response data 328 from disclosure to unauthorized clients. 330 3.6. Data Integrity 332 WHOIS does not provide the ability to protect data from modification 333 while in transit. Web services such as RDAP commonly use HTTP Over 334 TLS [RFC2818] to provide that protection by using a keyed Message 335 Authentication Code (MAC) to detect modifications. It is also 336 possible to sign discrete objects (such as command path segments and 337 JSON-encoded response objects) at one endpoint, send them to the 338 other endpoint via a transport protocol, and validate the signature 339 of the object on receipt. Digital signature algorithms as described 340 in "Internet Security Glossary, Version 2" [RFC4949] are commonly 341 used to provide data integrity at the object level. 343 There are no current requirements for object-level data integrity 344 using digital signatures. Support for this feature could be added to 345 RDAP in the future. 347 The most specific need for this service is to provide assurance that 348 HTTP 30x redirection hints [RFC7231] and response elements returned 349 from the server are not modified while in transit. If the policy of 350 the server operator requires message integrity for client-server data 351 exchanges, HTTP Over TLS MUST be used to protect those exchanges. 353 4. IANA Considerations 355 This document does not specify any IANA actions. This section can be 356 removed if this document is published as an RFC. 358 5. Privacy Threats Associated with Registration Data 360 Registration data has historically included personal data about 361 registrants. WHOIS services have historically made this information 362 available to the public, creating a privacy risk by revealing the 363 personal details of registrants. WHOIS services have not had the 364 benefit of authentication or access control mechanisms to gate access 365 to registration data. As a result of this, proxy and privacy 366 services have arisen to shield the identities of registrants. 368 The standardization of RDAP does not change or impact the data that 369 operators may require to be collected from registrants, but it 370 provides support for a number of mechanisms that may be used to 371 mitigate privacy threats to registrants should operators choose to 372 use them. 374 RDAP includes mechanisms that can be used to authenticate clients, 375 allowing servers to support tiered access based on local policy. 376 This means that all registration data need no longer be public, and 377 personal data or data that may be considered more sensitive can have 378 its access restricted to specifically privileged clients. 380 RDAP data structures allow servers to indicate via status values when 381 data returned to clients has been made private, redacted, obscured, 382 or registered by a proxy. "Private" means that the data is not 383 designated for public consumption. "Redacted" means that some 384 registration data fields are not being made available. "Obscured" 385 means that data has been altered for the purposes of not readily 386 revealing the actual registration information. One option that 387 operators have available to them to reduce privacy risks to 388 registrants is to adopt policies that make use of these status values 389 to restrict the registrant data shared with any or all clients 390 according to the sensitivity of the data, the privileges of the 391 clients, or some other heuristics. 393 RDAP uses the jCard [RFC7095] standard format for entity 394 representation. Operators may find that many of the jCard fields are 395 irrelevant for registry operation purposes or that they have no 396 reason to collect information from registrants that would correspond 397 to certain fields. Operators wishing to reduce privacy risks for 398 registrants may restrict which information they collect and/or which 399 fields they populate in responses. 401 In addition to privacy risks to registrants, there are also potential 402 privacy risks for those who query registration data. For example, 403 the fact that a registry employee performs a particular query may 404 reveal information about the employee's activities that he or she 405 would have preferred to keep private. RDAP supports the use of HTTP 406 over TLS to provide privacy protection for those querying registrant 407 data as well as registrants, unless operational constraints make it 408 impossible to meet this requirement. 410 6. Security Considerations 412 One of the goals of RDAP is to provide security services that do not 413 exist in the WHOIS protocol. This document describes the security 414 services provided by RDAP and associated protocol layers, including 415 authentication, authorization, availability, data confidentiality, 416 and data integrity. Non-repudiation services were also considered 417 and ultimately rejected due to a lack of requirements. There are, 418 however, currently-deployed WHOIS servers that can return signed 419 responses that provide non-repudiation with proof of origin. RDAP 420 might need to be extended to provide this service in the future. 422 As an HTTP-based protocol RDAP is susceptible to code injection 423 attacks. Code injection refers to adding code into a computer system 424 or program to alter the course of execution. There are many types of 425 code injection, including SQL injection, dynamic variable or function 426 injection, include file injection, shell injection, and HTML-script 427 injection among others. Data confidentiality and integrity services 428 provide a measure of defense against man-in-the-middle injection 429 attacks, but vulnerabilities in both client-side and server-side 430 software make it possible for injection attacks to succeed. 431 Consistently checking and validating server credentials can help 432 detect man-in-the-middle attacks. 434 As noted in Section 3.2.1, digital certificates can be used to 435 implement federated authentication. There is a risk of too- 436 promiscuous, or even rogue, CAs being included in the list of 437 acceptable CAs that the TLS server sends the client as part of the 438 TLS client-authentication handshake and lending the appearance of 439 trust to certificates signed by those CAs. Periodic monitoring of 440 the list of CAs that RDAP servers trust for client authentication can 441 help reduce this risk. 443 The Transport Layer Security Protocol [RFC5246] includes a null 444 cipher suite that does not encrypt data and thus does not provide 445 data confidentiality. This option MUST NOT be used when data 446 confidentiality services are needed. Additional considerations for 447 secure use of TLS are described in [I-D.ietf-uta-tls-bcp]. 449 Data integrity services are sometimes mistakenly associated with 450 directory service operational policy requirements focused on data 451 accuracy. "Accuracy" refers to the truthful association of data 452 elements (such as names, addresses, and telephone numbers) in the 453 context of a particular directory object (such as a domain name). 454 Accuracy requirements are out of scope for this protocol. 456 Additional security considerations are described in the 457 specifications for HTTP [RFC7231], HTTP basic and digest access 458 authentication [RFC7235], HTTP Over TLS [RFC2818], and additional 459 HTTP status codes [RFC6585]. Security considerations for federated 460 authentication systems can be found in the OAuth [RFC6749] and OpenID 461 [OpenID] specifications. 463 7. Acknowledgements 465 The authors would like to acknowledge the following individuals for 466 their contributions to this document: Richard Barnes, Marc Blanchet, 467 Alissa Cooper, Ernie Dainow, Spencer Dawkins, Jean-Philippe Dionne, 468 Byron Ellacott, Stephen Farrell, Tony Hansen, Peter Koch, Murray 469 Kucherawy, Barry Leiba, Andrew Newton, and Linlin Zhou. 471 8. References 473 8.1. Normative References 475 [I-D.ietf-weirds-json-response] 476 Newton, A. and S. Hollenbeck, "JSON Responses for the 477 Registration Data Access Protocol (RDAP)", draft-ietf- 478 weirds-json-response-12 (work in progress), November 2014. 480 [I-D.ietf-weirds-rdap-query] 481 Newton, A. and S. Hollenbeck, "Registration Data Access 482 Protocol Query Format", draft-ietf-weirds-rdap-query-16 483 (work in progress), October 2014. 485 [I-D.ietf-weirds-using-http] 486 Newton, A., Ellacott, B., and N. Kong, "HTTP usage in the 487 Registration Data Access Protocol (RDAP)", draft-ietf- 488 weirds-using-http-15 (work in progress), November 2014. 490 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 491 Requirement Levels", BCP 14, RFC 2119, March 1997. 493 [RFC2818] Rescorla, E., "HTTP Over TLS", RFC 2818, May 2000. 495 [RFC6585] Nottingham, M. and R. Fielding, "Additional HTTP Status 496 Codes", RFC 6585, April 2012. 498 [RFC7231] Fielding, R. and J. Reschke, "Hypertext Transfer Protocol 499 (HTTP/1.1): Semantics and Content", RFC 7231, June 2014. 501 [RFC7235] Fielding, R. and J. Reschke, "Hypertext Transfer Protocol 502 (HTTP/1.1): Authentication", RFC 7235, June 2014. 504 8.2. Informative References 506 [I-D.ietf-uta-tls-bcp] 507 Sheffer, Y., Holz, R., and P. Saint-Andre, 508 "Recommendations for Secure Use of TLS and DTLS", draft- 509 ietf-uta-tls-bcp-07 (work in progress), November 2014. 511 [OpenID] OpenID Foundation, "OpenID Authentication 2.0 - Final", 512 December 2007, . 514 [RFC3707] Newton, A., "Cross Registry Internet Service Protocol 515 (CRISP) Requirements", RFC 3707, February 2004. 517 [RFC3912] Daigle, L., "WHOIS Protocol Specification", RFC 3912, 518 September 2004. 520 [RFC4732] Handley, M., Rescorla, E., and IAB, "Internet Denial-of- 521 Service Considerations", RFC 4732, December 2006. 523 [RFC4949] Shirey, R., "Internet Security Glossary, Version 2", RFC 524 4949, August 2007. 526 [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security 527 (TLS) Protocol Version 1.2", RFC 5246, August 2008. 529 [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., 530 Housley, R., and W. Polk, "Internet X.509 Public Key 531 Infrastructure Certificate and Certificate Revocation List 532 (CRL) Profile", RFC 5280, May 2008. 534 [RFC6749] Hardt, D., "The OAuth 2.0 Authorization Framework", RFC 535 6749, October 2012. 537 [RFC7095] Kewisch, P., "jCard: The JSON Format for vCard", RFC 7095, 538 January 2014. 540 [SAML] OASIS, "Security Assertion Markup Language (SAML) v2.0", 541 March 2005, . 544 Appendix A. Change Log 546 Initial -00: Adopted as working group document. 547 -01: Extensive text additions and revisions based on in-room 548 discussion at IETF-85. Sections for data integrity and non- 549 repudiation have been removed due to a lack of requirements, but 550 both topics are now addressed in the Security Considerations 551 section. 552 -02: Fixed document names in the Introduction. Modified text in 553 Section 3.2.1 to clarify requirement. Added text to Section 3.4 554 to describe rate limiting. Added new data integrity section. 555 Updated security considerations to describe injection attacks. 556 -03: Extensive updates to address WG last call comments: rewrote 557 introduction, removed references to draft documents, changed 558 "HTML" to "HTTP" in Section 6, eliminated upper case words that 559 could be misunderstood to be normative guidance, rewrote 560 Section 3.5 and Section 3.6. 561 -04: Address AD evaluation comments: In Section 3.2 change "RDAP 562 MUST include an authentication framework that can accommodate" to 563 "RDAP's authentication framework needs to accommodate"; in 564 Section 3.3 change "RDAP MUST include an authorization framework 565 that is capable of providing granular (per registration data 566 object) access controls according to the policies of the operator" 567 to "An RDAP server MUST provide granular access controls (that is, 568 on a per registration data object basis) in order to implement 569 authorization policies"; move RFCs 4732, 5280, and 6749 from 570 normative to informative subsection. 571 -05: Address IETF last call comments: Added text to Section 3.2.1 to 572 recommend the use of HTTP over TLS. Modified Section 3.3 to 573 clarify granular access control text. Added additional Security 574 Considerations. Made references to RFC 5246 and OpenID 575 informative. Minor typo fixes. 576 -06: Keepalive refresh. No content updates. 577 -07: Keepalive refresh. No content updates. 578 -08: Updated HTTP references. 2616 -> 7231, 2617 -> 7235. 579 -09: Address WG last call comments. 580 -10: Address IETF last call comments. 581 -11: Address IESG review comments. 582 -12: Added "access control" where it was missing in the abstract and 583 introduction. Minor IESG DISCUSS edits. 585 Authors' Addresses 587 Scott Hollenbeck 588 Verisign Labs 589 12061 Bluemont Way 590 Reston, VA 20190 591 US 593 Email: shollenbeck@verisign.com 594 URI: http://www.verisignlabs.com/ 596 Ning Kong 597 China Internet Network Information Center 598 4 South 4th Street, Zhongguancun, Haidian District 599 Beijing 100190 600 China 602 Phone: +86 10 5881 3147 603 Email: nkong@cnnic.cn