[foaf-protocols] The case for massive simplification and foaf:key
Henry Story
henry.story at bblfish.net
Tue Sep 21 16:28:38 CEST 2010
On 21 Sep 2010, at 03:15, Kingsley Idehen wrote:
> On 9/20/10 7:24 PM, Nathan wrote:
>> Hi All,
>>
>> I've been discussing off-list with Melvin and various others over the
>> past few months about many future uses of webid, public keys and various
>> implications of the way we are currently doing things.
>>
>> To start, here's the proposal:
>>
>> :me foaf:key "DER-formatted-public-key"^^xsd:base64Binary .
>
> :me foaf:publicKey "DER-formatted-public-key"^^xsd:base64Binary .
>
> Otherwise we just continue to overload "key" and perpetuate confusion
> re. public and private keys re. PKI.
I think there are many good reasons to have a foaf:publicKey relation
from an Agent to a public key.
- it allows query engines who index only the subject to get from
something they know, the WebID to the key very easily.
- it makes for a cleaner foaf file (no need for rev relations)
- it is more intuitive than cert:identity
Leaving aside the issue of the DER formatted public key for the moment,
as that still needs to be worked out in detail, I am in favour of
adding that to the cert ontology
cert:publicKey a rdf:Property;
rdfs:comment """
a relation from an agent to a public key for which he alone has
the private key. This public key identifies that agent, allows him
to decrypt messages sent to him with that key, and is able to sign
messages with it too.
""";
rdfs:domain foaf:Agent;
rdfs:range cert:PublicKey .
( though I think the name can still be debated).
I am also in favour of deprecating cert:identity, which to tell the truth
I never that much liked.
Essentially that is just the inverse of cert:identity, so I could even
add
cert:publicKey owl:inverseOf cert:identity .
The wot:identity relations was needed I think more because the idea was to publish.
I think I can also just delete the current
:public_key a rdf:Property;
vs:term_status "unstable";
rdfs:comment """
relates the private key to the public key component, in a public/private
key pair. """;
rdfs:domain :PrivateKey;
rdfs:range :PublicKey .
Which I don't think is used at all, and which I just put there initially as
I was trying to understand the working of the ontology.
Perhaps someone has a better name for a way of relating a public key to its private key?
I could imagine that to be useful for RDF key stores.
Henry
More information about the foaf-protocols
mailing list