Re: [MLS] Why give the root a pk/sk?

Benjamin Beurdouche <benjamin.beurdouche@inria.fr> Tue, 12 May 2020 03:42 UTC

Return-Path: <benjamin.beurdouche@inria.fr>
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 5AAF03A09B1 for <mls@ietfa.amsl.com>; Mon, 11 May 2020 20:42:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.895
X-Spam-Level:
X-Spam-Status: No, score=-1.895 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, MIME_QP_LONG_LINE=0.001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-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 nfbJP1EaviVF for <mls@ietfa.amsl.com>; Mon, 11 May 2020 20:42:20 -0700 (PDT)
Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 22E493A09B0 for <mls@ietf.org>; Mon, 11 May 2020 20:42:19 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="5.73,382,1583190000"; d="scan'208,217";a="449218916"
Received: from 82-64-165-115.subs.proxad.net (HELO [192.168.1.48]) ([82.64.165.115]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/AES256-GCM-SHA384; 12 May 2020 05:42:17 +0200
Content-Type: multipart/alternative; boundary=Apple-Mail-28275D56-EF6B-4559-9AC9-016D256F486A
Content-Transfer-Encoding: 7bit
From: Benjamin Beurdouche <benjamin.beurdouche@inria.fr>
Mime-Version: 1.0 (1.0)
Date: Tue, 12 May 2020 05:42:17 +0200
Message-Id: <F106E964-D4FF-40EC-A595-1616D270F774@inria.fr>
References: <B92CE6CF-409A-49A9-95E5-FC680E17BF67@wire.com>
Cc: Richard Barnes <rlb@ipv.sx>, Messaging Layer Security WG <mls@ietf.org>, Joel Alwen <jalwen@wickr.com>
In-Reply-To: <B92CE6CF-409A-49A9-95E5-FC680E17BF67@wire.com>
To: Raphael Robert <raphael=40wire.com@dmarc.ietf.org>
X-Mailer: iPhone Mail (17E262)
Archived-At: <https://mailarchive.ietf.org/arch/msg/mls/FPmrjuL3sE4oBcb8AZaJMgZJnwE>
Subject: Re: [MLS] Why give the root a pk/sk?
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: Tue, 12 May 2020 03:42:22 -0000

@Joel This is because this is part of TreeKEM which has no key schedule and is not specific to MLS.
B.

> On May 11, 2020, at 11:21 PM, Raphael Robert <raphael=40wire.com@dmarc.ietf.org> wrote:
> 
> I agree with that. Send-from-outside should be derived from the key schedule.
> 
> Raphael
> 
>> On 11 May 2020, at 22:22, Richard Barnes <rlb@ipv.sx> wrote:
>> 
>> I don't think it's necessary.  IIRC, the Go library doesn't do this, and it seems to implement the remainder of the spec just fine.
>> 
>> The only case where it might be useful is if we implemented a send-to-group-from-outside functionality, in support of Add initiated by the new joiner.  But even in that case, it would probably be better to derive a key pair off of the key schedule.
>> 
>> --RLB
>> 
>> On Mon, May 11, 2020 at 4:26 AM Joel Alwen <jalwen@wickr.com> wrote:
>>> Quick question for the list. Why assign a pk/sk to the root of the ratchet tree?
>>> (E.g. on Page 18 in the toy example root node G gets node_priv[1] and node_pub[1].)
>>> 
>>> The commit_secret is then derived HKDF-Expand-Label again on the path_secret for
>>> the root.
>>> 
>>> Isn't it true that the only thing we ever encrypt to a node's pk is its parent's
>>> path_secret? If so I'm not seeing the point of the pk/sk at the root and the
>>> extra call HKDF-Expand to get commit_secret. Am I missing something?
>>> 
>>> - Joël
>>> 
>>> _______________________________________________
>>> 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