XML-Encryption Requirements
Draft 2000-October-06
- This version:
- http://www.w3.org/2000/10/06-xml-encryption-req.html
- Latest version:
- ...
- Previous version:
- ...
- Editor(s):
- 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 whatsoever.
This document does not represent consensus. Instead, it is the author's attempt to show
requirements and alternatives within the scope already out-line in the XML-Encryption Call for
Proposal. Furthermore, 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}, {C2000} and other discussion and proposals, though my
characterizations may be in error. Positions which are potentially in conflict are
specified as a list of lettered points. For example:
- Extensibility
- Position
- Alternative/Contrary Position
Citation of a source (e.g., {source}) in no way indicates that is the originator or
sole supporter of that requirement, it just helps me keep track of at least one
source/motivation of the requirement.
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.
Abstract
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 processing, and external requirements and coordination.
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
provocation and alternative requirements.
This section describes requirements over intended result, how these motivations are
realized are addressed in subsequent sections.
- The XML Encryption specification will describe how to a digitally encrypt a Web resource
in general, and an XML document in particular. {Imamura, SL}
- An XML Encryption can apply to a part or totality of an XML document.
- Granularity of encryption is limited to an element. {Imamura}
- Granularity of encryption includes attribute values and element content. {SL}
- Granularity of encryption includes any Information Set Item. {List:
Reagle}
- Encryption can be recursive. {Imamura, SL}
- The mechanisms of encryption will be simple: describe how to encrypt/decrypt digital
content, XML documents, and portions thereof. {Reagle}
- Only enough information necessary for decryption need be provided. {Reagle}
- The specification will not address the confidence or trust applications place in the
provision of a key, nor mechanisms of key establishment. {Reagle}
- The only key structures that will be defined relate to those necessary to decrypting
opaque content. {Reagle}
- The specification will address both key-encrypting-keys and data keys. {Reagle}
- Other key structures should be developed under a different namespace. {Reagle}
- The specification will not address authorization and access control. {List: Reagle, Simon, Kudoh}
- The specification will not address authentication. {List: Reagle}
- The specification will use pre-existing data models (e.g., Information Set) and
canonicalization methods (e.g., Canonical XML) unless it can explicitly justify the need
for a new one. {Reagle}
- Implementation/Design Philosophy
- Parser
- Implementations must work with pre-existing parsers. {MyProof}
- Implementations must rely upon namespace aware and schema validating parsers. {Reagle}
- XML Instances
- Implementations must work over pre-existing XML. {MyProof}
- XML Processing, the transformation/processing model should be
- Fast {List: Ferguson}
- Memory efficient {List: Ferguson}
- Work with tree and event based parsers {List: Ferguson}
Encryption Data Model and Syntax
- An encrypted object is XML. {Imamura, SL}
- The XML Encryption data structures will be predicated on: {Reagle}
- the RDFS schema within the Information Set specification [Infoset]
- [XSet]
- ...
- An XML Encryption application must be able to use and understand {Reagle}
- XML-namespaces [XML-namespaces].
- XML Schema [XML-schema]
- XML Encryption can be applied to any Web resource -- including non-XML content.
{Imamura, SL}
- Encrypted objects are first class objects themselves and consequently can be referenced
and signed. {Reagle}
- Algorithm Identification
- Whenever possible, any resource or algorithm is a first class object, and identified by
a URI. {Imamura, SL}
- The solution must work with arbitrary encryption algorithms, including symmetric and
asymmetric keys schemes as well as dynamic negotiation of keying material. {Imamura, SL}
- The specification will not address key establishment methods. {Reagle}
- The specification must specify at least one mandatory to implement canonicalization,
hash, and encryption algorithm. {Reagle}
- Encryption
- TripleDES {List: Ferguson}
- AES {List: Ferguson}
- Canonicalization
- Canonical XML [XML-C14N]
- ...
- Validity (attempt 1:instances)
- upon encryption
- must still be valid in the original namespace. {List: Reagle}
- must be only well formed. {List: Reagle}
- must be valid in a new namespace with modified schema. {List: Reagle}
- upon decryption
- must be as valid as the original {List: Reagle}
- Validity (attempt 2:parsers)
- XML Encryption applications need only operate over well formed namespace-aware XML.
{Reagle}
- XML Encryption applications must be schema aware and permit alterations to the target
such that encryption modifications are made where permitted by its schema content model?
(What happens if forbid by schema?) {Reagle}
- XML Encryption applications must not violate the DTD/schema valid of the target
instance. "We have encountered several applications where the customer wishes to
encrypt attribute or element CDATA without changing, adding, or deleting any XML
tags." {MyProof}
- To satisfy this requirement the document to be encrypted SHOULD be referenceable from an
external document via XPath. {MyProof}
- Any "[XPath] feature causes serious performance problems because the document must
be fully buffered in order to apply the XPath expression." {Andy Clark}
- The transformation/processing model should be based on:
- Application specific logic {List: Ferguson}
- XSLT {List: Ferguson}
- XPath {MyProof}
- XLink {List: Maruyama}
- @@Where did we stand on the issue of email headers encryptor/recipient?
The XML Encryption specification should meet the requirements of (so as to support) or
work with the following applications:
- XML Authorization {List: Scherling,
Damiani}
- [XML Protocols] {Reagle}
- [XML Signature] {Reagle}
To ensure the above requirements are adequately addressed, the XML Encryption
specification must be reviewed by a designated member of the following communities:
- XML Schema Working Group {Reagle}
- XML Core Working Group {Reagle}
- XML Protocol Working Group {Reagle}
- Internationalization Interest Group {Reagle}
- The specification should be free of encumbering technologies: requiring no licensing
fees for implementation and use. {List: Ferguson}
- Imamura
- Another
proposal of XML Encryption, Takeshi Imamura (Mon, Aug 14 2000)
- C2000
- Crypto 2000 XML Encryption BoF (minutes).
Santa Barbara. August 24 .
- DOM
- Document Object Model Core, Level 3. Arnaud Le Hors. W3C Working Draft.
http://www.w3.org/TR/DOM-Level-3-Core/core.html
- List
- XML Encryption List
(an unmoderated and unchartered publis list).
- MyProof
- MyProof
Position Paper On XML Encryption
- InfoSet
- XML Information Set, W3C Working Draft. John Cowan.
http://www.w3.org/TR/xml-infoset.
- SL
- XML
Encryption strawman proposal Ed Simon and Brian LaMacchia (Wed, Aug
09 2000)
- XML
- Extensible Markup Language (XML) 1.0 Recommendation. T. Bray, J. Paoli, C. M.
Sperberg-McQueen. February 1998.
- http://www.w3.org/TR/1998/REC-xml-19980210
- XML-C14N
- Canonical XML. Working Draft. J. Boyer. September 2000.
- http://www.w3.org/TR/2000/WD-xml-c14n-20000907
- XML-ns
- Namespaces in XML Recommendation. T. Bray, D. Hollander, A. Layman. Janaury 1999.
- http://www.w3.org/TR/1999/REC-xml-names-19990114
- XML-schema
- XML Schema Part 1: Structures Working Draft. D. Beech, M. Maloney, N. Mendelshohn. April
2000.
- http://www.w3.org/TR/2000/WD-xmlschema-1-20000407/
XML Schema Part 2: Datatypes Working Draft. P. Biron, A. Malhotra. April 2000.
- http://www.w3.org/TR/2000/WD-xmlschema-2-20000407/
- XMLDSIG
- XML-Signature Syntax and Processing. Working Draft. D. Eastlake, J. Reagle, and D. Solo.
http://www.w3.org/TR/2000/WD-xmldsig-core-20000918/
- XSet
- Full Fidelity Information Set Representation. Jonathan Borden. XML-Dev
- http://lists.xml.org/archives/xml-dev/200008/msg00239.html
- URI
- RFC2396. Uniform Resource Identifiers (URI): Generic Syntax. T. Berners-Lee, R.
Fielding, L. Masinter. August 1998
http://www.ietf.org/rfc/rfc2396.txt
-