[ticker-dev] ticker-3.0 spec - Replace on Message ID ( Keys ? ?)
David Arnold
arnold at dstc.monash.edu.au
Tue Apr 9 10:55:49 EST 2002
-->"Martin" == Wanicki, Martin <Martin.Wanicki at Australia.Boeing.com> writes:
Martin> In fact I'd prefer that the replacement option to be key
Martin> based, so that only the bona fide originator of a
Martin> notification has the right to recall or change the notif.
oh well. there goes my theory that most people won't care ;-)
Martin> Yeah, I agree, although if a notif could be *keyed with the
Martin> plaintext of the replacement id hash it would work, but then
Martin> I know three fifths of feck-all about security and keys :-(
i played, once, with using this kind of mechanism. it's actually not
dissimilar to the Bell Labs S/Key protocol.
1. sender picks the plaintext
2. sender picks how many times it want to replace the message
(** this is the bad bit **)
3. sender hashes the plaintext, and then hashes the result, and that
result, etc, N times (from step 2).
4. for the first message, use the final hash and then work
backwards through previous hashes.
this works because the hash function is one-way, so having seen a
message, a receiver cannot derive the hash of its replacement, but
when it gets the replacement, if its REPLACEMENT field hashes to the
REPLACEMENT of the previous message, it's legitimate.
the big limitation is that the sender need to know up front how many
times you want to do this.
i couldn't figure out a way to do an in-band rekey over a federation
-- a man-in-the-middle attacker could race the legitimate re-key
packet with a malicious re-key packet, and since we don't guarantee
total ordering, the nastygram could win :-(
Martin> *Keyed : Its my understanding that keys are not a client
Martin> readable part of a notification and I'm not familiar enough
Martin> with the api to know if there is a way to throw a key at a
Martin> routine to check if the notif has this key
keys are not delivered to the client, so you can only check them using
a subscription.
Martin> Basically i was thinking along the lines of a digital
Martin> signature. the signatures should match before replacement is
Martin> done.
but if i can receive the first signature, then i can simply dump those
bytes into a bogus message. you need to have some content to sign
which varies in a way which only the sender can predict, and the
receiver can verify in-band.
of course, if you're prepared to do an out-of-band signature
verification, then the problem evaporates. you simply sign all
messages.
Martin> I really dont know how to solve this but I know i would
Martin> prefer it to be secure.
there's no such thing as "secure", only degrees of security ;-)
if you trust the first message, why would you not trust a replacement
with equivalent "credentials" ?
d
More information about the ticker-dev
mailing list