Cryptographic authentication of VOEvents
John Swinbank
swinbank at transientskp.org
Wed Sep 12 07:25:29 PDT 2012
Hi Norman, all,
On 12 Sep 2012, at 00:43, Norman Gray <norman at astro.gla.ac.uk> wrote:
>
>>> I can't help feeling, however, that the suggested practice of simply signing the serialised XML document, as a binary blob, is a little ... unambitious, and will lead to hassles later.
>>
>> I'm a little on the fence about this. On general principle, I agree; however, I've seen few really convincing examples of what those hassles might be. I note the examples in your document ("if you want to do anything with the XML… [or] round-trip [it] into a system which doesn't know about your signature"), and find them somewhat persuasive but not compelling.
>>
>> I'd be genuinely interested in a real-world application where regarding the VOEvent as an opaque bitstream to be signed causes serious problems.
>
> I'm a bit of a tourist in this WG, so others will have to add detailed use-cases. However the fact that you effectively have to abandon the signature as soon as a document enters an XML parser, seems an obvious massive downside. You have to abandon the signature because it's axiomatic in any XML processing system that the serialisation -- the collection of angle brackets -- doesn't matter, so if it's the serialisation and not the content that you've signed, then you're going right against the grain. Good engineering goes with the grain.
Broadly speaking I agree, but I'm pretty sure that others won't, and I can't articulate a good, practical use case which this would enable. I would love for another member of this WG to step up and demonstrate how this will enable science which would otherwise be impossible.
[…]
Many thanks for all the elided explanations!
> I can see no reason why this would be hard to implement in any language which had an analogous API. The Xerxes-C parser has an API <http://xerces.apache.org/xerces-c/program-sax2-3.html> which directly mimics SAX. Python has a SAX-like implementation, too <http://docs.python.org/library/xml.sax.html>
Unfortunately, www.astro.gla.ac.uk appears to be offline today, so I can't refer to your specifications. However, I spent an informative half hour learning about SAX in Python, and agree that this isn't as hard a problem as I first thought. It does still add a significant level of complexity beyond treating the XML as an opaque payload, though – as above, a really concrete justification for that would help.
Cheers,
John
More information about the voevent
mailing list