OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

dss message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: [Fwd: [dss] More on EnvelopingSignature]


I think it is a question of consistency and perhaps we could entertain a
dash of simplicity. Take these scenarios:


Scenario 1:

Client passes in ...

		<bookOrder>
			<item>
				<title>XML and Digital Signatures</title>
				<isbn>0-201-48543-5</isbn>
				<quantity>1</quantity>
				<price unit="USD">39.95</price>
  			</item>
		</bookOrder>

... and dss:EnvelopingSignature/No ObjId

Server can either a) reject because No ObjId attr present in request, or b)
it can 
unilaterally add a Reference URI and a matching Id attr e.g. <bookOrder
Id=content> and construct a node-set 
under a <ds:Object> and sign it. Pre-Digest would not contain ds:Object tags


Scenario 2:

Client passes in ...

		<bookOrder>
			<item>
				<title>XML and Digital Signatures</title>
				<isbn>0-201-48543-5</isbn>
				<quantity>1</quantity>
				<price unit="USD">39.95</price>
  			</item>
		</bookOrder>

... and dss:EnvelopingSignature/ObjId=MyOrder

Server follows instructions and adds Reference URI and Id attr (to bookOrder
element not ds:Object I would wager)


Scenario 3:

Client passes in ...

		<bookOrder Id="MyOrder">
			<item>
				<title>XML and Digital Signatures</title>
				<isbn>0-201-48543-5</isbn>
				<quantity>1</quantity>
				<price unit="USD">39.95</price>
  			</item>
		</bookOrder>

... and dss:EnvelopingSignature/ObjId=MyOrder

Similar to Scenario 3 except that client included Id attr, server accepts it
since it matches and is consistent


Scenario 4:

Client passes in ...

	<ds:Object Id="MyOrder">
		<bookOrder>
			<item>
				<title>XML and Digital Signatures</title>
				<isbn>0-201-48543-5</isbn>
				<quantity>1</quantity>
				<price unit="USD">39.95</price>
  			</item>
		</bookOrder>
	</ds:Object>

... and dss:EnvelopingSignature/No ObjId


Personally I would reject this since the client is trying to do our job by
specifying signature-specific ds:Object framing


Scenario 5

Client passes in ...

	<ds:Object Id="MyOrder">
		<bookOrder>
			<item>
				<title>XML and Digital Signatures</title>
				<isbn>0-201-48543-5</isbn>
				<quantity>1</quantity>
				<price unit="USD">39.95</price>
  			</item>
		</bookOrder>
	</ds:Object>

... and dss:EnvelopingSignature/ObjId=MyOrder


Personally I would reject this as well, in fact why not reject any thing
that attempts framing with the ds:Object ?

The alternative, and a possible way to support both ds:Object tag in or out
of signature scope, is to allow the client to specify where the Id goes and
force the server to find it on either the ds:Object or the First Child under
the ds:Object. Doable but complicates things for little gain. 

Additionally, should not EnvelopingSignature restrict InputDocuments to 1
for clarity ?

Ed


   

-----Original Message-----
From: Trevor Perrin [mailto:trevp@trevp.net] 
Sent: June 1, 2005 7:56 PM
To: ed.shallow@rogers.com
Cc: dss@lists.oasis-open.org
Subject: Re: [Fwd: [dss] More on EnvelopingSignature]

Edward Shallow wrote:
> Agree with the True scenario as is presently supported. In fact one 
> could use either the ObjId passed in EnvelopingSignature or why not 
> simply the RefURI on the target BaseDocumentType to add the Id 
> attribute to the newly constructed ds:Object node

That's what we do - we use the ObjId passed to add the Id attribute to the
newly constructed ds:Object node.

However, that doesn't solve Juan Carlos' problem.  The signature is still
calculated over the element inside the <ds:Object>, not the <ds:Object>
itself.


(see Andreas' enveloping example on the Wiki ...
> #content). I do not believe that the False scenario will present 
> itself often enough to be useful and is not IMHO warranted. Why would 
> the user create any signature-specific framing at all ? That is what 
> they want the server to preform. You are moving in the template 
> direction and if you are going to suggest templates, then support them 
> all the way as is described in the EPM profile.
> 
> If these exception scenarios are to be supported at all, I believe 
> they should be relegated to the profiles to handle.

When an enveloping <ds:Signature> contains a <ds:Object> which contains
<someElement>, the signature might be over
  A) <ds:Object>
or
  B) <someElement>

Juan Carlos pointed out that we have no way of using DSS with
<dss:EnvelopingSignature> to create a signature over the <ds:Object> (A),
only over the <someElement> (B).

Do you have a solution that supports both, or do you think current support
is ok?


Trevor


