Re: [MLS] Functional Definition of End-to-End Secure Messaging

Alec Muffett <> Fri, 07 May 2021 13:50 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 608653A2247 for <>; Fri, 7 May 2021 06:50:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 5blumvsXMbdO for <>; Fri, 7 May 2021 06:50:37 -0700 (PDT)
Received: from ( [IPv6:2607:f8b0:4864:20::82b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 2FB1D3A2249 for <>; Fri, 7 May 2021 06:50:37 -0700 (PDT)
Received: by with SMTP id c11so6513931qth.2 for <>; Fri, 07 May 2021 06:50:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=h3yAeFy99rtOV4fY2QOOkWq4T0ULT9syhIX6ARuhKUM=; b=elDzbXxnzIfrgY2rLoxRBSl/Ev/VaOL/qsw4Fnw39H9U54rQWXbo7myAzMjk1/0GVu 2jNyHEtOL2LVMD+ZsO6FQ7B7hg67qenSsoV4mP17GnRfnhLDdNfWYEFtnzFOi1XH6fsK XlX2boBF8kNP4z2XMIqP3VPqR8sCSgyjpzHs+wwoS+Po74y6IffsMV8lJsLlNvw4Lwny vXHwmNw5Ez96nrUqIV9zdhIe5MyskA21m1fHfJQUkRoYZb/rXGT6Nds2zGdlsU1+Bvp9 0w5QYC6jz+B/FQQ+P3H1Hxcr5lgX4Q/XfmM4N0uah61iqn4npapnkFiXaRoqn3bvi/qW 1euQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=h3yAeFy99rtOV4fY2QOOkWq4T0ULT9syhIX6ARuhKUM=; b=XaRGtoRZAaA+3R/DqwUQriPI33r3Epds5Ow5yAIJG5gzE4HCl0AkSmhmdwMD5aKL9j BsRYYyR1h27id75MuI0lNuPvTsZXoIqmOT3vfT/b386hyHdwMQsbscE0amuZCWq8eH88 5H78RmIbIWyzUkTKxSdT2UELAtmZU6tACBRFEhktpiamPlM1ZKABW5YFGHlAkkuS0pGn dgAoDxGntTKaVfXQoMRilgSDnEbIotpK6co02lvOOuU7KzlL3BJIl5yta/AJk7/Uv6fo uDc9+qoZ0ga/u66256p+UziqDGpiy9EP2Z6V0frfaIKmHPr5hjO4CCRsqV+7SsqI4KFK LArA==
X-Gm-Message-State: AOAM533b1CXAeJYbiTzH47y2KN1d/KNB8MQzLAaiyFlevIiGdNorIzcm scNehiqKBqMRpP6eADYcl5NDzqnWqg9zRmTN5cA=
X-Google-Smtp-Source: ABdhPJzX0Xx/v41eK042Taq6EonhhGz9dX22LpI8jFaPwul8fd2xrkG/Uf0nifR+s0i+0xlr4quLgtPjYRDvLpgKUY8=
X-Received: by 2002:ac8:574e:: with SMTP id 14mr60473qtx.191.1620395434673; Fri, 07 May 2021 06:50:34 -0700 (PDT)
MIME-Version: 1.0
References: <> <>
In-Reply-To: <>
From: Alec Muffett <>
Date: Fri, 7 May 2021 14:49:58 +0100
Message-ID: <>
To: Dave Cridland <>
Cc: Messaging Layer Security WG <>
Content-Type: multipart/alternative; boundary="00000000000047898205c1bdb6c5"
Archived-At: <>
Subject: Re: [MLS] Functional Definition of End-to-End Secure Messaging
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Messaging Layer Security <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 07 May 2021 13:50:43 -0000

Hey Dave!

Nice to follow up in long-form. :-)

On Fri, 7 May 2021 at 13:51, Dave Cridland <> wrote:

> As I said on Twitter, I'm hesitant to try to build a one-size-fits-all
> definition of "secure".

But that's not what I am trying to do; I am trying to build a
one-size-fits-all definition of "end-to-end secure", which is pretty easy
to do because there's an inherent threat-model in the phrase "end to end".

It comes down to "there are ends. respect them."

> I think a much more useful first step (and one where consensus is much
> easier to gain) would be to talk about different threats and their
> potential mitigations and trade-offs, rather than blanket statements that
> things are or are not secure in some absolute sense which I'm unconvinced
> exists.

The set of threats is practically infinite, and as we're aware from
firewall design it is much more robust to work with an "allowlist" rather
than a "blocklist".  Hence this approach.

> "Secure" is not an absolute

I agree.

> and has to be handled in context.

And the context is "end to end", and - especially - "end" is a term that
many use and few strictly define.

MLS provides a (very) useful set of tools with which to build various
> models of secure, including the consumer-grade personal security you appear
> to be driving toward.

I am not driving towards anything other than a measurable definition of
"end-to-end secure messaging".

> The primary objection I have here is that people will make the assumption
> that any system that does not conform to your arbitrary definition of
> "Secure" is, by inference, "Insecure".

That *is* an objection, however it pivots on the assertion that I am
somehow attempting to define "secure" - but I am not.

The document clearly states that it is a "Functional Definition of
End-to-End Secure Messaging"; perhaps you can suggest how to make that more

As an example, ... Your stipulation is that clinicians joining a particular
> group chat must not be able to see past messages. This in turn means that
> clinicians must be ill-informed about the patient's past, and therefore
> there is a heightened clinical risk to the patient. I would argue that
> patient safety should be an outcome of an applicable security stance. I
> think there is genuine risk involved in providing people with a misleading
> single definition of "secure"

That's a great question with a practical use-case, but to me it begs the
question of:

  "why is the system that you [Dave] are describing, appropriate to
describe as 'end-to-end secure'?"

- who are the ends?  Are the messages stored in such a way that they could
be accessed by a non-participant, for instance a database administrator?
Where is your forward secrecy, and how is what you describe somehow
different to (say) a security-hardened version of Facebook Messenger?

These are questions which really ought to be asked of *every* platform, and
they are *not* being asked, because we have no metric to measure against.
Hence this document.

This is not to say that your definition is particularly "wrong"; it's not
> capable of being wrong for the same reason that it's not capable of being
> "right".

I disagree, and I suggest that it is the very nature of your critique which
demonstrates the functional requirement for a metric like

    - alec