INTERNET-DRAFT S. Legg draft-legg-xed-roadmap-05.txt eB2Bcom Intended Category: Standards Track D. Prager October 20, 2006 The XML Enabled Directory Copyright (C) The Internet Society (2006). Status of This Memo By submitting this Internet-draft, each author represents that any 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 aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress". The list of current Internet-Drafts can be accessed at http://www.ietf.org/1id-abstracts.html The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html Technical discussion of this document should take place on the XED developers mailing list . Please send editorial comments directly to the editor . This Internet-Draft expires on 20 April 2007. Abstract The XML Enabled Directory (XED) leverages existing Lightweight Directory Access Protocol (LDAP) and X.500 directory technology to create a directory service that stores, manages and transmits Extensible Markup Language (XML) format data, while maintaining interoperability with LDAP clients and X.500 agents. This document introduces the various XED specifications. Legg & Prager Expires 20 April 2007 [Page 1] INTERNET-DRAFT The XML Enabled Directory October 20, 2006 Table of Contents 1. Introduction ....................................................2 2. Conventions .....................................................3 3. Leveraging Existing Specifications ..............................3 4. Incorporating XML Specifications ................................3 5. User Defined Syntaxes ...........................................4 6. Protocols .......................................................5 7. Security Considerations .........................................5 8. Acknowledgements ................................................6 9. IANA Considerations .............................................6 10. References .....................................................6 10.1. Normative References ......................................6 10.2. Informative References ....................................8 1. Introduction The XML Enabled Directory (XED) framework leverages existing Lightweight Directory Access Protocol (LDAP) [LDAP] and X.500 directory [X.500] technology to create a directory service that stores, manages and transmits Extensible Markup Language (XML) [XML10][XML11] format data, while maintaining interoperability with LDAP clients, X.500 Directory User Agents (DUAs), and X.500 Directory System Agents (DSAs). This document introduces the various XED specifications. The main features of XED (pronounced "zed") are: - semantically equivalent XML renditions of existing directory protocols, - XML renditions of directory data, - the ability to accept at run time, user-defined attribute syntaxes specified in a variety of XML schema languages, - the ability to perform filter matching on the parts of XML format directory attribute values, - the flexibility for implementors to develop XED clients using only their favoured XML schema language. Section 3 describes how existing directory constructs are mapped into XML. Section 4 describes how separately developed XML schema specifications can be incorporated into directory specifications. Legg & Prager Expires 20 April 2007 [Page 2] INTERNET-DRAFT The XML Enabled Directory October 20, 2006 Section 5 discusses how user-defined attribute syntaxes can be imported into directory schema. The XML renditions of existing directory protocols are described in Section 6. 2. Conventions The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" and "OPTIONAL" in this document are to be interpreted as described in BCP 14, RFC 2119 [BCP14]. 3. Leveraging Existing Specifications X.500 is defined in terms of Abstract Syntax Notation One (ASN.1) [X.680]. LDAP is defined in part in ASN.1 and in part with ad-hoc syntax definitions, though for the most part the ad-hoc definitions have an underlying ASN.1 definition through association with X.500. The XED framework enables data conforming to existing directory data types in ASN.1 to have an XML representation by defining a set of ASN.1 encoding rules, the Robust XML Encoding Rules (RXER) [RXER] [RXEREI]. This representation can be accessed in LDAP through a transfer encoding option [TRANSFER]. Directory data are otherwise accessed in their XML representation through one of the XED protocols (Section 6). 4. Incorporating XML Specifications The XED framework does not aim for a complete specification of the directory in one schema language (e.g., by translating everything that isn't ASN.1 into ASN.1, or by translating everything that isn't XML Schema [XSD0] into XML Schema), but rather seeks to integrate specifications in differing schema definition languages into a cohesive whole. The motivation for this approach is the observation that although XML Schema [XSD0], RELAX NG [RNG] and ASN.1 are broadly similar, they each have unique features that cannot be adequately expressed in the other languages. Thus a guiding principle for XED is the assertion that the best schema language in which to represent a data type is the language of its original specification. Consequently, a need arises for the means to reference definitions not only in different documents, but specified in different schema languages. The XED framework defines mechanisms [RXEREI] by which ASN.1 specifications may directly reference XML Schema definitions, RELAX NG definitions and document type definitions (DTDs) Legg & Prager Expires 20 April 2007 [Page 3] INTERNET-DRAFT The XML Enabled Directory October 20, 2006 [XML10][XML11]. This capability is a prerequisite for importing user-defined non-ASN.1 data types into directory schemas. The framework also defines how qualified names [XMLNS10][XMLNS11] are assigned to ASN.1 definitions [ASN.X] so that XML Schema and RELAX NG documents can reference ASN.1 definitions. Multi-schema validators conforming to the XED framework will of course understand and apply references across schema languages. However, in order to accommodate non-ASN.1 aware validators, RXER has been specifically designed to facilitate the derivation of a compatible XML Schema or RELAX NG specification from an original ASN.1 specification. XED servers MUST use the original specification (not a translation into another schema language) when validating any part of an XML document, whether the markup represents a protocol operation or a data value to be stored, to ensure the integrity of directory data. XED clients SHOULD use the original specification to validate but may instead use a translation, though many XED clients will have no compelling need to perform validation. That is, they will generate valid markup as a matter of course, and will rely on XED servers to only return valid markup. In such cases, translations serve as an aid to understanding, rather than as a basis for implementation. 5. User Defined Syntaxes While the creation of user-defined syntaxes for directory attributes is discouraged by LDAP, it is a central capability of XED. The ability for users to import schema definitions in the form of ASN.1 types has been notionally available in X.500 since the second edition, however the capability has never previously been seriously supported. In part, this is because a full parser for the ASN.1 language is difficult to write. The XED framework overcomes this obstacle to the runtime acquisition of ASN.1 definitions by defining Abstract Syntax Notation X (ASN.X) [ASN.X][GSEREIT][XEREIT], a semantically equivalent XML representation for ASN.1 specifications. ASN.X completely avoids the inherent ambiguities of the ASN.1 language and is therefore much easier to parse than ASN.1. ASN.X, in conjunction with RXER, makes ASN.1 a fully-fledged schema language for XML. ASN.X is the preferred form for representing user-provided ASN.1 specifications in XED. The XED framework defines additional schema operational attributes [SCHEMA] to hold ASN.X documents, XML Schema documents, RELAX NG documents and DTDs, whose definitions may be referenced in the user-defined syntax definitions [SCHEMA] of new Legg & Prager Expires 20 April 2007 [Page 4] INTERNET-DRAFT The XML Enabled Directory October 20, 2006 directory attribute types. The XED framework also extends directory matching rules [MATCH], and in particular component matching rules [CMR], to apply to attribute values with a user-defined syntax specified in an XML schema language other than ASN.1 or ASN.X. 6. Protocols The Internet Directly Mapped (IDM) protocol [X.519] is a recent addition to X.500 whereby X.500 protocol operations can be exchanged between directory agents using TCP/IP [TCP] with minimal encapsulation. Protocol operations in the IDM protocol are encoded according to the Basic Encoding Rules (BER) [X.690] of ASN.1. The XED framework introduces a new, exclusively XML-based protocol, called the XML Internet Directly Mapped (XIDM) protocol [XLDAP], which differs from the IDM protocol only in that the protocol operations are encoded using RXER [RXER] instead of BER. Whilst the IDM protocol is amenable to a simple substitution of the encoding rules to create a uniformly XML formatted protocol operation, LDAP is not, due to discontinuities in the encoding, i.e., places where transfer syntax transitions occur (typically from BER to LDAP-specific [SYNTAX] and back to BER). A straight application of RXER to an LDAP operation would inconveniently force directory attribute values, among other things, to be represented as hexadecimal strings. However, within the XED framework the LDAP ASN.1 specification is transformed to create a new specification without the discontinuities. Essentially, the bland OCTET STRING [X.680] containers for directory data items in LDAP are replaced by the open types [X.681] and specific types used by X.500. The XML Lightweight Directory Access Protocol (XLDAP) [XLDAP] is the result of applying RXER to instances of the message types of the transformed specification. Apart from the change in syntax, XLDAP is semantically equivalent to LDAP. Since the XED protocols are algorithmically generated from the LDAP and X.500 specifications, all future extensions to LDAP and X.500 automatically acquire a XED protocol representation. 7. Security Considerations Since XED is derived from LDAP and X.500 the security considerations that apply to LDAP and X.500 apply equally to XED. The XED protocols encode all attribute values using RXER, which does Legg & Prager Expires 20 April 2007 [Page 5] INTERNET-DRAFT The XML Enabled Directory October 20, 2006 not necessarily enable the exact BER encoding of an attribute value to be recovered. Such recovery is needed for the verification of digital signatures. The XED protocols MUST NOT be used by applications requiring such recovery. When interpreting security-sensitive fields, and in particular fields used to grant or deny access, implementations MUST ensure that any comparisons are done on the underlying abstract value, regardless of the particular encoding used. 8. Acknowledgements The technology described in this document is the product of a research project begun jointly by Adacel Technologies Limited and Deakin University, and subsequently refined and completed by eB2Bcom. 9. IANA Considerations This document has no actions for IANA. 10. References 10.1. Normative References [TCP] Postel, J., "TRANSMISSION CONTROL PROTOCOL", RFC 793, September 1981. [BCP14] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [LDAP] Zeilenga, K., Ed., "Lightweight Directory Access Protocol (LDAP): Technical Specification Road Map", RFC 4510, June 2006. [RXER] Legg, S. and D. Prager, "Robust XML Encoding Rules (RXER) for Abstract Syntax Notation One (ASN.1)", draft-legg-xed-rxer-xx.txt, a work in progress, October 2006. [RXEREI] Legg, S., "Encoding Instructions for the Robust XML Encoding Rules (RXER)", draft-legg-xed-rxer-ei-xx.txt, a work in progress, October 2006. [ASN.X] Legg, S., "Abstract Syntax Notation X (ASN.X)", draft-legg-xed-asd-xx.txt, a work in progress, October 2006. [GSEREIT] Legg, S., "Abstract Syntax Notation X (ASN.X) Legg & Prager Expires 20 April 2007 [Page 6] INTERNET-DRAFT The XML Enabled Directory October 20, 2006 Representation of Encoding Instructions for the Generic String Encoding Rules (GSER)", draft-legg-xed-asd-gserei-xx.txt, a work in progress, October 2006. [XEREIT] Legg, S., "Abstract Syntax Notation X (ASN.X) Representation of Encoding Instructions for the XML Encoding Rules (XER)", draft-legg-xed-asd-xerei-xx.txt, a work in progress, October 2006. [TRANSFER] Legg, S., "Lightweight Directory Access Protocol (LDAP): Transfer Encoding Options", draft-legg-ldap-transfer-xx.txt, a work in progress, August 2006. [SCHEMA] Legg, S. and D. Prager, "The XML Enabled Directory: Schema Operational Attributes", draft-legg-xed-schema-xx.txt, a work in progress, November 2006. [MATCH] Legg, S. and D. Prager, "The XML Enabled Directory: Matching Rules", draft-legg-xed-matching-xx.txt, a work in progress, November 2006. [XLDAP] Legg, S. and D. Prager, "The XML Enabled Directory: Protocols", draft-legg-xed-protocols-xx.txt, a work in progress, November 2006. [X.500] ITU-T Recommendation X.500 (08/05) | ISO/IEC 9594-1:2005, Information technology - Open Systems Interconnection - The Directory: Overview of concepts, models and services [X.519] ITU-T Recommendation X.519 (08/05) | ISO/IEC 9594-5:2005, Information technology - Open Systems Interconnection - The Directory: Protocol specifications [XML10] Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E. and F. Yergeau, "Extensible Markup Language (XML) 1.0 (Fourth Edition)", W3C Recommendation, http://www.w3.org/TR/2006/REC-xml-20060816, August 2006. [XML11] Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E., Yergeau, F., and J. Cowan, "Extensible Markup Language (XML) 1.1 (Second Edition)", W3C Recommendation, http://www.w3.org/TR/2006/REC-xml11-20060816, August 2006. [XMLNS10] Bray, T., Hollander, D., Layman, A., and R. Tobin, "Namespaces in XML 1.0 (Second Edition)", W3C Recommendation, Legg & Prager Expires 20 April 2007 [Page 7] INTERNET-DRAFT The XML Enabled Directory October 20, 2006 http://www.w3.org/TR/2006/REC-xml-names-20060816, August 2006. [XMLNS11] Bray, T., Hollander, D., Layman, A. and R. Tobin, "Namespaces in XML 1.1 (Second Edition)", W3C Recommendation, http://www.w3.org/TR/2004/REC-xml-names11-20040204, August 2006. 10.2. Informative References [CMR] Legg, S., "Lightweight Directory Access Protocol (LDAP) and X.500 Component Matching Rules", RFC 3687, February 2004. [SYNTAX] Legg, S., Ed., "Lightweight Directory Access Protocol (LDAP): Syntaxes and Matching Rules", RFC 4517, June 2006. [X.680] ITU-T Recommendation X.680 (07/02) | ISO/IEC 8824-1, Information technology - Abstract Syntax Notation One (ASN.1): Specification of basic notation. [X.681] ITU-T Recommendation X.681 (07/02) | ISO/IEC 8824-2, Information technology - Abstract Syntax Notation One (ASN.1): Information object specification. [X.690] ITU-T Recommendation X.690 (07/02) | ISO/IEC 8825-1, Information technology - ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER). [XSD0] Fallside, D., and P. Walmsley, "XML Schema Part 0: Primer Second Edition", W3C Recommendation, http://www.w3.org/TR/2004/REC-xmlschema-0-20041028/, October 2004. [RNG] Clark, J. and M. Makoto, "RELAX NG Tutorial", OASIS Committee Specification, http://www.oasis- open.org/committees/relax-ng/tutorial-20011203.html, December 2001. Authors' Addresses Dr. Steven Legg eB2Bcom Suite 3, Woodhouse Corporate Centre 935 Station Street Legg & Prager Expires 20 April 2007 [Page 8] INTERNET-DRAFT The XML Enabled Directory October 20, 2006 Box Hill North, Victoria 3129 AUSTRALIA Phone: +61 3 9896 7830 Fax: +61 3 9896 7801 EMail: steven.legg@eb2bcom.com Dr. Daniel Prager EMail: dap@austhink.com Full Copyright Statement Copyright (C) The Internet Society (2006). 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 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 Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in 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 made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement Legg & Prager Expires 20 April 2007 [Page 9] INTERNET-DRAFT The XML Enabled Directory October 20, 2006 this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Note to the RFC Editor: the remainder of this document is to be removed before final publication. Changes in Draft 01 The reference for the XED protocols has changed. Some of the text in Section 6 has been moved to the protocols document. References for XML Schema and RELAX NG have been added. Changes in Draft 02 The Directory XML Encoding Rules (DXER) have been renamed to the Robust XML Encoding Rules (RXER). Changes in Draft 03 The document has been reformatted in line with current practice. The document "Encoding Instructions for the Robust XML Encoding Rules (RXER)" has been added to the roadmap. It obsoletes the document "The XML Enabled Directory: Schema Language Integration". Changes in Draft 04 ASN.1 Schema has been renamed to Abstract Syntax Notation X (ASN.X). The documents describing the ASN.X representation of encoding instructions for GSER and XER have been included in this technical specification. Changes in Draft 05 Proposals for translating ASN.1 specifications into XML Schema and RELAX NG have been removed from this technical specification. They will be progressed at a later time. Legg & Prager Expires 20 April 2007 [Page 10]