This document:Public document·Annotated document·View comments·Search comments·Add a new comment·Send replies to comments·Disposition of Comments·
Nearby:XML Security Working Group
Other specs in this tool
Quick access to LC-2487
There are 4 comments (sorted by their types, and the section they are about).
1 XML Signature Syntax and Processing Version 2.0
Specification uses term "XML namespace URI" instead of "namespace name"
Although this probably doesn't create confusion, such informal term shouldn't appear in W3C spec. Either proper term "namespace name" should be used (see http://www.w3.org/TR/xml-names/#dt-NSName) or at least "XML namespace URI" should be put into Appendix A - Definitions and be properly defined here as a synonym of "namespace name".
Insufficently defined context for XPath evaluation in "10.6.1 Selection of XML Documents or Fragments"
XPath 1.0 specification defines the following properties for context
a node (the context node)
a pair of non-zero positive integers (the context position and the context size)
a set of variable bindings
a function library
the set of namespace declarations in scope for the expression
Only the context node is defined in this specification, other properties should be defined as well.
Typo in "11.3 Namespace Context and Portable Signatures"
In addition, the Canonical XML and Canonical XML with Comments algorithms import all XML namespace attributes (such as xml:lang) from theâ€¦
There shouldn't be xml:lang, but namespace declaration attribute like xmlns:foo.
Also using entity references in examples as content of namespace declarations looks quite confusing.
Transformation as described assumes that operates on text node -- otherwise it will always return empty string. I'm not sure whether this is correct assumption. Omitting operation 1) will fix this problem
There is an error in the XML Signature 2.0 examples, the dsig2:Selection attribute which specifies the type is named "type" and it should be named "Algorithm" according to the schema ( see http://www.w3.org/TR/2011/WD-xmldsig-core2-20110421/#sec-Selection )
Proposal, change "type='" to "Algorithm=" in the following.
(a) In 2.1, http://www.w3.org/TR/2011/WD-xmldsig-core2-20110421/#sec-o-Simple-2.0
[s07a] <dsig2:Selection type="http://www.w3.org/2010/xmldsig2#xml" xmlns:dsig2="http://www.w3.org/2010/xmldsig2#"
(b) In 2.2, http://www.w3.org/TR/2011/WD-xmldsig-core2-20110421/#sec-DetailedIdExample-2.0
[ i23 ] <dsig2:Selection type="http://www.w3.org/2010/xmldsig2#xml" URI="#MsgBody" />
(c) and in 2.3, http://www.w3.org/TR/2011/WD-xmldsig-core2-20110421/#sec-DetailedXPathExample-2.0
[ p24 ] <dsig2:Selection type="http://www.w3.org/2010/xmldsig2#xml" URI="">
xs:element name="Selection" type="dsig2:SelectionType"/>
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
<xs:attribute name="URI" type="xs:anyURI" use="required"/>
<xs:attribute name="Algorithm" type="xs:anyURI" use="required"/>
I suggest we make the corresponding changes to XML Signature 2.0 as noted in the proposal below and submit this as a Last Call Comment for XML Signature 2.0
For 2.0 (1) would apply to Section 7. The KeyInfo Element, (2) would apply to Section 7.3 The RetrievalMethod Element, and (3) would apply to Section 7. The KeyInfo Element, all as proposed.
Begin forwarded message:
> From: "Hirsch Frederick (Nokia-CIC/Boston)" <Frederick.Hirsch@nokia.com>
> Date: July 1, 2011 10:28:08 AM EDT
> To: ext Sean Mullan <firstname.lastname@example.org>, XMLSec WG <email@example.com>
> Cc: "Hirsch Frederick (Nokia-CIC/Boston)" <Frederick.Hirsch@nokia.com>
> Subject: Re: XML Signature 1.1 KeyInfo requirements
> I have entered this into tracker as a comment, LC-2502 (even though the document is in CR)
> Looking at this and Scott's mail, I propose the following changes to section 4.5 of XML Signature 1.1 . Do we agree that these are the changes we want?
> (1) Change last sentence in section 4.5 paragraph 2 and add sentences, to read
> While applications may define and use any mechanism they choose through inclusion of elements from a different namespace, compliant versions MUST implement KeyValue (section 4.5.2 The KeyValue Element) and SHOULD implement KeyInfoReference (section 4.5.10 The KeyInfoReference Element). The KeyInfoReference is preferred over use of RetrievalMethod as it avoids use of Transform child elements that introduce security risk and implementation challenges. Support for other children of KeyInfo is OPTIONAL.
> This changes the SHOULD from RetrievalMethod to KeyInfoReferenceElement and makes explicit that support for KeyInfo children is optional.
> (2) Add at end of section 4.5.3 "The RetrievalMethod Element" the following note:
> Note: The KeyInfoReference element is preferred over use of RetrievalMethod as it avoids use of Transform child elements that introduce security risk and implementation challenges.
> (3) add sentence to end of 1st paragraph of section 4.5 "The KeyInfo Element"
> Details of mechanisms used with element children of KeyInfo are out of scope for this specification, e.g. PKI certificate contents or ordering, CRL management and so on.
> If we change the normative language this document would need to go back to Last Call for a short review of the noted changes, but this should not be a schedule issue at this time, given that the ECC PAG continues. I would recommend we try to resolve this on the list and complete another Last Call if needed before August.
> Please indicate agreement or suggested changes to the proposal on the list.
> regards, Frederick
> Frederick Hirsch
>  http://www.w3.org/TR/2011/CR-xmldsig-core1-20110303/#sec-KeyInfohttp://www.w3.org/TR/2011/CR-xmldsig-core1-20110303/#sec-KeyInfo
> On Jun 29, 2011, at 3:24 PM, ext Sean Mullan wrote:
>> Section 4.5, paragraph 2:
>> "If KeyInfo is omitted, the recipient is expected to be able to identify the key based on application context. Multiple declarations within KeyInfo refer to the same key. While applications may define and use any mechanism they choose through inclusion of elements from a different namespace, compliant versions must implement KeyValue (section 4.5.2 The KeyValue Element) and should implement RetrievalMethod (section 4.5.3 The RetrievalMethod Element)."
>> These requirements seem like they should be revisited, especially since a later section says to avoid RetrievalMethod because of potential security concerns (see Note in section 4.5.10). Also, does this imply that all KeyValues must be supported? I would think it should only be supported if there is a required signature algorithm for the corresponding key type. Had there ever been any discussion about updating the list of required KeyInfo types?
I propose the following changes to XML Signature 1.1 and XML Signature 2.0 to reference XML Signature Best Practices:
(1) Add new paragraph at end of Section 1, Introduction , as follows:
A number of good practices related to the use of XML Signature, including practical implementation considerations and practices for improving security are documented in the XML Signature Best Practices document which should be considered by implementers of this specification [XMLDSIG-BESTPRACTICES].
(2) Add informative reference to A.2 Informative references, as follows:
Pratik Datta; Frederick Hirsch. XML Signature Best Practices. 31 August 2010. W3C Working Draft. (Work in progress.) URL:http://www.w3.org/TR/2010/WD-xmldsig-bestpractices-20100831/
Add a comment.