[messaging] Message order in group chat (attempt at summary)

Trevor Perrin trevp at trevp.net
Fri Apr 18 13:42:17 PDT 2014


Awesome threads, here's what I think I've learned:

 (1) It seems feasible to put messages into a causal/partial order by
having them piggyback references and hashes to their parents (aka
"causal predecessors").

 (2) If these partially-ordered messages are displayed in a linear
order, then "ice cream" attack becomes possible, where a message is
snuck in to make your innocent response about ice-cream seem about
something else.

 (3) This could be handled by either displaying the partial order, or
- when two messages are sent at roughly the same time - by accepting
one message, rejecting the other, and requiring the rejected user to
explicitly resend.  I liked Tom Ritter's UI for displaying partial
order [1].  I share dkg's suspicion that the protocol complexity and
UI impact of reject/resend are worse than displaying the partial order
[2].

 (4) Handling join/part is complicated, Ximin has ideas which I don't
have a handle on yet [3].

Comments:

 * Even if we don't solve the ice-cream problem, doing (1) and
(somehow) canonicalizing the partial order into a linear order still
seems worthwhile, since it could detect a participant sending
different messages to different parties...

 * ... But this protection only comes if you receive periodic
confirmation about what all other parties are seeing.  Without this,
an attacker could partition the group's communications, or send
whatever he wants to a silent participant.  Periodic "heartbeats",
anyone?

 * James Mickens kills it again [4]


Trevor  ("I announce my desire to go to lunch" :-)


[1] https://moderncrypto.org/mail-archive/messaging/2014/000318.html
[2] https://moderncrypto.org/mail-archive/messaging/2014/000323.html
[3] https://moderncrypto.org/mail-archive/messaging/2014/000317.html
[4] http://research.microsoft.com/en-us/people/mickens/thesaddestmoment.pdf


More information about the Messaging mailing list