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

Raphael Robert <ietf@raphaelrobert.com> Fri, 07 May 2021 20:43 UTC

Return-Path: <ietf@raphaelrobert.com>
X-Original-To: mls@ietfa.amsl.com
Delivered-To: mls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F40863A3242 for <mls@ietfa.amsl.com>; Fri, 7 May 2021 13:43:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=raphaelrobert.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id r1Zx9pbfKYf5 for <mls@ietfa.amsl.com>; Fri, 7 May 2021 13:43:44 -0700 (PDT)
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com [IPv6:2a00:1450:4864:20::635]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 46A2F3A323E for <mls@ietf.org>; Fri, 7 May 2021 13:43:43 -0700 (PDT)
Received: by mail-ej1-x635.google.com with SMTP id b25so15464723eju.5 for <mls@ietf.org>; Fri, 07 May 2021 13:43:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raphaelrobert.com; s=rr; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=q+JuqY7DoeXDliiSuJHpqvIgd3ds4cyruIOmbuB4f6o=; b=qi2si3e/HIo3fNcOLmk1HRI9KO4VI09hb5XYuqYFvs6rwr4PD+jM3rjZb1+BidGgWs HbbO/hyOno4iwuLlyjJSvb1nFDFsfbVLBrxcLFk4epRSF8d5xwQBgTUchM+bBGJZzbeW L/NvqJQrk5g6PlEAHIR89lkiqPMiQuMhYn0HY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=q+JuqY7DoeXDliiSuJHpqvIgd3ds4cyruIOmbuB4f6o=; b=DLqml4TEG5WYrZT8yNfwd87P1CNvJOC0fQlyHu9EZh1B1sA/tunuYgCrGlG04TEd4l /ld5TltH2GYuMvRefG4rzlNnmLFb5dlmYNO2oC8n1TQIIWR9OtrOjcsJup9q+Yptsc5r pCH7Ci5Z0AZ2yyeIZckiU9pgi2sYwL1rbaHp8t59lneMhfgbpwcfa5/x2WCKBvZBxEQr iEqH+7h3KV9Ldg/G/aHymp7rQvEItKPbzaq/4RzYVeiddht1iHbggPN1o07Ka3yjJYzZ RS3YFPulxLNYxu3mFerczUFfq+m5yeHAk6MAhqMqe5f7qaPu3YP8cm8khLAnekwEavhj QwIQ==
X-Gm-Message-State: AOAM531vfUCehtYjtNLQFWOdJe9POhfx3R5sojEYkqOlKOvsOKJ/YaLF I17sq+Epb+k45c66NR1ddPXZJA==
X-Google-Smtp-Source: ABdhPJyvH7ycv7910vS7ccseZshOOj2h+TIn6ubbtizjyUOiWMR06ekAd4U/nTzYcl/nxQr1Znci9w==
X-Received: by 2002:a17:906:29ce:: with SMTP id y14mr11966610eje.189.1620420221102; Fri, 07 May 2021 13:43:41 -0700 (PDT)
Received: from smtpclient.apple ([37.49.18.137]) by smtp.gmail.com with ESMTPSA id k5sm5650434edk.46.2021.05.07.13.43.40 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 07 May 2021 13:43:40 -0700 (PDT)
From: Raphael Robert <ietf@raphaelrobert.com>
Message-Id: <C64A0465-28E7-4FFE-834A-B1EB50343574@raphaelrobert.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_4F9B8EEA-7A31-4A65-B970-93852B4417F5"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.80.0.2.43\))
Date: Fri, 07 May 2021 22:43:39 +0200
In-Reply-To: <CAFWeb9LgU+eC0FVndeY-6Kf=NNUf4Lmdhuy2nKXwyK9gDE8UHg@mail.gmail.com>
Cc: Messaging Layer Security WG <mls@ietf.org>
To: Alec Muffett <alec.muffett@gmail.com>
References: <CAFWeb9LwdSecpQdM1zvTAht+DvnYf3NCD4tcte1ZcH-pjHFRnA@mail.gmail.com> <B0A56CC0-7C7C-4343-886A-020D4CCD7BCD@raphaelrobert.com> <CAFWeb9Kb4FwzkT0Bj7jhTxnW+i3qTQanu=JRc73=WDK+NR2Jmw@mail.gmail.com> <E418B2DA-D0E3-473A-A8A1-3248766A90DF@raphaelrobert.com> <CAFWeb9LgU+eC0FVndeY-6Kf=NNUf4Lmdhuy2nKXwyK9gDE8UHg@mail.gmail.com>
X-Mailer: Apple Mail (2.3654.80.0.2.43)
Archived-At: <https://mailarchive.ietf.org/arch/msg/mls/VGEP06S9XE947l75vOAiPY6xCfY>
Subject: Re: [MLS] Functional Definition of End-to-End Secure Messaging
X-BeenThere: mls@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Messaging Layer Security <mls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mls>, <mailto:mls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mls/>
List-Post: <mailto:mls@ietf.org>
List-Help: <mailto:mls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mls>, <mailto:mls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 07 May 2021 20:43:50 -0000

