- From: Graham Klyne <Graham.Klyne@MIMEsweeper.com>
- Date: Wed, 07 Mar 2001 21:23:48 +0000
- To: RDF interest group <www-rdf-interest@w3.org>
- Cc: "Joseph M. Reagle Jr." <reagle@w3.org>
RDF folks, Joseph Reagle has come up with a proposal (http://www.w3.org/TR/xmldsig-p3p-profile/) to attach "statement-of-intent" kinds of documents to a digital signature in a fashion similar to P3P use of policy documents to state site privacy practices. P3P is a specific use-case in his proposal, but it could be more broadly applied. This helps to indicate what might be read into a signature; e.g. is it simply an authentication of source, or is it intended to convey an assurance of the content? There are (at least) two RDF/SW angles here: (a) establishing the intent behind a signature may be important in establishing web-of-trust relationships, and (b) the document has a go at modelling the signature-intent mechanism using RDF. In the short term, I think the modelling of the signature intent mechanism would benefit from wider review: with Joseph's permission, I attach my comments on his proposal; in particular, I suggest an approach for using RDF to model the additional information. In the longer term, this modelling may play a role in building RDF structures relating to anticipated future web-of-trust developments. I, personally, happen to believe that there should be a distinction between a signature applied to a bag of bits, and an assurance that the signature imparts to an interpretation of those bits. Anyway, my comments on Joseph's proposal follow... #g -- Joseph, At 05:27 PM 3/1/01 -0500, you wrote: >http://www.w3.org/TR/xmldsig-p3p-profile/ I do like the basic idea here. Some comments... [...] >[def:] P3P Assurance Signature Profile > (1) a definition of the assured semantic under its namespace and (2) > a profile of XML Signature (constraints over algorithms, transforms, key > types, etc.) in a > P3P application context. It's not clear to me what is meant by "under its namespace" here; isn't this redundant? >2.1 Assurance Overview > >The following is an XML instance of a P3P Assurance semantic of a >signature over a P3P-Policy. The assurances uses the RDF data-model to >state that: A >SignatureProperty assures a P3P Policy. > >#Assurance1 > ><SignatureProperty Id="Assurance1" Target="#Signature1" > xmlns="http://www.w3.org/2000/09/xmldsig#"> > <Assures Policy="http://www.example.org/p3p.xml" > xmlns="http://www.w3.org/2000/10/xmldsig-p3p-profile/"/> ></SignatureProperty> So, this defines an assurance with a fragment identifier of "Assurance1", whose integrity can be confirmed by checking "Signature1"...? >2.2 XML Signature Overview Both the <SignatureProperty> assurance and the P3P policy document are covered by the signature, right? >3.0 P3P Assurance > >The assurance semantic is: > >[def:] Assured > the P3P DISPUTE service asserts that the P3P policy is accurate and > that the P3P DISPUTE service commits to the enumerated REMEDIES. Verification > of this semantic requires (1) signature validation where (2) the > signature key holder and P3P DISPUTE service are the same. This is assured by the affirmed _policy_? >3.1 Signature Semantics [...] >Consequently, this specification permits a signature semantic to be >expressed with the natural language semantic defined is section 3.0 using >the following XML >syntax as part of a SignatureProperty: > >[i0] <SignatureProperties> >[i1] <SignatureProperty Id="Property-Assurance" Target="#Signature1" >[i2] xmlns="http://www.w3.org/2000/09/xmldsig#"> >[i3] <profile:Assures profile:Policy="http://www.example.org/p3p.xml" >[i4] xmlns:profile="http://www.w3.org/2001/02/xmldsig-p3p-profile" /> >[i5] </SignatureProperty> >[i6] </SignatureProperties> > >Which means the same as the following [RDF]: > >[r0] <rdf:Description ID="Property-Assurance" about="#Signature1" >[r1] xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> >[r2] <profile:Assures resource="http://www.example.org/p3p.xml" >[r3] xmlns:profile="http://www.w3.org/2000/12/xmldsig-p3p-profile" /> >[r4] </rdfDescription> I disagree with the RDF, as I said. I think we are talking about three resources in the RDF sense: [#Signature] -- the signature [#Property-Assurance] -- the binding of signature to semantics [http://www.example.org/p3p.xml] -- the P3P policy document These are related in the following ways (using N3 notation): <#Signature> >-:signs-> <#Property-Assurance> <#Signature> >-:signs-> <http://www.example.org/p3p.xml> <#Property-Assurance> >-:targetSignature-> <#Signature> <#Property-Assurance> >-:assuresMeaningOf-> <http://www.example.org/p3p.xml> Note, there are _four_ RDF statements here. The RDF for this (generated by Dan's online N3 processor at http://www.w3.org/DesignIssues/Notation3.html) is: <web:RDF xmlns:web="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:g="http://www.w3.org/2000/10/n3/notation3.py#" g:genbase="http://example.org/gen/"> <web:Description about="http://www.w3.org/DesignIssues/Notation3.html#Signature"> <signs xmlns="#" resource="http://www.w3.org/DesignIssues/Notation3.html#Property-Assurance"/> <signs xmlns="#" resource="http://www.example.org/p3p.xml"/> </web:Description> <web:Description about="http://www.w3.org/DesignIssues/Notation3.html#Property-Assurance"> <targetSignature xmlns="#" resource="http://www.w3.org/DesignIssues/Notation3.html#Signature"/> <assuresMeaningOf xmlns="#" resource="http://www.example.org/p3p.xml"/> </web:Description> </web:RDF> >The reification of this statement (breaking it down into its "grammatical" >data model) is > >[rA] <rdf:type resource="rdf:Statement"/> >[rB] <rdf:subject resource="#Signature1"/> >[rC] <rdf:predicate resource="profile:Assures"/> >[rD] <rdf:object resource="http://www.example.org/p3p.xml"/> The reification of the above has 4 RDF statements for each separate statement noted above: <#Signature> >-:signs-> <#Property-Assurance> reifies as: :x >-rdf:type-> <rdf:Statement> :x >-rdf:predicate-> :signs :x >-rdf:suibject-> <#Signature> :x >-rdf:object-> <#Property-assures> where :x is some resource that stands for the statement. I'm not sure that discussing reification adds any value to your proposal, and possibly cause some confusion: it's not RDF's most "user-friendly" feature ;-) #g
Received on Wednesday, 7 March 2001 16:35:25 UTC