Re: [MLS] Recommendation for encrypted group operations

Richard Barnes <rlb@ipv.sx> Tue, 30 January 2024 18:52 UTC

Return-Path: <rlb@ipv.sx>
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 760AAC14CF12 for <mls@ietfa.amsl.com>; Tue, 30 Jan 2024 10:52:00 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.904
X-Spam-Level:
X-Spam-Status: No, score=-1.904 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=ipv-sx.20230601.gappssmtp.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YKnbv-evP1V9 for <mls@ietfa.amsl.com>; Tue, 30 Jan 2024 10:51:56 -0800 (PST)
Received: from mail-il1-x133.google.com (mail-il1-x133.google.com [IPv6:2607:f8b0:4864:20::133]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8BF4DC14F726 for <mls@ietf.org>; Tue, 30 Jan 2024 10:51:56 -0800 (PST)
Received: by mail-il1-x133.google.com with SMTP id e9e14a558f8ab-3639124ef52so2527515ab.3 for <mls@ietf.org>; Tue, 30 Jan 2024 10:51:56 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipv-sx.20230601.gappssmtp.com; s=20230601; t=1706640715; x=1707245515; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=09nEbfWINfnzCyTMFiO6kj4Gj4B84/i5itmLhTP53IE=; b=WSEODH6UMPKRNp2FMfWAEXz3CXdS3OMMuqvwmnlSeOj5tzWlX9NEcPg0R2XEhP4O1D B0KyXLhJtkxhIiLQMnfBU4MzJNL9SASWJkHEUEszZxvMwvxZIWWXKGVZpLHjN0gRW8dl l/ns58V8rK/5c13HHIT9ClYDKNrCIRC/eFc/n6pAm15EIoZhCVHLBpuGLaMkpHrjPWTC D9V4Ysc6eEOVuQc9ZWOoLuMvrWNM9+rQKlGeaWLhGReb/NkdIa0m8SlwzS3VIIugo4ry 5V+DwwTQIBYRZHt3fgwEZRlbZY937TU8VR3ArM7uMmMGaekoIdlcAacpit+S8rNWbRcG Ah/w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706640715; x=1707245515; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=09nEbfWINfnzCyTMFiO6kj4Gj4B84/i5itmLhTP53IE=; b=RPINNy7WNav+gbvo3cqxcoKy5qjgmHFdtMzmhz8kupWdzFtpavbFyadLKEHLmnSAL5 gnWwSSYCFVRI4umgg2jvPnlUGzjk8PAfWw+IQz5AuM5HTN97QyzcOLRUG43hQroxioad f/srt329z+kWA57Z7+g9TcAJVHQNlxK1QgQl0imPvEg3gJKNs0phfZGXxHzJfM5MVSyt wbTgejD+mzgdLomZWYkuCO6wARu8Nyoe/RArczf6sNYy/qwJ0hrHyVrUsdt6wKI436YD Ppd516VpD79+Vp5MXC4Wi6azkAn4kHYQI2FvyhfJeA2wMW0Xtw4BigYbAAlV975sXtW3 roGw==
X-Gm-Message-State: AOJu0Yz7dznrU82bLiqlxeyo4Yk+nRNQ8sMfeJ6eyF9mHPBTw414EbxL p/oznAmZ9zPYyo92SlQeDXGL79sgvhGgPPrjxMpXW5g9Glgr6Z2Q/n76r5oop7FOfLiN9UTGEwA 12UttTwkg+RmkQrr+WmWnW0T3Bz+cp9dRbILgdfNjLmJ28m0e
X-Google-Smtp-Source: AGHT+IF1wm/FmQ/ZClK4vzXqrWakrZElnTitYLSL43GUPPtBIYggSLUeLn534+wqtlEnAMnzAe4ZbaFgPLDztg83ixo=
X-Received: by 2002:a92:c709:0:b0:363:8f8b:44cc with SMTP id a9-20020a92c709000000b003638f8b44ccmr2270024ilp.24.1706640715477; Tue, 30 Jan 2024 10:51:55 -0800 (PST)
MIME-Version: 1.0
References: <CAJTd26+hJjKaZZenN3bQuVaifJotVhbpQoYEBLBaN7KiOw2_Qg@mail.gmail.com> <CABcZeBNT=EBMrmOJ1pBpaThs6BcVuajXYt+ziXzEMZU0LKjfjg@mail.gmail.com> <CAL02cgQkOxg6f1U-GwAWTOBDv96yvV1bEFZ=F7ES+Qhs7vDJLA@mail.gmail.com> <CAJTd26L-ROx_T5RaDU9cZscTzOZGM9zGmgwN=_iAtGWw2jgJUA@mail.gmail.com>
In-Reply-To: <CAJTd26L-ROx_T5RaDU9cZscTzOZGM9zGmgwN=_iAtGWw2jgJUA@mail.gmail.com>
From: Richard Barnes <rlb@ipv.sx>
Date: Tue, 30 Jan 2024 08:51:50 -1000
Message-ID: <CAL02cgR03wgwLFARPPwx1ROCsvPUk0xR83FSudjv0b7aR21yzg@mail.gmail.com>
To: Brendan McMillion <brendanmcmillion@gmail.com>
Cc: Eric Rescorla <ekr@rtfm.com>, MLS List <mls@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000009b178a06102e4164"
Archived-At: <https://mailarchive.ietf.org/arch/msg/mls/r9UANE_85oLvOxxZv_RNGrWnO9A>
Subject: Re: [MLS] Recommendation for encrypted group operations
X-BeenThere: mls@ietf.org
X-Mailman-Version: 2.1.39
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: Tue, 30 Jan 2024 18:52:00 -0000

This brings us back to EKR's point about RFC 6919.  MLS supports those
things, but at real cost.  So yes, some applications might choose to take
on that cost, but to date, nobody has.  This document should be providing
guidance to implementors about how to make good engineering decisions, not
exhorting them to do the most confidentiality-preserving thing at all costs.

BTW MIMI is making this decision intentionally -- it has already been
discussed pretty extensively, and the costs are clearly prohibitive.  The
considerations are documented in mailing list posts and minutes, and I'm
sure they will make it into the documents.  And nothing we write in this
document can compel that WG to do anything anyway, it's an informative
document.

--RLB

On Tue, Jan 30, 2024 at 8:19 AM Brendan McMillion <
brendanmcmillion@gmail.com> wrote:

> You can workshop the exact text of my email, but the same point still
> stands. We could instead say we're discussing applications that "accept
> leaking group membership to a central server" and "need to use that central
> server to provide certain features". All 3 of these criteria /must/ be met
> to justify using unencrypted group operations. However, MLS was
> painstakingly designed to make meeting any of these 3 criteria /optional/:
> - MLS was designed to be secure without transport encryption
> - MLS was designed to be able to support Sealed Sender-type operation
> - MLS was designed to work on relatively simple Delivery Services that are
> agnostic to the protocol
>
> Keeping the recommendation to use encrypted group operations is not
> passing judgement on applications that use unencrypted group operations. If
> mimi (or any other application) is unable to encrypt group operations
> despite this being a first-class feature of mls, I would just like them to
> make that decision intentionally and document it.
>
> On Tue, Jan 30, 2024 at 9:48 AM Richard Barnes <rlb@ipv.sx> wrote:
>
>> My take here is broadly in line with EKR here.  I have a couple of
>> problems with Brendan's analysis here:
>>
>> First: #3 on Brendan's list says "want to" like it's a personal desire,
>> but it's actually an important objective engineering consideration:
>> Operating MLS is dramatically more efficient in large groups if a server
>> caches the tree, to the point where groups of any size are basically
>> unworkable without this optimization.  (Without this optimization, commits
>> impose linear cost in units of data sent by the committer to new joiners,
>> and with large constants because of credentials.)
>>
>> Second: #2 "don't care about leaking" similarly discounts a legitimate
>> engineering trade-off.  It's not that the apps exposing membership to the
>> server are just being lackadaisical; there are legitimate reasons to have a
>> server act as a policy enforcement point as a secondary check on clients
>> (e.g., in cases where clients might be adversarial to the interests of the
>> policy controller).
>>
>> Calling a set of apps that collectively cover billions of users "quite a
>> specific subset" is certainly a take, but not one I can agree with.
>>
>> If I were writing this myself, the outline would be:
>> * In principle, encrypting MLS handshake messages provides the highest
>> level of confidentiality
>> * In practice, this imposes heavy performance costs
>> * Here are some guidelines that apps can use to decide where they want to
>> land on this trade-off
>>
>> EKR's PR is quite close to this, so I would propose we workshop that text
>> a little and then adopt it.
>>
>> --Richard
>>
>>
>> On Tue, Jan 30, 2024 at 7:11 AM Eric Rescorla <ekr@rtfm.com> wrote:
>>
>>>
>>>
>>> On Tue, Jan 30, 2024 at 8:57 AM Brendan McMillion <
>>> brendanmcmillion@gmail.com> wrote:
>>>
>>>> Hi mls@
>>>>
>>>> One of the first topics of discussion at our last interim was on
>>>> whether or not to keep the recommendation in the architecture draft to use
>>>> encrypted group operations whenever possible. This is issue #210 on the
>>>> repo [1].
>>>>
>>>> The desire to remove this recommendation comes from the fact that many
>>>> mls deployments and the mimi wg do not follow it. It doesn't seem that the
>>>> minutes have been uploaded yet, but my memory of the conversation at the
>>>> interim is that:
>>>> - We generally agree that encrypted group operations would, in an ideal
>>>> world, be preferred. I recall several people saying it's the "moral thing
>>>> to do."
>>>> - Acknowledging that most deployed applications don't encrypt group
>>>> operations. We listed the deployments we knew of to prove this.
>>>>
>>>> The after-the-fact answer I came up with for why most applications
>>>> don't encrypt group operations is that they can 1.) guarantee strong
>>>> transport-layer security, 2.) don't care about leaking group membership to
>>>> a central server, and 3.) want to use that central server to provide
>>>> certain features. Despite being well-represented in the mls wg,
>>>> applications that meet criteria 1, 2 and 3 is actually quite a specific
>>>> subset within the space of what MLS was designed to support. Any
>>>> decentralized application would not meet these criteria (no transport-layer
>>>> encryption). Signal doesn't either (doesn't leak membership).
>>>>
>>>> Given this, my proposal is to keep the recommendation but state that
>>>> applications may use unencrypted operations if they have an explicit
>>>> reason. I've opened a PR to that effect here:
>>>> https://github.com/mlswg/mls-architecture/pull/247
>>>>
>>>> This is in contrast with a PR from Eric that removes the recommendation
>>>> and describes the tradeoffs between encrypted and unencrypted group
>>>> operations on relatively equal footing:
>>>> https://github.com/mlswg/mls-architecture/pull/246
>>>>
>>>> Please say on the list if you have a preference between the PRs. Thank
>>>> you!
>>>>
>>>
>>> Just to clarify the process here: this is the start of a discussion, not
>>> a consensus call, though I suppose the chairs might do a consensus call
>>> later if that's necessary.
>>>
>>> With that said, while I agree that it would be better if people
>>> encrypted the group messages, the objective of IETF documents is not to
>>> talk about the ideal world but to actually document protocol specifications
>>> for people to implement.
>>>
>>> Here in the IETF, we are specifying precisely one such protocol that
>>> uses MLS, which is to say MIMI, and as Brendan notes, that protocol uses
>>> unencrypted group operations. Text like what appears in PR #246 that
>>> suggests that people ought not to do what we in IETF are in fact doing
>>> serves mostly to confuse people and make us look uncoordinated [0].
>>>
>>> -Ekr
>>>
>>> [0] See also RFC 6919 "MUST (BUT WE KNOW YOU WON'T)" and  "OUGHT TO".
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>> 1. https://github.com/mlswg/mls-architecture/issues/210
>>>> _______________________________________________
>>>> MLS mailing list
>>>> MLS@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/mls
>>>>
>>> _______________________________________________
>>> MLS mailing list
>>> MLS@ietf.org
>>> https://www.ietf.org/mailman/listinfo/mls
>>>
>>