- From: Joseph Reagle <reagle@w3.org>
- Date: Thu, 9 Jan 2003 15:25:12 -0500
- To: Marc Hadley <marc.hadley@sun.com>, dee3@torque.pothole.com
- Cc: w3c-xml-protocol-wg@w3.org, Martin Gudgin <mgudgin@microsoft.com>, w3c-ietf-xmldsig@w3.org
- Message-Id: <200301091522.22801.reagle@w3.org>
Hi Marc, Martin and XMLP. On Thursday 09 January 2003 11:18, Marc Hadley wrote: > SOAP 1.2 intermediaries have some license when serializing messages > that pass through them. Some of the permitted changes that an > intermediary can make have the possibility of invalidating an XML > signature dependent upon on the parts of the message that are signed. > SOAP 1.2, Part 1, 2.7.4 SOAP Intermediaries and Relayed Infoset[1] > describes the rules that intermediaries must follow when relaying a > SOAP message and the interactions of these rules with XML signatures. Yes, we noted this scenario: Two XML documents may have differing information content that is nonetheless logically equivalent within a given application context. Although two XML documents are equivalent (aside from limitations given in this section) if their canonical forms are identical, it is not a goal of this work to establish a method such that two XML documents are equivalent if and only if their canonical forms are identical. Such a method is unachievable, in part due to application-specific rules such as those governing unimportant whitespace and equivalent data (e.g. <color>black</color> versus <color>rgb(0,0,0)</color>). There are also equivalencies established by other W3C Recommendations and Working Drafts. Accounting for these additional equivalence rules is beyond the scope of this work. They can be applied by the application or become the subject of future specifications. http://www.w3.org/TR/2001/REC-xml-c14n-20010315#Limitations > In addition, the XMLP WG is currently considering the attached document > for publication as a WG Note. The document describes a SOAP specific > canonicalization algorithm that extends exclusive canonicalization to > normalize the transforms that SOAP intermediaries can perform on > messages passing through them. We would very much appreciate your > feedback on the attached document and also that of the XML Signature > working group if appropriate. > > It has been suggested that the proposed algorithm might be better > formulated as a transform to permit composition with other > canonicalization algorithms in the future, any feedback you may have on > this suggestion would also be appreciated. A few comments, one of which is that I agree with the suggestion above. 1. I think I would recommend this be a distinct transform (instead of incorporating exc-c14n within it). It would make the specification very straightforward (in fact, one could probably precisely specify and test your transform with an XSLT) and allows it to be combined with other canonicalizations. The result is a slightly more verbose Signature Reference (an additional line), but I like that explicitness as well: <Reference URI="http://example.com/foo.html"> <Transforms> <Transform Algorithm="http://www.w3.org/2002/11/sm-c14n"/> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> </Transforms> The first argument against this is that of performance efficiency: if they are a single transform I could do both operations in a single pass-through. However, that can still be done as I believe people are already "looking-ahead" in the transform list and optimizing for well known transforms that appear together. The second argument against this is you can't use this method as a SignedInfo CanonicalizationMethod -- which doesn't permit arbitrary transforms. However, I don't believe you're likely to find these SOAP constructs in a SignedInfo anyway? 2. Not that it matters much, but the convention for c14n and exc-c14n is that even the with comments URI has a '#' at its end. 3. Just curious, but how much of a demand was for these application variances, particularly "0" and "false." (Would seem easier just to choose one from the outset...?) 4. "This algorithm also takes an optional explicit parameter of an empty InclusiveNamespaces element with a PrefixList attribute. The value of this attribute is the same as specified in [EXCL C14N]." FYI: on this point there is an error in the Recommendation addressed by an errata: http://www.w3.org/2002/07/xml-exc-c14n-errata#E02 E02 2002-10-03 (Error) In section 4 Use in XML Security, the data type of the PrefixList attribute value is specified as NMTOKENS in both the DTD and Schema. This does not permit the occurrence of the '#default' token in the attribute value because of the "#" character. Consequently, the type of this attribute value should be CDATA in a DTD and/or xsd:string in a XML Schema. Hopefully other folks in the xmldsig WG will have comments too.
Attachments
- text/html attachment: soap-c14n.html
Received on Thursday, 9 January 2003 15:25:15 UTC