Copyright © 1999 The Internet Society & W3C (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.
This is a WG Draft that attempts to respond to comments and issues that have arisen since these requirements were announced as Last Call. Specifically,
This document is not a normative response, but a candidate for WG consideration. In order to avoid a constantly changing Requirements Document, we have introduced changes that hopefully states requirements in a more informed though generic way that will provide guidance but survive continued design decisions in the specifications.
This document attempts to capture the Working Group's consensus though it contains
points which are still uncertain or not well specified. Issues which are still being
actively discussed during the publication of this document are of
and rendered in navy by style sheet compliant applications.
Please send comments to the editor <firstname.lastname@example.org> and cc: the list <email@example.com>. 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 the following
evaluates as true "definition(inputs):constraints" where R is a resource., I is
a resource identifier (URI), and C is content (sequence-of-octects).
signed-resource(I, C, key, sig): there was some request R such that GET(R) = C and address(R) = I and sign-doc(C, key, sig)
sign-doc(C, key, sig): sig is the value of a strong one-way
function over content and key that yields C integrity/validity and/or K 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, 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
(2) an exclude list accompanying the resource locator, or (3) the XML-Fragment or
XPointer specifications to yield this functionality, 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.