[CAP] CAP Security Using Digital Signatures
Art Botterell
acb at incident.com
Wed Mar 11 20:20:14 PDT 2009
Friends -
We're moving rapidly toward an important threshold in CAP
implementations. So far, most CAP-based systems have been self-
contained, single vendor/implementer arrangements. But soon we're
going to need to "federate" CAP traffic among multiple interoperable
systems. And that has important implications for security.
Most current systems use a trusted-link/trusted-host mode based on
encrypted network links and password access control at a central
server. That's a familiar Web 1.0 approach and it works fine for
"single-hop" implementations. But it has a major drawback: As soon as
messages are forwarded from one server to another, a security
compromise anywhere can compromise the authentication and integrity of
all CAP messages downstream.
The alternative, of course, is to apply digital signatures to CAP
messages at their origin, and to verify them at receiving points.
That way, it doesn't matter if the links or intervening nodes are
secure or not; any recipient can verify independently that the message
is a) from who it says it's from, and b) hasn't been modified in
transit.
There's a standard way of doing this for XML, as cited in the CAP
Specification:
>3.3.2.1 Digital Signatures
>The alert element of a CAP Alert Message MAY have an Enveloped
Signature, as described by XML Signature and
>Syntax Processing [XMLSIG]. Other XML signature mechanisms MUST NOT
be used in CAP Alert Messages. Processors
>MUST NOT reject a CAP Alert Message containing such a signature
simply because they are not capable of verifying
>it; they MUST continue processing and MAY inform the user of their
failure to validate the signature.
But I'm not aware of anyone that's implemented it yet... partly
because it hasn't been necessary in stand-alone systems, and partly
because it involves a type of programming a lot of folks haven't had
occasion to explore yet.
But ultimately, it's going to be essential for interoperability. So
I'd be interested in hearing, has anyone implemented XMLSIG on CAP
yet? And would anyone be interested in doing some interoperability
experiments? The standard is there, the technology is there (in Java
and a number of other languages) and I see the requirement bearing
down on us quickly.
What say?
- Art
More information about the CAP-list
mailing list