draft-ietf-crisp-iris-common-transport-04.txt   draft-ietf-crisp-iris-common-transport-05.txt 
Network Working Group A. Newton Network Working Group A. Newton
Internet-Draft VeriSign, Inc. Internet-Draft VeriSign, Inc.
Expires: July 13, 2007 January 9, 2007 Intended status: Standards Track March 5, 2007
Expires: September 6, 2007
A Common Schema for Internet Registry Information Service Transfer A Common Schema for Internet Registry Information Service Transfer
Protocols Protocols
draft-ietf-crisp-iris-common-transport-04 draft-ietf-crisp-iris-common-transport-05
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 34 skipping to change at page 1, line 35
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."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on July 13, 2007. This Internet-Draft will expire on September 6, 2007.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2007). Copyright (C) The IETF Trust (2007).
Abstract Abstract
This document describes an XML Schema for use by Internet Registry This document describes an XML Schema for use by Internet Registry
Information Service (IRIS) application transfer protocols that share Information Service (IRIS) application transfer protocols that share
common characteristics. It describes common information about the common characteristics. It describes common information about the
transfer protocol, such as version, supported extensions, and transfer protocol, such as version, supported extensions, and
supported security mechanisms. supported security mechanisms.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Document Terminology . . . . . . . . . . . . . . . . . . . . . 4 2. Document Terminology . . . . . . . . . . . . . . . . . . . . . 4
3. Formal XML Syntax . . . . . . . . . . . . . . . . . . . . . . 5 3. Formal XML Syntax . . . . . . . . . . . . . . . . . . . . . . 5
4. Version Information . . . . . . . . . . . . . . . . . . . . . 8 4. Version Information . . . . . . . . . . . . . . . . . . . . . 8
5. Size Information . . . . . . . . . . . . . . . . . . . . . . . 9 5. Size Information . . . . . . . . . . . . . . . . . . . . . . . 10
6. Authentication Success Information . . . . . . . . . . . . . . 10 6. Authentication Success Information . . . . . . . . . . . . . . 11
7. Authentication Failure Information . . . . . . . . . . . . . . 11 7. Authentication Failure Information . . . . . . . . . . . . . . 12
8. Other Information . . . . . . . . . . . . . . . . . . . . . . 12 8. Other Information . . . . . . . . . . . . . . . . . . . . . . 13
9. Internationalization Considerations . . . . . . . . . . . . . 13 9. Internationalization Considerations . . . . . . . . . . . . . 14
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15
10.1. XML Namespace URN Registration . . . . . . . . . . . . . 14 10.1. XML Namespace URN Registration . . . . . . . . . . . . . 15
11. Security Considerations . . . . . . . . . . . . . . . . . . . 15 11. Security Considerations . . . . . . . . . . . . . . . . . . . 16
12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 16 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 17
12.1. Normative References . . . . . . . . . . . . . . . . . . 16 12.1. Normative References . . . . . . . . . . . . . . . . . . 17
12.2. Informative References . . . . . . . . . . . . . . . . . 16 12.2. Informative References . . . . . . . . . . . . . . . . . 17
Appendix A. Contributors . . . . . . . . . . . . . . . . . . . . 17 Appendix A. Contributors . . . . . . . . . . . . . . . . . . . . 18
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 18 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 19
Intellectual Property and Copyright Statements . . . . . . . . . . 19 Intellectual Property and Copyright Statements . . . . . . . . . . 20
1. Introduction 1. Introduction
IRIS [8] has two transfer protocols, LWZ [9] and XPC [10], that share IRIS [8] has two transfer protocols, LWZ [9] and XPC [10], that share
common negotiation mechanisms. Both transfer protocols have a need common negotiation mechanisms. Both transfer protocols have a need
for the server to provide rich status information to clients during for the server to provide rich status information to clients during
protocol negotiation. In many cases, this status information would protocol negotiation. In many cases, this status information would
be too complex to describe using simple bit fields and length- be too complex to describe using simple bit fields and length-
specifed octet sequences. This document defines an XML Schema for specifed octet sequences. This document defines an XML Schema for
this rich status information and describes the usage of comforant XML this rich status information and describes the usage of comforant XML
for conveying this status information. for conveying this status information.
This document defines five types of information used in the
negotiation of protocol capabilities: version, size, authentication
success, authentication failure, and other information. The version
information is used to negotiate the versions and extensions to the
transfer protocol, the application operations protocol, and data
models used by the application operations. Size information is used
to indicate request and response size capabilities and errors.
Authentication failure and success information is used to indicate
the outcome of an authentication action. Other types of information
may also be conveyed that is generally a result of an error but
cannot be corrected through defined protocol behavior.
As an example, upon initiation of a connection, a server may send
version information informing the client the data models supported by
the server and the security mechanims supported by the server. The
client may then respond appropriately. For example, the client may
not recognize any of the data models supported by the server, and
thefore close the connection. On the other hand, the client may
recognize the data models and the security mechanisms and begin the
procedure to initialize a security mechanism with the server before
proceeding to query data according to a recognized data model.
Both LWZ [9] and XPC [10] provide examples of the usage of the XML
Schema defined in this document.
2. Document Terminology 2. Document Terminology
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 RFC2119 [6]. document are to be interpreted as described in RFC2119 [6].
3. Formal XML Syntax 3. Formal XML Syntax
The following is the XML Schema used to define transfer protocol The following is the XML Schema used to define transfer protocol
status information. See the following specifications: [2], [3], [4], status information. See the following specifications: [2], [3], [4],
skipping to change at page 7, line 5 skipping to change at page 7, line 6
maxOccurs="unbounded"> maxOccurs="unbounded">
<complexType> <complexType>
<simpleContent> <simpleContent>
<extension base="string"> <extension base="string">
<attribute name="language" type="language" <attribute name="language" type="language"
use="required"/> use="required"/>
</extension> </extension>
</simpleContent> </simpleContent>
</complexType> </complexType>
</element> </element>
<element name="data" minOccurs="0" maxOccurs="1"
type="base64Binary"/>
</sequence> </sequence>
</complexType> </complexType>
</element> </element>
<element name="authenticationFailure"> <element name="authenticationFailure">
<complexType> <complexType>
<sequence> <sequence>
<element name="description" minOccurs="0" <element name="description" minOccurs="0"
maxOccurs="unbounded"> maxOccurs="unbounded">
<complexType> <complexType>
skipping to change at page 8, line 19 skipping to change at page 8, line 19
by the application protocol. by the application protocol.
The <versions> element has one or more <transferProtocol> child The <versions> element has one or more <transferProtocol> child
elements. <transferProtocol> elements have zero or more <application> elements. <transferProtocol> elements have zero or more <application>
child elements. And <application> elements have zero or more child elements. And <application> elements have zero or more
<dataModel> elements. Each of these element types has a 'protocolId' <dataModel> elements. Each of these element types has a 'protocolId'
attribute identifying the protocol they represent and an optional attribute identifying the protocol they represent and an optional
'extensionIds' attribute identifying the protocol extensions they 'extensionIds' attribute identifying the protocol extensions they
support. support.
Additionally, the <transferProtocol> element has optionalal During capabilities negotiation, it is expected that both sides of
the negotiation recognize the 'protocolId' value of the
<transferProtocol> element and at least one of the <application> and
<dataModel> elements. If the negotiation produces a situation where
this is not possible, an error SHOULD be given and communication
ended. It is not expected that each side must recognize the
'extensionIds' values, and unrecognized 'extensionIds' values MUST be
ignored.
Additionally, the <transferProtocol> element has optional
'authenticationIds', 'responseSizeOctets', and 'requestSizeOctets' 'authenticationIds', 'responseSizeOctets', and 'requestSizeOctets'
attributes. The 'authenticationIds' attribute identifies attributes. The 'authenticationIds' attribute identifies
authentication mechanisms supported by the associated transfer authentication mechanisms supported by the associated transfer
protocol. The 'responseSizeOctets' attribute describes the maximum protocol. The 'responseSizeOctets' attribute describes the maximum
response size in octets the server will give. The response size in octets the server will give. The
'requestSizeOctets' attribute describes the maximum request size in 'requestSizeOctets' attribute describes the maximum request size in
octets the server will accept. octets the server will accept.
The protocol, extension, and authentication mechanism identifiers are The protocol, extension, and authentication mechanism identifiers are
of no specific type, and this document defines none. Specifications of no specific type, and this document defines none. Specifications
skipping to change at page 9, line 5 skipping to change at page 9, line 16
<transferProtocol protocolId="iris.lwz" <transferProtocol protocolId="iris.lwz"
authenticationIds="PLAIN EXTERNAL"> authenticationIds="PLAIN EXTERNAL">
<application protocolId="urn:ietf:params:xml:ns:iris1" <application protocolId="urn:ietf:params:xml:ns:iris1"
extensionIds="http://example.com/SIMPLEBAG"> extensionIds="http://example.com/SIMPLEBAG">
<dataModel protocolId="urn:ietf:params:xml:ns:dchk1"/> <dataModel protocolId="urn:ietf:params:xml:ns:dchk1"/>
<dataModel protocolId="urn:ietf:params:xml:ns:dreg1"/> <dataModel protocolId="urn:ietf:params:xml:ns:dreg1"/>
</application> </application>
</transferProtocol> </transferProtocol>
</versions> </versions>
Version Information Example
5. Size Information 5. Size Information
The <size> element provides a means for a server to communicate to a The <size> element provides a means for a server to communicate to a
client that a given request has exceeded a negotiated size client that a given request has exceeded a negotiated size
(<request>) or that a response to a given request will exceed a (<request>) or that a response to a given request will exceed a
negotiated size (<response>). negotiated size (<response>).
A server may indicate one of two size conditions by specifying the A server may indicate one of two size conditions by specifying the
following child elements: following child elements:
skipping to change at page 10, line 5 skipping to change at page 10, line 39
this XML Schema MUST describe how these octet counts are calculated. this XML Schema MUST describe how these octet counts are calculated.
The following is example XML describing size information. The following is example XML describing size information.
<size xmlns="urn:ietf:params:xml:ns:iris-transport"> <size xmlns="urn:ietf:params:xml:ns:iris-transport">
<response> <response>
<octets>1211</octets> <octets>1211</octets>
</response> </response>
</size> </size>
Size Information Example
6. Authentication Success Information 6. Authentication Success Information
The <authenticationSuccess> element indicates that a client has The <authenticationSuccess> element indicates that a client has
successfully authenticated to a server. Along with this indication, successfully authenticated to a server. Along with this indication,
it can provide text that may be presented to a user with regard to it can provide text that may be presented to a user with regard to
this successful authentication using child <description> elements. this successful authentication using child <description> elements.
Each <description> element MUST have a 'language' attribute Each <description> element MUST have a 'language' attribute
describing the language of the content of the <description> element. describing the language of the content of the <description> element.
Clients are not expected to concatenate multiple descriptions, Clients are not expected to concatenate multiple descriptions,
therefore servers MUST NOT provide multiple <description> elements therefore servers MUST NOT provide multiple <description> elements
with the same language descriptor. with the same language descriptor.
Finally, additional security data may be sent back with the
authentication sucess message using the <data> element. The content
of this element is of the base64Binary simple type.
The following is example XML describing authentication success The following is example XML describing authentication success
information. information.
<authenticationSuccess <authenticationSuccess
xmlns="urn:ietf:params:xml:ns:iris-transport"> xmlns="urn:ietf:params:xml:ns:iris-transport">
<description language="en"> <description language="en">
user 'bob' authenticates via password user 'bob' authenticates via password
</description> </description>
</authenticationSuccess> </authenticationSuccess>
Authentication Success Example
7. Authentication Failure Information 7. Authentication Failure Information
The <authenticationFailure> element indicates that a client has The <authenticationFailure> element indicates that a client has
failed to properly authenticate to a server. Along with this failed to properly authenticate to a server. Along with this
indication, it can provide text that may be presented to a user with indication, it can provide text that may be presented to a user with
regard to this authentication failure using child <description> regard to this authentication failure using child <description>
elements. elements.
Each <description> element MUST have a 'language' attribute Each <description> element MUST have a 'language' attribute
describing the language of the content of the <description> element. describing the language of the content of the <description> element.
skipping to change at page 12, line 5 skipping to change at page 12, line 29
The following is example XML describing authentication failure The following is example XML describing authentication failure
information. information.
<authenticationFailure <authenticationFailure
xmlns="urn:ietf:params:xml:ns:iris-transport"> xmlns="urn:ietf:params:xml:ns:iris-transport">
<description language="en"> <description language="en">
please consult your admin if you have forgotten your password please consult your admin if you have forgotten your password
</description> </description>
</authenticationFailure> </authenticationFailure>
Authentication Failure Example
8. Other Information 8. Other Information
The <other> element conveys status information that may require The <other> element conveys status information that may require
interpretation by a human to be meaningful. This element has a interpretation by a human to be meaningful. This element has a
required 'type' attribute which contains an identifier regarding the required 'type' attribute which contains an identifier regarding the
nature of the information. This document does not define any nature of the information. This document does not define any
identifiers for use in this attribute, but the intent is that these identifiers for use in this attribute, but the intent is that these
identifiers are well-known so that clients may take different classes identifiers are well-known so that clients may take different classes
of action based on the content of this attribute. Therefore, of action based on the content of this attribute. Therefore,
specifications making use of this XML Schema MUST define these specifications making use of this XML Schema MUST define these
skipping to change at page 13, line 5 skipping to change at page 13, line 33
concatenate multiple descriptions, therefore servers MUST NOT provide concatenate multiple descriptions, therefore servers MUST NOT provide
multiple <description> elements with the same language descriptor. multiple <description> elements with the same language descriptor.
The following is example XML describing other information. The following is example XML describing other information.
<other xmlns="urn:ietf:params:xml:ns:iris-transport" type="system"> <other xmlns="urn:ietf:params:xml:ns:iris-transport" type="system">
<description language="en">unavailable, come back <description language="en">unavailable, come back
later</description> later</description>
</other> </other>
Other Information Example
9. Internationalization Considerations 9. Internationalization Considerations
XML processors are obliged to recognize both UTF-8 and UTF-16 [1] XML processors are obliged to recognize both UTF-8 and UTF-16 [1]
encodings. XML provides for mechanisms to identify and use other encodings. XML provides for mechanisms to identify and use other
character encodings. Application transfer protocols MUST define character encodings. Application transfer protocols MUST define
which additional character encodings, if any, are to be allowed in which additional character encodings, if any, are to be allowed in
the use of the XML defined in this document. the use of the XML defined in this document.
10. IANA Considerations 10. IANA Considerations
skipping to change at page 16, line 28 skipping to change at page 17, line 28
<http://www.w3.org/TR/1999/REC-xml-names-19990114>. <http://www.w3.org/TR/1999/REC-xml-names-19990114>.
[4] World Wide Web Consortium, "XML Schema Part 2: Datatypes", [4] World Wide Web Consortium, "XML Schema Part 2: Datatypes",
W3C XML Schema, October 2004, W3C XML Schema, October 2004,
<http://www.w3.org/TR/xmlschema-2/>. <http://www.w3.org/TR/xmlschema-2/>.
[5] World Wide Web Consortium, "XML Schema Part 1: Structures", [5] World Wide Web Consortium, "XML Schema Part 1: Structures",
W3C XML Schema, October 2004, W3C XML Schema, October 2004,
<http://www.w3.org/TR/xmlschema-1/>. <http://www.w3.org/TR/xmlschema-1/>.
[6] Bradner, S., "Key words for use in RFCs to Indicate Requirement [6] Bradner, S., "Key words for use in RFCs to Indicate
Levels", RFC 2119, BCP 14, March 1997. Requirement Levels", RFC 2119, BCP 14, March 1997.
[7] Mealling, M., "The IETF XML Registry", RFC 3688, BCP 81, [7] Mealling, M., "The IETF XML Registry", RFC 3688, BCP 81,
February 2004. February 2004.
12.2. Informative References 12.2. Informative References
[8] Newton, A. and M. Sanz, "Internet Registry Information [8] Newton, A. and M. Sanz, "Internet Registry Information
Service", RFC 3891, January 2004. Service", RFC 3981, January 2004.
[9] Newton, A., "A Lightweight UDP Transfer Protocol for the [9] Newton, A., "A Lightweight UDP Transfer Protocol for the
Internet Registry Information Service", Internet Registry Information Service",
draft-ietf-crips-iris-lwz-02 (work in progress), April 2005. draft-ietf-crips-iris-lwz-02 (work in progress), April 2005.
[10] Newton, A., "XML Pipelining with Chunks for the Internet [10] Newton, A., "XML Pipelining with Chunks for the Internet
Registry Information Service", draft-ietf-crips-iris-xpc-00 Registry Information Service", draft-ietf-crips-iris-xpc-00
(work in progress), April 2005. (work in progress), April 2005.
Appendix A. Contributors Appendix A. Contributors
skipping to change at page 19, line 5 skipping to change at page 20, line 5
Andrew L. Newton Andrew L. Newton
VeriSign, Inc. VeriSign, Inc.
21345 Ridgetop Circle 21345 Ridgetop Circle
Sterling, VA 20166 Sterling, VA 20166
USA USA
Phone: +1 703 948 3382 Phone: +1 703 948 3382
Email: andy@hxr.us Email: andy@hxr.us
URI: http://www.verisignlabs.com/ URI: http://www.verisignlabs.com/
Intellectual Property Statement Full Copyright Statement
Copyright (C) The IETF Trust (2007).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79. found in BCP 78 and BCP 79.
skipping to change at page 19, line 29 skipping to change at page 20, line 45
such proprietary rights by implementers or users of this such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr. http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at this standard. Please address the information to the IETF at
ietf-ipr@ietf.org. ietf-ipr@ietf.org.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement
Copyright (C) The Internet Society (2007). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Acknowledgment Acknowledgment
Funding for the RFC Editor function is currently provided by the Funding for the RFC Editor function is provided by the IETF
Internet Society. Administrative Support Activity (IASA).
 End of changes. 19 change blocks. 
39 lines changed or deleted 90 lines changed or added

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