Re: [MLS] confirming cipher suites decisions

Raphael Robert <raphael@wire.com> Fri, 28 February 2020 11:35 UTC

Return-Path: <raphael@wire.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 C2FA43A164E for <mls@ietfa.amsl.com>; Fri, 28 Feb 2020 03:35:33 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=wire-com.20150623.gappssmtp.com
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 tNvE57uxaco5 for <mls@ietfa.amsl.com>; Fri, 28 Feb 2020 03:35:30 -0800 (PST)
Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com [IPv6:2a00:1450:4864:20::331]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E6E9B3A164C for <mls@ietf.org>; Fri, 28 Feb 2020 03:35:29 -0800 (PST)
Received: by mail-wm1-x331.google.com with SMTP id a141so2830013wme.2 for <mls@ietf.org>; Fri, 28 Feb 2020 03:35:29 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wire-com.20150623.gappssmtp.com; s=20150623; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=8lBKd2Yn7dj4dfb/9+FmRwdA0URH7ThDWsbbmt6BMZA=; b=2Im/Tfo6ZuE1KUVoVyT7YBPc99GAfpb657uVqU3/wLm2/qscPI7Mew0TYakrsTDRkH XitGKxhMy1Dcu9gtzEHjzFaCSAur4QoNIYBHIyOEboc961K3RYQqpREjWza5rKdHJGjV LzrWPCIqXNo9d9jfIbWpj5ICrvMwGgic7y6XVaK1FeQnby9gIsd6rXZ4gqg0ZDCoMu7A mffloGWhYpBt3plLEZW8wFa/yIwPiMcevrQNMdObemQ1SEuVe4+kVrMMeVfXXy9cSwU/ KFoldvTF865cduSMYmuDvu7XoEsreHbEXHcKzgEd9CXqlrubpC+BgtBDJ3Y+ZLZogob3 ZZqA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=8lBKd2Yn7dj4dfb/9+FmRwdA0URH7ThDWsbbmt6BMZA=; b=nDiMDToi1PUb0j0EXkVQmSfLVGJGUZvvb2RGNW4Y042mhxBC8TwiSu1GcjUCtV5HOS XiJoUMskSGqamDisadCz07OTG4EClTG6DLZm1L8sP8MtdwJB+fwJDp0tafna19oiQ00y cLcaeeT/vthu+uZEKsfxKBfWqW6tnHnPVi55rOmWBCrexlrkTinDbgqn1IvHLoJ/5rCT sVdhyn41No3Te9g7H2eIWP4934gAkL2FVtpBDuQnhrZGQEBDZSuMBgjgucv1C6/qJ+dN UN0ZwkFHrKkwW5jfVJwj1jGnxB62jFvTXW7hFwdr92oQIYLUZTRS2r2jMPUf/nUuM/K4 XvnA==
X-Gm-Message-State: APjAAAViQfKFLZGInRe2H5Z2lzuNYPF+keH9P6Kg/nAU+XhZiYPWGEa0 o/DfG3wkFuOym9LOcKiavTUrQg==
X-Google-Smtp-Source: APXvYqyQ+KpCVBt0iYu5VHT8WcsqxKg0Qrc7A2qirNFH2eABiWvc/Ey0ys+aTJZkqrQlC2HAZKUF7A==
X-Received: by 2002:a1c:5f54:: with SMTP id t81mr4587851wmb.155.1582889727957; Fri, 28 Feb 2020 03:35:27 -0800 (PST)
Received: from [192.168.178.21] ([134.3.30.253]) by smtp.gmail.com with ESMTPSA id q12sm12866408wrg.71.2020.02.28.03.35.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 28 Feb 2020 03:35:26 -0800 (PST)
From: Raphael Robert <raphael@wire.com>
Message-Id: <F8067DB9-439A-47DE-BBC9-D87432E4EC73@wire.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_32A5BD8A-6CD2-44E4-938A-0E42E1205F6D"
Mime-Version: 1.0 (Mac OS X Mail 13.0 \(3608.60.0.2.5\))
Date: Fri, 28 Feb 2020 12:34:55 +0100
In-Reply-To: <3083F808-7A92-443C-BF7C-762C2D2381B0@nps.edu>
Cc: Karthik Bhargavan <karthikeyan.bhargavan@inria.fr>, Benjamin Beurdouche <benjamin.beurdouche@inria.fr>, Cas Cremers <cas.cremers@gmail.com>, ML Messaging Layer Security <mls@ietf.org>, Konrad Kohbrok <Konrad.kohbrok@datashrine.de>
To: "Hale, Britta (CIV)" <britta.hale@nps.edu>
References: <D107086A-ED6C-48D8-8BC3-B3AE7E424F85@sn3rd.com> <D2B8EAF9-9109-4247-B714-13306724F712@nps.edu> <B02410C5-F6C3-4580-AA92-C48687731919@nps.edu> <06d1ebbf-2163-02bc-1cf5-4dc3633ce64a@datashrine.de> <0BE1075B-081C-4D44-82CB-56044BCAC0CC@sn3rd.com> <CAL02cgS813EWDm8g=_P18XHVJJJErgit4OWP7fDCMPzkQcJQQw@mail.gmail.com> <15F5F403-B3DD-4CE9-B47E-FA5D04BBBDC6@sn3rd.com> <83F1DE47-1230-4118-81C6-E065F5049995@inria.fr> <619cf3d1-eb09-485c-595f-3bfbb4b175b5@gmail.com> <463B50F6-67FF-4E40-8CAE-14D272CDD965@inria.fr> <5A69070B-BF2F-4A91-939F-0BD473F3FB0A@inria.fr> <A6881857-406E-45E9-BEC7-823E15633619@nps.edu> <4AEB16AA-BF20-4238-9B6E-2C0BD7760AC2@inria.fr> <77B4B842-16AF-40C0-BFBB-B58420AA89AA@inria.fr> <57308ED1-29F4-48D7-8AB9-D88AC49803C5@nps.edu> <CDA0769B-1C9A-42E3-A720-B869E20A8EA0@wire.com> <3DDF2660-3A10-4C58-8857-C24EFF4DC768@inria.fr> <3083F808-7A92-443C-BF7C-762C2D2381B0@nps.edu>
X-Mailer: Apple Mail (2.3608.60.0.2.5)
Archived-At: <https://mailarchive.ietf.org/arch/msg/mls/xpiP7QcAwv92daJDbKrJYEcBhgE>
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: Fri, 28 Feb 2020 11:35:34 -0000

