draft-ietf-eppext-keyrelay-10.txt   draft-ietf-eppext-keyrelay-11.txt 
eppext H.W. Ribbers eppext H.W. Ribbers
Internet-Draft M.W. Groeneweg Internet-Draft M.W. Groeneweg
Intended status: Standards Track SIDN Intended status: Standards Track SIDN
Expires: April 12, 2016 R. Gieben Expires: June 8, 2016 R. Gieben
A.L.J. Verschuren A.L.J. Verschuren
October 10, 2015 December 6, 2015
Key Relay Mapping for the Extensible Provisioning Protocol Key Relay Mapping for the Extensible Provisioning Protocol
draft-ietf-eppext-keyrelay-10 draft-ietf-eppext-keyrelay-11
Abstract Abstract
This document describes an Extensible Provisioning Protocol (EPP) This document describes an Extensible Provisioning Protocol (EPP)
mapping for a key relay object that relays DNSSEC key material mapping for a key relay object that relays DNSSEC key material
between EPP clients using the poll queue defined in RFC5730. between EPP clients using the poll queue defined in RFC5730.
This key relay mapping will help facilitate changing the DNS operator This key relay mapping will help facilitate changing the DNS operator
of a domain while keeping the DNSSEC chain of trust intact. of a domain while keeping the DNSSEC chain of trust intact.
skipping to change at page 1, line 39 skipping to change at page 1, line 39
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 http://datatracker.ietf.org/drafts/current/. Drafts is at http://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 April 12, 2016. This Internet-Draft will expire on June 8, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2015 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
(http://trustee.ietf.org/license-info) in effect on the date of (http://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 17 skipping to change at page 2, line 17
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 . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Conventions Used in This Document . . . . . . . . . . . . 3 1.1. Conventions Used in This Document . . . . . . . . . . . . 3
1.2. Secure Transfer of DNSSEC Key Material . . . . . . . . . 3 1.2. Secure Transfer of DNSSEC Key Material . . . . . . . . . 3
2. Object Attributes . . . . . . . . . . . . . . . . . . . . . . 4 2. Object Attributes . . . . . . . . . . . . . . . . . . . . . . 4
2.1. DNSSEC Key Material . . . . . . . . . . . . . . . . . . . 4 2.1. DNSSEC Key Material . . . . . . . . . . . . . . . . . . . 4
2.1.1. <keyRelayData> element . . . . . . . . . . . . . . . 4 2.1.1. <keyRelayData> element . . . . . . . . . . . . . . . 5
3. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 5 3. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 5
3.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . 5 3.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . 5
3.1.1. EPP <check> Command . . . . . . . . . . . . . . . . . 5 3.1.1. EPP <check> Command . . . . . . . . . . . . . . . . . 6
3.1.2. EPP <info> Command . . . . . . . . . . . . . . . . . 6 3.1.2. EPP <info> Command . . . . . . . . . . . . . . . . . 6
3.1.3. EPP <transfer> Command . . . . . . . . . . . . . . . 8 3.1.3. EPP <transfer> Command . . . . . . . . . . . . . . . 8
3.2. EPP Transform Commands . . . . . . . . . . . . . . . . . 8 3.2. EPP Transform Commands . . . . . . . . . . . . . . . . . 8
3.2.1. EPP <create> Command . . . . . . . . . . . . . . . . 8 3.2.1. EPP <create> Command . . . . . . . . . . . . . . . . 8
3.2.2. EPP <delete> Command . . . . . . . . . . . . . . . . 10 3.2.2. EPP <delete> Command . . . . . . . . . . . . . . . . 10
3.2.3. EPP <renew> Command . . . . . . . . . . . . . . . . . 10 3.2.3. EPP <renew> Command . . . . . . . . . . . . . . . . . 10
3.2.4. EPP <transfer> Command . . . . . . . . . . . . . . . 11 3.2.4. EPP <transfer> Command . . . . . . . . . . . . . . . 11
3.2.5. EPP <update> Command . . . . . . . . . . . . . . . . 11 3.2.5. EPP <update> Command . . . . . . . . . . . . . . . . 11
4. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 11 4. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 11
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
5.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 12 5.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 12
5.2. XML Schema . . . . . . . . . . . . . . . . . . . . . . . 13 5.2. XML Schema . . . . . . . . . . . . . . . . . . . . . . . 12
5.3. EPP Extension Registry . . . . . . . . . . . . . . . . . 13 5.3. EPP Extension Registry . . . . . . . . . . . . . . . . . 13
6. Security Considerations . . . . . . . . . . . . . . . . . . . 13 6. Security Considerations . . . . . . . . . . . . . . . . . . . 13
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 14
8.1. Normative References . . . . . . . . . . . . . . . . . . 14 8.1. Normative References . . . . . . . . . . . . . . . . . . 14
8.2. Informative References . . . . . . . . . . . . . . . . . 14 8.2. Informative References . . . . . . . . . . . . . . . . . 14
Appendix A. Changelog . . . . . . . . . . . . . . . . . . . . . 15 Appendix A. Changelog . . . . . . . . . . . . . . . . . . . . . 14
A.1. draft-gieben-epp-keyrelay-00 . . . . . . . . . . . . . . 15 A.1. draft-gieben-epp-keyrelay-00 . . . . . . . . . . . . . . 15
A.2. draft-gieben-epp-keyrelay-01 . . . . . . . . . . . . . . 15 A.2. draft-gieben-epp-keyrelay-01 . . . . . . . . . . . . . . 15
A.3. draft-gieben-epp-keyrelay-02 . . . . . . . . . . . . . . 15 A.3. draft-gieben-epp-keyrelay-02 . . . . . . . . . . . . . . 15
A.4. draft-gieben-epp-keyrelay-03 . . . . . . . . . . . . . . 15 A.4. draft-gieben-epp-keyrelay-03 . . . . . . . . . . . . . . 15
A.5. draft-ietf-eppext-keyrelay-00 . . . . . . . . . . . . . . 15 A.5. draft-ietf-eppext-keyrelay-00 . . . . . . . . . . . . . . 15
A.6. draft-ietf-eppext-keyrelay-01 . . . . . . . . . . . . . . 16 A.6. draft-ietf-eppext-keyrelay-01 . . . . . . . . . . . . . . 15
A.7. draft-ietf-eppext-keyrelay-02 . . . . . . . . . . . . . . 16 A.7. draft-ietf-eppext-keyrelay-02 . . . . . . . . . . . . . . 16
A.8. draft-ietf-eppext-keyrelay-03 . . . . . . . . . . . . . . 16 A.8. draft-ietf-eppext-keyrelay-03 . . . . . . . . . . . . . . 16
A.9. draft-ietf-eppext-keyrelay-04 . . . . . . . . . . . . . . 16 A.9. draft-ietf-eppext-keyrelay-04 . . . . . . . . . . . . . . 16
A.10. draft-ietf-eppext-keyrelay-05 . . . . . . . . . . . . . . 16 A.10. draft-ietf-eppext-keyrelay-05 . . . . . . . . . . . . . . 16
A.11. draft-ietf-eppext-keyrelay-06 . . . . . . . . . . . . . . 17 A.11. draft-ietf-eppext-keyrelay-06 . . . . . . . . . . . . . . 16
A.12. draft-ietf-eppext-keyrelay-07 . . . . . . . . . . . . . . 17 A.12. draft-ietf-eppext-keyrelay-07 . . . . . . . . . . . . . . 17
A.13. draft-ietf-eppext-keyrelay-08 . . . . . . . . . . . . . . 17 A.13. draft-ietf-eppext-keyrelay-08 . . . . . . . . . . . . . . 17
A.14. draft-ietf-eppext-keyrelay-09 . . . . . . . . . . . . . . 17 A.14. draft-ietf-eppext-keyrelay-09 . . . . . . . . . . . . . . 17
A.15. draft-ietf-eppext-keyrelay-10 . . . . . . . . . . . . . . 17 A.15. draft-ietf-eppext-keyrelay-10 . . . . . . . . . . . . . . 17
A.16. draft-ietf-eppext-keyrelay-11 . . . . . . . . . . . . . . 17
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17
1. Introduction 1. Introduction
There are certain transactions initiated by a DNS-operator, which There are certain transactions initiated by a DNS-operator that
require an authenticated exchange of information between DNS- require an authenticated exchange of information between DNS-
operators. Often, there is no direct channel between these parties operators. Often, there is no direct channel between these parties
or it is non-scalable and insecure. or it is non-scalable and insecure.
One such transaction is the exchange of DNSSEC key material when One such transaction is the exchange of DNSSEC key material when
changing the DNS operator for DNSSEC signed zones. We suggest that changing the DNS operator for DNSSEC signed zones. We suggest that
DNS-operators use the administrative EPP channel to bootstrap the DNS-operators use the administrative EPP channel to bootstrap the
delegation by relaying DNSSEC key material for the zone. delegation by relaying DNSSEC key material for the zone.
In this document we define an EPP extension to support and automate In this document we define an EPP extension to provide automation and
this transaction. a reliable transfer of DNSSEC key material.
1.1. Conventions Used in This Document 1.1. Conventions Used in This Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in BCP 14, RFC 2119 document are to be interpreted as described in BCP 14, RFC 2119
[RFC2119]. [RFC2119].
XML is case sensitive. Unless stated otherwise, XML specifications XML is case sensitive. Unless stated otherwise, XML specifications
and examples provided in this document MUST be interpreted in the and examples provided in this document MUST be interpreted in the
skipping to change at page 4, line 16 skipping to change at page 4, line 16
other (the ~ arrow in Figure 1) to exchange the DNSKEY, but often other (the ~ arrow in Figure 1) to exchange the DNSKEY, but often
there is no trusted path between the two. As both can securely there is no trusted path between the two. As both can securely
interact with the registry over the administrative channel through interact with the registry over the administrative channel through
the registrar, the registry can act as a relay for the key material the registrar, the registry can act as a relay for the key material
exchange. exchange.
The registry is merely used as a relay channel. Therefore it is up The registry is merely used as a relay channel. Therefore it is up
to the losing DNS-operator to complete the intended transaction. The to the losing DNS-operator to complete the intended transaction. The
registry SHOULD have certain policies in place that require the registry SHOULD have certain policies in place that require the
losing DNS operator to cooperate with this transaction, however this losing DNS operator to cooperate with this transaction, however this
is beyond this I-D. This I-D focuses on the EPP protocol syntax. is beyond this document. This document focuses on the EPP protocol
syntax.
+--------------------+ DNSKEY +---------------------+ +--------------------+ DNSKEY +---------------------+
|gaining DNS operator| ~~~~~~~~> | losing DNS operator | |gaining DNS operator| ~~~~~~~~> | losing DNS operator |
+--------------------+ +---------------------+ +--------------------+ +---------------------+
| ^ | ^
| | | |
V | V |
+--------------------+ +---------------------+ +--------------------+ +---------------------+
| gaining registrar | | registrar of record | | gaining registrar | | registrar of record |
+--------------------+ +---------------------+ +--------------------+ +---------------------+
skipping to change at page 5, line 19 skipping to change at page 5, line 23
of the relayed key(s) in the zone. When the <expiry> element is of the relayed key(s) in the zone. When the <expiry> element is
provided the losing DNS operator SHOULD remove the inserted key provided the losing DNS operator SHOULD remove the inserted key
material from the zone after the expire time. This may be because material from the zone after the expire time. This may be because
the transaction that needed the insertion should either be the transaction that needed the insertion should either be
completed or abandoned by that time. If a client receives a key completed or abandoned by that time. If a client receives a key
relay object that has been sent previously it MUST update the relay object that has been sent previously it MUST update the
expire time of the key material. This enables the clients to expire time of the key material. This enables the clients to
update the lifetime of the key material when a transfer is update the lifetime of the key material when a transfer is
delayed. delayed.
The <expiry> element MUST contain one of the following child The <expiry> element MUST contain exactly one of the following child
elements: elements:
* <absolute>: The DNSSEC key material is valid from the current * <absolute>: The DNSSEC key material is valid from the current
date and time until it expires on the specified date and time. If a date and time until it expires on the specified date and time. If a
date in the past is provided this MUST be interpreted as a revocation date in the past is provided this MUST be interpreted as a revocation
of a previously send key relay object. of a previously sent key relay object.
* <relative>: The DNSSEC key material is valid from the current date * <relative>: The DNSSEC key material is valid from the current date
and time until the end of the specified duration. If a period of and time until the end of the specified duration. If a period of
zero is provided this MUST be interpreted as a revocation of a zero is provided this MUST be interpreted as a revocation of a
previously send key relay object. previously sent key relay object.
3. EPP Command Mapping 3. EPP Command Mapping
A detailed description of the EPP syntax and semantics can be found A detailed description of the EPP syntax and semantics can be found
in the EPP core protocol specification [RFC5730]. The command in the EPP core protocol specification [RFC5730]. The command
mapping described here is specifically for use in this key relay mapping described here is specifically for use in this key relay
mapping. mapping.
3.1. EPP Query Commands 3.1. EPP Query Commands
skipping to change at page 11, line 36 skipping to change at page 11, line 36
xmlns="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"> elementFormDefault="qualified">
<annotation> <annotation>
<documentation> <documentation>
Extensible Provisioning Protocol v1.0 protocol Extensible Provisioning Protocol v1.0 protocol
extension schema for relaying DNSSEC key material. extension schema for relaying DNSSEC key material.
</documentation> </documentation>
</annotation> </annotation>
<import namespace="urn:ietf:params:xml:ns:epp-1.0" <import namespace="urn:ietf:params:xml:ns:epp-1.0" />
schemaLocation="epp-1.0.xsd" /> <import namespace="urn:ietf:params:xml:ns:eppcom-1.0" />
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0" <import namespace="urn:ietf:params:xml:ns:secDNS-1.1" />
schemaLocation="eppcom-1.0.xsd" /> <import namespace="urn:ietf:params:xml:ns:domain-1.0" />
<import namespace="urn:ietf:params:xml:ns:secDNS-1.1"
schemaLocation="secdns-1.1.xsd" />
<import namespace="urn:ietf:params:xml:ns:domain-1.0"
schemaLocation="domain-1.0.xsd" />
<element name="keyRelayData" type="keyrelay:keyRelayDataType" /> <element name="keyRelayData" type="keyrelay:keyRelayDataType" />
<element name="infData" type="keyrelay:infDataType" /> <element name="infData" type="keyrelay:infDataType" />
<element name="create" type="keyrelay:createType" /> <element name="create" type="keyrelay:createType" />
<complexType name="createType"> <complexType name="createType">
<sequence> <sequence>
<element name="name" type="eppcom:labelType" /> <element name="name" type="eppcom:labelType" />
<element name="authInfo" type="domain:authInfoType" /> <element name="authInfo" type="domain:authInfoType" />
<element name="keyRelayData" type="keyrelay:keyRelayDataType" <element name="keyRelayData" type="keyrelay:keyRelayDataType"
skipping to change at page 13, line 11 skipping to change at page 13, line 5
document. document.
XML: See the "Formal Syntax" section of this document. XML: See the "Formal Syntax" section of this document.
5.2. XML Schema 5.2. XML Schema
This document uses URNs to describe a XML schema conforming to a This document uses URNs to describe a XML schema conforming to a
registry mechanism described in [RFC3688]. The following URI registry mechanism described in [RFC3688]. The following URI
assignment is requested of IANA: assignment is requested of IANA:
URI: urn:ietf:params:xml:ns:keyrelay-1.0 URI: urn:ietf:params:xml:schema:keyrelay-1.0
XML: See the "Formal Syntax" section of this document. XML: See the "Formal Syntax" section of this document.
5.3. EPP Extension Registry 5.3. EPP Extension Registry
The EPP extension described in this document should be registered by The EPP extension described in this document should be registered by
the IANA in the EPP Extension Registry described in [RFC7451]. The the IANA in the EPP Extension Registry described in [RFC7451]. The
details of the registration are as follows: details of the registration are as follows:
Name of Extension: "Key Relay Mapping for the Extensible Provisioning Name of Extension: "Key Relay Mapping for the Extensible Provisioning
skipping to change at page 14, line 5 skipping to change at page 13, line 48
queue of another EPP client, allowing for the potential of a denial queue of another EPP client, allowing for the potential of a denial
of service attack. However this can, and SHOULD be detected by the of service attack. However this can, and SHOULD be detected by the
server. A server MAY set a server policy which limits or rejects a server. A server MAY set a server policy which limits or rejects a
<keyrelay:create> command if it detects the mechanism is being <keyrelay:create> command if it detects the mechanism is being
abused. abused.
For the <keyrelay:keyRelayData> data a correct <domain:authInfo> For the <keyrelay:keyRelayData> data a correct <domain:authInfo>
element SHOULD be used as an indication that putting the key material element SHOULD be used as an indication that putting the key material
on the receiving EPP clients poll queue is authorized by the on the receiving EPP clients poll queue is authorized by the
_registrant_ of that domain name. The authorization of EPP clients _registrant_ of that domain name. The authorization of EPP clients
to perform DNS changes is not covered in this I-D as it depends on to perform DNS changes is not covered in this document as it depends
registry specific policy. on registry specific policy.
7. Acknowledgements 7. Acknowledgements
We like to thank the following individuals for their valuable input, We like to thank the following individuals for their valuable input,
review, constructive criticism in earlier revisions or support for review, constructive criticism in earlier revisions or support for
the concepts described in this document: the concepts described in this document:
Maarten Wullink, Marco Davids, Ed Lewis, James Mitchell, David Peal, Maarten Wullink, Marco Davids, Ed Lewis, James Mitchell, David Peal,
Patrik Faltstrom, Klaus Malorny, James Gould, Patrick Mevzek, Seth Patrik Faltstrom, Klaus Malorny, James Gould, Patrick Mevzek, Seth
Goldman, Maarten Bosteels, Ulrich Wisser, Kees Monshouwer and Scott Goldman, Maarten Bosteels, Ulrich Wisser, Kees Monshouwer and Scott
skipping to change at page 17, line 27 skipping to change at page 17, line 23
2. fixed issue with relative period in example xml 2. fixed issue with relative period in example xml
A.14. draft-ietf-eppext-keyrelay-09 A.14. draft-ietf-eppext-keyrelay-09
1. fixed issue with naming 1. fixed issue with naming
A.15. draft-ietf-eppext-keyrelay-10 A.15. draft-ietf-eppext-keyrelay-10
1. removed 4 spaces 1. removed 4 spaces
A.16. draft-ietf-eppext-keyrelay-11
1. Processed editorial changes from AD review
2. Processed comments made during IETF last call
Authors' Addresses Authors' Addresses
Rik Ribbers Rik Ribbers
SIDN SIDN
Meander 501 Meander 501
Arnhem 6825 MD Arnhem 6825 MD
NL NL
Email: rik.ribbers@sidn.nl Email: rik.ribbers@sidn.nl
URI: https://www.sidn.nl/ URI: https://www.sidn.nl/
 End of changes. 21 change blocks. 
28 lines changed or deleted 32 lines changed or added

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