Re: [MLS] Recommendation for encrypted group operations

Brendan McMillion <brendanmcmillion@gmail.com> Tue, 30 January 2024 18:19 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 94B8EC013FF5 for <mls@ietfa.amsl.com>; Tue, 30 Jan 2024 10:19:41 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.104
X-Spam-Level:
X-Spam-Status: No, score=-2.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_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 eaG8mkrAGSn9 for <mls@ietfa.amsl.com>; Tue, 30 Jan 2024 10:19:40 -0800 (PST)
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com [IPv6:2a00:1450:4864:20::62f]) (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 8D6EBC14F68C for <mls@ietf.org>; Tue, 30 Jan 2024 10:19:40 -0800 (PST)
Received: by mail-ej1-x62f.google.com with SMTP id a640c23a62f3a-a30e445602cso19241266b.0 for <mls@ietf.org>; Tue, 30 Jan 2024 10:19:40 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706638778; x=1707243578; 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=TP31K0xfwEdgnEEXgIUXHq+3PvXV8nhzprdVSnySIIM=; b=avKG5QSNkMXkGyWZL7SpDWgeRWyt48gys8c+M7Srz/+MHeb9y3henAw9/ArNE1bQHy 6P6FuQjZ2z9QVODPxff9F/SNf3m8P9atn3qg+ILPzz3B+YAwObd4jMRk0g/1vNJcP3VS G7vHOXGGhulp0ZKbj/L7O3wrg6jPZM+xnaId8e9KFEqPlMUq47zLVftxn94tsg42k3l/ sEuYdeZ2DMiIf+CSBAlBbbQ3VfU8NIyWGNWImSuZMMnXRNniLUVfnClOgeliipuIhEo8 HWcs7IuZfC4axl/hdo2G/Csa1i2zsXM76sB9MF/8ViR60ufpdQ/uKiYcicsjiZ2vDygb 5IHw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706638778; x=1707243578; 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=TP31K0xfwEdgnEEXgIUXHq+3PvXV8nhzprdVSnySIIM=; b=OEA2oCsz9Fs3tezkTHsfB91TLRm2g40zWyk2e2Pj4+BpGBXnN1qgsvcWJZ89bXvLLH H1sMA7A/R7chVZHo3C5s8oXe9hEZRUjOx58zRCEiP7066f8i92iHt56/IbHut5kVS3YW AujXW7Dd0JT9DPCY3ZiO8CctpUGmnWtTqdbjwOlGoiuJU26X/A/DFDw/zZRpjLNd9pkW dWt3UHxs04le2sLCEjn84Jbnht2opTvqPF7bXVeXcovswzr2sIwTe5F9JbUPquJiohIP YahCLrcWnyQJVyDITChG2IdRXn3hGTv1pg8jQQ3jJQ7ih3+cKK35mIQzCt8lmepgV4Ec MH7A==
X-Gm-Message-State: AOJu0Yx0eaX/TbMe+QIjsYHP/2spIEIO36WhKMCxG4VoqJaQv0JTZzjB B+g4utR8ArneqZM2/sMigJPm0RrkvET7T99bIm10OTT+eqQ/P+a+0jpd586yruP+G3HqhFlgB+u HxbUxMRPwBRTvhKt0IfyrXGz5DfKJ42/+GZxj9w==
X-Google-Smtp-Source: AGHT+IF12f6slNEWELWIdXCH5xaDNFHnN1f+tou1NXvUtbIgJcV0Hcv/Fjd0udkLkvii/uTUGjIbonPBBCicSxodtxY=
X-Received: by 2002:a17:907:d404:b0:a35:d2bf:b135 with SMTP id vi4-20020a170907d40400b00a35d2bfb135mr2568753ejc.24.1706638778304; Tue, 30 Jan 2024 10:19:38 -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>
In-Reply-To: <CAL02cgQkOxg6f1U-GwAWTOBDv96yvV1bEFZ=F7ES+Qhs7vDJLA@mail.gmail.com>
From: Brendan McMillion <brendanmcmillion@gmail.com>
Date: Tue, 30 Jan 2024 10:19:26 -0800
Message-ID: <CAJTd26L-ROx_T5RaDU9cZscTzOZGM9zGmgwN=_iAtGWw2jgJUA@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="000000000000240d6406102dcea9"
Archived-At: <https://mailarchive.ietf.org/arch/msg/mls/ZVPKbuxK5NrvUCUFlGEmkguo534>
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:19:41 -0000

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