INTERNET-DRAFT S. Legg draft-legg-xed-roadmap-00.txt Adacel Technologies Intended Category: Standard Track D. Prager Deakin University August 7, 2003 The XML Enabled Directory Copyright (C) The Internet Society (2003). All Rights Reserved. Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. 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/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Distribution of this document is unlimited. Comments should be sent to the authors. This Internet-Draft expires on 7 February 2004. 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 7 February 2004 [Page 1] INTERNET-DRAFT The XML Enabled Directory August 7, 2003 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 ....................................... 6 8. Acknowledgements .............................................. 6 9. Normative References .......................................... 7 10. Informative References ....................................... 8 11. Intellectual Property Notice ................................. 9 12. Copyright Notice ............................................. 9 13. Authors' Addresses ........................................... 10 1. Introduction The XML Enabled Directory (XED) framework leverages existing Lightweight Directory Access Protocol (LDAP) [LDAP] and X.500 directory [X500] technology to create a directory service that stores, manages and transmits Extensible Markup Language (XML) [XML] 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 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 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 7 February 2004 [Page 2] INTERNET-DRAFT The XML Enabled Directory August 7, 2003 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 RFC 2119 [BCP14]. 3. Leveraging Existing Specifications X.500 is defined in terms of Abstract Syntax Notation One (ASN.1) [X680]. 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 Directory XML Encoding Rules (DXER) [DXER]. This representation can be accessed in LDAP through a transfer encoding option [XFER]. 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 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, RELAX-NG 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 [GLUE] by which ASN.1 specifications may directly reference XML Schema definitions, RELAX- Legg & Prager Expires 7 February 2004 [Page 3] INTERNET-DRAFT The XML Enabled Directory August 7, 2003 NG definitions and DTDs. This capability is a prerequisite for importing user defined non-ASN.1 data types into directory schemas. The framework also defines how qualified names [XMLNS] are assigned to ASN.1 definitions [ASD] 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, the XED framework provides the means to translate ASN.1 into compatible XML Schema [CXSD] or RELAX NG [CRNG]. Note that DXER is specifically designed to facilitate the derivation of a compatible XML Schema or RELAX-NG specification from an original ASN.1 specification. Where a specification in one schema language is translated into another schema language the original specification is referred to as the Primary Syntax Definition (PSD) and the translation is referred to as a Derived Syntax Definition (DSD). A DSD is compatible with the PSD in the sense that any XML document that validates according to the PSD will also validate according to the DSD, though the reverse is not necessarily true. So the DSD can be said to be no more restrictive than the PSD, and may be less restrictive than the PSD. A single schema language validator can use a DSD to validate markup conforming to a definition in a different schema language, though the validation it performs will probably be less thorough than that performed by a multi-schema validator. XED servers MUST use the corresponding PSD 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 PSD to validate but may instead use a DSD, 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, DSDs 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 XED framework defines additional schema operational attributes [SCHEMA] Legg & Prager Expires 7 February 2004 [Page 4] INTERNET-DRAFT The XML Enabled Directory August 7, 2003 to hold ASN.1 Schema documents, XML Schema documents, RELAX-NG documents and DTDs, whose definitions may be referenced in the syntax definitions of user defined directory attribute types. 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 ASN.1 Schema [ASD], a semantically equivalent XML representation for ASN.1 specifications. ASN.1 Schema completely avoids the inherent ambiguities of the ASN.1 language. It is therefore much easier to parse than ASN.1 specifications. Note that an ASN.1 Schema translation of a PSD ASN.1 specification is not a DSD. Both the original ASN.1 specification and the translation into ASN.1 Schema are regarded as different representations of the same PSD. ASN.1 Schema, in conjunction with DXER, makes ASN.1 a fully-fledged schema language for XML. ASN.1 Schema is the preferred form for representing ASN.1 specifications in XED, and is the primary medium through which definitions in other schema languages are imported into directory attribute syntax definitions [SCHEMA]. The XED framework 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. 6. Protocols The Internet Directly Mapped (IDM) protocol [X519] 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, bypassing (and dispensing with) the ROSE, ACSE, Presentation, Session and Transport layers of the OSI model [OSI]. Protocol operations in the IDM protocol are encoded according to the Basic Encoding Rules (BER) [X690] of ASN.1. The XED framework introduces a new exclusively XML-based protocol, called the XML Internet Directly Mapped (XIDM) protocol, which differs from the IDM protocol only in that the protocol operations are encoded using a Standalone DXER encoding [DXER] instead of BER. Since the IDM protocol does not itself support any form of negotiation of the transfer syntax, communication end points for the XIDM protocol must Legg & Prager Expires 7 February 2004 [Page 5] INTERNET-DRAFT The XML Enabled Directory August 7, 2003 be distinct, with different ports and/or different IP addresses. 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 DXER to an LDAP operation would inconveniently force any markup in XML formatted attribute values to be escaped. However, within the XED framework a deterministic transformation of the LDAP ASN.1 specification is applied to create a new specification without the discontinuities called the XML Lightweight Directory Access Protocol (XLDAP) [XLDAP]. Essentially, the bland OCTET STRING [X680] containers for directory data items in LDAP are replaced by the open types [X681] used by X.500. 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 DXER, which does 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 This document and the technology it describes are a product of a joint research project between Adacel Technologies Limited and Deakin University on leveraging existing directory technology to produce an XML-based directory service. Legg & Prager Expires 7 February 2004 [Page 6] INTERNET-DRAFT The XML Enabled Directory August 7, 2003 9. 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., "LDAP: Technical Specification Road Map", draft-ietf-ldapbis-roadmap-xx.txt, a work in progress, March 2003. [DXER] Legg, S. and D. Prager, "Directory XML Encoding Rules for ASN.1 Types", draft-legg-xed-dxer-xx.txt, a work in progress, August 2003. [GLUE] Legg, S. and D. Prager, "XED: Schema Language Integration", draft-legg-xed-glue-xx.txt, a work in progress, August 2003. [ASD] Legg, S. and D. Prager, "ASN.1 Schema: An XML Representation for ASN.1 Specifications", draft-legg-xed-asd-xx.txt, a work in progress, August 2003. [CXSD] Legg, S. and D. Prager, "Translation of ASN.1 Specifications into XML Schema", draft-legg-xed-xsd-xx.txt, a work in progress, August 2003. [CRNG] Legg, S. and D. Prager, "Translation of ASN.1 Specifications into RELAX NG", draft-legg-xed-rng-xx.txt, a work in progress, August 2003. [XFER] Legg, S., "LDAP: Transfer Encoding Options", draft-legg-ldap-transfer-xx.txt, a work in progress, August 2003. [SCHEMA] Legg, S. and D. Prager, "XED: Schema Operational Attributes", draft-legg-xed-schema-00.txt, a work in progress, August 2003. [MATCH] Legg, S. and D. Prager, "XED: Matching Rules", draft-legg- xed-matching-00.txt, a work in progress, August 2003. [XLDAP] Legg, S. and D. Prager, "XML Lightweight Directory Access Protocol", draft-legg-xed-xldap-xx.txt, a work in progress, August 2003. [X500] ITU-T Recommendation X.500 (02/01) | ISO/IEC 9594-1:2001, Legg & Prager Expires 7 February 2004 [Page 7] INTERNET-DRAFT The XML Enabled Directory August 7, 2003 Information technology - Open Systems Interconnection - The Directory: Overview of concepts, models and services [X519] ITU-T Recommendation X.519 (02/01) | ISO/IEC 9594-5:2001, Information technology - Open Systems Interconnection - The Directory: Protocol specifications [XML] Bray, T., Paoli, J., Sperberg-McQueen, M. and E. Maler, "Extensible Markup Language (XML) 1.0 (Second Edition)", W3C Recommendation, http://www.w3.org/TR/2000/REC- xml-20001006, October 2000. [XMLNS] Bray, T., Hollander, D. and A. Layman, "Namespaces in XML", http://www.w3.org/TR/1999/REC-xml-names-19990114, January 1999. 10. Informative References [BCP11] Hovey, R. and S. Bradner, "The Organizations Involved in the IETF Standards Process", BCP 11, RFC 2028, October 1996. [CMR] Legg, S., "LDAP & X.500 Component Matching Rules", draft- legg-ldapext-component-matching-xx.txt, a work in progress, June 2003. [SYNTAX] Legg, S. and K. Dally, "LDAP: Syntaxes and Matching Rules", draft-ietf-ldapbis-syntaxes-xx.txt, a work in progress, June 2003. [OSI] ITU-T Recommendation X.200 (1994) | ISO/IEC 7498-1:1994, Information technology - Open Systems Interconnection - Basic Reference Model: The Basic Model. [X680] ITU-T Recommendation X.680 (07/02) | ISO/IEC 8824-1:2002, Information technology - Abstract Syntax Notation One (ASN.1): Specification of basic notation. [X681] ITU-T Recommendation X.681 (07/02) | ISO/IEC 8824-2, Information technology - Abstract Syntax Notation One (ASN.1): Information object specification. [X690] ITU-T Recommendation X.690 (07/02) | ISO/IEC 8825-1:2002, Information technology - ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER). Legg & Prager Expires 7 February 2004 [Page 8] INTERNET-DRAFT The XML Enabled Directory August 7, 2003 11. Intellectual Property Notice The IETF takes no position regarding the validity or scope of any intellectual property 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; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP-11. [BCP11] Copies of claims of rights made available for publication 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 implementors or users of this specification can be obtained from the IETF Secretariat. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director. 12. Copyright Notice Copyright (C) The Internet Society (2003). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION Legg & Prager Expires 7 February 2004 [Page 9] INTERNET-DRAFT The XML Enabled Directory August 7, 2003 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 13. Authors' Addresses Dr. Steven Legg Adacel Technologies Ltd. 250 Bay Street Brighton, Victoria 3186 AUSTRALIA Phone: +61 3 8530 7710 Fax: +61 3 8530 7888 EMail: steven.legg@adacel.com.au Dr. Daniel Prager C/o Professor Lynn Batten Department of Computing and Mathematics Deakin University Geelong, Victoria 3217 AUSTRALIA EMail: dan@layabout.net EMail: lmbatten@deakin.edu.au Legg & Prager Expires 7 February 2004 [Page 10]