INTERNET-DRAFT                                                   S. Legg
draft-legg-xed-roadmap-03.txt                                    eB2Bcom
Intended Category: Standards Track                             D. Prager
                                                       February 21, 2005


                       The XML Enabled Directory

    Copyright (C) The Internet Society (2005). All Rights Reserved.

   Status of this Memo

   By submitting this Internet-draft, we certify that any applicable
   patent or other IPR claims of which we are aware have been disclosed,
   or will be disclosed, and any of which we become aware will be
   disclosed, in accordance with RFC 3668.

   By submitting this Internet-draft, we accept the provisions of
   Section 3 of RFC 3667.

   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.html

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html

   Distribution of this document is unlimited.  Technical discussion of
   this document should take place on the XED developers mailing list
   <xeddev@eb2bcom.com>.  Please send editorial comments directly to the
   editor <steven.legg@eb2bcom.com>.

   This Internet-Draft expires on 21 August 2005.


Abstract

   The XML Enabled Directory (XED) leverages existing Lightweight
   Directory Access Protocol (LDAP) and X.500 directory technology to



Legg & Prager            Expires 21 August 2005                 [Page 1]

INTERNET-DRAFT          The XML Enabled Directory      February 21, 2005


   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 21 August 2005                 [Page 2]

INTERNET-DRAFT          The XML Enabled Directory      February 21, 2005


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Conventions. . . . . . . . . . . . . . . . . . . . . . . . . .  4
   3.  Leveraging Existing Specifications . . . . . . . . . . . . . .  4
   4.  Incorporating XML Specifications . . . . . . . . . . . . . . .  4
   5.  User Defined Syntaxes. . . . . . . . . . . . . . . . . . . . .  5
   6.  Protocols. . . . . . . . . . . . . . . . . . . . . . . . . . .  6
   7.  Security Considerations. . . . . . . . . . . . . . . . . . . .  7
   8.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . .  7
   9.  IANA Considerations. . . . . . . . . . . . . . . . . . . . . .  7
   10. References . . . . . . . . . . . . . . . . . . . . . . . . . .  7
       10.1.  Normative References. . . . . . . . . . . . . . . . . .  7
       10.2.  Informative References. . . . . . . . . . . . . . . . .  9
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10
   Full Copyright Statement . . . . . . . . . . . . . . . . . . . . . 10

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) [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 21 August 2005                 [Page 3]

INTERNET-DRAFT          The XML Enabled Directory      February 21, 2005


   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 [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 [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 DTDs.  This capability is a prerequisite for



Legg & Prager            Expires 21 August 2005                 [Page 4]

INTERNET-DRAFT          The XML Enabled Directory      February 21, 2005


   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 RXER 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]
   to hold ASN.1 Schema documents, XML Schema documents, RELAX NG
   documents and DTDs, whose definitions may be referenced in the syntax



Legg & Prager            Expires 21 August 2005                 [Page 5]

INTERNET-DRAFT          The XML Enabled Directory      February 21, 2005


   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 RXER, 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 [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



Legg & Prager            Expires 21 August 2005                 [Page 6]

INTERNET-DRAFT          The XML Enabled Directory      February 21, 2005


   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
   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.

9.  IANA Considerations

   This document has no actions for IANA.

10.  References

10.1.  Normative References



Legg & Prager            Expires 21 August 2005                 [Page 7]

INTERNET-DRAFT          The XML Enabled Directory      February 21, 2005


   [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., "Lightweight Directory Access Protocol
             (LDAP): Technical Specification Road Map",
             draft-ietf-ldapbis-roadmap-xx.txt, a work in progress,
             February 2005.

   [RXER]    Legg, S. and D. Prager, "Robust XML Encoding Rules for
             Abstract Syntax Notation One (ASN.1)",
             draft-legg-xed-rxer-xx.txt, a work in progress, June 2004.

   [RXEREI]  Legg, S., "Encoding Instructions for the Robust XML
             Encoding Rules (RXER)", draft-legg-xed-rxer-ei-xx.txt, a
             work in progress, February 2005.

   [ASD]     Legg, S. and D. Prager, "ASN.1 Schema: An XML
             Representation for Abstract Syntax Notation One (ASN.1)
             Specifications", draft-legg-xed-asd-xx.txt, a work in
             progress, June 2004.

   [CXSD]    Legg, S. and D. Prager, "Translation of ASN.1
             Specifications into XML Schema", draft-legg-xed-xsd-xx.txt,
             a work in progress, to be published.

   [CRNG]    Legg, S. and D. Prager, "Translation of ASN.1
             Specifications into RELAX NG", draft-legg-xed-rng-xx.txt, a
             work in progress, to be published.

   [XFER]    Legg, S., "Lightweight Directory Access Protocol (LDAP):
             Transfer Encoding Options",
             draft-legg-ldap-transfer-xx.txt, a work in progress, June
             2004.

   [SCHEMA]  Legg, S. and D. Prager, "The XML Enabled Directory: Schema
             Operational Attributes", draft-legg-xed-schema-xx.txt, a
             work in progress, June 2004.

   [MATCH]   Legg, S. and D. Prager, "The XML Enabled Directory:
             Matching Rules", draft-legg-xed-matching-xx.txt, a work in
             progress, February 2005.

   [XLDAP]   Legg, S. and D. Prager, "The XML Enabled Directory:
             Protocols", draft-legg-xed-protocols-xx.txt, a work in
             progress, May 2004.



Legg & Prager            Expires 21 August 2005                 [Page 8]

INTERNET-DRAFT          The XML Enabled Directory      February 21, 2005


   [X.500]   ITU-T Recommendation X.500 (02/01) | ISO/IEC 9594-1:2001,
             Information technology - Open Systems Interconnection - The
             Directory: Overview of concepts, models and services

   [X.519]   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, C., Maler, E. and F.
             Yergeau, "Extensible Markup Language (XML) 1.0 (Third
             Edition)", W3C Recommendation,
             http://www.w3.org/TR/2004/REC-xml-20040204, February 2004.

   [XMLNS]   Bray, T., Hollander, D. and A. Layman, "Namespaces in XML",
             http://www.w3.org/TR/1999/REC-xml-names-19990114, January
             1999.

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. and K. Dally, "Lightweight Directory Access
             Protocol (LDAP): Syntaxes and Matching Rules",
             draft-ietf-ldapbis-syntaxes-xx.txt, a work in progress,
             February 2005.

   [X.680]   ITU-T Recommendation X.680 (07/02) | ISO/IEC 8824-1:2002,
             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:2002,
             Information technology - ASN.1 encoding rules:
             Specification of Basic Encoding Rules (BER), Canonical
             Encoding Rules (CER) and Distinguished Encoding Rules
             (DER).

   [XSD0]    Fallside, D., "XML Schema Part 0: Primer", W3C
             Recommendation, http://www.w3.org/TR/2001/REC-
             xmlschema-0-20010502, May 2001.

   [RNG]     Clark, J. and M. Makoto, "RELAX NG Tutorial", OASIS
             Committee Specification, http://www.oasis-
             open.org/committees/relax-ng/tutorial-20011203.html,



Legg & Prager            Expires 21 August 2005                 [Page 9]

INTERNET-DRAFT          The XML Enabled Directory      February 21, 2005


             December 2001.

Authors' Addresses

   Dr. Steven Legg
   eB2Bcom
   Suite 3, Woodhouse Corporate Centre
   935 Station Street
   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: dan@layabout.net

Full Copyright Statement

   Copyright (C) The Internet Society (2005).  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



Legg & Prager            Expires 21 August 2005                [Page 10]

INTERNET-DRAFT          The XML Enabled Directory      February 21, 2005


   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
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.


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".






















Legg & Prager            Expires 21 August 2005                [Page 11]