If we put aside the strategic considerations for a minute, I think the two proposals boil down to the following:

Proposal A (the current one):

 - Ciphersuites contain a signature scheme
 - The group creator picks a ciphersuite upon group creation
 - The creator MUST only add members to the group that advertise the ciphersuite in their CIKs
 - The same rule applies to any AddProposal in the future
 - The ciphersuite is explicitly mentioned in the Welcome message
 - Members MUST only use the signature scheme of the ciphersuite to sign messages

Proposal B (as proposed by Britta et al.):

 - Ciphersuites do not contain a signature scheme
 - The group creator picks a ciphersuite upon group creation
 - The group creator picks a list of signature schemes (LSS)
 - The creator MUST only add members to the group that advertise the ciphersuite in their CIKs AND all elements of the LSS
 - The same rule applies to any AddProposal in the future
 - The ciphersuite AND the LSS are explicitly mentioned in the Welcome message
 - Members MUST only use the signature schemes that are part of the LSS to sign messages

In order to make progress, I would like to propose that we move forward with the current proposal simply because it is well understood and fully specified. However, we add the following two open issues to the protocol draft:

OPEN ISSUE: Security could be improved by allowing more flexibility with signatures schemes. If a signature scheme becomes insecure over time, members could be given the choice of choosing a more secure signature scheme as long at there is a guarantee that all other members are able to verify signatures under that new scheme.

OPEN ISSUE: Crypto primitives of the chosen ciphersuite could become insecure overtime and jeopardize the security of the whole group. Since TreeKEM doesn’t support mixing different DHKEM algorithms and different symmetric encryption algorithms, we need a way to upgrade an existing group to a new and more secure ciphersuite.

This would give us some more time to work on the open issues and come up with fully fleshed out proposals that we can discuss and ultimately all agree with.

Would this approach be acceptable to everyone?

Raphael


