idnits 2.17.1 draft-ietf-regext-epp-eai-04.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 (30 August 2021) is 970 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) ** Downref: Normative reference to an Informational RFC: RFC 7451 Summary: 1 error (**), 0 flaws (~~), 1 warning (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group D. Belyavskiy 3 Internet-Draft 4 Intended status: Standards Track J. Gould 5 Expires: 3 March 2022 VeriSign, Inc. 6 30 August 2021 8 Use of Internationalized Email Addresses in the Extensible Provisioning 9 Protocol (EPP) 10 draft-ietf-regext-epp-eai-04 12 Abstract 14 This document describes an EPP extension that permits usage of 15 Internationalized Email Addresses in the EPP protocol and specifies 16 the terms when it can be used by EPP clients and servers. The 17 Extensible Provisioning Protocol (EPP), being developed before 18 appearing the standards for Internationalized Email Addresses (EAI), 19 does not support such email addresses. 21 TO BE REMOVED on turning to RFC: The document is edited in the 22 dedicated github repo (https://github.com/beldmit/eppeai). Please 23 send your submissions via GitHub. 25 Status of This Memo 27 This Internet-Draft is submitted in full conformance with the 28 provisions of BCP 78 and BCP 79. 30 Internet-Drafts are working documents of the Internet Engineering 31 Task Force (IETF). Note that other groups may also distribute 32 working documents as Internet-Drafts. The list of current Internet- 33 Drafts is at https://datatracker.ietf.org/drafts/current/. 35 Internet-Drafts are draft documents valid for a maximum of six months 36 and may be updated, replaced, or obsoleted by other documents at any 37 time. It is inappropriate to use Internet-Drafts as reference 38 material or to cite them other than as "work in progress." 40 This Internet-Draft will expire on 3 March 2022. 42 Copyright Notice 44 Copyright (c) 2021 IETF Trust and the persons identified as the 45 document authors. All rights reserved. 47 This document is subject to BCP 78 and the IETF Trust's Legal 48 Provisions Relating to IETF Documents (https://trustee.ietf.org/ 49 license-info) in effect on the date of publication of this document. 50 Please review these documents carefully, as they describe your rights 51 and restrictions with respect to this document. Code Components 52 extracted from this document must include Simplified BSD License text 53 as described in Section 4.e of the Trust Legal Provisions and are 54 provided without warranty as described in the Simplified BSD License. 56 Table of Contents 58 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 59 1.1. Conventions Used in This Document . . . . . . . . . . . . 3 60 2. Migrating to Newer Versions of This Extension . . . . . . . . 3 61 3. Email Address Specification . . . . . . . . . . . . . . . . . 3 62 4. Functional Extension . . . . . . . . . . . . . . . . . . . . 4 63 5. Internationalized Email Addresses (EAI) Functional 64 Extension . . . . . . . . . . . . . . . . . . . . . . . . 4 65 5.1. Scope of Functional Extension . . . . . . . . . . . . . . 4 66 5.2. Signaling Client and Server Support . . . . . . . . . . . 5 67 5.3. Functional Extension Behavior . . . . . . . . . . . . . . 5 68 5.3.1. EAI Functional Extension Negotiated . . . . . . . . . 5 69 5.3.2. EAI Functional Extension Not Negotiated . . . . . . . 6 70 6. Security Considerations . . . . . . . . . . . . . . . . . . . 7 71 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 72 7.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 7 73 7.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 7 74 8. Implementation Considerations . . . . . . . . . . . . . . . . 8 75 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 76 9.1. Normative References . . . . . . . . . . . . . . . . . . 8 77 9.2. Informative References . . . . . . . . . . . . . . . . . 9 78 Appendix A. Change History . . . . . . . . . . . . . . . . . . . 9 79 A.1. Change from 00 to 01 . . . . . . . . . . . . . . . . . . 9 80 A.2. Change from 01 to 02 . . . . . . . . . . . . . . . . . . 9 81 A.3. Change from 02 to 03 . . . . . . . . . . . . . . . . . . 10 82 A.4. Change from 03 to 04 . . . . . . . . . . . . . . . . . . 10 83 A.5. Change from 04 to the regext 01 version . . . . . . . . . 10 84 A.6. Change from the regext 01 to regext 02 version . . . . . 10 85 A.7. Change from the regext 02 to regext 03 version . . . . . 10 86 A.8. Change from the regext 03 to regext 04 version . . . . . 10 87 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 89 1. Introduction 91 [RFC6530] introduced the framework for Internationalized Email 92 Addresses. To make such addresses more widely accepted, the changes 93 to various protocols need to be introduced. 95 This document describes an Extensible Provisioning Protocol (EPP) 96 extension that permits usage of Internationalized Email Addresses in 97 the EPP protocol and specifies the terms when it can be used by EPP 98 clients and servers. A new form of EPP extension, referred to as a 99 Functional Extension, is defined and used to apply the rules for the 100 handling of email address elements in all of the [RFC5730] extensions 101 negotiated in the EPP session, which include the object and command- 102 responses extensions. The described mechanism can be applied to any 103 object or command-response extension that uses an email address. 105 The Extensible Provisioning Protocol (EPP) specified in [RFC5730] is 106 a base document for object management operations and an extensible 107 framework that maps protocol operations to objects. The specifics of 108 various objects managed via EPP is described in separate documents. 109 This document is only referring to an email address as a property of 110 a managed object, such as the element in the EPP 111 contact mapping [RFC5733] or the element in the EPP 112 organization mapping [RFC8543], and command-response extensions 113 applied to a managed object. 115 1.1. Conventions Used in This Document 117 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 118 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 119 "OPTIONAL" in this document are to be interpreted as described in BCP 120 14 [RFC2119] [RFC8174] when, and only when, they appear in all 121 capitals, as shown here. 123 2. Migrating to Newer Versions of This Extension 125 Servers that implement this extension SHOULD provide a way for 126 clients to progressively update their implementations when a new 127 version of the extension is deployed. A newer version of the 128 extension is expected to use an XML namespace with a higher version 129 number than the prior versions. 131 3. Email Address Specification 133 Support of non-ASCII email address syntax is defined in RFC 6530 134 [RFC6530]. This mapping does not prescribe minimum or maximum 135 lengths for character strings used to represent email addresses. The 136 exact syntax of such addresses is described in Section 3.3 of 137 [RFC6531]. The validation rules introduced in RFC 6531 are 138 considered to be followed. 140 The definition of email address in the EPP RFCs, including 141 Section 2.6 of [RFC5733] and Section 4.1.2, 4.2.1, and 4.2.5 of 142 [RFC8543], references [RFC5322] for the email address syntax. The 143 XML schema definition in Section 4 of [RFC5733] and Section 5 of 144 [RFC8543] defines the "email" element using the type 145 "eppcom:minTokenType", which is defined in Section 4.2 of [RFC5730] 146 as an XML schema "token" type with minimal length of one. The XML 147 schema "token" type will fully support the use of EAI addresses, so 148 the primary application of the EAI extension is to apply the use of 149 [RFC6531] instead of [RFC5322] for the email address syntax. Other 150 EPP extensions may follow the formal syntax definition using the XML 151 schema type "eppcom:minTokenType" and the [RFC5322] format 152 specification, where this extension applies to all EPP extensions 153 with the same or similar definitions. 155 The email address format is formally defined in Section 3.4.1 of 156 [RFC5322], which only consists of printable US-ASCII characters for 157 both the local-part and the domain ABNF rules. [RFC6531] extends the 158 Mailbox, Local-part and Domain ABNF rules in [RFC5321] to support 159 "UTF8-non-ascii", defined in Section 3.1 of [RFC6532], for the local- 160 part and U-label, defined in Section 2.3.2.1 of [RFC5890], for the 161 domain. By applying the syntax rules of [RFC5322], the EPP 162 extensions will change from supporting only ASCII characters to 163 supporting Internationalized characters both in the email address 164 local-part and domain-part. 166 4. Functional Extension 168 [RFC5730] defines three types of extensions at the protocol, object, 169 and command-response level, which impact the structure of the EPP 170 messages. A Functional Extension applies a functional capability to 171 an existing set of EPP extensions and properties. The scope of the 172 applicable EPP extensions and applicable extension properties are 173 defined in the Functional Extension along with the requirements for 174 the servers and clients that support it. The Functional Extension 175 needs to cover the expected behavior of the supporting client or 176 server when interacting with an unsupporting client or server. 177 Negotiating support for a Functional Extension is handled using the 178 EPP Greeting and EPP Login services. 180 5. Internationalized Email Addresses (EAI) Functional Extension 182 5.1. Scope of Functional Extension 184 The functional extension applies to all object extensions and 185 command-response extensions negotiated in the EPP session that 186 include email address properties. Examples include the 187 element in the EPP contact mapping [RFC5733] or the 188 element in the EPP organization mapping [RFC8543]. All 189 registry zones (e.g., top-level domains) authorized for the client in 190 the EPP session apply. There is no concept of a per-client, per- 191 zone, per-extension, or per-field setting that is used to indicate 192 support for EAI, but instead it's a global setting that applies to 193 the EPP session. 195 5.2. Signaling Client and Server Support 197 The client and the server can signal support for the functional 198 extension using a namespace URI in the login and greeting extension 199 services respectively. The namespace URI 200 "urn:ietf:params:xml:ns:epp:eai-0.3" is used to signal support for 201 the functional extension. The client includes the namespace URI in 202 an element of the [RFC5730] Command. 203 The server includes the namespace URI in an 204 element of the [RFC5730] Greeting. 206 5.3. Functional Extension Behavior 208 5.3.1. EAI Functional Extension Negotiated 210 If both client and server have indicated the support of the EAI 211 addresses during the session establishment, it implies possibility to 212 process the EAI address in any message having an email property 213 during the established EPP session. Below are the server and client 214 obligations when the EAI extension has been successfuly negotiated in 215 the EPP session. 217 The server MUST satisfy the following obligations when the EAI 218 extension has been negotiated: 220 * Accept EAI compatible addresses for all email properties in the 221 EPP session negotiated object extensions and command-response 222 extensions. For example the element in [RFC5733] 223 and the element in [RFC8543]. 225 * Accept EAI compatible addresses for all registry zones (e.g., top- 226 level domains) authorized for the client in the EPP session. 228 * Email address validation based on EAI validation rules defined in 229 Section 3 231 * Storage of email properties that support internationalized 232 characters. 234 * Return EAI compatible addresses for all email properties in the 235 EPP responses. 237 The client MUST satisfy the following obligations when THE EAI 238 extension has been negotiated: 240 * Provide EAI compatible addresses for all e-mail properties in the 241 EPP session negotiated object extensions and command-response 242 extensions. For example the element in [RFC5733] 243 and the element in [RFC8543]. 245 * Provide EAI compatible addresses for all registry zones (e.g., 246 top-level domains) authorized for the client in the EPP session. 248 * Accept EAI compatible addresses in the EPP responses for all email 249 properties in the EPP session negotiated object extensions and 250 command-response extensions. 252 5.3.2. EAI Functional Extension Not Negotiated 254 The lack of EAI support can cause data and functional issues, so an 255 EAI supporting client or server needs to handle cases where the 256 opposite party doesn't support EAI. Below are the server and client 257 obligations when the EAI extension is not negotiated due to the lack 258 of support by the peer. 260 The EAI supporting server MUST satisfy the following obligations when 261 the client does not support the EAI extension: 263 * When the email property is required in the EPP command, the server 264 SHOULD validate the email property sent by the client using the 265 ASCII email validation rules. 267 * When the email property is optional in the EPP command, if the 268 client supplies the email property the server SHOULD validate the 269 email property using the ASCII email validation rules. 271 * When the email property is required in the EPP response, the 272 server MUST validate whether the email property is an EAI address 273 and if so return the error code 2308 "Data management policy 274 violation". 276 * When the email property is optional in the EPP response and is 277 provided, the server MUST validate whether the email property is 278 an EAI address and if so return the error code 2308 "Data 279 management policy violation". 281 The EAI supporting client MUST satisfy the following obligations when 282 the server does not support the EAI extension: 284 * When the email property is required in the EPP command and the 285 email property is an EAI address, the client MUST provide an ASCII 286 email address. The provided email address should provide a way to 287 contact the registrant. It can be a secondary ASCII email address 288 or registrar-provided proxy email address. 290 * When the email property is optional in the EPP command and the 291 email property is an EAI address with no alternative ASCII 292 address, the client SHOULD omit the email property. If the email 293 property is provided, the client MUST provide an ASCII email 294 address. The provided email address should provide a way to 295 contact the registrant. It can be a secondary ASCII email address 296 or registrar-provided proxy email address. 298 6. Security Considerations 300 Registries SHOULD validate the domain names in the provided email 301 addresses. This can be done by validating all code points according 302 to IDNA2008 [RFC5892]. 304 7. IANA Considerations 306 7.1. XML Namespace 308 This document uses URNs to describe XML namespaces and XML schemas 309 conforming to a registry mechanism described in RFC 3688 [RFC3688]. 310 The following URI assignment should be made by IANA: 312 Registration request for the eai namespace: 314 URI: urn:ietf:params:xml:ns:epp:eai-0.3 315 Registrant Contact: IESG 316 XML: None. Namespace URIs do not represent an XML specification. 318 Registration request for the eai XML Schema: 320 URI: urn:ietf:params:xml:schema:epp:eai-0.3 321 Registrant Contact: IESG 322 XML: See the "Formal Syntax" section of this document. 324 7.2. EPP Extension Registry 326 The EPP extension described in this document should be registered by 327 IANA in the "Extensions for the Extensible Provisioning Protocol 328 (EPP)" registry described in RFC 7451 [RFC7451]. The details of the 329 registration are as follows: 331 Name of Extension: Use of Internationalized Email Addresses 332 in EPP protocol 333 Document status: Standards Track 334 Reference: TBA 335 Registrant Name and Email Address: IESG, 336 Top-Level Domains(TLDs): Any 337 IPR Disclosure: None 338 Status: Active 339 Notes: None 341 8. Implementation Considerations 343 Registries MAY apply extra limitation to the email address syntax 344 (e.g. the addresses can be limited to Left-to-Right scripts). These 345 limitations are out of scope of this document. 347 9. References 349 9.1. Normative References 351 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 352 Requirement Levels", BCP 14, RFC 2119, 353 DOI 10.27487/RFC2119, March 1997, 354 . 356 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 357 DOI 10.27487/RFC3688, January 2004, 358 . 360 [RFC5321] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321, 361 DOI 10.17487/RFC5321, October 2008, 362 . 364 [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322, 365 DOI 10.17487/RFC5322, October 2008, 366 . 368 [RFC5730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)", 369 STD 69, RFC 5730, DOI 10.27487/RFC5730, August 2009, 370 . 372 [RFC5733] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) 373 Contact Mapping", STD 69, RFC 5733, DOI 10.27487/RFC5733, 374 August 2009, . 376 [RFC5890] Klensin, J., "Internationalized Domain Names for 377 Applications (IDNA): Definitions and Document Framework", 378 RFC 5890, DOI 10.17487/RFC5890, August 2010, 379 . 381 [RFC6530] Klensin, J. and Y. Ko, "Overview and Framework for 382 Internationalized Email", RFC 6530, DOI 10.27487/RFC6530, 383 February 2012, . 385 [RFC6531] Yao, J. and W. Mao, "SMTP Extension for Internationalized 386 Email", RFC 6531, DOI 10.17487/RFC6531, February 2012, 387 . 389 [RFC6532] Yang, A., Steele, S., and N. Freed, "Internationalized 390 Email Headers", RFC 6532, DOI 10.17487/RFC6532, February 391 2012, . 393 [RFC7451] Hollenbeck, S., "Extension Registry for the Extensible 394 Provisioning Protocol", RFC 7451, DOI 10.27487/RFC7451, 395 February 2015, . 397 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 398 2119 Key Words", BCP 14, RFC 8174, DOI 10.27487/RFC8174, 399 May 2017, . 401 9.2. Informative References 403 [RFC5892] Faltstrom, P., Ed., "The Unicode Code Points and 404 Internationalized Domain Names for Applications (IDNA)", 405 RFC 5892, DOI 10.27487/RFC5892, August 2010, 406 . 408 [RFC8543] Zhou, L., Kong, N., Yao, J., Gould, J., and G. Zhou, 409 "Extensible Provisioning Protocol (EPP) Organization 410 Mapping", RFC 8543, DOI 10.27487/RFC8543, March 2019, 411 . 413 Appendix A. Change History 415 A.1. Change from 00 to 01 417 1. Changed from update of RFC 5733 to use the "Placeholder Text and 418 a New Email Element" EPP Extension approach. 420 A.2. Change from 01 to 02 422 1. Fixed the XML schema and the XML examples based on validating 423 them. 425 2. Added James Gould as co-author. 427 3. Updated the language to apply to any EPP object mapping and to 428 use the EPP contact mapping as an example. 430 4. Updated the structure of document to be consistent with the other 431 Command-Response Extensions. 433 5. Replaced the use of "eppEAI" in the XML namespace and the XML 434 namespace prefix with "eai". 436 6. Changed to use a pointed XML namespace with "0.2" instead of 437 "1.0". 439 A.3. Change from 02 to 03 441 1. The approach has changed to use the concept of Functional EPP 442 Extension. 444 2. The examples are removed 446 A.4. Change from 03 to 04 448 1. More detailed reference to email syntax is provided 450 2. The shortened eai namespace reference is removed 452 A.5. Change from 04 to the regext 01 version 454 1. Provided the recommended placeholder value 456 A.6. Change from the regext 01 to regext 02 version 458 1. Removed the concept of the placeholder value 460 A.7. Change from the regext 02 to regext 03 version 462 1. Changed to use a pointed XML namespace with "0.3" instead of 463 "0.2". 465 2. Some wording improvements 467 A.8. Change from the regext 03 to regext 04 version 469 1. Some nitpicking 471 Authors' Addresses 472 Dmitry Belyavskiy 473 8 marta st. 474 Moscow 475 127083 476 Russian Federation 478 Phone: +7 916 262 5593 479 Email: beldmit@gmail.com 481 James Gould 482 VeriSign, Inc. 483 12061 Bluemont Way 484 Reston, VA 20190 485 United States of America 487 Email: jgould@verisign.com 488 URI: http://www.verisigninc.com