Re: [MLS] Two question regarding use of “reinit” in the RFC

Brendan McMillion <brendanmcmillion@gmail.com> Fri, 23 February 2024 18:13 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 14061C14F685 for <mls@ietfa.amsl.com>; Fri, 23 Feb 2024 10:13:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.861
X-Spam-Level:
X-Spam-Status: No, score=-0.861 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, NORMAL_HTTP_TO_IP=0.001, NUMERIC_HTTP_ADDR=1.242, RCVD_IN_DNSWL_NONE=-0.0001, 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 GuHQn7FPpeex for <mls@ietfa.amsl.com>; Fri, 23 Feb 2024 10:13:18 -0800 (PST)
Received: from mail-oo1-xc2a.google.com (mail-oo1-xc2a.google.com [IPv6:2607:f8b0:4864:20::c2a]) (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 4688DC14F683 for <mls@ietf.org>; Fri, 23 Feb 2024 10:13:18 -0800 (PST)
Received: by mail-oo1-xc2a.google.com with SMTP id 006d021491bc7-59927972125so675546eaf.3 for <mls@ietf.org>; Fri, 23 Feb 2024 10:13:18 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1708711997; x=1709316797; 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=j7EkCrzvzmJjOumGIOWc4hbGd/5DqvW3KI78pDAUSSM=; b=XVPuzgJ/IKduxO61s49+WCjg2B7EF+I73w3UsmL9izIqDIQ+Y+fDl8w4URKl8b8JJf oW/b1+NpaPJr3dTWhhRqAcSeFnftTml0n5L6ilmHU6xHG5cdWjo46inB+sr/NXNE2ZmW ks++9ZQy9pXC8Kj8QFA2YNXb4f65IAy3FqjPSKxJuoiyACY2w5ML2EWtnjOS17nDMPlz an6rZmxTbNECfVA1wGyKoP5yKdl0Hr6+XO9/vrNofNfwVvb3zAHa7o/tN/aJpqncvaIy KQWDnWuW7bdfDEwJPmixknOwbPrHrN/0sr3BGrL2vKZcv3xWjoSKje31BQ15oZYA5oxB tNLg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708711997; x=1709316797; 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=j7EkCrzvzmJjOumGIOWc4hbGd/5DqvW3KI78pDAUSSM=; b=n479k8KQArBv52vlxACZFIBxLZD9tPWXuOUw3oBpOYfadaPe/ANasZDomDeMlXD/TQ +6hKROiE3vSwaimANZCQu1nGA7oH2la9DJ2r2YRT981s0Ep3WxB1Ia+WiJunudvFJB/3 J/JdKVqUYr3KutZBMahOFGuHVNr8L2hdbMvoQpprM14nvhEgtwyy7FpoB1/hvA8lfBwZ VE5NIj000JfGSoS8zQvfSkCJFvjdmIhld4QRMU0QQQpiAtscJcQOo02KBSwjq8tGl1ay foHPVE8dst9Wri8W95VBQEQjNI0vM+H3V+W2M5O9KQagfqcxOqzRhDtplfTXdgZesaSI OXfg==
X-Gm-Message-State: AOJu0YzimPfLe9EU/46ftnPvoCdwerxA16nFdVaug5vHPwhDc0fQeMJj Hpr6FigKgkTbC50oX09CiU8w6sEFtl3Xw2ngebF5pJHeiWFm1Gqegfv2eM9h+riZSYvgy+D9yzJ S4hLX54mJ0zn1S1l99RF0uiTm5zw=
X-Google-Smtp-Source: AGHT+IGJH98LxEVjaMwBlRBW9by/Wh6mhYZiBxvwkR7/IJLxSq1WkycRwS2qXzHU9YyiNT74KDTYgeFMxxY0lUEDD6Q=
X-Received: by 2002:a4a:7604:0:b0:5a0:34c6:3a8b with SMTP id t4-20020a4a7604000000b005a034c63a8bmr634459ooc.9.1708711997379; Fri, 23 Feb 2024 10:13:17 -0800 (PST)
MIME-Version: 1.0
References: <4e02fa06-7899-42c8-b157-d03760798a3c@tum.de>
In-Reply-To: <4e02fa06-7899-42c8-b157-d03760798a3c@tum.de>
From: Brendan McMillion <brendanmcmillion@gmail.com>
Date: Fri, 23 Feb 2024 10:13:06 -0800
Message-ID: <CAJTd26Jt3o_OQz4_uaSMpjrDkU9TvCk9=OHO+ncRyYQRNtN+0A@mail.gmail.com>
To: Vera Wesselkamp <vera.wesselkamp@tum.de>
Cc: mls@ietf.org
Content-Type: multipart/alternative; boundary="000000000000a09a2c0612108395"
Archived-At: <https://mailarchive.ietf.org/arch/msg/mls/9_oQKXBd5u_Tb3OXRr9GPVPXKbI>
Subject: Re: [MLS] Two question regarding use of “reinit” in the RFC
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: Fri, 23 Feb 2024 18:13:22 -0000

Hi Vera
>
> Hence my question: Does the “reinit” PSK proposal actually refer to a
> *reinit* PSK or would an *application* PSK be more appropriate for the
> described mechanism?
>
Yes, I believe a resumption PSK with usage=application would be the
appropriate thing to use here. Calling it reinit is maybe a misstatement in
the RFC.

> This sentence also refers to members stuck in an old epoch. If these
> members propose a reinitialization in the old group, the members that have
> already advance to other epochs should equally not be able to process such
> a reinitialization.
>
Practically speaking, I think ReInit proposals are solely for handling
changes to the protocol version / ciphersuite, not fragmentation. This
section (16.12) was maybe written referring to some application-level
mechanism for starting a group over.

On Fri, Feb 23, 2024 at 1:40 AM Vera Wesselkamp <vera.wesselkamp@tum.de>
wrote:

> Hello,
>
> I have two instances in the RFC where I struggle to understand whether the
> word reinit/reinitialization refers to the reinitialization operation
> defined in section 11.2.
>
> The first is the following use in Section 12.4.3.2:
>
> *Applications for whom this distinction is salient can choose to disallow
> external commits that contain a Remove, or to allow such resync commits
> only if they contain a "reinit" PSK proposal that demonstrates the joining
> member's presence in a prior epoch of the group.*
>
> I read this as a resumption PSK of type *resumption* and of usage *reinit*
> as specified in section 7. However that is direct contradiction to the
> following sentence:
>
> *A PreSharedKey proposal with type resumption and usage reinit MUST BE be
> considered invalid.*
>
> Hence my question: Does the “reinit” PSK proposal actually refer to a
> *reinit* PSK or would an *application* PSK be more appropriate for the
> described mechanism?
>
> The second question refers to two appearances of the term in section 16.12
> of the RFC and concerns group splitting:
>
> *Applications provide mechanisms for failed commits to be reported, so
> that group members who were not able to recognize the error themselves can
> reinitialize the group if necessary.*
>
> I do not understand how to use the reinitialization operation defined in
> the RFC in this context. My understanding is that the paragraph describes a
> situation in which some members processed a commit correctly, but a few
> members members cannot and are hence stuck in an older epoch.
> Reinitialization would send an reinit proposal to the current epoch of the
> group for the members that could process the commit. I believe that the
> “stuck” members, however, would not be able to parse the reinit proposal
> and following commit, and can hence not process the reinitialization.
>
> Similarly a few paragraphs later:
>
> *These members will need to either add themselves back with an external
> Commit or reinitialize the group from scratch.*
>
> This sentence also refers to members stuck in an old epoch. If these
> members propose a reinitialization in the old group, the members that have
> already advance to other epochs should equally not be able to process such
> a reinitialization.
>
> I also described a similar situation for a paragraph in the architecture
> file in this issue <https://github.com/mlswg/mls-architecture/issues/234>
> before.
>
> My question is if the use of reinitialization in this sentence refers to
> the operation defined in section 11.2, or just another mechanism, i.e.
> re-joining the group at the “stuck” epoch using external commits. If it
> does refer to the operation, how could the process of reinitializing look
> like and how does it resolve the split group?
>
> Thanks for your help!
>
> Vera
> _______________________________________________
> MLS mailing list
> MLS@ietf.org
> https://www.ietf.org/mailman/listinfo/mls
>