XML-Encryption Requirements

Draft 2000-October-06

This version:
Latest version:
Previous version:
Joseph Reagle <reagle@w3.org>

Copyright  2000 The Internet Society & W3C (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.

Status of this Document

This is rough draft intended to start discussion in preparation of the XML Encryption Workshop. This document has no standing-what-so-ever.

This document does not represent consensus. In fact, it may include things that are not well stated, as well as provocative or contrary positions (or alternative wordings) in order to elicit review and discussion. It's roughly based on the authors understanding of {Imamura}, {SL}, and {C2000}, though my characterizations may be in error. Positions which are potentially in conflict are specified as a list of lettered points. For example:

  1. Extensibility
    1. Position
    2. Alternative/Contrary Position

Please send comments to the editor <reagle@w3.org> and cc: the list  xml-encryption@w3.org (achives) Publication of this document does not imply endorsement by the W3C membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time.



This document lists the design principles, scope, and requirements for the XML Encryption. It includes requirements as they relate to the encryption syntax, data model, format, cryptographic porcessing, and external requirements and coordination.

Table of Contents

  1. Introduction
  2. Design Principles and Scope
  3. Requirements
    1. Signature Data Model and Syntax
    2. Cryptography
    3. Processing
    4. Misc
    5. Coordination
  4. References

1. Introduction

The XML 1.0 Recommendation [XML] describes the syntax of a class of data objects called XML documents. There is interest in specification of XML syntax and processing used to encrypt digital content, including portions of an XML documents and protocol messages. This documents provides requirements for such an activity -- as well as provocations and alternative requirements.

2. Design Principles and Scope

  1. The XML Encryption specification will describe how to a digitally encrypt a Web resource in general, and an XML document in particular.  {Imamura, SL}
    1. An XML Encryption can apply to a part or totality of an XML document.
      1. Granularity of encryption is limited to an element. {Imamura}
      2. Granularity of encryption includes attributes and content. {SL}
      3. Granularity of encryption includes any Information Set Item. {list-Reagle}
    2. Encryption can be recursive. {Imamura, SL}
  2. The mechansims of encryption are simple: they describe how to encrypt/decrypt digital content, XML documents, and portions thereof. {Reagle}
    1. Only enough information necessary for decryption need be provided. {Reagle}
    2. The specification will not address the confidence or trust applications place in the provision of a key, nor mechanisms of key establishment.  {Reagle}
  3. The only key structures that will be defined relate to those necessary decrypting opaque content. {Reagle}
    1. The specification will address both key-encrypting-keys and data keys. {Reagle}
    2. Other key structures are encouraged to be developed under a different namespace. {Reagle}
  4. The specification will not address the expression of access control policies associated with portions of the XML document. {Reagle}
  5. The specification  must use a pre-existing data models (e.g., Information Set) and canonicalization methods (e.g., Canonical XML) unless it can explitly justify the need for a new one. {Reagle}
  6. Implementation/Design Philosophy
    1. @@Affect on deployed parsers.

3. Requirements

Signature Data Model and Syntax

  1. An encrypted ojbect is XML. {Imamura, SL}
  2. A valid XML instance, when encrypted and decrypted must still be valid. {Reagle}
  3. The XML Encryption data structures will be predicated on: {Reagle}
    1. the RDFS schema within the Information Set specification [Infoset]
    2. [XSet]
    3. ...
  4. An XML Encryption application must be able to use and understand {Reagle}
    1. XML-namespaces [XML-namespaces].
  5. XML Encryptions can be applied to any Web resource -- including non-XML content.    {Imamura, SL}
  6. Encrypted objects are first class objects themselves and consequently can be referenced and signed. {Reagle}
  7. Algorithm Identification
    1. Whenever possible, any resource or algorithm is a first class object, and identified by a URI.   {Imamura, SL}


  1. The solution shall should work with arbitrary encryption algorithms, including symmetric and asymmetric keys schemes as well as dynamic negotiation of keying material. {Imamura, SL}
    1. The specification will not address key establishment  methods. {Reagle}
  2. The specification must specify at least one mandatory to implement canonicalization, hash, and encryption algorithm. {Reagle}


  1. ...


  1. ...


  1. @@Where did we stand on the issue of email headers encryptor/recipient?


The XML Encryption specification should meet the requirements of or work with the following applications:

  1. [XML Protocols]
  2. [XML Signature]

To ensure the above requirements are adequately addressed, the XML Encryption specification must be reviewed by a designated member of the following communities:

  1. XML Schema Working Group {Reagle}
  2. XML Core Working Group {Reagle}
  3. XML Protocol Working Group {Reagle}
  4. Internationalization Interest Group {Reagle}

4. References

Another proposal of XML Encryption, Takeshi Imamura (Mon, Aug 14 2000)
Crypto 2000 XML Encryption BoF (minutes). Santa Barbara. August 24 .
Document Object Model Core, Level 3. Arnaud Le Hors. W3C Working Draft.
XML Encryption List (an unmoderated and unchartered publis list).
XML Information Set, W3C Working Draft. John Cowan.
XML Encryption strawman proposal Ed Simon and Brian LaMacchia (Wed, Aug 09 2000)
Extensible Markup Language (XML) 1.0 Recommendation. T. Bray, J. Paoli, C. M. Sperberg-McQueen. February 1998.
Canonical XML. Working Draft. J. Boyer. September 2000.
Namespaces in XML Recommendation. T. Bray, D. Hollander, A. Layman. Janaury 1999.
XML Schema Part 1: Structures Working Draft. D. Beech, M. Maloney, N. Mendelshohn. April 2000.
XML Schema Part 2: Datatypes Working Draft. P. Biron, A. Malhotra. April 2000.
XML-Signature Syntax and Processing. Working Draft. D. Eastlake, J. Reagle, and D. Solo.
Full Fidelity Information Set Representation. Jonathan Borden. XML-Dev
RFC2396. Uniform Resource Identifiers (URI): Generic Syntax. T. Berners-Lee, R. Fielding, L. Masinter. August 1998