Changes in XML Signature Syntax and Processing (1.1 First Public Working Draft)

Frederick Hirsch <>
Thomas Roessler <>
$Date: 2009/04/06 23:37:42 $

Status of this Document

This document summarizes the changes that the XML Security Working Group has made to the XML Signature Syntax and Processing Specification Second Edition in preparing a proposed 1.1.

Discussion of Changes

Cover page

Updated to Version 1.1, updated date and versoin links. Updated editor information to add Kelvin Yiu as editor, updated entries for Frederick Hirsch and Thomas Roesssler to include 1.1 editing.

Table of Contents

Added new section, 4.4.3, "The ECKeyValue Element"

Added new section, 6.5.3, "Exclusive XML Canonicalization 1.0"

Removed "Authors' Address" section

1.3 Versions, Namespaces and Identifiers

Add new namespace for 1.1 specific features, while retaining earlier namespace for unchanged features. Clarification of use of namespace prefixes and XML internal entities. Clarification regarding versioning.

1.4 Acknowledgements

Affiliation update for Konrad Lanz. Add statement acknowledging contributions from the XML Security WG to 1.1.

2.1 Simple Examples

Example updated to use rsa-sha256 SignatureMethod algorithm and sha256 DigestMethod algorithm.

2.1.1 More on References

Example updated to use sha256 DigestMethod algorithm.

2.2 Extended Example

Example updated to use sha256 DigestMethod algorithm.

2.3 Extended Example

Example updated to use sha256 DigestMethod algorithm.

4.0 Core Signature Syntax

Added preamble for dsig11 namespace, including DOCTYPE and schema material. The Reference Processing Model

Added XPath Filter 2 Transform as alternative to URI fragment identifiers, in addition to XPath Transform.

4.4 The KeyInfo Element

Editorial, replace &dsig; with dsig:.

4.4.2 The KeyValue Element

Change RSA from RECOMMENDED to REQUIRED in note that the corresponding structured keys are defined in the Signature Algorithms section.

Add ECDSA as REQUIRED in list. The ECKeyValue Element

New section

Define ECKeyValue element. Include editorial note that working group has considered but not accepted an alternative design and may change decision if additional information is obtained. Explicit Curve Parameters

New section

Define ECParameters element. Compatibility with RFC 4050

New section

Profile RFC 4050 with respect to ECDSA key formats.

4.4.3 The RetrievalMethod Element

Add note to describe the need to use a Transform to obtain content of KeyInfo referenced by ID.

4.4.4 The X509Data Element

Add dsig11:OCSPResponse element to list of elements that may be included.

Add RECOMMENDED certificate encoding to be BER or DER subset.

Add note regarding use of X509IssuerSerial and possible issue with schema validation when large serial numbers are used. Distinguished Name Encoding Rules

Add OCSPResponse element to schema definition for X509Data, with comment noting it should be in dsig11: namespace.

6.1 Algorithm Identifiers and Implementation Requirements

Added note that the working group does not have consensus on manditory algorithms and note some of the positions regarding the choice.

Reformat the list of algorithms into separate Required and Optional lists, for clarity.

Add SHA256 as required Digest algorithm.

Add SHA384 and SHA512 as optional Digest algorithms.

Add HMAC-SHA256 as Recommended MAC algorithm.

Add HMAC-SHA384 and HMAC-SHA512 as optional MAC algorithms.

Add RSAwithSHA256 as required Signature algorithm.

Add ECDSAwithSHA256 as required Signature algorithm.

Change so that DSAwithSHA1 is only required as Signature algorithm for Signature verification, but is optional for Signature generation. Previously it was Required for both.

Add RSAwithSHA384,RSAwithSHA512, ECDSAwithSHA1, ECDSAwithSHA384, ECDSAwithSHA512 as optional Signature algorithms.

Add Exclusive XML Canonicalization 1.0 with Comments as recommended canonicalization algorithm.

Add XPath Filter 2.0 as Recommended transform algorithm.

Add recommendation to use least expressive transform possible to achieve result.

Add note that implementation requirements for XPath transform may be downgraded to optional in future version of specification.

6.2 Message Digests

Add introduction noting possible concerns with digest algorithm resistance to collisions and strongly recommending use of SHA-256 in preference to SHA-1.

6.2.2 SHA-256

Add identifier and information for SHA-256 digest algorithm.

6.2.3 SHA-384

Add identifier and information for SHA-384 digest algorithm.

6.2.4 SHA-512

Add identifier and information for SHA-512 digest algorithm.

6.3.1 HMAC

Add identifiers for HMAC-SHA256, HMAC-SHA384, and HMAC-SHA512 algorithms.

6.4.1 DSA

Add security considerations note regarding DSA key sizes.

6.4.2 RSA (PKCS#1 v1.5)

Change section title from "PKCS1 (RSA-SHA1)" to "RSA (PKCS#1 v1.5)".

Add identifiers for RSA-SHA256, RSA-SHA384, and RSA-SHA512 algorithms.

6.4.3 ECDSA

New section.

Identifiers and information for ECDSA algorithms, including ECDSA-SHA1, ECDSA-SHA256, ECDSA-SHA384, and ECDSA-SHA512 algorithms.

6.5 Canonicalization Algorithms

Remove text regarding Normalization Form C.

6.5.1 Canonical XML 1.0

Clarify inputs and outputs for algorithm.

6.5.2 Canonical XML 1.1

Clarify inputs and outputs for algorithm.

6.5.3 Exclusive XML Canonicalization 1.0

New Section

Define identitifers, input and output and other information for Exclusive XML Canonicalization 1.0.

6.6 Transform Algorithms

Add text that implementation requirements are listed in the Algorithm Identifier and Implementation Rquirements section.

6.6.2 Base64

Clarify inputs and outputs for algorithm.

6.6.3 XPath Filtering

Clarify inputs and outputs for algorithm.

6.6.4 Enveloped Signature Transform

Clarify inputs and outputs for algorithm.

6.6.5 XSLT Transform

Clarify inputs and outputs for algorithm.

7.0 XML Canonicalization and Syntax Constraint Considerations

Fix typo, replace "descendents" with "descendants".

8.0 Security Considerations

Fix typo, replace "Implementors" with "Implementers".

9.0 Schema, DTD, Data Model, and Valid Examples

Add XML Signature 1.1 Schema Instance to the list.

11.0 References

Add editors note that section needs update to split into normative and non-normative references.

Add references to RCF 2560 (OCSP), RFC 3279 (PKIX), RFC 4050 (ECDSA for XML Digital Signatures) and RFC 4051 (Additional XML Security URIs).

Add references to SEC1 and SEC2 (Elliptic Curve Cryptography).

Add references to FIPS PUB 180-2 for SHA-256, SHA-384 and SHA-512.

Add reference to SP 800-57 for Key Management.

Add reference to RFC 3061 for URN namespace of Object Identifiers.

Add reference for XML Encryption.

Correct URIs associated with reference for XML Signature Requirements