- From: Donald E. Eastlake 3rd <dee3@torque.pothole.com>
- Date: Wed, 25 Jul 2001 23:47:47 -0400
- To: "Dournaee, Blake" <bdournaee@rsasecurity.com>
- cc: "'John Boyer'" <JBoyer@PureEdge.com>, "Joseph M. Reagle Jr." <reagle@w3.org>, w3c-ietf-xmldsig@w3.org
Hi, I think your argument works only for the default Canonical XML that strips comments. If you want to retain comments or to use Exclusive XML Canonicalization, or use some other canonicalization/serialization some place where you are going from a node set to an octet stream then you need to specify it explicitly. Donald From: "Dournaee, Blake" <bdournaee@rsasecurity.com> Message-ID: <E7B6CB80230AD31185AD0008C7EBC4D2DAEFCC@exrsa01.rsa.com> To: "'John Boyer'" <JBoyer@PureEdge.com>, "Joseph M. Reagle Jr." <reagle@w3.org> Cc: w3c-ietf-xmldsig@w3.org Date: Wed, 25 Jul 2001 17:17:01 -0700 >John, > >I belive your example is redundant. If we decode something that is expected >to be XML and we process it as XML the first thing we would do would be to >convert it into a node-set. From here, no matter what we did to it, it would >be canonicalized as part of the node-set to binary conversion. Any additonal >canonicalization is redundant - this is the nature of my argument. > >For example > >Base64 Blob -> Base64 Decode -> octets-to-node-set -> XSLT/XPath/etc -> >node-set to octets -> hash function. > >In my version above, canonicalization happens *once*. > >Here is your version > >Bas64 Blob -> Base64 Decode -> octets-to-node-set -> C14N -> XSLT/XPath/etc >-> node-set to octets -> hash function. > >In this version, canonicalization happens twice. Once explicitly, and once >implicitly when the node-set gets transformed into octets. This is redundant >canonicalization because shouldn't the XSLT and XPath transformations behave >the same over canonicalized or non-canonicalized XML? > >Further, you said: "Note that C14N is not run again at the end of the >transform pipeline if the output is already an octet stream, see Section >4.3.3.5:" > >This is correct, I agree with you. I think you are implying that I would >need canonicalization if I had a node-set previously that was converted into >an octet stream and then digested. > >But, my argument still holds because canonicalization would be used to >convert the node-set to an octet stream anyhow, so it shouldn't ever be used >explicitly. > >The only possibility that I can see is if a node-set should be canonicalized >*before* it is used in an XPath or XSLT transform. Is this the case? If so, >it will beat my argument and provide a reason for canonicalizing twice. > >Kind Regards, > >Blake Dournaee >Toolkit Applications Engineer >RSA Security > >"The only thing I know is that I know nothing" - Socrates > > > >-----Original Message----- >From: John Boyer [mailto:JBoyer@PureEdge.com] >Sent: Wednesday, July 25, 2001 4:17 PM >To: Dournaee, Blake; Joseph M. Reagle Jr. >Cc: w3c-ietf-xmldsig@w3.org >Subject: RE: C14N Argument > > > >Hi Blake, > >Base-64 decode something that is expected to be a chunk of XML. >C14N >XSLT > >Also, I don't understand how it would slow anything down. I find it cleaner >that it is possible to express the implicit behaviors. But, expressing that >a step should perform C14N versus implicitly performing a C14N still results >in a C14N, so there is no real cost saving derived from leaving out the >declaration of the C14N transform. Note that C14N is not run again at the >end of the transform pipeline if the output is already an octet stream, see >Section 4.3.3.5: > >"If the result of the URI dereference and application of Transforms is an >XPath node-set (or sufficiently functional replacement implemented by the >application) then it must be converted as described in the Reference >Processing Model (section 4.3.3.2). If the result of URI dereference and >application of Transforms is an octet stream, then no conversion occurs..." > >Cheers, >John Boyer >Senior Product Architect, Software Development >Internet Commerce System (ICS) Team >PureEdge Solutions Inc. >Trusted Digital Relationships >v: 250-708-8047 f: 250-708-8010 >1-888-517-2675 http://www.PureEdge.com <http://www.PureEdge.com> < >http://www.pureedge.com/ <http://www.pureedge.com/> > > > > >-----Original Message----- >From: Dournaee, Blake [ mailto:bdournaee@rsasecurity.com ><mailto:bdournaee@rsasecurity.com> ] >Sent: Wednesday, July 25, 2001 3:49 PM >To: John Boyer; Joseph M. Reagle Jr. >Cc: w3c-ietf-xmldsig@w3.org >Subject: RE: C14N Argument > > >John, > >Can you think of a possible example? I'm not even sure where this would fit >in at this point. > >Canonicalization is a very expensive operation for XML Signatures, and if it > >is left as an acceptable transform without much further explanation I am >guessing that it will be used unnecessarily, further slowing down practical >implementations. > >Blake Dournaee >Toolkit Applications Engineer >RSA Security > >"The only thing I know is that I know nothing" - Socrates > > > > >-----Original Message----- >From: John Boyer [ mailto:JBoyer@PureEdge.com <mailto:JBoyer@PureEdge.com> ] > >Sent: Wednesday, July 25, 2001 3:07 PM >To: Dournaee, Blake; Joseph M. Reagle Jr. >Cc: w3c-ietf-xmldsig@w3.org >Subject: RE: C14N Argument > > > > >Hi Blake, > >It could be useful, now or in the future, to put another transform after >c14n. > >John Boyer >Senior Product Architect, Software Development >Internet Commerce System (ICS) Team >PureEdge Solutions Inc. >Trusted Digital Relationships >v: 250-708-8047 f: 250-708-8010 >1-888-517-2675 http://www.PureEdge.com <http://www.PureEdge.com> < >http://www.pureedge.com/ <http://www.pureedge.com/> > > > > >-----Original Message----- >From: Dournaee, Blake [ mailto:bdournaee@rsasecurity.com ><mailto:bdournaee@rsasecurity.com> ] >Sent: Wednesday, July 25, 2001 1:47 PM >To: 'Joseph M. Reagle Jr.' >Cc: 'w3c-ietf-xmldsig@w3.org' >Subject: C14N Argument > > >Hello All, > >There is something that I have been pondering about XML Signatures. >Specifically, the current Candidate Rec allows for the use of Canonical >XML >as a transform in the "transformation pipeline" above and beyond the use >of >C14N to convert any node-set to octets. > >Consider this Argument: > >1. If a Reference is to be processed as "XML" (node-set), it will be >canonicalized implicitly when the node-set is converted to octets at the >end >of the transformation pipeline. > >2. If a Reference is to be processed as octets, canonicalization is >meaningless, since we don't know what the file format is anyhow > >3. C14N, when used as a part of the transformation pipeline is >redundant. > >Is there some exception to my argument here? What is missing? > >Kind Regards, > > >Blake Dournaee >Toolkit Applications Engineer >RSA Security > >"The only thing I know is that I know nothing" - Socrates
Received on Wednesday, 25 July 2001 23:49:38 UTC