rfc-8495

Allocation Token Extension for the Extensible Provisioning Protocol (EPP)

J. Gould, K. Feher
date2018-11 streamIETF areaops wgregext statusPROPOSED STANDARD pages17 canonicalhttps://www.rfc-editor.org/rfc/rfc8495 doi10.17487/RFC8495
This document describes an Extensible Provisioning Protocol (EPP) extension for including an Allocation Token in "query" and "transform" commands. The Allocation Token is used as a credential that authorizes a client to request the allocation of a specific object from the server using one of the EPP transform commands, including "create" and "transfer".

Extracted elements (17)

design-rationale §2.1

The Allocation Token and the standard EPP authorization information (e.g., domain:pw) serve different purposes: authorization information is assigned at creation and facilitates transfer of sponsorship, while the Allocation Token facilitates initial allocation and is not managed by the client. The Allocation Token is not a replacement for existing authorization mechanisms.

design-rationale §1

The Allocation Token MAY be returned to an authorized client for passing out-of-band to another client that uses it with an EPP transform command, supporting delegation scenarios such as pre-eligibility or auction-based allocation.

interoperability-note §1.1 MUST NOT

Implementations MUST NOT depend on the XML namespace prefix 'allocationToken' and must instead use a proper namespace-aware XML parser and serializer, since the prefix is only a convention in examples.

interoperability-note §3

This extension does not add any elements to the EPP <check> response, <delete>, <renew>, <update>, or <transfer> query/response described in RFC 5730; only <check> command, <info> command and response, <create> command, and <transfer> command are extended.

normative-requirement §3.1.2 MUST

Clients MAY retrieve the Allocation Token via an <info> command by supplying the empty <allocationToken:info> marker element. If the client is not authorized to receive it, the server MUST return EPP error 2201; if authorized but no token exists, the server MUST return EPP error 2303.

normative-requirement §3.2.1 MUST

For the EPP <create> command, the command MUST contain a child <allocationToken:allocationToken> element for the client to be authorized to create and allocate the object. If the token does not apply, the server MUST return EPP error 2201.

normative-requirement §3.2.4 MUST

For the EPP <transfer> command, the command MUST contain a child <allocationToken:allocationToken> element. The Allocation Token authorization is in addition to, and does not replace, the object's standard transfer authorization mechanism. If invalid or not required, the server MUST return EPP error 2201.

normative-requirement §3.1.1 SHOULD

If an object requires an Allocation Token and the token does not apply to the object, the server SHOULD return the availability status as unavailable (avail=0/false) in response to a <check> command.

normative-requirement §2.1 MUST

If the supplied Allocation Token passed to the server does not apply to the object, the server MUST return an EPP error result code of 2201.

protocol-element §2.1

The Allocation Token is a simple XML 'token' type element (<allocationToken:allocationToken>) used as a credential authorizing a client to request allocation of a specific object. Its exact format is up to server policy, and it is validated by the server to authorize assigning the initial sponsoring client of the object.

registry

protocol-element §3.1.2

The <allocationToken:info> element is an empty marker element included in an EPP <info> command extension to request that the server return the Allocation Token in its response.

registry §5.2

An entry for the 'Allocation Token Extension for EPP' has been added to the Extensions for the Extensible Provisioning Protocol (EPP) registry (RFC 7451), with status Active and applicable to any TLD.

registry

registry §5.1

An XML namespace URN 'urn:ietf:params:xml:ns:allocationToken-1.0' has been registered in the IETF XML Registry (RFC 3688), with IESG as registrant contact.

registry

registry §5.1

An XML schema URN 'urn:ietf:params:xml:schema:allocationToken-1.0' has been registered in the IETF XML Registry (RFC 3688), referencing the formal syntax in Section 4.

registry

security-consideration §6 MUST

An Allocation Token should be considered secret information; it SHOULD be protected at rest and MUST be protected in transit. It should be single-use (unique per object and allocation operation), have a limited lifetime with expiry, use a strong random value if unsigned, and leverage digital signatures if generated by a trusted third party.

security, crypto

security-consideration §6

An Allocation Token that is signed XML should be encoded (e.g., base64 per RFC 4648) to mitigate server validation issues when passed as EPP XML token content.

security

wire-format §4.1

The allocationToken XML schema defines <allocationToken:allocationToken> as an allocationTokenType, which restricts the base 'token' type with a minLength of 1. The <allocationToken:info> element is an empty complexType with anyType restriction.