Thanks for the additional context, it certainly helps!

I definitely think it is worth attempting to capture the aspects of what could constitute and end-to-end secure messaging system. I’m only arguing about the details here, not the effort in general. I also want to add that I can’t claim to be aware of all prior literature on that subject, so I like the fact that draft-knodel-e2ee-definition-01 cites a few sources.

Regarding the definition of an “end”, draft-knodel-e2ee-definition-01 has section 2.1, 4.3 & 4.5. Your draft has section 4.1 & 5. In my mind both drafts could be a bit more assertive here. I like that you introduce different types of participants. I think that point is particularly important, because if the participants are not just “humans with a messenger app”, it begs the question who has control over the messages that were received by that participant. Other humans who are not part of the “conversation”? Future participants of the “conversation”? A machine that will scan the message content and act on it? In the end this defines what “confidentiality” really means, besides the academic definition.
To be more precise, I would add to the definition of participants, that all participants must know exactly the type of other participants. It matters whether participant Eve is a bot or a human. This would be an actionable definition in order to refute that a system with ghost user is still e2e secure. If a participant lies about the kind of participant they are, this would constitute a breach and contradict the end user expectations.

> On 7. May 2021, at 18:22, Alec Muffett <alec.muffett@gmail.com> wrote:
> 
> Heya!
> 
> All references in the attached, are against: 
> 
> URL: https://github.com/alecmuffett/draft-muffett-end-to-end-secure-messaging/blob/157627c713f81a27c9528c87b6e58111ba54e485/text/draft-muffett-end-to-end-secure-messaging.txt <https://github.com/alecmuffett/draft-muffett-end-to-end-secure-messaging/blob/157627c713f81a27c9528c87b6e58111ba54e485/text/draft-muffett-end-to-end-secure-messaging.txt>
> 
> ...which should be constant even if the document is subsequently updated.
> 
> 
> On Fri, 7 May 2021 at 15:50, Raphael Robert <ietf@raphaelrobert.com <mailto:ietf@raphaelrobert.com>> wrote:
> 
> I agree that the two drafts a quite different. Yours is much more specific in certain aspects. And this is where it also gets tricky :)
> Dave has a good point that it might not be straight forward to have a “one-size-fits-all” model. 
> 
> This is not a one-size-fits-all model of "security".  It's a definition of end-to-end secure messengers".  
> 
> It is a formalisation of the following argument:
> 
> 1/ in an "end-to-end secure messenger", there are "ends"; this flows from the expression
> 
> 2/ messages are sent from "ends", to "ends", and a sequence of messages constitutes a "conversation" (obvious?)
> 
> 3/ for each message, the set of "ends" is "frozen" upon "send" (3.3) to the current & wholly visible set of conversation "ends" (3.2) ; if it were not frozen thusly we would lack forward secrecy and simply be reinventing Yahoo Messenger, which wasn't end-to-end secure, hence we can't be doing that
> 
> 4/ no "end" may have privileged access to content, (3.1 - participating as an 'end' does not somehow bestow exceptional access to content, e.g by also being a database administrator)
> 
> 5/ no "non-end" may have any access to content (3.3.2)
> 
> 6/ it requires the consent ("intentional action") of an existing member, to add more "ends" to a conversation (3.4) 
> 
> 7/ the software should help ends understand where they are logged-in (3.5)
> 
> That's it.  That's the whole specification, although it's padded with stuff like "indistinguishability" to disambiguate questions like "what if we just leak a *little* bit of the content?" and "what about conversation metadata?". 
> 
> Everything extrapolates from the term "end to end secure messenger", and I would be interested to hear examples of purportedly "end-to-end secure messengers" which don't already meet it.  I would like to know why they do not?

