Subject: [MLS] Question regarding DS rejecting (commit) messages with duplicate counter

From: Daniel Gultsch <[email-masked]>
Date: Thu, 5 Mar 2020 09:58:26 +0000

Hi,

this is my first post on this mailing list so let me quickly introduce
myself. I work on XMPP within the XMPP Standards Foundation. I’m the
developer of an Android client called Conversations and I’m among the
people who brought OMEMO into the XMPP world. I am not a
cryptographer; I can use a library and that's it. I’m coming to MLS
from a pure implementation perspective.

So here is my question:

I understand that commit messages have to arrive in order to be able
to discard subsequent commit messages that try to commit on the same
state. (See Section 11). So assuming that my DS can ensure a unique
order of messages is it still necessary for the DS to reject messages
with the same counter (As described in 11.1)? Wouldn’t the individual
implementations be able to just take the first commit message and
reject subsequent ones. (And then I guess the sender of the rejected
commit message would have to learn that by applying the first commit
message and resend their own commit message.)

If keeping track counters (and rejecting duplicates) is something a DS
needs to ensure (even though I don’t yet understand why) I think this
is something that needs to be mentioned in the architecture document
(as this seems like a slightly unusual feature for a messaging
service).

cheers
Daniel