[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]