[foaf-protocols] WebID for signing RDF graphs
Toby Inkster
tai at g5n.co.uk
Thu Sep 23 22:57:09 CEST 2010
On Thu, 23 Sep 2010 09:05:01 -0700
Jeremy Carroll <jeremy at topquadrant.com> wrote:
> Yes - that works. This means that an attacker can change them (as
> long as they remain problematic! quite a challenge, but we need to
> keep those black hats busy !? ). I think the solution in my paper is
> generally better, i.e. add additional triples as part of the signing
> process.
Adding triples is pretty much a no-go for me, as I want the signature
to be independent of the graph. e.g. so I can sign a graph that exists
on somebody else's server, as an endorsement of its contents. I would
probably not have permission to add triples to their graph.
My potential solution is this:
After canonicalising the bulk of the graph, gather the remaining
problematic triples at the end. For each blank node in these
problematic triples, replace the blank node label with "[]", then sort
the problematic triples alphabetically.
This of course gives you Turtle rather than N-Triples, but a subset of
Turtle very close to N-Triples. It also means that the original graph
cannot be recovered from the new graph, although the original does
entail the new one. But both of those provisos seem fine if all you
need to be able to do is generate a consistent signature from a graph,
no matter what the original serialisation was.
An attacker could still change some of those problematic triples, but
their scope for doing so would be massively reduced. The triple count
would need to remain the same, and they couldn't add any URIs or
literals that weren't in the original graph, and the triples would need
to remain problematic.
Jeremy, I'd be interested to know what you think about that as a
solution?
--
Toby A Inkster
<mailto:mail at tobyinkster.co.uk>
<http://tobyinkster.co.uk>
More information about the foaf-protocols
mailing list