Re: [MLS] protections for MLS "handshake" messages

Eric Rescorla <ekr@rtfm.com> Mon, 23 July 2018 15:49 UTC

Return-Path: <ekr@rtfm.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 83613130F08 for <mls@ietfa.amsl.com>; Mon, 23 Jul 2018 08:49:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.909
X-Spam-Level:
X-Spam-Status: No, score=-1.909 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, T_DKIMWL_WL_MED=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=rtfm-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 rVI-Xprwsjg2 for <mls@ietfa.amsl.com>; Mon, 23 Jul 2018 08:49:44 -0700 (PDT)
Received: from mail-lj1-x22a.google.com (mail-lj1-x22a.google.com [IPv6:2a00:1450:4864:20::22a]) (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 10486130EDB for <mls@ietf.org>; Mon, 23 Jul 2018 08:49:44 -0700 (PDT)
Received: by mail-lj1-x22a.google.com with SMTP id q5-v6so952554ljh.12 for <mls@ietf.org>; Mon, 23 Jul 2018 08:49:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rtfm-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=7X6jLf0rODW3B7MawcjoZvKbnOq9CWC8U+evzlG5lRE=; b=nYKkz4lEnpsqKf/pDW9yl+RkAV9M5LgD/75Hygl4305t9egH0zHf3NPWH33RArPAjX 9uiHt0uV2PoPGkPvnlygHNN/3ID51+FJyWGxpuHob7UXc1giv2HNvdh8FdavHUqZwxWP sC0WmPHAM4c7ZYBjEQ37IKthe+CVv9EldUL0bnzs1opEEo8L1GDLTfyvkeTh/9LrCvTa W4c95poZOGMh8SByrCZwEOUZ5QZ1daO67VZ1o07K+dyb44MB2pW/KL0AI9sNDHytpJ/4 qghsAGUArSM3Z8xI1XxCqrwST8FY+OSBcx9lP02IjcaOAjJLC6V2KTlDToxaP8wUpiPc IE0w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=7X6jLf0rODW3B7MawcjoZvKbnOq9CWC8U+evzlG5lRE=; b=DSRxCauoNP53xCzefyhdxfGSqxLtmWr5/moMRlebQppuJLccy7XTbqSRgE/VBvUuYp +hKVToM/tyKk+HGAnJYfvRmxX8AbHAb0giQebcjxVV91eck8oCHBqnvo0dXtxDrvCVML NTpXW8ICVzv2UAJKc7p5UMb3SO4aOqbN5E0R+x1FKAXWeKAEuoF80+I2O2AcaRe4D1BT STKaucWjOLy2mBnbiGS2pvJMyAeMu6nFkyGz/o2Ql5205yYvSku+bQD6HkKhAiDDLyPZ KiLxAKz7TJEwgDnAjAO6BBZU1YLC5nJ5r8f0ytFhAfHEn8vYO4AslLQJ8V7f0PZaYSxM 2/gw==
X-Gm-Message-State: AOUpUlH3NTGp4mJp027hkwRVldAyQzx2mncqlx7ro/xHd2haZ0NMARQB odgebfzwGYwa6PnSQ+OESuaGnffcvLpYi/MNP1nvADMc
X-Google-Smtp-Source: AAOMgpdltdeh5xOQTn5Ua5cyeOko6Eh2WcEOqhv67NaulilziX8mutU7H24xxIsb1LpjcD+MqkUUyhiOI2eEw+FMh/M=
X-Received: by 2002:a2e:9c82:: with SMTP id x2-v6mr9769345lji.131.1532360982357; Mon, 23 Jul 2018 08:49:42 -0700 (PDT)
MIME-Version: 1.0
Received: by 2002:ab3:4091:0:0:0:0:0 with HTTP; Mon, 23 Jul 2018 08:49:01 -0700 (PDT)
In-Reply-To: <CAL02cgTwn=DHMBmM8AiAFw4dnkY_B6w+JskBTiDngantw+=47g@mail.gmail.com>
References: <87fu0fxjhi.fsf@fifthhorseman.net> <CABtrr-XWoNyKq4BBrTF9pczHZoB6bJOsxvU=Xgq6x-m4Bdgbhw@mail.gmail.com> <87d0vhwazx.fsf@fifthhorseman.net> <CABcZeBNDYKYTX5+CATyXnpwXszqKkYnxHkDxv-QRtCjBMqYjYw@mail.gmail.com> <CAL02cgTwn=DHMBmM8AiAFw4dnkY_B6w+JskBTiDngantw+=47g@mail.gmail.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Mon, 23 Jul 2018 08:49:01 -0700
Message-ID: <CABcZeBPP3C6ShWqqaSTiOiauZ=OLTm5JPZtF=9cPJDhLhm-d8w@mail.gmail.com>
To: Richard Barnes <rlb@ipv.sx>
Cc: Daniel Kahn Gillmor <dkg@fifthhorseman.net>, mls@ietf.org, Joseph Lorenzo Hall <joe@cdt.org>
Content-Type: multipart/alternative; boundary="0000000000000579aa0571ac98fe"
Archived-At: <https://mailarchive.ietf.org/arch/msg/mls/UXY58W_kwn3CBc6HOKMCODb3pdo>
Subject: Re: [MLS] protections for MLS "handshake" messages
X-BeenThere: mls@ietf.org
X-Mailman-Version: 2.1.27
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: Mon, 23 Jul 2018 15:49:47 -0000

On Mon, Jul 23, 2018 at 8:40 AM, Richard Barnes <rlb@ipv.sx> wrote:

>
>
> On Fri, Jul 20, 2018 at 11:02 PM Eric Rescorla <ekr@rtfm.com> wrote:
>
>>
>>
>> On Fri, Jul 20, 2018 at 7:58 PM, Daniel Kahn Gillmor <
>> dkg@fifthhorseman.net> wrote:
>>
>>> On Thu 2018-07-19 13:39:16 -0400, Joseph Lorenzo Hall wrote:
>>> > On Thu, Jul 19, 2018 at 12:45 PM Daniel Kahn Gillmor
>>> > <dkg@fifthhorseman.net> wrote:
>>> >>
>>> >> In today's session, there seemed to be an open question that wasn't
>>> >> explicitly addressed, so i wanted to raise it on the list.
>>> >>
>>> >> for lack of a better term, we're dividing MLS messages into
>>> >> "application" messages and "handshake" messages.  (i think we need
>>> >> a better term for "handshake", but i'll use it here for consistency
>>> with
>>> >> the current discussion)
>>> >
>>> > What about "content" and "keying" messages as new names?
>>>
>>> I'm maybe a little reluctant to use "content", because it seems too
>>> generic, and too allusive to the elusive "content/metadata" boundary.
>>> But i'd be fine with "application" and "keying" as the nomenclature.
>>>
>>> But I'm more interested in what people think about protecting these
>>> messages (or even the distinction between the two categories of message)
>>> from the DS itself.  Is there a reason that we need to expose to the DS
>>> that keying updates are happening?
>>>
>>
>> I think it would be better if generally we did not.
>>
>
> I agree with the inclination here, but I think it's going to be difficult
> given some other requirements, especially around UserAdd / new devices
> joining without invitation.  For example:
>
> 1. MLS needs to operate asynchronously, e.g., allowing a UserAdd / new
> device when all other members are offline
> 2. A new joiner is going to be able to authenticate the membership of the
> group before it transmits
>
> If we're going to enable both of those, then we're going to need whatever
> information is used for authentication to be cached somewhere that is
> reliably online.  And that information can't be encrypted, since you don't
> know anything a priori about what new device might show up.
>

I think this is too nihilistic on too fronts:

1.Just because some group operations can't be hidden doesn't mean that none
of them can.
2. I'm not sure why you are assuming that MLS needs to operate
asynchronously. Lots of systems operate on an "invite" model where one
group member invites others. Clearly that member can send the invite
information to the other member (though of course there are race conditions.



- In case it's not obvious to people, there's no point to padding handshake
messages unless they're encrypted.

- What's with the hate over "handshake" and "application"?  It's the same
distinction that TLS makes.

Don't look at me.

-Ekr