> 
> User-friendly will always get my vote.
> 
> Ed
> 
> -----Original Message-----
> From: Trevor Perrin [mailto:trevp@trevp.net] 
> Sent: May 29, 2005 3:21 PM
> To: dss@lists.oasis-open.org
> Subject: Re: [Fwd: [dss] More on EnvelopingSignature]
> 
> 
> Juan Carlos,
> 
> You make a good point: currently, there's no way for clients to use
> <dss:EnvelopingSignature> and request a signature that references the
> <ds:Object>.  Thus, the ObjId attribute is not very useful.
> 
> I propose that we eliminate the ObjId attribute.  Instead add an attribute
> dss:EnvelopingSignature/@addObjectWrap=[true/false].
> 
> If true, the server adds a <ds:Object> around the input document when
> embedding it, per the current text.
> 
> If false, the server assumes a <ds:Object> is already present in the
inpout
> document, so the server embeds the input document directly in the
>   signature.
> 
> This approach doesn't require changes in basic processing.
> 
> 
> Trevor
> 
> 
> 
> 
> Trevor Perrin wrote:
> 
>>---------------------------- Original Message
>>---------------------------- Subject: [dss] More on EnvelopingSignatur
> 
> 
> e
> 
>>From: cruellas@ac.upc.edu
>>Date: Fri, May 27, 2005 11:06 am
>>To: dss@lists.oasis-open.org
>>Cc: scabre@ac.upc.edu
>>----------------------------------------------------------------------
>>----
>>
>>
>>
>>Dear all,
>>
>>Concerning our previous email, and after looking at the request and 
>>thinking further,we would say that, as there is not in the request any 
>>ObjId in the EnvelopingSignature optional input,and there is not any 
>>Id in the enveloped xml data, the request is not correctly built and 
>>the server would generate a signature whose verification would fail.
>>Requester's responsability....
>>
>>But the issue on the description of the processing is still remaining. 
>>If the request is:
>>
>>
>>xmlns:dss="http://www.docs.oasis-open.org/dss/2004/06/oasis-dss-1.0-co
>>re-schema-wd-30.xsd";
>>
>>RequestID="UPCRequestEnvelopingXMLSig_0">
>>
>>urn:ietf:rfc:3275
>>
>>
>>
>>
>>
>>
>>xmlns:upc1="http://www.ac.upc.edu/namespaces/ns1";;
>>xmlns:upc2="http://www.ac.upc.edu/namespaces/ns2";;>
>>child1 content
>>child21 content child22 content
>>
>>
>>child31 content child32 content
>>
>>
>>
>>
>>
>>
>>
>>Then the server is instructed to add the Id attribute to ds:Object. In 
>>this case, in order the verification be successfull, the server has to 
>>digest the whole canonicalized ds:Object, not only the xmldata 
>>contents....and this process is not indicated anywhere in the core
> 
> text.....
> 
>>
>>Going a bit further, we could have three general cases....The list 
>>below explains them and gives indications of what we think that the 
>>server could do in each case. We asume in all of them that the 
>>to-be-enveloped input document contains a RefURI....if not, things are 
>>per-application based (as indicated in XMLDSIG).
>>
>>1. EnvelopingSignature without ObjId, NO SignedReferences with 
>>Transformations, No transformations indication in the input document:
>>
>>---> If the input document is a XMLData and it contains an Id that
>>matches the RefURI, the server should only process (canonicalize and
>>digest) the contenst of the element with the Id for generating a valid 
>>signature!!. Difficulties for the server, unless the Id is in the root 
>>node of the input document....If not Id is present in the document 
>>there is no way of generating a valid signature: Requester's
> 
> responsability....
> 
>>What about banning this request?
>>
>>2. EnvelopingSignature with ObjId and NO SignedReferences with 
>>transformations AND NO transforms indication in the input document.
>>
>>---> For generating a valid signature the server SHOULD PROCESS
>>(canonicalize and digest in this case) the whole ds:Object (Not 
>>indicated in the core: need for modification?)
>>
>>3.EnvelopingSignature with or without ObjId AND some transformations 
>>within the inputdocument or within SignedReferences.
>>
>>--->The server will process THE INPUT DOCUMENT as indicated
>>in the section corresponding to processing, and the client will be 
>>responsible for ensuring that the corresponding RefURI/Id pair and the 
>>transforms indicated and/or requested combine so that the built 
>>signature may be successfuly verified....Again, it is client's 
>>responsability.
>>
>>
>>Do you agree with the summary of the 3 different cases? and what do 
>>you think of the server's behaviour that we describe for them?
>>
>>Regards
>>
>>Sergi and Juan Carlos.
>>
>>
>>
>>
>>--------------------------------------------------------------------- 
>>To unsubscribe from this mail list, you must leave the OASIS TC that 
>>generates this mail. You may a link to this group and all your TCs in 
>>OASIS at:
>>https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
>>
>>
>>
>>
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe from this mail list, you must leave the OASIS TC that
> generates this mail.  You may a link to this group and all your TCs in
OASIS
> at:
> https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe from this mail list, you must leave the OASIS TC that
> generates this mail.  You may a link to this group and all your TCs in
OASIS
> at:
> https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php 
> 
> 


---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that
generates this mail.  You may a link to this group and all your TCs in OASIS
at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php 




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]