> On 28 Feb 2020, at 08:21, Hale, Britta (CIV) <britta.hale@nps.edu> wrote:
> 
> In terms of negotiation, I think we can closely correlate the issues and practical ramifications in choosing a signature scheme list with the ciphersuite negotiation that already takes place.
> Let us assume that every member would not only have a list of supported ciphersuites in their CIK, but also of signature schemes. The action of the group creator is then comparable in the following a/b cases for ciphersuites/signature schemes:
>  
> The group creator wants to ensure any newcomer can join the group:
> The group creator chooses the MTI ciphersuite.
> The group creator chooses the MTI as the single element in the set of possible signatures.
>  
> The group creator wants more control and is not particularly concerned about newcomers in the long-term:
> The group creator chooses a non-MTI ciphersuite from the initial group members’ lists.
> The group creator chooses a subset of initial group members’ supported algorithms (which may or may not include the MTI).
> For the sake of argument, consider the following alternative to b:
> The group creator chooses a single non-MTI signature scheme.
>  
> The issues for newcomers in case 2b is not very different from 2c (which is ultimately the case if we only support one scheme). Basically, the newcomer supports the scheme/set of schemes or he does not. In 2a, 2b, and 2c, algorithms are dictated by the set of initial members, so we are not looking at a significant usability difference there.
>  
> For choosing the signature scheme list, any proper subset of the intersection of the initial group members’ list would be possible (hence why we have freedom to choose {MTI} in case 1b). However, we could make it simple and use the actual intersection. 
>  
> As far as lists changing over time: in terms of what a member can support the answer is an affirmative. In the same way the supported ciphersuites can change over time, the supported signature schemes can as well. However, in terms of what is used in the group, this should not change: once fixed at group initiation the list is static for the lifetime of the group. Once a member has chosen a signature scheme from the list, the choice is static for the lifetime of the group. The group should thus not be adaptable to changes in the offered algorithms of the CIKs.
>  
> Britta
>  
>  
>  
> From: Karthik Bhargavan <karthikeyan.bhargavan@inria.fr>
> Date: Friday, February 28, 2020 at 6:55 AM
> To: Raphael Robert <raphael@wire.com>
> Cc: "Hale, Britta (CIV)" <britta.hale@nps.edu>, Benjamin Beurdouche <benjamin.beurdouche@inria.fr>, Cas Cremers <cas.cremers@gmail.com>, ML Messaging Layer Security <mls@ietf.org>, Konrad Kohbrok <Konrad.kohbrok@datashrine.de>
> Subject: Re: [MLS] confirming cipher suites decisions
>  
> I am not sure about the practical ramifications of groups where members use different algorithms.
>  
> Still, I think it is feasible to eventually have a design where the group creator proposes a set of algorithms as “must implement” for the group.
> Each new member must support (i.e. implement) “all” the algorithms in this list in order to join the group.
> However, the member has the option to use whichever supported algorithm she prefers for messages she sends.
>  
> While all of this is a reasonable long-term goal, perhaps we should start with a version where the creator only chooses one algorithm in each category, leaving no choice to the members.
> We can document this choice as a future extension point, and change it as we understand the federation scenario and deployment constraints a bit better?
>  
> Best,
> Karthik
>  
> 
> 
>> On 27 Feb 2020, at 19:02, Raphael Robert <raphael@wire.com <mailto:raphael@wire.com>> wrote:
>>  
>> I agree with what Karthik said, and I think that that was the underlying assumption all along (at east for me). The negotiation has to happen ahead of time, namely when
>>  
>>  - (1) an existing member proposes to add a new member, or when
>>  - (2) an external party proposes to add a new member.
>>  
>> In the current proposal with a fixed signature per group the decision taking is rather simple: If the new member advertises support for the group's ciphersuite in their CIKs, they can be added to the group.
>>  
>> I would like to see the decision taking fleshed out for the alternative approach that supports multiple signatures. 
>> We need to make sure that members can verify signatures, which means we need a list of acceptable signature algorithms that every member agrees upon before a new member is added. Signature algorithms can be advertised in another extension in CIKs, but it is not entirely clear to me how clients agree on what the list of acceptable signatures is. Would it be the lowest common denominator, meaning the intersection of the algorithms advertised in the CIKs? If so, it means the list gets largely determined by the early joiners. Also, can the list change over time? That would be contrary to the idea that all negotiations should happen ahead of time.
>> There might an easy solution here, I just don’t see it right now.
>>  
>> Raphael 
>> 
>> 
>>> On 27 Feb 2020, at 12:50, Hale, Britta (CIV) <britta.hale@nps.edu <mailto:britta.hale@nps.edu>> wrote:
>>>  
>>> Benjamin, 
>>>  
>>> The point of comparison with TLS is that interop is significantly less of an issue when everyone in the group is using the same client program.
>>>  
>>> In terms of interop, your concerns become a discussion point mainly in the federation case – and that is an important case that we should plan for. But, as I said and you re-iterated, if the use case really expects interop issues from allowing choice, then nothing prevents the selection of a single scheme for the set of allowable schemes.
>>>  
>>> As to the reasons behind allowing multiple algorithms, the document on the mailinglist has already outlined several – these are security reasons for supporting individual algorithms. The interop objections fall on the usability side, so the current discussion is really about usability vs. security concerns. However, at the intersection of these two options is the idea of allowing a set of possible algorithms as Karthik suggests. This is a good compromise.
>>>  
>>> I would definitely not suggest that you consider multiple MTIs at this stage. If that is something you want, it is best to raise it as a separate issue.
>>>  
>>> ---
>>>  
>>> Britta
>>>  
>>>  
>>> From: Benjamin Beurdouche <benjamin.beurdouche@inria.fr <mailto:benjamin.beurdouche@inria.fr>>
>>> Date: Thursday, February 27, 2020 at 11:48 AM
>>> To: "Hale, Britta (CIV)" <britta.hale@nps.edu <mailto:britta.hale@nps.edu>>
>>> Cc: Cas Cremers <cas.cremers@gmail.com <mailto:cas.cremers@gmail.com>>, Karthikeyan Bhargavan <karthikeyan.bhargavan@inria.fr <mailto:karthikeyan.bhargavan@inria.fr>>, ML Messaging Layer Security <mls@ietf.org <mailto:mls@ietf.org>>, Konrad Kohbrok <konrad.kohbrok@datashrine.de <mailto:konrad.kohbrok@datashrine.de>>
>>> Subject: Re: [MLS] confirming cipher suites decisions
>>>  
>>>  
>>> 
>>> 
>>> 
>>>> On 27 Feb 2020, at 11:47, Benjamin Beurdouche <benjamin.beurdouche@inria.fr <mailto:benjamin.beurdouche@inria.fr>> wrote:
>>>>  
>>>> Hi Britta,
>>>> 
>>>> 
>>>> 
>>>>> On 27 Feb 2020, at 10:57, Hale, Britta (CIV) <britta.hale@nps.edu <mailto:britta.hale@nps.edu>> wrote:
>>>>>  
>>>>> Benjamin,
>>>>>  
>>>>> The issues you describe are primarily TLS-type problems, where uncontrolled, large-scale agility and interop issues exist.
>>>>  
>>>> Yes exactly, and I think two-party short lived connections for TLS are easier to handle
>>>> than will be the long-lived multi-party connections of MLS.
>>>> 
>>>> 
>>>> 
>>>>> As has been stated in the working group as a supporting argument to many changes over the different drafts, within the messaging/MLS space we are looking at significantly more client-specific control.
>>>>  
>>>> Yes, and we keep being careful that it is the case when writing the drafts,
>>>> but this doesn’t mean that we should be willing to risk interoperability.
>>>> 
>>>> 
>>>> 
>>>>> It is not unreasonable for a newcomer to support a selection of signature schemes. If the group creator really wants full interop, they can always define the set of available schemes to consist only of the MTI.
>>>>  
>>>> I think at reverse, if you are willing to break interop, you should be selecting something
>>>  
>>> S/should be selecting/can select/
>>> 
>>> 
>>> 
>>>> else than the MTI when creating the group. And again, in what I say, nothing prevents
>>>> you to pick the NIST ciphersuite for compliance and use only that.
>>>> But I don’t see the interest of mixing algs and put at risk implementations and interoperability.
>>>>  
>>>> Out of curiosity, where you somehow arguing for multiple MTIs here ?
>>>>  
>>>> B.
>>> 
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> MLS mailing list
>>> MLS@ietf.org <mailto:MLS@ietf.org>
>>> https://www.ietf.org/mailman/listinfo/mls <https://www.ietf.org/mailman/listinfo/mls>