I think what both drafts don’t fully cover yet is the fact that end users have expectations. For me everything extrapolates from the “set of typical end user expectations”. The software and its documentation should make it as clear as possible to the user how the system works, who can potentially have access to messages (e.g. a LE ghost user, a recording bot, only other humans that can be transparently authenticated out-of-band).

> 
> 
> draft-knodel-e2ee-definition-00 is much broader could certainly be expanded to include more precise definitions to illustrate the more abstract notions.
> 
> And there's the rub; the point of this is to avoid abstract notions, because we need a concrete definition in order to judge what is meant by "end to end secure messenger" - not to mention to measure the features which some states propose be drilled into them.
> 
>  
> Just having fixed set of precise criteria sounds nice in terms of simplicity but might simply prove to be insufficient to capture all valid use cases.
> 
> I welcome examples of use-cases where this definition falls short.

I don’t have a good counter-example at hand, but that doesn’t mean it doesn’t exist. I guess it would be great if we had links to existing literature, or comparative analysis of past and current e2e secure systems to corroborate the idea.

> 
> Notably this definition also works for Ricochet which uses Tor Onions and point-to-point communication to provide end-to-end security, without even a hint of content encryption. It turns out that it is not always necessary to use content encryption (e.g. Signal Protocol) to implement a "closed distribution list" for a sequence of messages - which is all that "end to end security" is, in the most fundamental sense.  The technologies have to adapt in order to address the underlying architecture: client-server, direct peer-to-peer, mesh, etc.
> 
> 
> In either case, having a document that can be used as a checklist to determine with absolute certainty whether a system is end-to-end-encrypted or not sound like a dangerous endeavour.
> 
> I would welcome examples of the dangers.

In a way this is what Dave pointed out earlier. There could be both false positives and false negatives.

False positive: A system that works in a way that doesn’t contradict the definitions of the draft, but that contradicts the typical end user expectations.

False negative: A system that contradicts one or more definitions of the draft (most likely because they are too restrictive) but still meets the typical end user expectations.

False positives are downright dangerous for end users, while false negatives might hinder the adoption of an otherwise great system.

>  
> Given the complexity of the subject, the answer cannot always be binary.
> 
> Certainly it cannot yet be binary, for want of a metric to measure against.

My hunch here is that either draft could evolve into something that — when used as benchmark — gives a high degree of confidence whether a system is e2e secure or not.
In a way it would be like a legal document: it tries to be as precise as possible, but there might still be the need for interpretation by experts in the field (including the possibility of disagreement).

>  
> When you say “ill-defined, but widely used terminology”, what exactly are you referring to?
> 
> "End"; I would be interested to hear what your definition of this term is, and so we might compare it to Section 4.1 and the explanatory note in Section 5,
> 
> 
> Statements in the press? What exact problem needs fixing here?
> 
> The issue is that "end to end secure messenger" has no definition against which we can measure the features of a given software solution.  This I-D offers one.
> 
> And then, when the UK Government (or other) propose that "...adding a 'Ghost' will not break end-to-end security", we can precisely measure the impact of, and rebut, that statement.

I understand you want something actionable with punchy definitions and I agree that it would be a useful thing to have. For it to become that, it needs consensus from the wider community. Not only because that’s the idea behind IETF, but also because it carries more weight in the end. With that in mind, it would be great if some more folks would chime in so that this is not only two party conversation with only two opinions.
What I’m also not sure about is whether the two drafts will be sufficiently different in the end, in the sense that they would cater to different audiences. They are de facto different now, but maybe it would be worth trying to bring them together? I am an author of neither, so I can really only float the idea.

Another aspect that is at least partially covered in draft-knodel-e2ee-definition-01 is that of authentication. I think this plays a big role when it comes to “ghost users” and transparency of participants. It’s also something that is still very much an area of exploration for secure messengers. There is room for improvement across the board and in that sense the drafts could serve as a guideline for existing and future messengers.

Lastly I also would like to mention the MLS architecture draft (https://tools.ietf.org/html/draft-ietf-mls-architecture-06 <https://tools.ietf.org/html/draft-ietf-mls-architecture-06>) that touches on a lot of these subjects. While its purpose is a different one, it goes strictly beyond the scope of MLS and highlights aspects that are relevant for many secure messaging systems.

I hope the above makes it a bit more clear what I maybe failed to express earlier.

Raphael

> 
> 
> Having a bit more context on that would certainly help with the overall assessment. Maybe we are just talking past each other.
> 
> I hope this helps.
> 
>     - alec
> 
> -- 
> https://alecmuffett.com/about <https://alecmuffett.com/about>
>