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

 


Help: OASIS Mailing Lists Help | MarkMail Help

legalxml-enotary message

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


Subject: Re: [legalxml-enotary] Evaluation of consultant deliverable: symmetrickey


John,

You wouldn't be the first one to assume that XML Signature (DSIG)
means X509 digital certificate-based signgatures, so don't blame
yourself.

After studying the XML Signature XSD, I noticed two interesting
things.  First, is that the "Algorithm" attribute in the
SignatureMethod element allows for *any* URI - not just those
based on asymmetric-keys.

<xsd:element name="SignatureMethod" type="ds:SignatureMethodType"/>
   <xsd:complexType name="SignatureMethodType" mixed="true">
     <xsd:sequence>
       <xsd:element name="HMACOutputLength" minOccurs="0" 
type="ds:HMACOutputLengthType"/>
       <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
       <!-- (0,unbounded) elements from (1,1) external namespace -->
     </xsd:sequence>
     <xsd:attribute name="Algorithm" type="anyURI" use="required"/>
   </xsd:complexType>

So, my use of the following:

<ds:SignatureMethod 
Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"/>

is a perfectly legal use of a symmetric-key algorithm within
the DSIG schema.

Second, the definition for KeyInfo (shown below) allows for a
choice of elements, of which X509 is just one of many choices:

<xsd:element name="KeyInfo" type="ds:KeyInfoType"/>
<xsd:complexType name="KeyInfoType" mixed="true">
   <xsd:choice maxOccurs="unbounded">
     <xsd:element ref="ds:KeyName"/>
     <xsd:element ref="ds:KeyValue"/>
     <xsd:element ref="ds:RetrievalMethod"/>
     <xsd:element ref="ds:X509Data"/>
     <xsd:element ref="ds:PGPData"/>
     <xsd:element ref="ds:SPKIData"/>
     <xsd:element ref="ds:MgmtData"/>
     <xsd:any processContents="lax" namespace="##other"/>
     <!-- (1,1) elements from (0,unbounded) namespaces -->
   </xsd:choice>
   <xsd:attribute name="Id" type="ID" use="optional"/>
</xsd:complexType>


I am already familiar with the use of ds:KeyName and
ds:RetrievalMethod in identifying symmetric keys within
a utility I've created called "xenc" for creating encrypted
data using the OASIS EKMI TC's SKSML protocol:

http://www.strongkey.org/index.php?option=com_content&task=view&id=44&Itemid=35
http://www.oasis-open.org/apps/org/workgroup/ekmi-sksml/document.php?document_id=27075

The xenc utility creates encrypts data and stores them in files
with the .xenc extension (as in MyContacts.xenc).  It uses the
ds:KeyInfo element, and identifies the unique symmetric encryption
key it used to encrypt the file by defining the ds:KeyName and
ds:RetrievalMethod elements as follows:

<ds:KeyName>10514-1-213</ds:KeyName>
<ds:RetrievalMethod>http://skms.somecompany.com/getSymkey</ds:RetrievalMethod>

The 10514-1-213 is a GlobalKeyID (GKID) within a Symmetric
Key Management System (SKMS) and the key associated with this
GKID can be retrieved by authorized clients at the specified
URL.  This is all defined in the SKSML protocol in the EKMI
TC's work at the URL shown earlier.

Combining the novel use of the SignatureMethod's Algorithm
attribute and the two KeyInfo elements, you get to the
solution that I've come up with: using the XML Signature
schema for a symmetric-key signature profile.

I will admit - a little unabashedly - that this is a unique
and interesting way of using the XML Signature schema.  I
doubt that the original creators of the schema thought it
might be used with symmetric keys, but they at least had the
foresight to leave the door open to possibilities they did not
envision.  Since it does not require any changes to the DSIG
schema, this is a perfectly legal use of the schema, as XSD
verifiers will attest to.

I hope that addresses your question.

Arshad Noor
StrongAuth, Inc.


John Messing wrote:
> Arshad:
> 
> With regard to the use of XML DSIG for symmetric key signings, I must
> admit I was thrown by seeing in the schema the existence of the
> X509DataType, which I now see has min occurrences of "0". Athough I do
> recall some experiments I once performed on adapting DSIG to symmetric
> signing in connection with the development of the LegalXML
> eCourtDocument 1.1. standard, along with Rolly Chambers and Mo
> Abdulaziz, I do not recall finding guidance at the time for such usage
> of DSIG. I think understand and appreciate using a URI in connection
> with the key retrieval, but I was wondering if you developed this method
> on your own, or if you found antecedents, and if the latter, you would
> be willing to share them with the group.
> 
> Thank you.
> 
> 
> ---------------------------------------------------------------------
> 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]