draft-ietf-regext-login-security-06.txt   draft-ietf-regext-login-security-07.txt 
Network Working Group J. Gould Network Working Group J. Gould
Internet-Draft M. Pozun Internet-Draft M. Pozun
Intended status: Standards Track VeriSign, Inc. Intended status: Standards Track VeriSign, Inc.
Expires: May 22, 2020 November 19, 2019 Expires: June 8, 2020 December 6, 2019
Login Security Extension for the Extensible Provisioning Protocol (EPP) Login Security Extension for the Extensible Provisioning Protocol (EPP)
draft-ietf-regext-login-security-06 draft-ietf-regext-login-security-07
Abstract Abstract
The Extensible Provisioning Protocol (EPP) includes a client The Extensible Provisioning Protocol (EPP) includes a client
authentication scheme that is based on a user identifier and authentication scheme that is based on a user identifier and
password. The structure of the password field is defined by an XML password. The structure of the password field is defined by an XML
Schema data type that specifies minimum and maximum password length Schema data type that specifies minimum and maximum password length
values, but there are no other provisions for password management values, but there are no other provisions for password management
other than changing the password. This document describes an EPP other than changing the password. This document describes an EPP
extension that allows longer passwords to be created and adds extension that allows longer passwords to be created and adds
skipping to change at page 1, line 37 skipping to change at page 1, line 37
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 May 22, 2020. This Internet-Draft will expire on June 8, 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 15 skipping to change at page 2, line 15
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Conventions Used in This Document . . . . . . . . . . . . 3 1.1. Conventions Used in This Document . . . . . . . . . . . . 3
2. Migrating to Newer Versions of This Extension . . . . . . . . 3 2. Migrating to Newer Versions of This Extension . . . . . . . . 3
3. Object Attributes . . . . . . . . . . . . . . . . . . . . . . 4 3. Object Attributes . . . . . . . . . . . . . . . . . . . . . . 4
3.1. Event . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1. Event . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2. "[LOGIN-SECURITY]" Password . . . . . . . . . . . . . . . 5 3.2. "[LOGIN-SECURITY]" Password . . . . . . . . . . . . . . . 6
3.3. Dates and Times . . . . . . . . . . . . . . . . . . . . . 6 3.3. Dates and Times . . . . . . . . . . . . . . . . . . . . . 6
4. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 6 4. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 6
4.1. EPP <login> Command . . . . . . . . . . . . . . . . . . . 6 4.1. EPP <login> Command . . . . . . . . . . . . . . . . . . . 6
5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 14 5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 14
5.1. Login Security Extension Schema . . . . . . . . . . . . . 14 5.1. Login Security Extension Schema . . . . . . . . . . . . . 14
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16
6.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 16 6.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 16
6.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 17 6.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 17
7. Implementation Status . . . . . . . . . . . . . . . . . . . . 17 7. Implementation Status . . . . . . . . . . . . . . . . . . . . 17
7.1. Verisign EPP SDK . . . . . . . . . . . . . . . . . . . . 18 7.1. Verisign EPP SDK . . . . . . . . . . . . . . . . . . . . 18
8. Security Considerations . . . . . . . . . . . . . . . . . . . 18 8. Security Considerations . . . . . . . . . . . . . . . . . . . 18
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 19 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 19
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 19
10.1. Normative References . . . . . . . . . . . . . . . . . . 19 10.1. Normative References . . . . . . . . . . . . . . . . . . 19
10.2. Informative References . . . . . . . . . . . . . . . . . 19 10.2. Informative References . . . . . . . . . . . . . . . . . 19
10.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 20 10.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Appendix A. Change History . . . . . . . . . . . . . . . . . . . 20 Appendix A. Change History . . . . . . . . . . . . . . . . . . . 20
A.1. Change from 00 to 01 . . . . . . . . . . . . . . . . . . 20 A.1. Change from 00 to 01 . . . . . . . . . . . . . . . . . . 20
A.2. Change from 01 to 02 . . . . . . . . . . . . . . . . . . 20 A.2. Change from 01 to 02 . . . . . . . . . . . . . . . . . . 20
A.3. Change from 02 to 03 . . . . . . . . . . . . . . . . . . 20 A.3. Change from 02 to 03 . . . . . . . . . . . . . . . . . . 20
A.4. Change from 03 to REGEXT 00 . . . . . . . . . . . . . . . 20 A.4. Change from 03 to REGEXT 00 . . . . . . . . . . . . . . . 21
A.5. Change from REGEXT 00 to REGEXT 01 . . . . . . . . . . . 20 A.5. Change from REGEXT 00 to REGEXT 01 . . . . . . . . . . . 21
A.6. Change from REGEXT 01 to REGEXT 02 . . . . . . . . . . . 21 A.6. Change from REGEXT 01 to REGEXT 02 . . . . . . . . . . . 21
A.7. Change from REGEXT 02 to REGEXT 03 . . . . . . . . . . . 21 A.7. Change from REGEXT 02 to REGEXT 03 . . . . . . . . . . . 21
A.8. Change from REGEXT 03 to REGEXT 04 . . . . . . . . . . . 22 A.8. Change from REGEXT 03 to REGEXT 04 . . . . . . . . . . . 22
A.9. Change from REGEXT 04 to REGEXT 05 . . . . . . . . . . . 22 A.9. Change from REGEXT 04 to REGEXT 05 . . . . . . . . . . . 22
A.10. Change from REGEXT 05 to REGEXT 06 . . . . . . . . . . . 22 A.10. Change from REGEXT 05 to REGEXT 06 . . . . . . . . . . . 23
A.11. Change from REGEXT 06 to REGEXT 07 . . . . . . . . . . . 23
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23
1. Introduction 1. Introduction
This document describes an Extensible Provisioning Protocol (EPP) This document describes an Extensible Provisioning Protocol (EPP)
extension for enhancing the security of the EPP login command in EPP extension for enhancing the security of the EPP login command in EPP
[RFC5730]. The enhancements include supporting longer passwords (or [RFC5730]. The enhancements include supporting longer passwords (or
passphrases) than the 16-character maximum and providing a list of passphrases) than the 16-character maximum and providing a list of
security events in the login response. The password (current and security events in the login response. The password (current and
new) in EPP [RFC5730] can be overridden by the password included in new) in EPP [RFC5730] can be overridden by the password included in
skipping to change at page 8, line 5 skipping to change at page 7, line 31
"[LOGIN-SECURITY]" value. "[LOGIN-SECURITY]" value.
<loginSec:newPW>: OPTIONAL plain text new password that is case <loginSec:newPW>: OPTIONAL plain text new password that is case
sensitive, has a minimum length of 6 characters, and has a sensitive, has a minimum length of 6 characters, and has a
maximum length that is up to server policy. All leading and maximum length that is up to server policy. All leading and
trailing whitespace is removed, and all internal contiguous trailing whitespace is removed, and all internal contiguous
whitespace that includes #x9 (tab), #xA (linefeed), #xD (carriage whitespace that includes #x9 (tab), #xA (linefeed), #xD (carriage
return), and #x20 (space) is replaced with a single #x20 (space). return), and #x20 (space) is replaced with a single #x20 (space).
This element MUST only be used if the [RFC5730] <newPW> element This element MUST only be used if the [RFC5730] <newPW> element
is set to the "[LOGIN-SECURITY]" value. is set to the "[LOGIN-SECURITY]" value.
It is recommended that the plain text password in the <loginSec:pw>
and <loginSec:newPw> elements use printable ASCII characters #x20
(space) - #x7E (~), with high entropy, such as 128 bits. If non-
ASCII characters are supported with the plain text password, then use
a standard for passwords with international characters, such as the
OpaqueString PRECIS profile in [RFC8265].
Example login command that uses the <loginSec:pw> element instead of Example login command that uses the <loginSec:pw> element instead of
the [RFC5730] <pw> element to establish the session and includes the the [RFC5730] <pw> element to establish the session and includes the
<loginSec:userAgent> element: <loginSec:userAgent> element:
C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
C: <command> C: <command>
C: <login> C: <login>
C: <clID>ClientX</clID> C: <clID>ClientX</clID>
C: <pw>[LOGIN-SECURITY]</pw> C: <pw>[LOGIN-SECURITY]</pw>
skipping to change at page 19, line 12 skipping to change at page 19, line 12
The extension provides an extensible list of login security events to The extension provides an extensible list of login security events to
inform clients of connection and login warnings and errors. inform clients of connection and login warnings and errors.
9. Acknowledgements 9. Acknowledgements
The authors wish to thank the following persons for their feedback The authors wish to thank the following persons for their feedback
and suggestions: and suggestions:
o Martin Casanova o Martin Casanova
o Scott Hollenbeck o Scott Hollenbeck
o Barry Leiba
o Patrick Mevzek o Patrick Mevzek
o Joseph Yee o Joseph Yee
10. References 10. References
10.1. Normative References 10.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
skipping to change at page 20, line 5 skipping to change at page 20, line 5
10.2. Informative References 10.2. Informative References
[RFC7451] Hollenbeck, S., "Extension Registry for the Extensible [RFC7451] Hollenbeck, S., "Extension Registry for the Extensible
Provisioning Protocol", RFC 7451, DOI 10.17487/RFC7451, Provisioning Protocol", RFC 7451, DOI 10.17487/RFC7451,
February 2015, <https://www.rfc-editor.org/info/rfc7451>. February 2015, <https://www.rfc-editor.org/info/rfc7451>.
[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>.
[RFC8265] Saint-Andre, P. and A. Melnikov, "Preparation,
Enforcement, and Comparison of Internationalized Strings
Representing Usernames and Passwords", RFC 8265,
DOI 10.17487/RFC8265, October 2017,
<https://www.rfc-editor.org/info/rfc8265>.
10.3. URIs 10.3. URIs
[1] https://pages.nist.gov/800-63-3/sp800-63b.html [1] https://pages.nist.gov/800-63-3/sp800-63b.html
Appendix A. Change History Appendix A. Change History
[[RFC Editor: Please remove this section.]]
A.1. Change from 00 to 01 A.1. Change from 00 to 01
1. Based on the feedback from Patrick Mevzek and a proposal from 1. Based on the feedback from Patrick Mevzek and a proposal from
Scott Hollenbeck, changed the minimum length of the password from Scott Hollenbeck, changed the minimum length of the password from
8 to 6, revised the description of the password, and added text 8 to 6, revised the description of the password, and added text
in the Security Considerations section for the server password in the Security Considerations section for the server password
length policy. length policy.
A.2. Change from 01 to 02 A.2. Change from 01 to 02
skipping to change at page 23, line 4 skipping to change at page 23, line 10
9. In section 4.1, change "Example EPP response to a successful 9. In section 4.1, change "Example EPP response to a successful
login command where the password will expire in a week:" to login command where the password will expire in a week:" to
"Example EPP response to a successful login command on "Example EPP response to a successful login command on
2018-03-25, where the password will expire in a week:". 2018-03-25, where the password will expire in a week:".
A.10. Change from REGEXT 05 to REGEXT 06 A.10. Change from REGEXT 05 to REGEXT 06
Updates based on the review by Brian Carpenter, that include: Updates based on the review by Brian Carpenter, that include:
1. In section 1, change the references to RFC 5730 to use links. 1. In section 1, change the references to RFC 5730 to use links.
2. In section 2, change "(for a temporary migration period)" to 2. In section 2, change "(for a temporary migration period)" to
"(for a temporary migration period up to server policy)". "(for a temporary migration period up to server policy)".
A.11. Change from REGEXT 06 to REGEXT 07
1. Based on feedback from Barry Leiba, added recommendations on the
characters used for the plain text password. Recommended the use
of printable ASCII passwords and if non-ASCII characters are
supported, to use a standard for passwords with international
characters, such as the OpaqueString PRECIS profile in [RFC8265].
2. Based on the feedback from Carlos Pignataro, added "[[RFC Editor:
Please remove this section.]]" to the "Change History" section.
Authors' Addresses Authors' Addresses
James Gould James Gould
VeriSign, Inc. VeriSign, Inc.
12061 Bluemont Way 12061 Bluemont Way
Reston, VA 20190 Reston, VA 20190
US US
Email: jgould@verisign.com Email: jgould@verisign.com
URI: http://www.verisign.com URI: http://www.verisign.com
 End of changes. 12 change blocks. 
8 lines changed or deleted 34 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/