Copyright © 1999 The Internet Society & W3C (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.
This Working Draft of XML Signature Requirements is a very stable result of this Working Draft having been advanced through W3C Last Call. Relatively small changes have been made to clarify the stated requirements during that period.
Please send comments to the editor <reagle@w3.org> and cc: the list <w3c-ietf-xmldsig@w3.org>. Publication as a Working Draft 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. It is inappropriate to cite W3C Drafts as other than "work in progress". A list of current W3C working drafts can be found at http://www.w3.org/TR
This document lists the design principles, scope, and requirements for the XML Digital Signature specification. It includes requirements as they relate to the signature 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. The mission of this working group is to develop a XML syntax used for representing signatures on digital content and procedures for computing and verifying such signatures. Signatures will provide data integrity, authentication, and/or non-repudiatability.
This document lists the design principles, scope, and requirements over three things: (1) the scope of work available to the WG, (2) the XML signature specification, and (3) applications that implement the specification. It includes requirements as they relate to the signature syntax, data model, format, cryptographic processing, and external requirements and coordination. Those things that are required are designated as "must," those things that are optional are designated by "may," those things that are optional but recommended are designated as "should."
Comment: A more formal definition of a signed resource is below. The
notation is "definition(inputs):constraints" where definition evaluates as true
for the given inputs and specified constraints.
signed-resource(URI-of-resource, content, key, signature): (there was some protocol
message at a specific time such that "GET(URI-of-resource) = content") AND
(sign-doc(content, key, sig))
sign-doc(content, key, signature): signature is the value of a strong one-way
transformation over content and key that yields content integrity/validity and/or key
non-repudiability
The WG may specify security requirements that constrain the operation of these dependencies to ensure consistent and secure signature generation and operation. [Oslo]
Comment: A related requirement under consideration is
requiring the specification to support the ability to indicate those portions of a
document one signs via exclusion of those portions one does not wish to sign. This feature
allows one to create signatures that have document closure [List(Boyer(1)],
retain ancestor information, and retain element order of non-continuous regions that must
be signed. We are considering implementing this requirement via (1) a special <dsig:exclude>
element, (2) an exclude list accompanying the resource locator, or (3) the XML-Fragment
or XPointer specifications -- or a requested change to those specifications if the
functionality is not available. See List(Boyer(1,2))
for further discussion of this issue.
Comment: Another possibility is that an error should be generated, however it isn't where a conflict will be flagged between the various function and application layers regardless.
Comment: Members of the WG are very interested in signing and processing XML fragments and packaged components. Boyer asserts that [XML-fragment] does not "identify non-contiguous portions of a document in such a way that the relative positions of the connected components is preserved." Packaging is a capability critical to XML-Signature applications, but it is clearly dependent on clear trust/semantic definitions, package application requirements, and even cache-like application requirements. It is not clear how this work will be addressed.
http://lists.w3.org/Archives/Team/xml-dsig-review/1999May/0007.html
http://www.w3.org/DesignIssues/Axioms.html
http://www.w3.org/DesignIssues/Architecture.html
http://search.ietf.org/internet-drafts/draft-ietf-xmldsig-signature-00.txt
http://www.w3.org/1999/05/XML-DSig-charter-990521.html
http://search.ietf.org/internet-drafts/draft-hiroshi-dom-hash-01.txt
http://www.echeck.org/library/ref/fsml-v1500a.pdf
http://www.w3.org/TR/1999/NOTE-xml-infoset-req-19990218.html
draft-ietf-trade-iotp-v1.0-protocol-04.txt
http://www.ietf.org/internet-drafts/draft-ietf-trade-iotp-v1.0-dsig-00.txt
http://www.w3.org/TR/1999/PR-rdf-schema-19990303
http://www.w3.org/TR/1999/REC-rdf-syntax-19990222
http://lists.w3.org/Archives/Public/w3c-ietf-xmldsig/
http://www.ietf.org/rfc/rfc2396.txt
http://www.w3.org/DSig/signed-XML99/
http://www.w3.org/DSig/signed-XML99/summary.html
http://www.w3.org/TR/1998/REC-xml-19980210
http://www.w3.org/TR/1999/NOTE-xml-canonical-req-19990605
http://www.w3.org/Submission/1999/05/
http://www.w3.org/Submission/1998/16/
http://www.w3.org/TR/1999/REC-xml-names-19990114
http://www.w3.org/1999/05/06-xmlschema-1/
http://www.w3.org/1999/05/06-xmlschema-2/
http://www.w3.org/1999/07/WD-xptr-19990709
http://www.w3.org/1999/04/WebData