Re: [MLS] Recommendation for encrypted group operations

Brendan McMillion <brendanmcmillion@gmail.com> Tue, 30 January 2024 20:41 UTC

Return-Path: <brendanmcmillion@gmail.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 39FDFC14F5F5 for <mls@ietfa.amsl.com>; Tue, 30 Jan 2024 12:41:45 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.104
X-Spam-Level:
X-Spam-Status: No, score=-7.104 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_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, 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=gmail.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 AEldOTBTyNED for <mls@ietfa.amsl.com>; Tue, 30 Jan 2024 12:41:40 -0800 (PST)
Received: from mail-lf1-x12d.google.com (mail-lf1-x12d.google.com [IPv6:2a00:1450:4864:20::12d]) (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 83E16C14F5E4 for <mls@ietf.org>; Tue, 30 Jan 2024 12:41:40 -0800 (PST)
Received: by mail-lf1-x12d.google.com with SMTP id 2adb3069b0e04-51124983d6aso47619e87.0 for <mls@ietf.org>; Tue, 30 Jan 2024 12:41:40 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706647298; x=1707252098; 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=N0Ruzd7u8qXKkdiMXIeHgGmx+WkUdMso9oeRFAhGsu8=; b=N9493xFXPwhP5KKIPGDQC+71m6ysY3IXl96odYJBdp/uCmdN7fmw9DvjgHJG+B6+c0 rU+1FostgKR5aj/vb2YXOB3MmnqLnwHgNlVAdoTexMzb3zZC98oKH2kV2DXPZS52Qlu5 TsyUGxneJc32WCkfKKM3HQyQmFZYBC7MBBIZrFWTObJkOCE9l2Q7ioXxB3NgoMi6Qh8R GzsC1o5O8WyuL/xaZj5bwkVPHTvp4cyC72ZP3iC1JJCJPtKi2EgB6bE0rTM7+EGknmnH 6ArCH3pnEP8TDq4e9JXJZOrUKCYiFAuA+rTM2RkmlzMe1w2auKWJGRKaKn3xLLaS2meq 8lVQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706647298; x=1707252098; 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=N0Ruzd7u8qXKkdiMXIeHgGmx+WkUdMso9oeRFAhGsu8=; b=fScq12cOwtFI4aMczjaP0kH4lsz6s+hu2aeMD+bNW1z+DUlP8w8gOICOfmtM33c9oX 9e+aWJDWHfj7YHlIk3l3BKsczJ/XUElV6w8DFP4iOSgGdj/adtZV+67ZkkEfB48E52Px fH5exOyOMrHtCyaqtnrgObw+TlwutYSRZfdo04ysa/JxISE0eUHKEtJ5dxtE2jB3aTkk OPgcT8yx5X6dP9Cij8pvlxbCFB4xkozVGMkPX9Ez5oSN3BhOoyTOT8JLOwwbGBskEw4f JolQ0bLd8QbW/CfrRKxkbsJ/uwbREEwr0WNKrbIzz1eOkVuUpFbEVf/aguohord+sZCO 7bUQ==
X-Gm-Message-State: AOJu0YzrqjUkO9r0BAWno5znKysjUDSJXHQU57V8w6z0eHwOV9n2DJ4s YQYd4urAgzdiKVlTs8A1S9FIObKdAOuRiwhfSLHqrt928trcLSV/gj6BUPtYTE+zK2drMxiXmHs HE1vI+8Whg/M3TPwfbNRMmIKSWujfkQwdQXapYw==
X-Google-Smtp-Source: AGHT+IGpIcAYEdY9R1s+YCYqW1t5Y3i1kHnR2KeYKvW8qTFwQ2xwP2EqechcZDOih+gOnJXZW+Pt2lk2BG/21MRqIRg=
X-Received: by 2002:a05:651c:2115:b0:2d0:4bf7:378d with SMTP id a21-20020a05651c211500b002d04bf7378dmr5028400ljq.11.1706647297862; Tue, 30 Jan 2024 12:41:37 -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> <CAL02cgR03wgwLFARPPwx1ROCsvPUk0xR83FSudjv0b7aR21yzg@mail.gmail.com>
In-Reply-To: <CAL02cgR03wgwLFARPPwx1ROCsvPUk0xR83FSudjv0b7aR21yzg@mail.gmail.com>
From: Brendan McMillion <brendanmcmillion@gmail.com>
Date: Tue, 30 Jan 2024 12:41:26 -0800
Message-ID: <CAJTd26L_AVPwnm+5-H2nA_x4j2tLZZOKHykBNmvk0PO9oUL4Ww@mail.gmail.com>
To: Richard Barnes <rlb@ipv.sx>
Cc: Eric Rescorla <ekr@rtfm.com>, MLS List <mls@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000f231cb06102fc9b6"
Archived-At: <https://mailarchive.ietf.org/arch/msg/mls/1KCJ7ETcy5QqefEfqkB9LAJaP90>
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 20:41:45 -0000

I appreciate the point about the current text seeming like an RFC 6919
"should (but won't)" which is why my proposed resolution was to state the
specific common reason why the recommendation wouldn't be followed. You're
claiming without evidence that the recommendation should be removed because
encrypted group operations have a "real cost" that is "clearly
prohibitive". This sort of thinking becoming common is what I think we
should try to avoid, and why the recommendation should stay. I'm working on
such an MLS deployment <https://xmtp.org/roadmap>. The cost is minimal and
it actually simplifies things quite a bit to assume nothing of the DS.

On Tue, Jan 30, 2024 at 10:51 AM Richard Barnes <rlb@ipv.sx> wrote:

> 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
>>>>
>>>