Re: [MLS] confirming cipher suites decisions

Konrad Kohbrok <konrad.kohbrok@datashrine.de> Thu, 27 February 2020 07:36 UTC

Return-Path: <konrad.kohbrok@datashrine.de>
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 A0D023A13F5 for <mls@ietfa.amsl.com>; Wed, 26 Feb 2020 23:36:30 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 0zVjW-5DExMt for <mls@ietfa.amsl.com>; Wed, 26 Feb 2020 23:36:27 -0800 (PST)
Received: from mout-p-202.mailbox.org (mout-p-202.mailbox.org [IPv6:2001:67c:2050::465:202]) (using TLSv1.2 with cipher ECDHE-RSA-CHACHA20-POLY1305 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 61AFF3A13EE for <mls@ietf.org>; Wed, 26 Feb 2020 23:36:27 -0800 (PST)
Received: from smtp2.mailbox.org (smtp2.mailbox.org [IPv6:2001:67c:2050:105:465:1:2:0]) (using TLSv1.2 with cipher ECDHE-RSA-CHACHA20-POLY1305 (256/256 bits)) (No client certificate requested) by mout-p-202.mailbox.org (Postfix) with ESMTPS id 48Skxj1knKzQlFX for <mls@ietf.org>; Thu, 27 Feb 2020 08:36:25 +0100 (CET)
X-Virus-Scanned: amavisd-new at heinlein-support.de
Received: from smtp2.mailbox.org ([80.241.60.241]) by spamfilter05.heinlein-hosting.de (spamfilter05.heinlein-hosting.de [80.241.56.123]) (amavisd-new, port 10030) with ESMTP id QQWx1cXdyh-E for <mls@ietf.org>; Thu, 27 Feb 2020 08:36:18 +0100 (CET)
To: mls@ietf.org
References: <CABdrxL5JcZbXVmfz10Ww9VGVpq0nkf=Q43eeTuBE9zZ=RF-6PA@mail.gmail.com> <AB01F959-D0E9-49A9-A40F-20569256F671@inria.fr> <C9E59DFC-95FB-4E64-93A6-2C4E67C9EB33@nps.edu>
From: Konrad Kohbrok <konrad.kohbrok@datashrine.de>
Message-ID: <b963f895-cef5-7fd5-aae7-3b03d82eaf88@datashrine.de>
Date: Thu, 27 Feb 2020 09:36:18 +0200
MIME-Version: 1.0
In-Reply-To: <C9E59DFC-95FB-4E64-93A6-2C4E67C9EB33@nps.edu>
Content-Type: text/plain; charset=utf-8
Content-Language: de-DE
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/mls/B-7a3rfEoXiBGg2wT_jX9LyvXAI>
Subject: Re: [MLS] confirming cipher suites decisions
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: Thu, 27 Feb 2020 07:36:31 -0000

I also think this is a good compromise. I'm curious to see what the dynamic will
be in a federated environment when one or more signature schemes turn out to be
weak (or no one wants to use pre-quantum crypto anymore) and what people's
policy on group-reboots will be in that scenario. I don't think there is
precedence for such a system and we can't predict too much of that now, so it's
good to go for a compromise.

Konrad


On 26/02/2020 21:53, Hale, Britta (CIV) wrote:
> Actually this is different from the single-scheme option, as there the choice is entirely restricted and any newcomer has their signature security dictated. In this option there are choices for newcomers - not complete freedom of scheme selection, but some freedom.
> 
> This sounds like a good compromise to me as well. Giving newcomers options may reduce downgrade issues among other things, while this also sets limits on the scheme selection. Even if there are only a couple signature schemes in offered algorithms, many of the concerns surrounding the original single-scheme option would be alleviated. 
> 
> Britta
> 
> 
> 
> On 2/26/20, 8:48 PM, "MLS on behalf of Benjamin Beurdouche" <mls-bounces@ietf.org on behalf of benjamin.beurdouche@inria.fr> wrote:
> 
>     It is what we currently do, the problem is not creation or the initial members, it is the newcomers.
>     B.
>     
>     > On Feb 26, 2020, at 8:41 PM, Cas Cremers <cas.cremers@gmail.com> wrote:
>     > 
>     > Hi,
>     > 
>     > I agree with Karthik's suggestion; in practice this may simply be the
>     > intersection of the algorithms that the initial members support.
>     > 
>     > Best,
>     > 
>     > Cas
>     > 
>     >> On Wed, Feb 26, 2020 at 8:37 PM Karthik Bhargavan
>     >> <karthikeyan.bhargavan@inria.fr> wrote:
>     >> 
>     >> Hello All,
>     >> 
>     >> I think we could go either way: multiple or single signature algorithm per group.
>     >> However, I would prefer if we required *all* the algorithms that group members must support to be declared up-front at group creation.
>     >> That is, my preference is not to add new signature algorithms as a group evolves and new members are added.
>     >> 
>     >> The rationale behind this thinking is that when a member joins a group, she can inspect the group’s parameters to decide whether she supports
>     >> the algorithms needed to converse in the group. It would be weird if the group allowed a new member whose authentication credential or message signatures
>     >> cannot be processed by existing members. And it would be hard to try to dynamically detect the algorithms that the group members support.
>     >> Instead, declaring all *required* algorithms at group creation seems like a sane choice to me.
>     >> 
>     >> -Karthik
>     >> 
>     >> 
>     >>>> On 26 Feb 2020, at 19:48, Cas Cremers <cas.cremers@gmail.com> wrote:
>     >>> 
>     >>> Hi,
>     >>> 
>     >>> This is a tricky one. I think allowing multiple signature schemes per
>     >>> group can improve security in subtle ways, especially in large groups
>     >>> with potentially diverse clients.
>     >>> 
>     >>> I understand part of the "one scheme per group is simpler" argument, but
>     >>> I am not sure it is simpler in practice, since it puts more weight on
>     >>> the choice of the initiators of the group, and might complicate adding
>     >>> group members afterwards. I don't think it is a blocking factor for any
>     >>> analysis either.
>     >>> 
>     >>> So I have *a slight preference for allowing multiple signature schemes
>     >>> per group*, from the perspective of facilitating large diverse groups in
>     >>> the future, and the potential local security benefits.
>     >>> 
>     >>> But I definitely agree with Richard that this can be a small change
>     >>> later, and doesn't seem to be some fundamental design choice that cannot
>     >>> be reverted/relaxed/tightened later; I also care about progress, so
>     >>> let's pick something for now.
>     >>> 
>     >>> Best,
>     >>> 
>     >>> Cas
>     >>> 
>     >>> 
>     >>> 
>     >>> 
>     >>> 
>     >>> On 2/26/20 7:24 PM, Benjamin Beurdouche wrote:
>     >>>> I would strongly prefer one signature scheme for the lifetime of the group.
>     >>>> B.
>     >>>> 
>     >>>>> On 26 Feb 2020, at 17:28, Sean Turner <sean@sn3rd.com> wrote:
>     >>>>> 
>     >>>>> There seems to be rough consensus (stressing the rough) to go with one scheme per group. By rough consensus, I mean there seems to be a willingness by the group to live with this decision and nobody is super bent out of shape about it. Technically, that’s all we need to move forward, but there are some concerns concerns that since it’s such a small group and there are so few strong voices for the choice that we should give it just a bit more time. So, I am extending this call until 2359 UTC 2 March (i.e., Monday night).
>     >>>>> 
>     >>>>> Also, there are really three ciphersuite-related decisions being made, as noted in the email below.
>     >>>>> 
>     >>>>> spt
>     >>>>> 
>     >>>>>> On Feb 25, 2020, at 13:24, Richard Barnes <rlb@ipv.sx> wrote:
>     >>>>>> 
>     >>>>>> I will not be able to make the call tomorrow, so to summarize my opinion on this:
>     >>>>>> 
>     >>>>>> * I am OK with merging the current PR
>     >>>>>> * I have a slight preference for *not* including the sig alg in the ciphersuite
>     >>>>>> * The simplicity case for including it seems reasonable, but not dispositive
>     >>>>>> * In any case, I don't care strongly one way or another; I care more about progress
>     >>>>>> * This is an easy change to revert if we change our minds later
>     >>>>>> * Credentials are going to indicate the signature algorithm anyway
>     >>>>>> * So the only difference in spec is whether endpoints check Credential.SigAlgorithm == CipherSuite.SigAlgorithm
>     >>>>>> 
>     >>>>>> 
>     >>>>>> On Tue, Feb 25, 2020 at 12:43 PM Sean Turner <sean@sn3rd.com> wrote:
>     >>>>>> Note that the main point of the telecon tomorrow is to address the cipher suite issue.  Please take the time to review:
>     >>>>>> - the related PRs:
>     >>>>>> https://github.com/mlswg/mls-protocol/pull/279
>     >>>>>> https://github.com/mlswg/mls-protocol/pull/307
>     >>>>>> - the messages in this thread
>     >>>>>> - the issues Britta outlined:
>     >>>>>> https://docs.google.com/document/d/1ZDs4KGp0_6kpQZpRJ_t4kVlmgA94_pMtdSilIdFKw14/edit?usp=sharing
>     >>>>>> 
>     >>>>>> We would like to close this issue out tomorrow.
>     >>>>>> 
>     >>>>>> Cheers,
>     >>>>>> 
>     >>>>>> spt
>     >>>>>> 
>     >>>>>>> On Feb 19, 2020, at 01:09, Konrad Kohbrok <konrad.kohbrok@datashrine.de> wrote:
>     >>>>>>> 
>     >>>>>>> Hi Britta,
>     >>>>>>> 
>     >>>>>>> I think you sum it up very nicely. There is one (albeit somewhat speculative)
>     >>>>>>> argument why a single ciphersuite per group might actually be beneficial in a
>     >>>>>>> federation context. In the event that there is "global concensus" that a
>     >>>>>>> ciphersuite needs to be deprecated, my expectation would be that a majority of
>     >>>>>>> the federation nodes/application providers would move to ban those ciphersuits,
>     >>>>>>> excluding anyone who would use _exclusively_ that ciphersuite. That would in
>     >>>>>>> turn be a motivation for all other nodes/application providers to catch up as
>     >>>>>>> well. This also means that nodes can't be made (by whatever authority) to use
>     >>>>>>> weak ciphersuites exclusively and still expect to federate with other nodes that
>     >>>>>>> have more sensible policies.
>     >>>>>>> 
>     >>>>>>> That's mostly my guess of how the dynamics in such a federated environment
>     >>>>>>> _could_ work, though. Anyone here with some actual experience/expertise they can
>     >>>>>>> share of what the dynamics could be?
>     >>>>>>> 
>     >>>>>>> Overall, I think I'm in favor of one-ciphersuite-per-group. It just seems a lot
>     >>>>>>> simpler and even in the context of federation, I think that most
>     >>>>>>> nodes/application providers would allow several ciphersuites to begin with,
>     >>>>>>> where not all of them are weak, meaning no one would really be excluded too quickly.
>     >>>>>>> 
>     >>>>>>> Cheers,
>     >>>>>>> Konrad
>     >>>>>>> 
>     >>>>>>> 
>     >>>>>>> On 18.02.20 21:00, Hale, Britta (CIV) wrote:
>     >>>>>>>> Under the topic of individual/single signature schemes there is the final issue of federation. In a federated context, groups are no longer under the control of a single application, meaning that we would lose some control in forcing good ciphersuite choices. This could lead to two issues:
>     >>>>>>>> 
>     >>>>>>>> 1) MLS would move closer to facing the TLS problem of having old suites supported by edge cases, which in turn weaken the entire group's security. There is always the argument that groups would simply refuse joiners that do not support the current group cipher, but this is not very practical from a usability view. E.g. if everyone using application X refused group members who were using application Y, then the point of federation would be largely defeated. So, either some form of renegotiation is allowed (e.g. export psk) and downgrade becomes more likely, or federation does not work reliably.
>     >>>>>>>> 
>     >>>>>>>> 2) Healing would take longer. Since no one application has a master view and control over ciphersuites, upgrading long-lived groups using questionable ciphers could take a significant amount of time (all applications would need to do so in order for the group to upgrade) or alternatively result in kicking group members out of the group (again, possible, but questionable for usability except in extreme cases). Under an individual cipher choice, any one member can choose/upgrade their scheme, allowing for faster adaptability and potential benefits to PCS.
>     >>>>>>>> 
>     >>>>>>>> From the above, it seems that a single group cipher makes federation harder/slower/less secure, but I may not have a clear view on how federation would work in this context. Does anyone know whether the above are really concerns or not relevant due to other reasons?
>     >>>>>>>> 
>     >>>>>>>> (Note that this is thinking in the long-term context. Obviously we do not want to standardize any cipher choice that is sub-optimal; however any number of things may happen with protocol versioning and cipher breaks over the span of several years.)
>     >>>>>>>> 
>     >>>>>>>> Under all the considerations that I have seen so far, the pros and cons on both sides place the individual signature cipher option in the lead. However that lead is small, hence why I have not been arguing for it. The issue of federation could be a deciding factor. If we want federation in the future it is of course better not to build inhibiting factors into MLS now that could undermine either usability or security in such contexts. To make a case to proceed with the single group cipher option, it would be great if someone could provide a convincing argument as to why it would be the best option for usability and security in the federated environment (or preclude a federated use-case altogether).
>     >>>>>>>> 
>     >>>>>>>> ---
>     >>>>>>>> 
>     >>>>>>>> Britta
>     >>>>>>>> 
>     >>>>>>>> 
>     >>>>>>>> On 2/12/20, 8:01 AM, "MLS on behalf of Hale, Britta (CIV)" <mls-bounces@ietf.org on behalf of britta.hale@nps.edu> wrote:
>     >>>>>>>> 
>     >>>>>>>> Hi,
>     >>>>>>>> 
>     >>>>>>>> Concerning the use of a single group signature scheme or individual signature schemes, it is probably worthwhile to expand on the consideration points and clarify what security implications we are accepting - in either case. I have listed out some issues in the following Google doc:
>     >>>>>>>> 
>     >>>>>>>> https://docs.google.com/document/d/1ZDs4KGp0_6kpQZpRJ_t4kVlmgA94_pMtdSilIdFKw14/edit?usp=sharing
>     >>>>>>>> 
>     >>>>>>>> I am not making an argument for either case at this point, but pushing this out for discussion and to help us achieve more clarity as to the benefits and consequences of either choice. There are certainly more issues to consider (e.g. ease of implementation, efficiency, etc. in addition to security considerations) and other views - feel free to add them or discuss on the mailing list.
>     >>>>>>>> 
>     >>>>>>>> All the best,
>     >>>>>>>> 
>     >>>>>>>> Britta
>     >>>>>>>> 
>     >>>>>>>> 
>     >>>>>>>> On 2/6/20, 8:11 AM, "MLS on behalf of Sean Turner" <mls-bounces@ietf.org on behalf of sean@sn3rd.com> wrote:
>     >>>>>>>> 
>     >>>>>>>>     Hi!
>     >>>>>>>> 
>     >>>>>>>>     tl;dr: confirming MTI suite selections and rationale for avoiding proliferation
>     >>>>>>>> 
>     >>>>>>>>     During the F2F Interim in January, the WG discussed cipher suites-related issues. Namely, whether a per-group signature scheme should be driven by the chosen cipher suite, what were the MTI (Mandatory To Implement) cipher suites, and what the actual algorithm should be.
>     >>>>>>>> 
>     >>>>>>>>     There was rough agreement that there should be one signature scheme per group and that should be driven by the cipher suite. There are, at least, three things to consider: 1) if a potential group member does not support the algorithm, then they will not become a member or the group will need to downgrade; 2) when the group needs/wants to update, it is a flag day; and, 3) the cipher suites will have a similar combinatorial issues as the TLS cipher suites prior to TLS 1.3. The agreement was “rough” because 1) likely has some important implications.
>     >>>>>>>> 
>     >>>>>>>>     The MLS cipher suites defined were as follows:
>     >>>>>>>>     - MLS10_128_HPKEX25519_AES128GCM_SHA256_Ed25519
>     >>>>>>>>     - MLS10_128_HPKEP256_AES128GCM_SHA256_P256
>     >>>>>>>>     - MLS10_128_HPKEX25519_CHACHA20POLY1305_SHA256_Ed25519
>     >>>>>>>>     - MLS10_256_HPKEX448_AES256GCM_SHA384_Ed448
>     >>>>>>>>     - MLS10_256_HPKEP521_AES256GCM_SHA384_P521
>     >>>>>>>>     - MLS10_256_HPKEX448_CHACHA20POLY1305_SHA384_Ed448
>     >>>>>>>> 
>     >>>>>>>>     At the interim, the consensus was to make the non-NIST suites the MTI.  The rationale was that those implementation that need to be NIST compliant will do so regardless of the choice made by the WG.
>     >>>>>>>> 
>     >>>>>>>>     In looking at the actual cipher suites, it was noted that the 256-bit schemes the SHA should be SHA-512. The rationale agreed was that SHA-384 is SHA-512 cut in half, so just do SHA-512 because it is one less operation.
>     >>>>>>>> 
>     >>>>>>>>     To avoid the proliferation of cipher suites, guidance will be provided to be conservative about allocating new code points. The consensus at the interim was that the suites provided were minimal and provided good coverage for the known use cases:
>     >>>>>>>>     - (X25519, AES-GCM, Ed25519) - Good for desktop
>     >>>>>>>>     - (P-256, AES-GCM, P-256) - Compliance
>     >>>>>>>>     - (X25519, ChachaPoly, Ed25519) - Good for mobile
>     >>>>>>>> 
>     >>>>>>>>     The chairs need to confirm the interim’s consensus on list, so please let the WG know by 2359 UTC 20 February whether you disagree with these choices and why.
>     >>>>>>>> 
>     >>>>>>>>     NOTE: The final text will obviously be reviewed, but is being composed as part of the following PR:
>     >>>>>>>>     https://github.com/mlswg/mls-protocol/pull/279
>     >>>>>>>> 
>     >>>>>>>>     NOTE: We combined these cipher suite related consensus points, but if we only come to consensus on some of these we can still incorporate what we do agree on.
>     >>>>>>>> 
>     >>>>>>>>     Cheers,
>     >>>>>>>> 
>     >>>>>>>>     Nick and Sean
>     >>>>>>>>     _______________________________________________
>     >>>>>>>>     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
>     >>>>>>>> 
>     >>>>>>>> 
>     >>>>>>>> _______________________________________________
>     >>>>>>>> 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
>     >>>>>> 
>     >>>>>> _______________________________________________
>     >>>>>> 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
>     >>>> 
>     >>>> _______________________________________________
>     >>>> 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
>     >> 
>     > 
>     > _______________________________________________
>     > 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
>     
> 
> _______________________________________________
> MLS mailing list
> MLS@ietf.org
> https://www.ietf.org/mailman/listinfo/mls
>